|
|
|
|
|
|
|
|
|
|
|
|
|
|
First of all, please take this text as a written chat between you an me, i.e. an average engineer that has already taken the journey from college to performing actual engineering works using finite element analysis and has something to say about it. Picture yourself in a coffee bar, talking and discussing concepts and ideas with me. Maybe needing to go to a blackboard (or notepad?). Even using a tablet to illustrate some three-dimensional results. But always as a chat between colleagues. |
|
|
First of all, please take this text as a written chat between you an me, i.e. an average engineer that has already taken the journey from college to performing actual engineering works using finite element analysis and has something to say about it. Picture yourself in a coffee bar, talking and discussing concepts and ideas with me. Maybe needing to go to a blackboard (or notepad?). Even using a tablet to illustrate some three-dimensional results. But always as a chat between colleagues. |
|
|
|
|
|
|
|
|
Please also note that I am not a mechanical engineer, although I shared many undergraduate courses with some of them. I am a nuclear engineer with a strong background on mathematics and computer programming. I went to college between 2002 and 2008. Probably a lot of things have changed since then---at least that is what these “millennial” guys and girls seem to be boasting about---but chances are we all studied solid mechanics and heat transfer with a teacher using a piece of chalk on a blackboard while we as students wrote down notes with pencils on paper sheets. And there is really not much that one can do with pencil and paper regarding mechanical analysis. Any actual case worth the time of an engineer need to be more complex than an ideal canonical case with analytical solution. |
|
|
|
|
|
|
|
|
Please also note that I am not a mechanical engineer, although I shared many undergraduate courses with some of them. I am a nuclear engineer with a strong background in mathematics and computer programming. I went to college between 2002 and 2008. Probably a lot of things have changed since then---at least that is what these “millennial” guys and girls seem to be boasting about---but chances are we all studied solid mechanics and heat transfer with a teacher using a piece of chalk on a blackboard while we as students wrote down notes with pencils on paper sheets. And there is really not much that one can do with pencil and paper regarding mechanical analysis. Any actual case worth the time of an engineer needs to be more complex than an ideal canonical case with analytical solution. |
|
|
|
|
|
|
|
|
Whether you are a student or a seasoned engineer with many years of experience, you might recall from first year physics courses the introduction of the [simple pendulum](https://en.wikipedia.org/wiki/Pendulum) as a case study\ ([@fig:simple]). You learned that the period does not depend on the hanging mass because the weight and the inertia exactly cancelled each other. Also, that [Galileo](https://en.wikipedia.org/wiki/Galileo_Galilei) said (and [Newton proved](https://www.seamplex.com/wasora/realbook/real-012-mechanics.html)) that for small oscillations the period does not even depend on the amplitude. Someone showed you why it worked this way: because if\ $\sin \theta \approx \theta$ then the motion equations converge to an [harmonic oscillator](https://en.wikipedia.org/wiki/Harmonic_oscillator). It might have been a difficult subject for you back in those days when you were learning physics and calculus at the same time. You might have later studied the [Lagrangian](https://en.wikipedia.org/wiki/Lagrangian_mechanics) and even the [Hamiltonian](https://en.wikipedia.org/wiki/Hamiltonian_mechanics) formulations, added a [parametric excitation](https://en.wikipedia.org/wiki/Parametric_oscillator) and analysed the [chaotic double pendulum](https://www.seamplex.com/wasora/realbook/real-017-double-pendulum.html). But it was probably after college, say when you took your first son to a swing on a windy day ([@fig:hamaca]), that you were faced with a real pendulum worth your full attention. Yes, this is my personal story but it could have easily been yours as well. My point is that the very same distance between what I imagined studying a pendulum was and what I saw that day at the swing (namely that the period _does_ depend on the hanging mass) is the same distance between the mechanical problems studied in college and the actual cases encountered during a professional engineer’s lifetime ([@fig:pipes]). In this regard, I am referring only to technical issues. The part of dealing with clients, colleagues, bosses, etc. which is definitely not taught in engineering schools (you can get a heads up in business schools, but again it would be a theoretical pendulum) is way beyond the scope of both this article and my own capacities. |
|
|
Whether you are a student or a seasoned engineer with many years of experience, you might recall from first year physics courses the introduction of the [simple pendulum](https://en.wikipedia.org/wiki/Pendulum) as a case study\ ([@fig:simple]). You learned that the period does not depend on the hanging mass because the weight and the inertia exactly cancelled each other. Also, that [Galileo](https://en.wikipedia.org/wiki/Galileo_Galilei) said (and [Newton proved](https://www.seamplex.com/wasora/realbook/real-012-mechanics.html)) that for small oscillations the period does not even depend on the amplitude. Someone showed you why it worked this way: because if\ $\sin \theta \approx \theta$ then the motion equations converge to an [harmonic oscillator](https://en.wikipedia.org/wiki/Harmonic_oscillator). It might have been a difficult subject for you back in those days when you were learning physics and calculus at the same time. You might have later studied the [Lagrangian](https://en.wikipedia.org/wiki/Lagrangian_mechanics) and even the [Hamiltonian](https://en.wikipedia.org/wiki/Hamiltonian_mechanics) formulations, added a [parametric excitation](https://en.wikipedia.org/wiki/Parametric_oscillator) and analysed the [chaotic double pendulum](https://www.seamplex.com/wasora/realbook/real-017-double-pendulum.html). But it was probably after college, say when you took your first son to a swing on a windy day ([@fig:hamaca]), that you were faced with a real pendulum worth your full attention. Yes, this is my personal story but it could have easily been yours as well. My point is that the very same distance between what I imagined studying a pendulum was and what I saw that day at the swing (namely that the period _does_ depend on the hanging mass) is the same distance between the mechanical problems studied in college and the actual cases encountered during a professional engineer’s lifetime ([@fig:pipes]). In this regard, I am referring only to technical issues. The part of dealing with clients, colleagues, bosses, etc. which is definitely not taught in engineering schools (you can get a heads up in business schools, but again it would be a theoretical pendulum) is way beyond the scope of both this article and my own capacities. |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
An infinitely-long pressurised thick pipe as taught in college and an isometric drawing of a section of a real-life piping system |
|
|
An infinitely-long pressurised thick pipe as taught in college and an isometric drawing of a section of a real-life piping system |
|
|
::::: |
|
|
::::: |
|
|
|
|
|
|
|
|
Like the pendulums above, we will be swinging back and forth between a case study about fatigue assessment of piping systems in a nuclear power plant and more generic and even romantic topics related to finite elements and computational mechanics. These latter regressions will not remain just as abstract theoretical ideas. Not only will they be directly applicable to the development of the main case, but they will also apply to a great deal of other engineering problems tackled with the finite element method (and its cousins, [@sec:formulations]). |
|
|
|
|
|
|
|
|
Like the pendulums above, we will be swinging back and forth between a case study about fatigue assessment of piping systems in a nuclear power plant and more generic and even “romantic” topics related to finite elements and computational mechanics. These latter regressions will not remain just as abstract theoretical ideas. Not only will they be directly applicable to the development of the main case, but they will also apply to a great deal of other engineering problems tackled with the finite element method (and its cousins, [@sec:formulations]). |
|
|
|
|
|
|
|
|
\medskip |
|
|
\medskip |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
One of the most important ones to use your _imagination_. You will need a lot of imagination to “see” what it is actually going on when analysing an engineering problem. This skill comes from my background in nuclear engineering where I had no choice but to imagine a [positron-electron annihilation](https://en.wikipedia.org/wiki/Electron%E2%80%93positron_annihilation) or an [spontaneous fission](https://en.wikipedia.org/wiki/Spontaneous_fission). But in mechanical engineering, it is likewise important to be able to imagine how the loads “press” one element with the other, how the material reacts depending on its properties, how the nodal displacements generate stresses (both normal and shear), how results converge, etc. And what these results actually mean besides the pretty-coloured figures.^[A former boss once told me “I need the CFD” when I handed in some results. I replied that I did not do computational fluid-dynamics but computed the neutron flux kinetics within a nuclear reactor core. He joked “I know, what I need are the _Colors For Directors_, those pretty-coloured figures along with your actual results to convince the managers.”] |
|
|
One of the most important ones to use your _imagination_. You will need a lot of imagination to “see” what it is actually going on when analysing an engineering problem. This skill comes from my background in nuclear engineering where I had no choice but to imagine a [positron-electron annihilation](https://en.wikipedia.org/wiki/Electron%E2%80%93positron_annihilation) or an [spontaneous fission](https://en.wikipedia.org/wiki/Spontaneous_fission). But in mechanical engineering, it is likewise important to be able to imagine how the loads “press” one element with the other, how the material reacts depending on its properties, how the nodal displacements generate stresses (both normal and shear), how results converge, etc. And what these results actually mean besides the pretty-coloured figures.^[A former boss once told me “I need the CFD” when I handed in some results. I replied that I did not do computational fluid-dynamics but computed the neutron flux kinetics within a nuclear reactor core. He joked “I know, what I need are the _Colors For Directors_, those pretty-coloured figures along with your actual results to convince the managers.”] |
|
|
This journey will definitely need your imagination. We will see equations, numbers, plots, schematics, CAD geometries, 3D\ views, etc. Still, when the theory says “thermal expansion produces normal stresses” you have to picture in your head three little arrows pulling away from the same point in three directions, or whatever mental picture you have about what you understand thermally-induced stresses are. What comes to your mind when someone says that out of the nine elements of the [stress tensor](https://en.wikipedia.org/wiki/Cauchy_stress_tensor) ([@sec:tensor]) there are only six that are independent? Whatever it is, try to practice that kind of graphical thoughts with every new concept. Nevertheless, there will be particular locations of the text where imagination will be most useful. I will bring the subject up. |
|
|
This journey will definitely need your imagination. We will see equations, numbers, plots, schematics, CAD geometries, 3D\ views, etc. Still, when the theory says “thermal expansion produces normal stresses” you have to picture in your head three little arrows pulling away from the same point in three directions, or whatever mental picture you have about what you understand thermally-induced stresses are. What comes to your mind when someone says that out of the nine elements of the [stress tensor](https://en.wikipedia.org/wiki/Cauchy_stress_tensor) ([@sec:tensor]) there are only six that are independent? Whatever it is, try to practice that kind of graphical thoughts with every new concept. Nevertheless, there will be particular locations of the text where imagination will be most useful. I will bring the subject up. |
|
|
|
|
|
|
|
|
Another heads up is that we will be digging into some mathematics. Probably they would be be simple and you would deal with them very easily. But chances are you do not like equations. No problem! Just ignore them for now. Read the text skipping them, it should work as well. |
|
|
|
|
|
|
|
|
Another heads up is that we will be digging into some mathematics. Probably they would be simple and you would deal with them very easily. But chances are you do not like equations. No problem! Just ignore them for now. Read the text skipping them, it should work as well. |
|
|
Łukasz Skotny says [you do not need to know maths to perform finite-element analysis](https://enterfea.com/math-behind-fea/). And he is right, in the sense that you do not need to know thermodynamics to drive a car. It is fine to ignore maths for now. |
|
|
Łukasz Skotny says [you do not need to know maths to perform finite-element analysis](https://enterfea.com/math-behind-fea/). And he is right, in the sense that you do not need to know thermodynamics to drive a car. It is fine to ignore maths for now. |
|
|
But, eventually, a time will come in which it cannot (or should not) be avoided. If you want to go to space, you will definitely have to learn thermodynamics. |
|
|
But, eventually, a time will come in which it cannot (or should not) be avoided. If you want to go to space, you will definitely have to learn thermodynamics. |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
## Case study: reactors, pipes and fatigue {#sec:case} |
|
|
## Case study: reactors, pipes and fatigue {#sec:case} |
|
|
|
|
|
|
|
|
Piping systems in sensitive industries like nuclear or oil & gas should be designed and analysed following the recommendations of an appropriate set of codes and norms, such as the [ASME\ Boiler and Pressure Vessel Code](https://en.wikipedia.org/wiki/ASME_Boiler_and_Pressure_Vessel_Code). |
|
|
Piping systems in sensitive industries like nuclear or oil & gas should be designed and analysed following the recommendations of an appropriate set of codes and norms, such as the [ASME\ Boiler and Pressure Vessel Code](https://en.wikipedia.org/wiki/ASME_Boiler_and_Pressure_Vessel_Code). |
|
|
This code of practice was born during the late\ XIX century, before finite-element methods for solving partial differential equations were even developed. And much longer before they were available for the general engineering community. Therefore, much of the code assumes design and verification is not necessarily performed numerically but with paper and pencil (yes, like in college). However, it still provides genuine guidance in order to ensure pressurised systems behave safely and properly without needing to resort to computational tools. Combining finite-element analysis with the ASME code gives the cognisant engineer a unique combination of tools to tackle the problem of designing and/or verifying pressurised piping systems. |
|
|
|
|
|
|
|
|
This code of practice was born during the late\ 19th century, before finite-element methods for solving partial differential equations were even developed. And much longer before they were available for the general engineering community. Therefore, much of the code assumes design and verification is not necessarily performed numerically but with paper and pencil (yes, like in college). However, it still provides genuine guidance in order to ensure pressurised systems behave safely and properly without needing to resort to computational tools. Combining finite-element analysis with the ASME code gives the cognisant engineer a unique combination of tools to tackle the problem of designing and/or verifying pressurised piping systems. |
|
|
|
|
|
|
|
|
In the years following [Enrico Fermi](https://en.wikipedia.org/wiki/Enrico_Fermi)’s demonstration that a self-sustainable [fission reaction](https://en.wikipedia.org/wiki/Nuclear_fission) chain was possible (actually, in fact, after WWII was over), people started to build plants in order to transform the energy stored within the atoms nuclei into usable electrical power. They quickly reached the conclusion that high-pressure heat exchangers and turbines were needed. So they started to follow codes of practise like the aforementioned ASME\ B&PVC. They also realised that some requirements did not fit the needs of the nuclear industry. But instead of writing a new code from scratch, they added a new chapter to the existing body of knowledge: the celebrated [ASME Section\ III](https://en.wikipedia.org/wiki/ASME_Boiler_and_Pressure_Vessel_Code#ASME_BPVC_Section_III_-_Rules_for_Construction_of_Nuclear_Facility_Components). |
|
|
In the years following [Enrico Fermi](https://en.wikipedia.org/wiki/Enrico_Fermi)’s demonstration that a self-sustainable [fission reaction](https://en.wikipedia.org/wiki/Nuclear_fission) chain was possible (actually, in fact, after WWII was over), people started to build plants in order to transform the energy stored within the atoms nuclei into usable electrical power. They quickly reached the conclusion that high-pressure heat exchangers and turbines were needed. So they started to follow codes of practise like the aforementioned ASME\ B&PVC. They also realised that some requirements did not fit the needs of the nuclear industry. But instead of writing a new code from scratch, they added a new chapter to the existing body of knowledge: the celebrated [ASME Section\ III](https://en.wikipedia.org/wiki/ASME_Boiler_and_Pressure_Vessel_Code#ASME_BPVC_Section_III_-_Rules_for_Construction_of_Nuclear_Facility_Components). |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
### An infinitely-long pressurised pipe {#sec:infinite-pipe} |
|
|
### An infinitely-long pressurised pipe {#sec:infinite-pipe} |
|
|
|
|
|
|
|
|
Let us proceed to our second step, and consider the infinite pipe subject to uniform internal pressure already introduced in\ [@fig:infinite-pipe]. Actually, we are going to solve the mechanical problem on an infinite hollow cylinder, which looks like pipe. This case is usually tackled in college courses, and chances are you already solved it. In fact, the first (and simpler) problem is the “thin cylinder problem.” Then, the “thick cylinder problem” is introduced (the one we solve below), which is slightly more complex. Nevertheless, it has an analytical solution which is derived [here](https://www.seamplex.com/fino/doc/pipe-linearized/). For the present case, let us consider an infinite pipe (i.e. a hollow cylinder) of internal radius $a$ and external radius $b$ with uniform mechanical properties---Young modulus $E$ and Poisson’s ratio $\nu$---subject to an internal uniform pressure $p$. |
|
|
|
|
|
|
|
|
Let us proceed to our second step, and consider the infinite pipe subject to uniform internal pressure already introduced in\ [@fig:infinite-pipe]. Actually, we are going to solve the mechanical problem on an infinite hollow cylinder, which looks like pipe. This case is usually tackled in college courses, and chances are you already solved it. In fact, the first (and simpler) problem is the “thin cylinder problem.” Then, the “thick cylinder problem” is introduced (the one we solve below), which is slightly more complex. Nevertheless, it has an analytical solution which is derived [here](https://www.seamplex.com/fino/doc/pipe-linearized/). For the present case, let us consider an infinite pipe (i.e. a hollow cylinder) of internal radius $a$ and external radius $b$ with uniform mechanical properties---Young’s modulus $E$ and Poisson’s ratio $\nu$---subject to an internal uniform pressure $p$. |
|
|
|
|
|
|
|
|
#### Displacements |
|
|
#### Displacements |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
The equivalent accelerations for the piping section of [@fig:modes] for the spectra of\ [@fig:spectrum] |
|
|
The equivalent accelerations for the piping section of [@fig:modes] for the spectra of\ [@fig:spectrum] |
|
|
::::: |
|
|
::::: |
|
|
|
|
|
|
|
|
The ASME code says that these accelerations (depicted in [@fig:acceleration]) ought to be applied twice: once with the original sign and once with all the elements with the opposite sign. Each application should last two seconds. |
|
|
|
|
|
|
|
|
The ASME code says that these accelerations (depicted in [@fig:acceleration]) ought to be applied twice: once with the original sign and once with all the elements with the opposite sign, as SRSS “looses signs.” The application of each of these equivalent loads application should last two seconds in the original time domain. |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
### Linearity (not yet linearisation) {#sec:linearity} |
|
|
### Linearity (not yet linearisation) {#sec:linearity} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
#### Solving {#sec:solving} |
|
|
#### Solving {#sec:solving} |
|
|
|
|
|
|
|
|
The linear FEM problem leads of course of a system of\ $NG$ linear equations, cast in matrix form by the stiffness matrix\ $K$ and a right-hand size vector\ $\mathbf{b}$ containing the loads (both volumetric and the ones at the surfaces from the boundary conditions): |
|
|
|
|
|
|
|
|
The linear FEM problem leads of course to a system of\ $NG$ linear equations, cast in matrix form by the stiffness matrix\ $K$ and a right-hand size vector\ $\mathbf{b}$ containing the loads (both volumetric and the ones at the surfaces from the boundary conditions): |
|
|
|
|
|
|
|
|
$$K \cdot \mathbf{u} = \mathbf{b}$${#eq:kub} |
|
|
$$K \cdot \mathbf{u} = \mathbf{b}$${#eq:kub} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
* [direct](https://en.wikipedia.org/wiki/Frontal_solver), where a rather complex algorithm for building partial decompositions ([LU](https://en.wikipedia.org/wiki/LU_decomposition), [QR](https://en.wikipedia.org/wiki/QR_decomposition), [Cholesky](https://en.wikipedia.org/wiki/Cholesky_decomposition), etc.) are used in order to avoid needing aforementioned the 700\ Gb of RAM, or |
|
|
* [direct](https://en.wikipedia.org/wiki/Frontal_solver), where a rather complex algorithm for building partial decompositions ([LU](https://en.wikipedia.org/wiki/LU_decomposition), [QR](https://en.wikipedia.org/wiki/QR_decomposition), [Cholesky](https://en.wikipedia.org/wiki/Cholesky_decomposition), etc.) are used in order to avoid needing aforementioned the 700\ Gb of RAM, or |
|
|
* [iterative](https://en.wikipedia.org/wiki/Iterative_method), meaning that at each step of the iteration the numerical answer improves, i.e. $\left|K \cdot \mathbf{u} - \mathbf{b}\right| \rightarrow 0$. Even though in particular for [Krylov-subspace](https://en.wikipedia.org/wiki/Krylov_subspace) methods, $K \cdot \mathbf{u} - \mathbf{b} = \mathbf{0}$ after\ $NG$ steps, a few dozen of iterations are usually enough to assume that the problem is effectively solved (i.e. the residual is less than a certain threshold). |
|
|
* [iterative](https://en.wikipedia.org/wiki/Iterative_method), meaning that at each step of the iteration the numerical answer improves, i.e. $\left|K \cdot \mathbf{u} - \mathbf{b}\right| \rightarrow 0$. Even though in particular for [Krylov-subspace](https://en.wikipedia.org/wiki/Krylov_subspace) methods, $K \cdot \mathbf{u} - \mathbf{b} = \mathbf{0}$ after\ $NG$ steps, a few dozen of iterations are usually enough to assume that the problem is effectively solved (i.e. the residual is less than a certain threshold). |
|
|
|
|
|
|
|
|
So the question is... how hard is to solve a sparse linear problem? Well, the number of iterations and the complexity of the partial decompositions needed to attain convergence depends on the [spectral radius](https://en.wikipedia.org/wiki/Spectral_radius) of the stiffness matrix\ $K$, which in turns depend on the elements themselves, which depend mainly on the parameters of the elastic problem. But it also depends on how sparse\ $K$ is, which changes with the element topology and order. [@Fig:test] shows the structure of two stiffness matrices for the same linear elastic problem discretised using exactly the same number of nodes but using linear and quadratic elements respectively. The matrices have the same size (because the number of nodes is the same) but the former is more sparse than the latter. Hence, it would be harder (in computational terms of CPU and RAM) to solve the second-order case. |
|
|
|
|
|
|
|
|
So the question is... how hard is it to solve a sparse linear problem? Well, the number of iterations and the complexity of the partial decompositions needed to attain convergence depends on the [spectral radius](https://en.wikipedia.org/wiki/Spectral_radius) of the stiffness matrix\ $K$, which in turns depend on the elements themselves, which depend mainly on the parameters of the elastic problem. But it also depends on how sparse\ $K$ is, which changes with the element topology and order. [@Fig:test] shows the structure of two stiffness matrices for the same linear elastic problem discretised using exactly the same number of nodes but using linear and quadratic elements respectively. The matrices have the same size (because the number of nodes is the same) but the former is more sparse than the latter. Hence, it would be harder (in computational terms of CPU and RAM) to solve the second-order case. |
|
|
|
|
|
|
|
|
::::: {#fig:test} |
|
|
::::: {#fig:test} |
|
|
{#fig:test1 width=48%}\ |
|
|
{#fig:test1 width=48%}\ |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Now proceed to picturing the general three-dimensional cases with unstructured tetrahedra. What is the derivative of the displacement\ $v$ in the\ $y$ direction with respect to the $z$ coordinate at a certain node shared by many tetrahedra? What if one of the elements is very small? Or it has a very bad quality (i.e. it is deformed in one direction) and its derivatives cannot be trusted? Should we still average? Should this average be weighted? How? |
|
|
Now proceed to picturing the general three-dimensional cases with unstructured tetrahedra. What is the derivative of the displacement\ $v$ in the\ $y$ direction with respect to the $z$ coordinate at a certain node shared by many tetrahedra? What if one of the elements is very small? Or it has a very bad quality (i.e. it is deformed in one direction) and its derivatives cannot be trusted? Should we still average? Should this average be weighted? How? |
|
|
|
|
|
|
|
|
Detailed mathematics show that the location where the derivatives of the interpolated displacements are closer to the real (i.e. the analytical ones in problems that have it) solution are the elements’ [Gauss points](https://en.wikipedia.org/wiki/Gaussian_quadrature). Even better, the material properties at these points are continuous (they are usually uniform but they can depend on temperature for example) because, unless we are using weird elements, there are no material interfaces inside elements. But how to manage a set of stresses given at the Gauss points instead of at the nodes? Should we use one mesh for the input and another one for the output? What happens when we need to know the stresses on a surface and not just in the bulk of the solid? There are still no one-size-fits-all answers. There is a very interesting [blog post](http://tor-eng.com/2017/11/practical-tips-dealing-stress-singularities/) by Nick Stevens that addresses the issue of stresses computed at sharp corners. What does your favourite FEM program do with such a case? |
|
|
|
|
|
|
|
|
Detailed mathematics show that the location where the derivatives of the interpolated displacements are closer to the real (i.e. the analytical ones in problems that have it) solution are the elements’ [Gauss points](https://en.wikipedia.org/wiki/Gaussian_quadrature). Even better, the material properties at these points are continuous (they are usually uniform but they can depend on temperature for example) because, unless we are using weird elements, there are no material interfaces inside elements. But how to manage a set of stresses given at the Gauss points instead of at the nodes? Should we use one mesh for the input and another one for the output? What happens when we need to know the stresses on a surface and not just in the bulk of the solid? There are still no one-size-fits-all answers. There is a very interesting [blog post](https://nickjstevens.netlify.com/post/2019/stress-singularities/) by Nick Stevens that addresses the issue of stresses computed at sharp corners. What does your favourite FEM program do with such a case? |
|
|
|
|
|
|
|
|
In any case, this step takes a non-negligible amount of time. The most-common approach, i.e. the node-averaging method is driven mainly by the number of nodes of course. So all-in-all, these are the reasons to use the number of nodes instead of the numbers of elements as a basic parameter to measure the complexity of a FEM problem. |
|
|
In any case, this step takes a non-negligible amount of time. The most-common approach, i.e. the node-averaging method is driven mainly by the number of nodes of course. So all-in-all, these are the reasons to use the number of nodes instead of the numbers of elements as a basic parameter to measure the complexity of a FEM problem. |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
b. the thermal expansion effect itself |
|
|
b. the thermal expansion effect itself |
|
|
c. the instantaneous pressure exerted in the internal faces of the pipes at the time\ $t$ according to the definition of the operational transient |
|
|
c. the instantaneous pressure exerted in the internal faces of the pipes at the time\ $t$ according to the definition of the operational transient |
|
|
d. the restriction of the degrees of freedom of those faces, lines or points that correspond to mechanical supports located both within and at the ends of the CAD model |
|
|
d. the restriction of the degrees of freedom of those faces, lines or points that correspond to mechanical supports located both within and at the ends of the CAD model |
|
|
e. the earthquake load, which according to ASME should be present only during four seconds of the transient: two seconds with one sign and the other two seconds with the opposite sing. This period should be selected to coincide with the instant of highest mechanical stress (conservative computation) |
|
|
|
|
|
|
|
|
e. the earthquake load, which according to ASME should be present only during four seconds of the transient: two seconds with one sign and the other two seconds with the opposite sign. This period should be selected to coincide with the instant of highest mechanical stress (conservative computation) |
|
|
9. computing the linearised stresses (membrane and membrane plus bending) at the SCLs combining them as Principal\ 1, Principal\ 2, Principal\ 3 and Tresca |
|
|
9. computing the linearised stresses (membrane and membrane plus bending) at the SCLs combining them as Principal\ 1, Principal\ 2, Principal\ 3 and Tresca |
|
|
10. juxtaposing these linearised stresses for each time of the transient and for each transient so as to obtain a single time-history of stresses including all the operational and/or incidental transients under study, which is what stress-based fatigue assessment needs (recall\ [@sec:fatigue] and go on to\ [@sec:usage]). |
|
|
10. juxtaposing these linearised stresses for each time of the transient and for each transient so as to obtain a single time-history of stresses including all the operational and/or incidental transients under study, which is what stress-based fatigue assessment needs (recall\ [@sec:fatigue] and go on to\ [@sec:usage]). |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
$$U_j = \frac{n_j}{N_j}$$ |
|
|
$$U_j = \frac{n_j}{N_j}$$ |
|
|
|
|
|
|
|
|
The overall cumulative usage factor is then the algebraic sum of the partial contributions |
|
|
|
|
|
|
|
|
The overall cumulative usage factor is then the algebraic sum of the partial contributions, a.k.a. Miner’s rule (or Palmgren-Miner rule) as learned in college: |
|
|
|
|
|
|
|
|
$$\text{CUF} = U_1 + U_2 + \dots + U_j + \dots$$ |
|
|
$$\text{CUF} = U_1 + U_2 + \dots + U_j + \dots$$ |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Tables of individual usage factors for the NRC/EPRI “EAF Sample Problem 2-Rev.\ 2 (10/21/2011).” One table is taken from a document issued by almost-a-billion-dollar-year-budget government agency from the most powerful country in the world and the other one is from a third-world engineering startup. Guess which is which. |
|
|
Tables of individual usage factors for the NRC/EPRI “EAF Sample Problem 2-Rev.\ 2 (10/21/2011).” One table is taken from a document issued by almost-a-billion-dollar-year-budget government agency from the most powerful country in the world and the other one is from a third-world engineering startup. Guess which is which. |
|
|
::::: |
|
|
::::: |
|
|
|
|
|
|
|
|
Why all these details? Not because I want to teach you how to perform fatigue evaluations just reading this section without resorting to ASME, fatigue books and even other colleagues. It is to show that even though these computation can be made “by hand” (i.e. using a calculator or, God forbids, a spreadsheet) when having to evaluate a few SCLs within several piping systems it is far (and I mean really far) better to automatise all these steps by writing a set of scripts. Not only will the time needed to process the information be reduced, but also the introduction of human errors will be minimised and repeatability of results will be assured---especially if working under a [distributed version control](https://en.wikipedia.org/wiki/Distributed_version_control) system such as [Git](https://en.wikipedia.org/wiki/Git). This is true in general, so here is another tip: learn to write scripts to post-process your FEM results (you will need to use a script-friendly FEM program) and you will gain considerable margins regarding time and quality. |
|
|
|
|
|
|
|
|
Why all these details? Not because I want to teach you how to perform fatigue evaluations just reading this section without resorting to ASME, fatigue books and even other colleagues. It is to show that even though these computation can be made “by hand” (i.e. using a calculator or, God forbids, a spreadsheet) when having to evaluate a few SCLs within several piping systems it is far (and I mean really far) better to automate all these steps by writing a set of scripts. Not only will the time needed to process the information be reduced, but also the introduction of human errors will be minimised and repeatability of results will be assured---especially if working under a [distributed version control](https://en.wikipedia.org/wiki/Distributed_version_control) system such as [Git](https://en.wikipedia.org/wiki/Git). This is true in general, so here is another tip: learn to write scripts to post-process your FEM results (you will need to use a script-friendly FEM program) and you will gain considerable margins regarding time and quality. |
|
|
|
|
|
|
|
|
### In water (NRC’s extension) {#sec:in-water} |
|
|
### In water (NRC’s extension) {#sec:in-water} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
$$F_\text{en} = \frac{N_\text{air}}{N_\text{water}} \geq 1$$ |
|
|
$$F_\text{en} = \frac{N_\text{air}}{N_\text{water}} \geq 1$$ |
|
|
|
|
|
|
|
|
This way, the environmentally-assisted usage factor for the $j$-th load pair is $\text{CUF}_\text{en,j} = U_j \cdot {F_\text{en},j}$ and the global cumulative usage factor in water is the sum of these partial contributions |
|
|
|
|
|
|
|
|
This way, the environmentally-assisted usage factor for the $j$-th load pair is $\text{CUF}_\text{en,j} = U_j \cdot F_{\text{en},j}$ and the global cumulative usage factor in water is the sum of these partial contributions |
|
|
|
|
|
|
|
|
$$\text{CUF}_\text{en} = U_1 \cdot F_{\text{en},1} + U_2 \cdot F_{\text{en},2} + \dots + U_j \cdot F_{\text{en},j} + \dots$${#eq:cufen} |
|
|
$$\text{CUF}_\text{en} = U_1 \cdot F_{\text{en},1} + U_2 \cdot F_{\text{en},2} + \dots + U_j \cdot F_{\text{en},j} + \dots$${#eq:cufen} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
dnl * try to find an explanation of the results obtained, just like we did when we explained the parametric curves from\ [@fig:tee-MB ] with two opposing effects which were equal in magnitude around $d_b=5$\ inches |
|
|
dnl * try to find an explanation of the results obtained, just like we did when we explained the parametric curves from\ [@fig:tee-MB ] with two opposing effects which were equal in magnitude around $d_b=5$\ inches |
|
|
* think thermal-mechanical plus earthquakes as “bake, break and shake” problems |
|
|
* think thermal-mechanical plus earthquakes as “bake, break and shake” problems |
|
|
* understand why the elastic problem of the case study is still linear after all |
|
|
* understand why the elastic problem of the case study is still linear after all |
|
|
* keep in mind that finite-elements are a mean to get an engineering solution, not and end by themselves |
|
|
|
|
|
|
|
|
* keep in mind that finite-elements are a mean to get an engineering solution, not an end by themselves |
|
|
* learn to write scripts to post-process FEM results (from a script-friendly FEM program) |
|
|
* learn to write scripts to post-process FEM results (from a script-friendly FEM program) |
|
|
* work under a [distributed version control](https://en.wikipedia.org/wiki/Distributed_version_control) system such as [Git](https://en.wikipedia.org/wiki/Git), even when just editing input files or writing reports |
|
|
* work under a [distributed version control](https://en.wikipedia.org/wiki/Distributed_version_control) system such as [Git](https://en.wikipedia.org/wiki/Git), even when just editing input files or writing reports |
|
|
dnl * clone the [environmental fatigue sample problem repository](https://bitbucket.org/seamplex/cufen) and obtain a nicely-formatted table with the results of the “EAF Sample Problem 2-Rev.\ 2 (10/21/2011)” from\ [@sec:in-air;@sec:in-water]. |
|
|
dnl * clone the [environmental fatigue sample problem repository](https://bitbucket.org/seamplex/cufen) and obtain a nicely-formatted table with the results of the “EAF Sample Problem 2-Rev.\ 2 (10/21/2011)” from\ [@sec:in-air;@sec:in-water]. |
|
|
|
|
|
|
|
|
3. Do you trust your favourite FEM program? |
|
|
3. Do you trust your favourite FEM program? |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
And finally, make sure that at the end of the journey from college theory to an actual engineering problem your conscience, is clear knowing that there exists a report with your signature on it. That is why we all went to college in the first place. |
|
|
|
|
|
|
|
|
And finally, make sure that at the end of the journey from college theory to an actual engineering problem your conscience is clear knowing that there exists a report with your signature on it. That is why we all went to college in the first place. |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
# Concluding Remarks |
|
|
# Concluding Remarks |