|
|
|
|
|
|
|
|
# Background and introduction |
|
|
# Background and introduction |
|
|
|
|
|
|
|
|
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 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 students are writing 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 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. |
|
|
|
|
|
|
|
|
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 what 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. |
|
|
|
|
|
|
|
|
::::: {#fig:pendulum} |
|
|
::::: {#fig:pendulum} |
|
|
{#fig:simple width=35%}\ |
|
|
{#fig:simple width=35%}\ |
|
|
|
|
|
|
|
|
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 analysis in piping systems of 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]). |
|
|
|
|
|
|
|
|
Finite elements are like magic to me. I mean, I can follow the whole derivation of the equations, from the strong, weak and variational formulations of the equilibrium equations for the mechanical problem (or the energy conservation for heat transfer) down to the [algebraic multigrid](https://en.wikipedia.org/wiki/Multigrid_method) [preconditioner](https://en.wikipedia.org/wiki/Preconditioner) for the inversion of the [stiffness matrix](https://en.wikipedia.org/wiki/Stiffness_matrix) passing through [Sobolev spaces](https://en.wikipedia.org/wiki/Sobolev_space) and the [grid generation](https://en.wikipedia.org/wiki/Mesh_generation). Then I can sit down and program all these steps into a computer, including the [shape functions](https://en.wikipedia.org/wiki/Finite_element_method_in_structural_mechanics#Interpolation_or_shape_functions) and its derivatives, the assembly of the discretised stiffness matrix ([@sec:building]), the numerical solution of the system of equations ([@sec:solving]) and the computation of the gradient of the solution ([@sec:stress-computation). Yet, the fact that all these a-priori unconnected steps give rise to pretty pictures that resemble reality is still astonishing to me. |
|
|
|
|
|
|
|
|
\medskip |
|
|
|
|
|
|
|
|
|
|
|
Finite elements are like magic to me. I mean, I can follow the whole derivation of the equations, from the strong, weak and variational formulations of the equilibrium equations for the mechanical problem (or the energy conservation for heat transfer) down to the [algebraic multigrid](https://en.wikipedia.org/wiki/Multigrid_method) [preconditioner](https://en.wikipedia.org/wiki/Preconditioner) for the inversion of the [stiffness matrix](https://en.wikipedia.org/wiki/Stiffness_matrix) passing through [Sobolev spaces](https://en.wikipedia.org/wiki/Sobolev_space) and the [grid generation](https://en.wikipedia.org/wiki/Mesh_generation). Then I can sit down and program all these steps into a computer, including the [shape functions](https://en.wikipedia.org/wiki/Finite_element_method_in_structural_mechanics#Interpolation_or_shape_functions) and its derivatives, the assembly of the discretised stiffness matrix ([@sec:building]), the numerical solution of the system of equations ([@sec:solving]) and the computation of the gradient of the solution (@sec:stress-computation). Yet, the fact that all these a-priori unconnected steps give rise to pretty pictures that resemble reality is still astonishing to me. |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Again, take all this information as coming from a fellow that has already taken such a journey from college’s pencil and paper to real engineering cases involving complex numerical calculations. And developing, in the meantime, both an actual working finite-element [back-end](https://www.seamplex.com/fino) and [front-end](https://www.caeplex.com) from scratch.^[The dean of the engineering school I attended used to say “It is not the same to read than to write manuals, and we should aim at writing them.”] |
|
|
Again, take all this information as coming from a fellow that has already taken such a journey from college’s pencil and paper to real engineering cases involving complex numerical calculations. And developing, in the meantime, both an actual working finite-element [back-end](https://www.seamplex.com/fino) and [front-end](https://www.caeplex.com) from scratch.^[The dean of the engineering school I attended used to say “It is not the same to read than to write manuals, and we should aim at writing them.”] |
|
|
|
|
|
|
|
|
There are some useful tricks that come handy when trying to solve a mechanical problem. Throughout this text, I will try to tell you some of them. |
|
|
There are some useful tricks that come handy when trying to solve a mechanical problem. Throughout this text, I will try to tell you some of them. |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
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 not 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.”] |
|
|
|
|
|
This journey will definitely need your imagination. We will see equations, numbers, plots, schematics, 3D geometries, interactive 3D views, etc. Still, when the theory says “thermal expansion produces linear 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) 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. |
|
|
|
|
|
|
|
|
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. |
|
|
|
|
|
|
|
|
Another heads up is that we will dig into some mathematics. Probably they would be be simple and you would deal with them very easily. But probably you do not like equations. No problem! Just ignore them for now. Read the text skipping them, it should work. |
|
|
|
|
|
|
|
|
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. |
|
|
Ł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. |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
## Pressurised pipes |
|
|
## Pressurised pipes |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
How come that pipes are subject to fatigue? Well, on the one hand and without getting into many technical details, the most common nuclear reactor design uses liquid water as coolant and moderator. On the other hand, nuclear power plants cannot by-pass the thermodynamics of the Carnot cycle, and in order to maximise the efficiency of the conversion of the energy stored in the uranium nuclei into electricity we need to reach temperatures as high as possible. So, if we want to have liquid water in the core as hot as possible, we need to increase the pressure. The limiting temperature and pressure are given by the [critical point of water](https://en.wikipedia.org/wiki/Critical_point_(thermodynamics)), which is around 374ºC and 22\ MPa. It is therefore expected to have temperatures and pressures near those values in many systems of the plant, especially in the primary circuit and those that directly interact with it, such as pressure and inventory control system, decay power removal system, feedwater supply system, emergency core-cooling system, etc. |
|
|
|
|
|
|
|
|
How come that pipes are subject to fatigue? Well, on the one hand and without getting into many technical details, the most common nuclear reactor design uses liquid water as coolant and moderator. On the other hand, nuclear power plants cannot by-pass the thermodynamics of the [Carnot cycle](https://en.wikipedia.org/wiki/Carnot_cycle), and in order to maximise the efficiency of the conversion of the energy stored in the uranium nuclei into electricity we need to reach temperatures as high as possible. So, if we want to have liquid water in the core as hot as possible, we need to increase the pressure. The limiting temperature and pressure are given by the [critical point of water](https://en.wikipedia.org/wiki/Critical_point_(thermodynamics)), which is around 374ºC and 22\ MPa. It is therefore expected to have temperatures and pressures near those values in many systems of the plant, especially in the primary circuit and those that directly interact with it, such as pressure and inventory control system, decay power removal system, feedwater supply system, emergency core-cooling system, etc. |
|
|
|
|
|
|
|
|
Nuclear power plants are not always working at 100% of their maximum power capacity. They need to be maintained and refuelled, they may undergo operational (and some incidental) transients, they might operate at a lower power due to load following conditions, etc. These transient cases involve changes both in temperatures and in pressures that the pipes are subject to, which in turn give rise to changes in the stresses within the pipes. As the transients are postulated to occur cyclically during a number of times during the life-time of the plant (plus its extension period), mechanical fatigue in these piping systems arise especially at the interfaces between materials with different thermal expansion coefficients. |
|
|
|
|
|
|
|
|
Nuclear power plants are not always working at 100% of their maximum power capacity. They need to be maintained and refuelled, they may undergo operational (and some incidental) transients, they might operate at a lower power due to load following conditions, etc. These transient cases involve changes both in temperatures and in pressures that the pipes are subject to, which in turn give rise to changes in the stresses within the pipes. As the transients are postulated to occur cyclically during a number of times during the life-time of the plant (plus its extension period), mechanical fatigue in these piping systems may arise, especially at the interfaces between materials with different thermal expansion coefficients. |
|
|
|
|
|
|
|
|
An important part of the analysis that almost always applies to nuclear power plants but usually also to other installations is the consideration of a possible seismic event. Given a postulated design earthquake, both the civil structures and the piping system itself need to be able to withstand such a load, even if it occurs at the moment of highest mechanical demand during one of the operational transients. |
|
|
An important part of the analysis that almost always applies to nuclear power plants but usually also to other installations is the consideration of a possible seismic event. Given a postulated design earthquake, both the civil structures and the piping system itself need to be able to withstand such a load, even if it occurs at the moment of highest mechanical demand during one of the operational transients. |
|
|
|
|
|
|
|
|
## Fatigue {#sec:fatigue} |
|
|
## Fatigue {#sec:fatigue} |
|
|
|
|
|
|
|
|
Mechanical systems can fail due to a wide variety of reasons. The effect known as fatigue can create, migrate and grow microscopic cracks at the atomic level, called dislocations. Once these cracks reach a critical size, then the material fails catastrophically even under stresses much lower than the tensile strength limits. There are not complete mechanistic models from first principles which can be used in general situations, and those that exist are very complex and hard to use. There are two main ways to approach practical fatigue assessment problems using experimental data very much like the [Hooke’s Law](https://en.wikipedia.org/wiki/Hooke's_law) experiment: |
|
|
|
|
|
|
|
|
Mechanical systems can fail due to a wide variety of reasons. The effect known as fatigue can create, migrate and grow microscopic cracks at the atomic level, called [dislocations](https://en.wikipedia.org/wiki/Dislocations). Once these cracks reach a critical size, then the material fails catastrophically even under stresses much lower than the tensile strength limits. There are not complete mechanistic models from first principles which can be used in general situations, and those that exist are very complex and hard to use. There are two main ways to approach practical fatigue assessment problems using experimental data very much like the [Hooke’s Law](https://en.wikipedia.org/wiki/Hooke's_law) experiment: |
|
|
|
|
|
|
|
|
1. stress life, or |
|
|
1. stress life, or |
|
|
2. strain life |
|
|
2. strain life |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
{#fig:SN width=95%} |
|
|
{#fig:SN width=95%} |
|
|
|
|
|
|
|
|
It should be noted that the fatigue curves are obtained in a particular load case, namely purely-periodic and one-dimensional, which cannot be directly generalised to other three-dimensional cases. Also, any real-life case will be subject to a mixture of complex cycles given by a stress time history and not to pure periodic conditions. The application of the curve data implies a set of simplifications and assumptions that are translated into different possible “rules” for composing real-life cycles. There also exist two safety factors which increase the stress amplitude and reduce the number of cycles respectively. All these intermediate steps render the analysis of fatigue into a conservative computation scheme ([@sec:kinds]). Therefore, when a fatigue analysis performed using the fatigue curve method arrives at the conclusion that “fatigue is expected to occur after ten thousand cycles” what it actually means is “we are sure fatigue will not occur before ten thousand cycles, yet it may not occur before one hundred thousand or even more.” |
|
|
|
|
|
|
|
|
It should be noted that the fatigue curves are obtained in a particular load case, namely purely-periodic and one-dimensional, which cannot be directly generalised to other three-dimensional cases. Also, any real-life case will be subject to a mixture of complex cycles given by a stress time history and not to pure periodic conditions. The application of the curve data implies a set of simplifications and assumptions that are translated into different possible “rules” for composing real-life cycles. There also exist two safety factors which increase the stress amplitude and reduce the number of cycles respectively. All these intermediate steps render the analysis of fatigue into a conservative computation scheme ([@sec:kinds]). Therefore, when a fatigue assessment performed using the fatigue curve method arrives at the conclusion that “fatigue is expected to occur after ten thousand cycles” what it actually means is “we are sure fatigue will not occur before ten thousand cycles, yet it may not occur before one hundred thousand or even more.” |
|
|
|
|
|
|
|
|
# Solid mechanics, or what we are taught at college |
|
|
# Solid mechanics, or what we are taught at college |
|
|
|
|
|
|
|
|
So, let us start our journey. Our starting place: undergraduate solid mechanics courses. Our goal: to obtain the internal state of a solid subject to a set of movement restrictions and loads (i.e. to solve the solid mechanics problem). Our first step: [Newton’s laws of motion](https://en.wikipedia.org/wiki/Newton's_laws_of_motion). For each of them, all we need to recall here is that |
|
|
|
|
|
|
|
|
So, let us start our journey. Our starting place: undergraduate solid mechanics courses. Our goal: to obtain the internal state of a solid subject to a set of movement restrictions and loads (i.e. to solve the solid mechanics problem). Our first step: [Newton’s laws of motion](https://en.wikipedia.org/wiki/Newton's_laws_of_motion). For our purposes, we can recall them here like this: |
|
|
|
|
|
|
|
|
1. a solid is in equilibrium if it is not moving in at least one inertial coordinate system, |
|
|
1. a solid is in equilibrium if it is not moving in at least one inertial coordinate system, |
|
|
2. in order for a solid not to move, the sum of all the forces ought to be equal to zero, and |
|
|
2. in order for a solid not to move, the sum of all the forces ought to be equal to zero, and |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
In any case, what we should understand (and imagine) is that external forces lead to internal stresses. And in any three-dimensional body subject to such external loads, the best way to represent internal stresses is through a $3 \times 3$ _stress tensor_. This is the first point in which we should not fear mathematics. Trust me, it will pay back later on. |
|
|
In any case, what we should understand (and imagine) is that external forces lead to internal stresses. And in any three-dimensional body subject to such external loads, the best way to represent internal stresses is through a $3 \times 3$ _stress tensor_. This is the first point in which we should not fear mathematics. Trust me, it will pay back later on. |
|
|
|
|
|
|
|
|
Does the term _tensor_ scare you? It should not. A [tensor](https://en.wikipedia.org/wiki/Tensor) is a general mathematical object and might get complex when dealing with many dimensions (as those encountered in weird stuff like [string theory](https://en.wikipedia.org/wiki/String_theory)), but we will stick here to second-order tensors. They are slightly more complex than a vector, and I assume you are not afraid of vectors. If you recall fresh-year algebra courses, a [vector](https://en.wikipedia.org/wiki/Vector_(mathematics_and_physics)) somehow generalises the idea of a [scalar](https://en.wikipedia.org/wiki/Scalar_(mathematics)) in the following sense: a given vector $\mathbf{v}$ can be projected into any direction $\mathbf{n}$ to obtain a scalar $p$. We call this scalar $p$ the “projection” of the vector $\mathbf{v}$ in the direction $\mathbf{n}$. Well, a tensor can be also projected into any direction $\mathbf{n}$. The difference is that instead of a scalar, a vector is now obtained. |
|
|
|
|
|
|
|
|
Does the term _tensor_ scare you? It should not. A [tensor](https://en.wikipedia.org/wiki/Tensor) is a general mathematical object and might get complex when dealing with many dimensions (as those encountered in weird stuff like [string theory](https://en.wikipedia.org/wiki/String_theory)), but we will stick here to second-order tensors. They are slightly more complex than a vector, and I assume you are not afraid of vectors, are you? If you recall fresh-year algebra courses, a [vector](https://en.wikipedia.org/wiki/Vector_(mathematics_and_physics)) somehow generalises the idea of a [scalar](https://en.wikipedia.org/wiki/Scalar_(mathematics)) in the following sense: a given vector $\mathbf{v}$ can be projected into any direction $\mathbf{n}$ to obtain a scalar $p$. We call this scalar $p$ the “projection” of the vector $\mathbf{v}$ in the direction $\mathbf{n}$. Well, a tensor can be also projected into any direction $\mathbf{n}$. The difference is that instead of a scalar, a vector is now obtained. |
|
|
|
|
|
|
|
|
Let me introduce then the three-dimensional [stress tensor](https://en.wikipedia.org/wiki/Cauchy_stress_tensor) (a.k.a [Cauchy](https://en.wikipedia.org/wiki/Augustin-Louis_Cauchy) tensor): |
|
|
Let me introduce then the three-dimensional [stress tensor](https://en.wikipedia.org/wiki/Cauchy_stress_tensor) (a.k.a [Cauchy](https://en.wikipedia.org/wiki/Augustin-Louis_Cauchy) tensor): |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
## 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, 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 modulus $E$ and Poisson’s ratio $\nu$---subject to an internal uniform pressure $p$. |
|
|
|
|
|
|
|
|
### Displacements |
|
|
### Displacements |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
What does this mean? Well, that overall the whole pipe expands a little bit radially with the inner face being displaced more than the external surface (use your imagination!). How much? |
|
|
What does this mean? Well, that overall the whole pipe expands a little bit radially with the inner face being displaced more than the external surface (use your imagination!). How much? |
|
|
|
|
|
|
|
|
1. Linearly with the pressure, i.e. twice the pressure, twice the displacement, and |
|
|
|
|
|
2. Inversely proportional to the Young Modulus\ $E$ divided by $1+\nu$, i.e. the more resistant the material, the less radial displacements. |
|
|
|
|
|
|
|
|
1. linearly with the pressure, i.e. twice the pressure means twice the displacement, and |
|
|
|
|
|
2. inversely proportional to the Young Modulus\ $E$ divided by $1+\nu$, i.e. the more resistant the material, the less radial displacements. |
|
|
|
|
|
|
|
|
That is how an infinite pipe withstands internal pressure. |
|
|
That is how an infinite pipe withstands internal pressure. |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
We can note that |
|
|
We can note that |
|
|
|
|
|
|
|
|
1. The stresses do not depend on the mechanical properties\ $E$ and\ $\nu$ of the material (the displacements do). |
|
|
1. The stresses do not depend on the mechanical properties\ $E$ and\ $\nu$ of the material (the displacements do). |
|
|
2. All the stresses are linear with the pressure\ $p$, i.e. twice the pressure, twice the stress. |
|
|
|
|
|
|
|
|
2. All the stresses are linear with the pressure\ $p$, i.e. twice the pressure means twice the stress. |
|
|
3. The axial stress is uniform and does not depend on the radial coordinate\ $r$. |
|
|
3. The axial stress is uniform and does not depend on the radial coordinate\ $r$. |
|
|
4. As the stress tensor is diagonal, these three stresses happen to also be the principal stresses. |
|
|
4. As the stress tensor is diagonal, these three stresses happen to also be the principal stresses. |
|
|
|
|
|
|
|
|
That is all what we can say about an infinite pipe with uniform material properties subject to an uniform internal pressure\ $p$. If |
|
|
That is all what we can say about an infinite pipe with uniform material properties subject to an uniform internal pressure\ $p$. If |
|
|
|
|
|
|
|
|
* the pipe was not infinite (say any real pipe that has to start and end somewhere), or |
|
|
* the pipe was not infinite (say any real pipe that has to start and end somewhere), or |
|
|
* the cross-section of the pipe is not constant along the axis (say there is a reduction), or |
|
|
|
|
|
|
|
|
* the cross-section of the pipe is not constant along the axis (say there is an elbow or even a reduction), or |
|
|
* there was more than one pipe (say there is a tee), or |
|
|
* there was more than one pipe (say there is a tee), or |
|
|
* the material properties are not uniform (say the pipe does not have an uniform temperature but a distribution), or |
|
|
* the material properties are not uniform (say the pipe does not have an uniform temperature but a distribution), or |
|
|
* the pressure was not uniform (say because there is liquid inside and its weight cannot be neglected), |
|
|
* the pressure was not uniform (say because there is liquid inside and its weight cannot be neglected), |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
# Finite elements, or solving actual problems |
|
|
# Finite elements, or solving actual problems |
|
|
|
|
|
|
|
|
Besides infinite pipes (both thin and thick), spheres and a couple of other geometries, there are not other cases for which we can obtain analytical expressions for the elements of the stress tensor. To get results for a solid with real engineering interest, we need to use numerical methods to solve the equilibrium equations. It is not that the equations are hard _per se_. It is that the mechanical parts we engineers like to design (which are of course better than cylinders and spheres) are so intricate that render simple equations into monsters which are unsolvable with pencil and paper. Hence, finite elements enter into the scene. |
|
|
|
|
|
|
|
|
Besides infinite pipes (both thin and thick), spheres and a couple of other geometries, there are no other cases for which we can obtain analytical expressions for the elements of the stress tensor. To get results for a solid with real engineering interest, we need to use numerical methods to solve the equilibrium equations. It is not that the equations are hard _per se_. It is that the mechanical parts we engineers like to design (which are of course more complex than cylinders and spheres) are so intricate that render simple equations into monsters which are unsolvable with pencil and paper. Hence, finite elements enter into the scene. |
|
|
|
|
|
|
|
|
## The name of the game {#sec:formulations} |
|
|
## The name of the game {#sec:formulations} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
There are literally dozens of ways to numerically solve the equilibrium equations, but for the sake of brevity let us take a look at the three most famous ones. Coincidentally, they all contain the word “finite” in their names. We will not dig into them, but it is nice to know they exist. We might use |
|
|
There are literally dozens of ways to numerically solve the equilibrium equations, but for the sake of brevity let us take a look at the three most famous ones. Coincidentally, they all contain the word “finite” in their names. We will not dig into them, but it is nice to know they exist. We might use |
|
|
|
|
|
|
|
|
1. Finite differences |
|
|
|
|
|
2. Finite volumes |
|
|
|
|
|
3. Finite elements |
|
|
|
|
|
|
|
|
1. [Finite differences](https://en.wikipedia.org/wiki/Finite_difference) |
|
|
|
|
|
2. [Finite volumes](https://en.wikipedia.org/wiki/Finite_volume_method) |
|
|
|
|
|
3. [Finite elements](https://en.wikipedia.org/wiki/Finite_element_method) |
|
|
|
|
|
|
|
|
Each of these methods (also called schemes) have of course their own features, pros and cons. They all exploit the fact that the equations are easy to solve in simple geometries (say a cube). Then the actual geometry is divided into a juxtaposition of these cubes, the equations are solved in each one and then a global solution is obtained by sewing the little simple solutions one to another. The process of dividing the original domain into simple geometries is called _discretization_, and the resulting collection of these simple geometries is called a mesh or grid. They are composed of volumes, called cells (or elements) and vertices called nodes. Now, grids can be either |
|
|
|
|
|
|
|
|
Each of these methods (also called schemes) have of course their own features, pros and cons. They all exploit the fact that the equations are easy to solve in simple geometries (say a cube). Then the actual geometry is divided into a juxtaposition of these cubes, the equations are solved in each one and then a global solution is obtained by sewing the little simple solutions one to another. The process of dividing the original domain into simple geometries is called _discretisation_, and the resulting collection of these simple geometries is called a mesh or grid. They are composed of volumes, called cells (or elements) and vertices called nodes. Now, grids can be either |
|
|
|
|
|
|
|
|
a. structured, or |
|
|
a. structured, or |
|
|
b. unstructured |
|
|
b. unstructured |
|
|
|
|
|
|
|
|
Figure [-@fig:grids] illustrates how the same domain can be discretised using these two kind of grids. In the first case, we could identify any single cell by using just two indexes. We could even tell which nodes define each cell just from these indexes. In the second case, we need an explicit list just to know how many cells there are. Even more, there is no way to link the nodes with the cells (back and forth) other than having a list of nodes and cells. Again, there are pros and cons for each of the grid types such as simplicity, flexibility, etc. In general, unstructured grids can better represent a certain geometry with the same number of cells. Structured grids suffer the so-called “staircase effect” that makes the unusable for discretising mechanical parts. |
|
|
|
|
|
|
|
|
Figure [-@fig:grids] illustrates how the same domain can be discretised using these two kind of grids. In the first case, we could identify any single cell by using just two indexes. We could even tell which nodes define each cell just from these indexes. In the second case, we need an explicit list just to know how many cells there are. Even more, there is no way to link the nodes with the cells (back and forth) other than having an explicit list of nodes and cells. Again, there are pros and cons for each of the grid types such as simplicity, flexibility, etc. In general, unstructured grids can better represent a certain geometry with the same number of cells. Structured grids suffer the so-called “staircase effect” that makes the unusable for discretising mechanical parts. |
|
|
|
|
|
|
|
|
::::: {#fig:grids} |
|
|
::::: {#fig:grids} |
|
|
{#fig:continuous width=30%}\ |
|
|
{#fig:continuous width=30%}\ |
|
|
{#fig:structured width=30%}\ |
|
|
{#fig:structured width=30%}\ |
|
|
{#fig:unstructured width=30%} |
|
|
{#fig:unstructured width=30%} |
|
|
|
|
|
|
|
|
Discretisation of a spatial domain |
|
|
|
|
|
|
|
|
Discretisation of a spatial domain, For the same number of cells, unstructured grids can better represent arbitrary shapes. |
|
|
::::: |
|
|
::::: |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
There are technical reasons that justify why the finite element method is the king of mechanical analysis. But that does not mean that other methods may be employed. For instance, fluid mechanics are generally better solved using finite volumes. And further other combinations may be found in the literature. |
|
|
There are technical reasons that justify why the finite element method is the king of mechanical analysis. But that does not mean that other methods may be employed. For instance, fluid mechanics are generally better solved using finite volumes. And further other combinations may be found in the literature. |
|
|
|
|
|
|
|
|
Before proceeding, I would like to make two comments about common nomenclature. The first one is that if we exchanged the words “volumes” and “elements” in all the written books and articles, nobody would note the difference. There is nothing particular in both theories that can justify why FVM use “volumes” and FEM use “elements”. Actually volumes and elements are the same geometric constructions. As far as I know, the names were randomly assigned. |
|
|
|
|
|
|
|
|
Before proceeding, I would like to make two comments about common nomenclature. The first one is that if we exchanged the words “volumes” and “elements” in all the written books and articles, nobody would notice the difference. There is nothing particular in both theories that can justify why FVM use “volumes” and FEM use “elements”. Actually volumes and elements are the same geometric constructions. As far as I know, the names were randomly assigned. |
|
|
|
|
|
|
|
|
The second one is more philosophical and refers to the word “simulation” which is often used to refer to solving a problem using a numerical scheme such as the finite element method. [I am against at using this word for referencing to this endeavour](https://www.seamplex.com/blog/say-modeling-not-simulation.html). The term simulation has a connotation of both “pretending” and “faking” something, that is definitely not what we are doing when we solve an engineering problem with finite elements. Sure, there are some cases in which we simulate, such as using the [Monte Carlo method](https://en.wikipedia.org/wiki/Monte_Carlo_method) (originally used by Fermi as an attempt to understand how neutrons behave in the core of nuclear reactors). But when solving deterministic mechanical engineering problems I would rather say “modelling” than “simulation.” |
|
|
|
|
|
|
|
|
The second one is more philosophical and refers to the word “simulation” which is often used to refer to solving a problem using a numerical scheme such as the finite element method. [I am against at using this word for this endeavour](https://www.seamplex.com/blog/say-modeling-not-simulation.html). The term simulation has a connotation of both “pretending” and “faking” something, that is definitely not what we are doing when we solve an engineering problem with finite elements. Sure, there are some cases in which we simulate, such as using the [Monte Carlo method](https://en.wikipedia.org/wiki/Monte_Carlo_method) (originally used by Fermi as an attempt to understand how neutrons behave in the core of nuclear reactors). But when solving deterministic mechanical engineering problems I would rather say “modelling” than “simulation.” |
|
|
|
|
|
|
|
|
## Kinds of finite elements {#sec:kinds} |
|
|
## Kinds of finite elements {#sec:kinds} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ii. best-estimate |
|
|
ii. best-estimate |
|
|
iii. probabilistic |
|
|
iii. probabilistic |
|
|
|
|
|
|
|
|
The first one is the easiest because we are allowed to choose parameters and to make engineering decisions that may simplify the computation as long as they give results towards the worst-case scenario. More often than not, a conservative _estimation_ is enough in order to consider a problem as solved. Note that this is actually how fatigue results are obtained using fatigue curves, as discussed in\ [@sec:fatigue]. A word of care should be taken when considering what the “worst-case scenario” is. For instance, if we are analysing the temperature distribution in a mechanical part subject to convection boundary conditions, we might take either a very large or a very low convection coefficient as the conservative case. If we needed to design fins to dissipate heat then a low coefficient would be the conservative choice. But if the mechanical properties deteriorated with high temperatures then the conservative way to go would be to set a high convection coefficient. A common practice is to have a fictitious set of parameters, each of them being conservative leading individually to the worst-case scenario even if the overall combination is not physically feasible. |
|
|
|
|
|
|
|
|
The first one is the easiest because we are allowed to choose parameters and to make engineering decisions that may simplify the computation as long as they give results towards the worst-case scenario. More often than not, a conservative _estimation_ is enough in order to consider a problem as solved. Note that this is actually how fatigue results are obtained using fatigue curves, as discussed in\ [@sec:fatigue]. A word of care should be taken when considering what the “worst-case scenario” is. For instance, if we are analysing the temperature distribution in a mechanical part subject to convection boundary conditions, we might take either a very large or a very low convection coefficient as the conservative case. If we needed to design fins to dissipate heat then a low coefficient would be the conservative choice. But if the mechanical properties deteriorated with high temperatures then the conservative way to go would be to set a high convection coefficient. A common practice is to have a fictitious set of parameters, each of them being conservative leading individually to the worst case even if the overall combination is not physically feasible. |
|
|
|
|
|
|
|
|
As neat and tempting as conservative computations may be, sometimes the assumptions may be too biased toward the worst-case scenario and there might be no way of justifying certain designs with conservative computations. It is then time to sharpen our pencils and perform a best-estimate computation. This time, we should stick to the most-probable values of the parameters and even use more complex models that can better represent the physical phenomena that are going on in our problem. Sometimes best-estimate computations are just slightly more complex than conservative models. But more often than not, best-estimates get far more complicated. And these complications come not just in the finite-element model of the elastic problem but in the dependence of properties with space, time and/or temperature, in non-trivial relationships between macro and microscopic parameters, in more complicated algorithms for post-processing data, etc. |
|
|
|
|
|
|
|
|
As neat and tempting as conservative computations may be, sometimes the assumptions may be too biased toward the bad direction and there might be no way of justifying certain designs with conservative computations. It is then time to sharpen our pencils and perform a best-estimate computation. This time, we should stick to the most-probable values of the parameters and even use more complex models that can better represent the physical phenomena that are going on in our problem. Sometimes best-estimate computations are just slightly more complex than conservative models. But more often than not, best-estimates get far more complicated. And these complications come not just in the finite-element model of the elastic problem but in the dependence of properties with space, time and/or temperature, in non-trivial relationships between macro and microscopic parameters, in more complicated algorithms for post-processing data, etc. |
|
|
|
|
|
|
|
|
Finally, when then uncertainties associated to the parameters, methods and models used in a best-estimate calculation render the results too inaccurate, it might be needed to do a full set of parametric runs taking into account the probabilistic distribution of each of the input parameters. It involves |
|
|
Finally, when then uncertainties associated to the parameters, methods and models used in a best-estimate calculation render the results too inaccurate, it might be needed to do a full set of parametric runs taking into account the probabilistic distribution of each of the input parameters. It involves |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
So we know we need a numerical scheme to solve our mechanical problem because anything slightly more complex than an infinite pipe does not have analytical solution. We need an unstructured grid because we would not use Legos to discretise cylindrical pipes. We selected the finite elements method over the finite volumes method, because FEM is the king. Can we pause again and ask ourselves why is it that we want to do finite-element analysis? |
|
|
So we know we need a numerical scheme to solve our mechanical problem because anything slightly more complex than an infinite pipe does not have analytical solution. We need an unstructured grid because we would not use Legos to discretise cylindrical pipes. We selected the finite elements method over the finite volumes method, because FEM is the king. Can we pause again and ask ourselves why is it that we want to do finite-element analysis? |
|
|
|
|
|
|
|
|
There exists a very useful problem-solving technique conceived by [Taiichi Ohno](https://en.wikipedia.org/wiki/Taiichi_Ohno), the father of the [Toyota production system](https://en.wikipedia.org/wiki/Toyota_Production_System), known as the [Five-whys rule](https://en.wikipedia.org/wiki/5_Whys). It is based on the fact people make decisions following a certain reasoning logic that most of the time is subjective and biased and not purely rational and neutral. By recursively asking (at least five times) the cause of a certain issue, it might possible to understand what the real nature of the problem (or issue being investigated) is. And it might even be possible to to take counter-measures in order to fix what seems wrong. |
|
|
|
|
|
|
|
|
\medskip |
|
|
|
|
|
|
|
|
|
|
|
There exists a very useful problem-solving technique conceived by [Taiichi Ohno](https://en.wikipedia.org/wiki/Taiichi_Ohno), the father of the [Toyota production system](https://en.wikipedia.org/wiki/Toyota_Production_System), known as the [Five-whys rule](https://en.wikipedia.org/wiki/5_Whys). It is based on the fact people make decisions following a certain reasoning logic that most of the time is subjective and biased, and not purely rational and neutral. By recursively asking (at least five times) the cause of a certain issue, it might possible to understand what the real nature of the problem (or issue being investigated) is. And it might even be possible to to take counter-measures in order to fix what seems wrong. |
|
|
|
|
|
|
|
|
Here is the [original example](https://www.toyota-global.com/company/toyota_traditions/quality/mar_apr_2006.html): |
|
|
Here is the [original example](https://www.toyota-global.com/company/toyota_traditions/quality/mar_apr_2006.html): |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
5. Why is the intake clogged with metal shavings? |
|
|
5. Why is the intake clogged with metal shavings? |
|
|
Because there is no filter on the pump. |
|
|
Because there is no filter on the pump. |
|
|
|
|
|
|
|
|
You get the point, even though we know thanks to [Richard Feynmann](https://en.wikipedia.org/wiki/Richard_Feynman) that to [answer a “why” question](https://fs.blog/2012/01/richard-feynman-on-why-questions/) at some point we need to rely on the questioner’s previous experience. We usually assume we have to do what we usually do (i.e. perform finite element analysis). But do we? Do we add a filter or just replace the fuse? |
|
|
|
|
|
|
|
|
You get the point, even though we know thanks to [Richard Feynmann](https://en.wikipedia.org/wiki/Richard_Feynman) that to [answer a “why” question](https://fs.blog/2012/01/richard-feynman-on-why-questions/) at some point we need to rely on the questioner’s previous experience. We usually assume we have to do what we usually do (i.e. perform finite element analysis). But do we? Do we add a filter or do we just replace the fuse? |
|
|
|
|
|
|
|
|
|
|
|
\medskip |
|
|
|
|
|
|
|
|
Getting back to the case study: do we need to do FEM analysis? Well, it does not look like we can obtain the stresses of the transient cycles with just pencil and paper. But how much complexity should we add? We might do as little as axisymmetric linear steady-state conservative studies or as much as full three-dimensional non-linear transient best-estimate plus uncertainties computations. And here is where good engineers should appear: in putting their engineering judgment (call it experience or hunches) into defining what to solve. And it is not (just) because the first option is faster to solve than the latter. Involving many complex methods need more engineering time |
|
|
|
|
|
|
|
|
Getting back to the case study: do we need to do FEM analysis? Well, it does not look like we can obtain the stresses of the transient cycles with just pencil and paper. But how much complexity should we add? We might do as little as axisymmetric linear steady-state conservative studies or as much as full three-dimensional non-linear transient best-estimate plus uncertainties computations. And here is where good engineers stand out: in putting their engineering judgment (call it experience or hunches) into defining _what_ to solve. And it is not (just) because the first option is faster to solve than the latter. Involving many complex methods need more engineering time |
|
|
|
|
|
|
|
|
1. to prepare the input data and set up the algorithms, |
|
|
1. to prepare the input data and set up the algorithms, |
|
|
2. to cope with the many more mistakes that will inevitable appear during the computation, and |
|
|
2. to cope with the many more mistakes that will inevitable appear during the computation, and |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
a. an uniform internal pressure\ $p_i(t)$ that depends on time, |
|
|
a. an uniform internal pressure\ $p_i(t)$ that depends on time, |
|
|
b. a non-uniform internal temperature $T_i(t)$ that gives rise to a non-trivial time-dependent temperature distribution\ $T(\mathbf{x},t)$ in the bulk of the pipes, and |
|
|
b. a non-uniform internal temperature $T_i(t)$ that gives rise to a non-trivial time-dependent temperature distribution\ $T(\mathbf{x},t)$ in the bulk of the pipes, and |
|
|
c. internal distributed forces\ $\mathbf{f}=\rho \cdot \mathbf{a}$ at those times where the design earthquake is assumed to act. |
|
|
|
|
|
|
|
|
c. internal distributed forces\ $\mathbf{f}=\rho \cdot \mathbf{a}$ at those times where the design earthquake is assumed to occur. |
|
|
|
|
|
|
|
|
## Thermal transient {#sec:thermal} |
|
|
## Thermal transient {#sec:thermal} |
|
|
|
|
|
|
|
|
Let us invoke our imagination once again. Assume in one part of the transients the temperature of the water inside the pipes falls from say 300ºC down to 100ºC in a couple of minutes, stays at 100ºC for another couple of minutes and then gets back to 300ºC. The temperature within the bulk of the pipes changes as times evolves. The internal wall of the pipes follow the transient temperature (it might be exactly equal or close to it through the [Newton’s law of cooling](https://en.wikipedia.org/wiki/Newton%27s_law_of_cooling)). If the pipe was in a state of uniform temperature, the ramp in the internal wall will start cooling the bulk of the pipe creating a transient thermal gradient. Due to thermal inertia effects, the temperature can have a non-trivial dependence when the ramps start or end (think about it!). So we need to compute a real transient heat transfer problem with convective boundary conditions because any other usual tricks like computing a sequence of steady-state computations for different times would not be able to recover these non-trivial distributions. |
|
|
Let us invoke our imagination once again. Assume in one part of the transients the temperature of the water inside the pipes falls from say 300ºC down to 100ºC in a couple of minutes, stays at 100ºC for another couple of minutes and then gets back to 300ºC. The temperature within the bulk of the pipes changes as times evolves. The internal wall of the pipes follow the transient temperature (it might be exactly equal or close to it through the [Newton’s law of cooling](https://en.wikipedia.org/wiki/Newton%27s_law_of_cooling)). If the pipe was in a state of uniform temperature, the ramp in the internal wall will start cooling the bulk of the pipe creating a transient thermal gradient. Due to thermal inertia effects, the temperature can have a non-trivial dependence when the ramps start or end (think about it!). So we need to compute a real transient heat transfer problem with convective boundary conditions because any other usual tricks like computing a sequence of steady-state computations for different times would not be able to recover these non-trivial distributions. |
|
|
|
|
|
|
|
|
Remember the main issue of the fatigue analysis in these systems is to analyse what happens around the location of changes of piping classes where different materials (i.e. different expansion coefficients) are present, potentially causing high stresses due to differential thermal expansion (or contraction) under transient conditions. Therefore, even though we are dealing with pipes we cannot use beam or circular shell elements, because we need to take into account the three-dimensional effects of the temperature distribution along the pipe thickness. And even if it we could, there are some tees that connect pipes with different nominal diameters that have a non-trivial geometry, such as the weldolet-type junction shown in\ [@fig:weldolet-cad;@fig:weldolet-mesh]. In this case, there are a number of SCLs (Stress Classification Lines) that go through the pipe’s thickness at both sides of the material interface as illustrated in\ [@fig:weldolet-scls]. It is in these locations that fatigue is to be evaluated. |
|
|
|
|
|
|
|
|
Remember the main issue of the fatigue analysis in these systems is to analyse what happens around the location of changes of piping classes where different materials (i.e. different expansion coefficients) are present, potentially causing high stresses due to differential thermal expansion (or contraction) under transient conditions. Therefore, even though we are dealing with pipes we cannot use beam or circular shell elements, because we need to take into account the three-dimensional effects of the temperature distribution along the pipe thickness. And even if we could, there are some tees that connect pipes with different nominal diameters that have a non-trivial geometry, such as the weldolet-type junction shown in\ [@fig:weldolet-cad;@fig:weldolet-mesh]. In this case, there are a number of SCLs (Stress Classification Lines) that go through the pipe’s thickness at both sides of the material interface as illustrated in\ [@fig:weldolet-scls]. It is in these locations that fatigue is to be evaluated. |
|
|
|
|
|
|
|
|
dnl 33410 07-3-4D-29 |
|
|
dnl 33410 07-3-4D-29 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
::::: |
|
|
::::: |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
{#fig:weldolet-scls width=75%} |
|
|
|
|
|
|
|
|
{#fig:weldolet-scls width=75%} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
On the one hand, a reasonable number of nodes (it is the number of nodes that defines the problem size, not the number of elements as discussed in [@sec:elements-nodes]) in order to get a decent grid is around 200k for each system. On the other hand, solving a couple of dozens of transient heat transfer problems (which we cannot avoid due to the large thermal inertia of the pipes) during a few thousands of seconds over a couple hundred of thousands of nodes might take more time and storage space to hold the results than we might expect. |
|
|
On the one hand, a reasonable number of nodes (it is the number of nodes that defines the problem size, not the number of elements as discussed in [@sec:elements-nodes]) in order to get a decent grid is around 200k for each system. On the other hand, solving a couple of dozens of transient heat transfer problems (which we cannot avoid due to the large thermal inertia of the pipes) during a few thousands of seconds over a couple hundred of thousands of nodes might take more time and storage space to hold the results than we might expect. |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
{#fig:valve-mesh1 width=75%} |
|
|
{#fig:valve-mesh1 width=75%} |
|
|
|
|
|
|
|
|
{#fig:valve-scls1 width=70%} |
|
|
|
|
|
|
|
|
{#fig:valve-scls1 width=60%} |
|
|
|
|
|
|
|
|
An example case where the SCLs are located around the junction between stainless-steel valves and carbon steel pipes |
|
|
|
|
|
|
|
|
An example case where the SCLs are located around the junction between stainless-steel valves and carbon steel pipes at both sides of the material interface in the vertical plane both at the top and at the bottom of the pipe |
|
|
::::: |
|
|
::::: |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
::::: |
|
|
::::: |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Please note that there is no need to have a one-to-one correspondence between the elements from the reduced mesh with the elements from the original one. Actually, the reduced mesh contains first-order elements whilst the former has second-order elements. Also the grid density is different. Nevertheless, the finite-element solver [Fino](https://www.seamplex.com/fino) used to solve both the heat and the mechanical problems, allows to read functions of space and time defined over one mesh and continuously evaluate and use them into another one even if the two grids have different elements, orders or even dimensions. In effect, in the system from\ [@fig:real-life] the material interface is between a orifice plate made in stainless steel that is welded to a carbon-steel pipe ([@fig:real-mesh2]). The thermal problem can be modelled using a two-dimensional axi-symmetric grid [@fig:real-temp] and then generalised to the full three-dimensional mesh using the algebraic manipulation capabilities provided by [Fino](https://www.seamplex.com/fino) (actually by [wasora](https://www.seamplex.com/wasora)) as shown in\ [@fig:real-gen]. |
|
|
|
|
|
|
|
|
Note that there is no need to have a one-to-one correspondence between the elements from the reduced mesh with the elements from the original one. Actually, the reduced mesh contains first-order elements whilst the former has second-order elements. Also the grid density is different. Nevertheless, the finite-element solver [Fino](https://www.seamplex.com/fino) used to solve both the heat and the mechanical problems, allows to read functions of space and time defined over one mesh and continuously evaluate and use them into another one even if the two grids have different elements, orders or even dimensions. In effect, in the system from\ [@fig:real-life] the material interface is between a orifice plate made in stainless steel that is welded to a carbon-steel pipe ([@fig:real-mesh2]). The thermal problem can be modelled using a two-dimensional axi-symmetric grid [@fig:real-temp] and then generalised to the full three-dimensional mesh using the algebraic manipulation capabilities provided by [Fino](https://www.seamplex.com/fino) (actually by [wasora](https://www.seamplex.com/wasora)) as shown in\ [@fig:real-gen]. |
|
|
|
|
|
|
|
|
dnl 33410 10-12D-24 |
|
|
dnl 33410 10-12D-24 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
## Seismic loads {#sec:seismic} |
|
|
## Seismic loads {#sec:seismic} |
|
|
|
|
|
|
|
|
Before considering the actual mechanical problem that will give us the stress tensor at the SCLs, and besides needing to solve the transient thermal problem to get the temperature distributions, we need to address the loads that arise due to a postulated earthquake during a certain part of the operational transients. The full computation of a mechanical transient problem using the earthquake time-dependent displacements is off the table for two reasons. First, because the computation would take more time than we might have to deliver the report. And secondly and more importantly, because civil engineers do not compute earthquakes in the time domain but in the frequency domain using the [response spectrum method](https://en.wikipedia.org/wiki/Response_spectrum). Time to revisit our [Fourier transform](https://en.wikipedia.org/wiki/Fourier_transform) exercises from undergraduate maths courses. |
|
|
|
|
|
|
|
|
Before considering the actual mechanical problem that will give us the stress tensor at the SCLs, and besides needing to solve the transient thermal problem to get the temperature distributions, we need to address the loads that arise due to a postulated earthquake during a certain part of the operational transients. The full computation of a mechanical transient problem using the earthquake time-dependent displacements is off the table for two reasons. First, because again the computation would take more time than we might have to deliver the report. And secondly and more importantly, because civil engineers do not compute earthquakes in the time domain but in the frequency domain using the [response spectrum method](https://en.wikipedia.org/wiki/Response_spectrum). Time to revisit our [Fourier transform](https://en.wikipedia.org/wiki/Fourier_transform) exercises from undergraduate maths courses. |
|
|
|
|
|
|
|
|
### Earthquake spectra |
|
|
### Earthquake spectra |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Unstructured grid for the mechanical analysis. Volumetric elements (i.e. tetrahedra) corresponding to carbon steel are magenta and to stainless steel are green. Surface elements (i.e. triangles) corresponding to the internal pressurised face are yellow |
|
|
Unstructured grid for the mechanical analysis. Volumetric elements (i.e. tetrahedra) corresponding to carbon steel are magenta and to stainless steel are green. Surface elements (i.e. triangles) corresponding to the internal pressurised face are yellow |
|
|
::::: |
|
|
::::: |
|
|
|
|
|
|
|
|
{#fig:case-scls width=75%} |
|
|
|
|
|
|
|
|
{#fig:case-scls width=75%} |
|
|
|
|
|
|
|
|
::::: {#fig:case-temp} |
|
|
::::: {#fig:case-temp} |
|
|
{#fig:case-temp1 width=70%} |
|
|
{#fig:case-temp1 width=70%} |
|
|
|
|
|
|
|
|
* 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 and 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) |
|
|
* 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]. |
|
|
* 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]. |
|
|
* try to avoid [propriertary](https://en.wikipedia.org/wiki/Proprietary_software) programs and favour [free and open source](https://en.wikipedia.org/wiki/Free_and_open-source_software) ones |
|
|
|
|
|
|
|
|
* try to avoid [propriertary](https://en.wikipedia.org/wiki/Proprietary_software) programs and favour [free and open source](https://en.wikipedia.org/wiki/Free_and_open-source_software) ones. |
|
|
|
|
|
|
|
|
|
|
|
You can ask for help in our mailing list at <wasora@seamplex.com>. There is a community of engineers willing to help you in case you get in trouble with the repositories, the script or the input files. |
|
|
|
|
|
|
|
|
|
|
|
About your favourite FEM program, ask yourself these two questions: |
|
|
|
|
|
|
|
|
|
|
|
1. Do you believe your favourite FEM program’s manual? |
|
|
|
|
|
2. 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 went to college in the first place. |
|
|
|
|
|
|
|
|
divert(-1) |
|
|
divert(-1) |
|
|
# Referenced works |
|
|
# Referenced works |