|
|
|
@@ -369,7 +369,7 @@ So for each time\ $t$ of the operational transient, the pipes are subject to |
|
|
|
|
|
|
|
## 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 100º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. |
|
|
|
|
|
|
|
@@ -475,14 +475,14 @@ Practically, these problems are solved using the same mechanical finite-element |
|
|
|
A real continuous solid has infinite modes of oscillation. A discretised one (using the most common and efficient FEM formulation, the [displacement-based formulation](http://web.mit.edu/kjb/www/Books/FEP_2nd_Edition_4th_Printing.pdf)) has three times the number of nodes modes. In any case, one is usually interested only in a few of them, namely those with the lower frequencies because they take away most of the energy with them. Each mode has two associated parameters called modal mass and excitation that reflect how “important” the mode is regarding the absorption of energy from an external oscillatory source. Usually a couple of dozens of modes are enough to take up more than 90% of the earthquake energy. Figure\ [-@fig:modes] shows the first six natural modes of a sample piping section. |
|
|
|
|
|
|
|
::::: {#fig:modes} |
|
|
|
{width=48%}\ |
|
|
|
{width=48%} |
|
|
|
{width=48%}\ |
|
|
|
{width=48%} |
|
|
|
|
|
|
|
{width=48%}\ |
|
|
|
{width=48%} |
|
|
|
{width=48%}\ |
|
|
|
{width=48%} |
|
|
|
|
|
|
|
{width=48%}\ |
|
|
|
{width=48%} |
|
|
|
{width=48%}\ |
|
|
|
{width=48%} |
|
|
|
|
|
|
|
First six natural oscillation modes for a piping section |
|
|
|
::::: |
|
|
|
@@ -807,7 +807,7 @@ So the question is... how hard is to solve a sparse linear problem? Well, the nu |
|
|
|
{#fig:test1 width=48%}\ |
|
|
|
{#fig:test2 width=48%} |
|
|
|
|
|
|
|
Structure of the stiffness matrices for the same FEM problem with 10k nodes. Blue (red) are positive (negative) elements |
|
|
|
Structure of the stiffness matrices for the same FEM problem with 10k nodes. Red (blue) are positive (negative) elements |
|
|
|
::::: |
|
|
|
|
|
|
|
In a similar way, different types of elements will give rise to different sparsity patterns which change the effort needed to solve the problem. In any case, the base parameter that controls the problem size and thus provides a basic indicator of the level of difficulty the problem poses is the number of nodes. And again, not the number of elements. |
|
|
|
@@ -840,21 +840,21 @@ In any case, this step takes a non-negligible amount of time. The most-common ap |
|
|
|
|
|
|
|
# Adding complexity: the truth is out there |
|
|
|
|
|
|
|
Let us review some issues that appear during our real-world piping system and that might not have been thoroughly addressed back during our college days. |
|
|
|
Let us review some issues that appear when solving our case study and that might not have been thoroughly addressed back during our college days. |
|
|
|
|
|
|
|
## Two (or more) materials {#sec:two-materials} |
|
|
|
|
|
|
|
The main issue with fatigue in nuclear piping during operational transients is that at the welds between two materials with different thermal expansion coefficients there can appear potentially-high stresses during temperature changes. If these transients are repeated cyclically, fatigue may occur. We already have risen a warning flag about stresses at material interfaces. Besides all the open questions about computing stresses at nodes, this case also adds the fact that the material properties (say the Young Modulus\ $E$) is different in the elements that are at each side of the interface. |
|
|
|
The main issue with fatigue in nuclear piping during operational transients is that at the welds between two materials with different thermal expansion coefficients there can appear potentially-high stresses during temperature changes. If these transients are repeated cyclically, fatigue may occur. We already have risen a warning flag about stresses at material interfaces in\ [@sec:two-materials]. Besides all the open questions about computing stresses at nodes, this case also adds the fact that the material properties (say the Young Modulus\ $E$) is different in the elements that are at each side of the interface. |
|
|
|
|
|
|
|
::::: {#fig:two-cubes} |
|
|
|
{#fig:two-cubes2 width=48%}\ |
|
|
|
{#fig:two-cubes4 width=48%} |
|
|
|
{#fig:two-cubes2 width=48%}\ |
|
|
|
{#fig:two-cubes4 width=48%} |
|
|
|
|
|
|
|
Two cubes of different materials (the one in the left soft, the one in the right hard) share a face and a pressure is applied at the right-most face. |
|
|
|
Two cubes of different materials (the one in the left soft, the one in the right hard) share a face and a pressure is applied at the right-most face |
|
|
|
::::: |
|
|
|
|
|
|
|
|
|
|
|
To simplify the discussion that follows, let us replace for one moment all the full $3 \times 3$ tensor and the nine partial derivatives of the displacement by just one strain\ $\epsilon$ and let the [linear elastic strain-stress relationship](https://en.wikipedia.org/wiki/Elasticity_(physics)#Linear_elasticity) to be the scalar expression |
|
|
|
To simplify the discussion that follows, let us replace for one moment the full $3 \times 3$ tensor and the nine partial derivatives of the displacement by just one strain\ $\epsilon$ and let the [linear elastic strain-stress relationship](https://en.wikipedia.org/wiki/Elasticity_(physics)#Linear_elasticity) to be the simple scalar expression |
|
|
|
|
|
|
|
$$ |
|
|
|
\sigma = E \cdot \epsilon |
|
|
|
@@ -866,17 +866,17 @@ Faced with the problem of computing the stress\ $\sigma$ at one node shared by m |
|
|
|
|
|
|
|
$$ \langle \sigma \rangle = \langle E \rangle \cdot \langle \epsilon \rangle$$ |
|
|
|
|
|
|
|
This would be like having a meta-material at the interface with average properties, or |
|
|
|
This would be like having a meta-material at the interface with average properties, or |
|
|
|
|
|
|
|
2. compute the stress as the (weighted?) average of the product $E \cdot \epsilon$ in each node |
|
|
|
|
|
|
|
$$ \langle \sigma \rangle = \langle E \cdot \epsilon \rangle$$ |
|
|
|
|
|
|
|
This would be like forcing a non-differentiable function to behave smoothly, or |
|
|
|
This would be like forcing a non-differentiable function to behave smoothly, or |
|
|
|
|
|
|
|
3. internally duplicate the nodes at the interface and compute one stress for each material. This would result in a stress distribution which is not a real function because the same location\ $\mathbf{x}$ will be associated to more than one stress value, or |
|
|
|
|
|
|
|
4. duplicate the surface elements at the interfaces and solve the problem using a contact formulation. This would render the problem non-linear add the complexity of having to find appropriate penalty coefficients. |
|
|
|
4. duplicate the surface elements at the interfaces and solve the problem using a contact formulation. This would render the problem non-linear and add the complexity of having to find appropriate penalty coefficients. |
|
|
|
|
|
|
|
There might be other choices as well. Do you know what your favourite FEM program does? Now follow up with these questions: |
|
|
|
|
|
|
|
@@ -887,23 +887,23 @@ There might be other choices as well. Do you know what your favourite FEM progra |
|
|
|
e. ... |
|
|
|
|
|
|
|
|
|
|
|
You can still add a lot of questions that you should be having right now. If you cannot get a clear answer for at least one of them, then start to be worried. After you do, add the following question: |
|
|
|
You can still add a lot of questions that you should be having right now. If you cannot get a clear answer for at least one of them, then start to worry. After you do, add the following question: |
|
|
|
|
|
|
|
> Do you believe your favourite FEM program’s manual? |
|
|
|
|
|
|
|
What we as responsible engineers who have to sign a report stating that a nuclear power plant will not collapse due to fatigue in its pipes is to fully understand what is going on with our stresses. [Richard Stallman](https://en.wikipedia.org/wiki/Richard_Stallman) says that the best way to solve a problem is to avoid it in the first place. In this case, we should avoid having to trust to a written manual and rely on software whose [source code](https://en.wikipedia.org/wiki/Source_code) is available. What we need is the capacity (RMS calls it _freedom_) to be able to see the detailed steps performed by the program so we can answer any question we (or other people) might have. |
|
|
|
What we as responsible engineers who have to sign a report stating that a nuclear power plant will not collapse due to fatigue in its pipes, is to fully understand what is going on with our stresses. [Richard Stallman](https://en.wikipedia.org/wiki/Richard_Stallman) says that the best way to solve a problem is to avoid it in the first place. In this case, we should avoid having to trust a written manual and rely on software whose [source code](https://en.wikipedia.org/wiki/Source_code) is available. What we need is the capacity (RMS calls it _freedom_) to be able to see the detailed steps performed by the program so we can answer any question we (or other people) might have. |
|
|
|
|
|
|
|
Without resorting into philosophical digressions about the difference between [free and open-source software](https://en.wikipedia.org/wiki/Free_and_open-source_software) (not because it is not worth it but because it would take a whole book), the programs that make their source code available for their users are called [open-source software](https://en.wikipedia.org/wiki/Open-source_software). If the users can also modify and re-distribute the modified versions are called [free software](https://www.fsf.org/about/what-is-free-software). Note that the important concept here is freedom, not price. In Spanish (my native language) it would have been easier because there are two separate words for free as in freedom (“libre”) and for free as in price (“gratis”). |
|
|
|
Without resorting into philosophical digressions about the difference between [free and open-source software](https://en.wikipedia.org/wiki/Free_and_open-source_software) (not because it is not worth it, but because it would take a whole book), the programs that make their source code available for their users are called [open-source software](https://en.wikipedia.org/wiki/Open-source_software). If the users can also modify and re-distribute the modified versions, they are called [free software](https://www.fsf.org/about/what-is-free-software). Note that the important concept here is freedom, not price. In Spanish (my native language) it would have been easier because there are two separate words for free as in freedom (“libre”) and for free as in price (“gratis”). |
|
|
|
|
|
|
|
In effect, a couple of years ago Angus Ramsay noted [a weird behaviour](https://www.ramsay-maunder.co.uk/knowledge-base/technical-notes/asmeansys-potential-issue-with-thermal-expansion-calculations/) in one commercial [non-free](https://en.wikipedia.org/wiki/Proprietary_software) FEA software regarding the handling of expansion coefficients from ASME data. To understand what was going on, we had to guess what the program was doing to [reproduce the allegedly weird results](https://www.seamplex.com/docs/SP-WA-17-TN-F38B-A.pdf). Finally, it was a [matter of input data](https://www.ramsay-maunder.co.uk/knowledge-base/technical-notes/accuracy-of-thermal-expansion-properties-in-asme-bpv-code/) rather than a programming flaw. Nevertheless, we were lucky our guesses lead us to a reasonable answer. If we had access to the program’s source code, we could have thoroughly analysed the issue in a more efficient way. Sure, we might not have the same programming skills the original authors of the software have, but if it had been [free software](https://en.wikipedia.org/wiki/Free_software) we would have had the _freedom_ to hire a programmer to help us out. That is what _free_ means. In [Eric Raymond](https://en.wikipedia.org/wiki/Eric_S._Raymond)’s words, “given enough eyeballs, all bugs are shallow.” This is rather important in engineering software where [verification and validation](https://en.wikipedia.org/wiki/Software_verification_and_validation) is a must, especially in regulated fields like the nuclear industry. First, think how can a piece of software be verified if the source code is not available for independent analysis. And then, ask yourself another question: |
|
|
|
In effect, a couple of years ago Angus Ramsay noted [a weird behaviour](https://www.ramsay-maunder.co.uk/knowledge-base/technical-notes/asmeansys-potential-issue-with-thermal-expansion-calculations/) in the results given by a certain commercial [non-free](https://en.wikipedia.org/wiki/Proprietary_software) FEA software regarding the handling of expansion coefficients from ASME data. To understand what was going on, we had to guess what the program was doing to [reproduce the allegedly weird results](https://www.seamplex.com/docs/SP-WA-17-TN-F38B-A.pdf). Finally, it was a [matter how the data was rounded up to be presented in a paper table](https://www.ramsay-maunder.co.uk/knowledge-base/technical-notes/accuracy-of-thermal-expansion-properties-in-asme-bpv-code/) rather than a programming flaw. Nevertheless, we were lucky our guesses lead us to a reasonable answer. If we had access to the program’s source code, we could have thoroughly analysed the issue in a more efficient way. Sure, we might not have the same programming skills the original authors of the software have, but if it had been [free software](https://en.wikipedia.org/wiki/Free_software) we would have had the _freedom_ to hire a programmer to help us out. That is what _free_ means. In [Eric Raymond](https://en.wikipedia.org/wiki/Eric_S._Raymond)’s words, [“given enough eyeballs, all bugs are shallow.”](http://www.catb.org/~esr/writings/cathedral-bazaar/) This is rather important in engineering software where [verification and validation](https://en.wikipedia.org/wiki/Software_verification_and_validation) is a must, especially in regulated fields like the nuclear industry. First, think how can a piece of software be verified if the source code is not available for independent analysis. And then, ask yourself another question: |
|
|
|
|
|
|
|
> Do you trust your favourite FEM program? |
|
|
|
|
|
|
|
Back to the two-material interface, all the discussion above about non-continuous derivatives applies to a sharp abrupt interface. In the study case the junctions are welded so there is a heat-affected zone with changes in the material micro structure. Therefore, there exist a smooth transition from the mechanical properties of one material to the other one in a way that is very hard to predict and to model. In principle, the assumption of a sharp interface is conservative (in the sense of\ [@sec:kinds]). There cannot be an SCL exactly on a material interface so there should be at least two SCLs, one at each side of the junction as\ [@fig:weldolet-scls;@fig:valve-scls1] illustrate. The actual distance would have to be determined first as an educated guess, then with trial and error and finally in accordance with the regulator. |
|
|
|
Back to the two-material problem, all the discussion above in\ [@sec:two-materials] about non-continuous derivatives applies to a sharp abrupt interface. In the study case the junctions are welded so there is a [heat-affected zone](https://en.wikipedia.org/wiki/Heat-affected_zone) with changes in the material micro structure. Therefore, there exists a smooth transition from the mechanical properties of one material to the other one in a way that is very hard to predict and to model. In principle, the assumption of a sharp interface is conservative (in the sense of\ [@sec:kinds]). There cannot be an SCL exactly on a material interface so there should be at least two SCLs, one at each side of the junctions of\ [@fig:weldolet-scls;@fig:valve-scls1] illustrate. The actual distance would have to be determined first as an educated guess, then with trial and error and finally in accordance with the regulator. |
|
|
|
|
|
|
|
## A parametric tee {#sec:parametric} |
|
|
|
|
|
|
|
Time for another experiment. We know (more or less) what to expect from an infinite pressurised pipe. What if we added a branch to such pipe? Even more, what if we added successively (one at a time) branches with different diameters? This is called parametric analysis, and sooner or later (if not now) you will find yourself performing this kind of computations more often than any other one. |
|
|
|
Time for another experiment. We know (more or less) what to expect from an infinite pressurised pipe from\ [@sec:infinite-pipe;sec:infinite-pipe-fem]. What if we added a branch to such pipe? Even more, what if successively varied the diameter of the branch to see what happens? This is called parametric analysis, and sooner or later (if not now) you will find yourself performing this kind of computations more often than any other one. |
|
|
|
|
|
|
|
So here comes the five Feynmann-Ohno questions: |
|
|
|
|
|
|
|
@@ -927,9 +927,9 @@ Let us solve the following mock-up case: a long main 12-inch schedule\ 80 pipe h |
|
|
|
|
|
|
|
::::: {#fig:tee-geo} |
|
|
|
{#fig:tee-geo1 width=54%}\ |
|
|
|
{#fig:tee-geo2 width=44%}\ |
|
|
|
{#fig:tee-geo2 width=44%} |
|
|
|
|
|
|
|
Geometry of the parametric 12-inch tee for the particular case of a 4-inch branch. |
|
|
|
Geometry of the parametric 12-inch tee for the particular case of a 4-inch branch |
|
|
|
::::: |
|
|
|
|
|
|
|
The boundary conditions are |
|
|
|
@@ -940,13 +940,13 @@ The boundary conditions are |
|
|
|
* Dark green: axial $w=0$ and radial symmetry $0=vx-uy$ |
|
|
|
* Light green: internal pressure\ $p=10$\ MPa |
|
|
|
|
|
|
|
Three radial SCLs are located at a distance of one thickness of the main line from the external wall of the branch into the main direction\ $x$. [@Fig:tee-MB] shows the results of the parametric computation, namely the linearised membrane and bending stresses computed in each of the three SCLs as a function of\ $d_b$. Note that\ $d_b$ is a continuous variable and even unreal values (such as 9-inches) were used to perform the parametric run. The thickness of such cases was interpolated using actual schedule-80 geometrical data from ASME\ B36.310M. |
|
|
|
Three radial SCLs are located at a distance of one thickness of the main line from the external wall of the branch into the main direction\ $x$ ([@fig:tee-scls]). In\ [@fig:tee-MB] we can see the results of the parametric computation, namely the linearised membrane and bending stresses computed in each of the three SCLs as a function of\ $d_b$. Note that\ $d_b$ is a continuous variable and even unreal values (such as 9-inches) were used to perform the parametric run. The thickness of such cases was interpolated using actual schedule-80 geometrical data from ASME\ B36.310M. |
|
|
|
|
|
|
|
::::: {#fig:tee-scls} |
|
|
|
{#fig:tee-scls1 width=29%}\ |
|
|
|
{#fig:tee-scls2 width=67%}\ |
|
|
|
|
|
|
|
Location of the three radial SCLs: cyan, yellow and green. |
|
|
|
Location of the three radial SCLs: cyan, yellow and green |
|
|
|
::::: |
|
|
|
|
|
|
|
::::: {#fig:tee-MB} |
|
|
|
@@ -954,7 +954,7 @@ Location of the three radial SCLs: cyan, yellow and green. |
|
|
|
|
|
|
|
{#fig:B width=90%} |
|
|
|
|
|
|
|
Parametric membrane and bending stresses as a function of the nominal diameter\ $d_b$ of the branch. |
|
|
|
Parametric membrane and bending stresses as a function of the nominal diameter\ $d_b$ of the branch |
|
|
|
::::: |
|
|
|
|
|
|
|
|
|
|
|
@@ -966,7 +966,9 @@ Parametric membrane and bending stresses as a function of the nominal diameter\ |
|
|
|
Von\ Mises stress and 400x warped displacements for three values of\ $d_b$. |
|
|
|
::::: |
|
|
|
|
|
|
|
[@Fig:tee-post] illustrates how the pipes deform when subject to the internal pressure. When the branch is small, the problem resembles the infinite-pipe problem where the main pipe expands radially outward and there is only traction. For large values of\ $d_b$, the pressure in the branch bends down the main pipe, generating a complex mixture of traction and compressing. The tipping point seems to be around\ $d_b\approx 5$\ in. Do you now see the added value of training throw-ins with watermelons? We might go on... |
|
|
|
[@Fig:tee-post] illustrates how the pipes deform when subject to the internal pressure. When the branch is small, the problem resembles the infinite-pipe problem where the main pipe expands radially outward and there is only traction. For large values of\ $d_b$, the pressure in the branch bends down the main pipe, generating a complex mixture of traction and compression. The tipping point seems to be around\ $d_b\approx 5$\ in. |
|
|
|
|
|
|
|
Do you now see the added value of training throw-ins with watermelons? We might go on... |
|
|
|
|
|
|
|
* studying how the maximum Von\ Mises stress as a function the radius\ $r_f$ of an hypothetical fillet operation on the tee’s sharp edges, |
|
|
|
* making the branch another material and adding thermal expansion, |
|
|
|
@@ -974,43 +976,45 @@ Von\ Mises stress and 400x warped displacements for three values of\ $d_b$. |
|
|
|
* using distributed forces from earthquakes, |
|
|
|
* etc. |
|
|
|
|
|
|
|
Most of the time at college we would barely do what is needed to be approved and move on to another subject. If you have the time and consider a career related to finite-element analysis, please do not. Now clone the repository from <https://bitbucket.org/seamplex/tee> and start playing. If you are stuck, do not hesitate asking for help in [wasora’s mailing list](https://www.seamplex.com/lists.html). It will pay off later on. |
|
|
|
Most of the time at college we would barely do what is needed to be approved in one course and move on to the next one. If you have the time and consider a career related to finite-element analysis, please do not. Clone the repository from <https://bitbucket.org/seamplex/tee> and start playing. If you are stuck, do not hesitate asking for help in [wasora’s mailing list](https://www.seamplex.com/lists.html). It will pay off later on. |
|
|
|
|
|
|
|
One further detail: it is always a sane check to try to explain the numerical results based on physical reasoning as we did two paragraphs above. Most of the time you will be solving problems whilst already knowing what the result would (or ought to) be. |
|
|
|
|
|
|
|
## Bake, shake and break {#sec:break} |
|
|
|
|
|
|
|
A fellow mechanical engineer who went to the same high school I did, who went to the same engineering school I did and who worked at the same company I did, but who earned a PhD in Norway once told me two interesting things about finite-elements graduate courses. First, that in Trondheim the classes were taught by faculty from the the mathematics department rather than from the mechanical engineering department. It made complete sense to me, as I always have thought finite elements mainly a maths subject. And even though engineers might know some maths, it is nothing compared to actual mathematicians. Secondly, that they called the thermal, natural oscillations and elastic problems as the rhyming trio “bake, shake and break” (they also had “wake” for fluids, but that is a different story) which are just the three problems listed in section\ [@sec:piping-nuclear] that we need to solve in our nuclear power plant. |
|
|
|
A fellow mechanical engineer who went to the same high school I did, who went to the same engineering school I did and who worked at the same company I did, but who earned a PhD in Norway once told me two interesting things about finite-elements graduate courses. First, that in Trondheim the classes were taught by faculty from the the mathematics department rather than from the mechanical engineering department. It made complete sense to me, as I always have thought finite elements mainly as a maths subject. And even though engineers might know some maths, it is nothing compared to actual mathematicians. Secondly, that they called the thermal, natural oscillations and elastic problems as the rhyming trio “bake, shake and break” (they also had “wake” for fluids, but that is a different story). These are just the three problems listed in section\ [@sec:piping-nuclear] that we need to solve in our nuclear power plant. |
|
|
|
|
|
|
|
So here we are again with the case study where we have to compute the linearised stresses at certain SCLs located near the interface between two different kinds of steels during operational and incidental transients of the plant. The first part is then to “bake” the pipes, modelling a thermal transient with time-dependent temperature or convection (it depends on the system) boundary conditions. This steps gives a time and space-dependent temperature\ $T(x,y,z,t)$. |
|
|
|
So here we are again with the case study where we have to compute the linearised stresses at certain SCLs located near the interface between two different kinds of steels during operational and incidental transients of the plant. The first part is then to “bake” the pipes, modelling a thermal transient with time-dependent temperature or convection boundary conditions (it depends on the system). This steps gives a time and space-dependent temperature\ $T(x,y,z,t)$. |
|
|
|
|
|
|
|
Then we proceed to “shake” the pipes, i.e. to compute the natural frequencies and associated oscillations modes. Employing the floor response spectra and combining the individual contributions with the SRSS method discussed in section\ [@sec:seismic], we obtain a distributed load vector\ $\mathbf{f}(x,y,z)$ which is statically equivalent to the design earthquake. |
|
|
|
|
|
|
|
Finally we attempt to “break” the pipes successively solving many steady-state elastic problems for different times\ $t$ of the operational transient. Some remarks about this step: |
|
|
|
|
|
|
|
1. The material properties are temperature-dependent (we use data from ASME\ II part\ D). |
|
|
|
1. The material properties are temperature-dependent (we use data from [ASME\ II](https://en.wikipedia.org/wiki/ASME_Boiler_and_Pressure_Vessel_Code#ASME_BPVC_Section_II_-_Materials) part\ D). |
|
|
|
2. Thermal expansion is taken into account. The reference temperature (i.e. the temperature at which there is no expansion) is\ 20ºC that coincides with ASME’s decision of the reference temperature for the mean thermal expansion coefficients. |
|
|
|
3. The temperature distribution\ $T(x,y,t,z)$ for bullets 1 & 2 is the generalisation of the reduced-model procedure explained in\ [@sec:thermal]. |
|
|
|
4. The internal faces of the pipes are subject to an uniform pressure\ $p(t)$ given by the definition of the transient |
|
|
|
5. There are mechanical supports throughout the pipe system. Depending on the type of the support (i.e. vertical, lateral, axial, full, etc.) one or more degrees of freedom (i.e. $u$, $v$ and/or $w$) are fixed to zero. The ends of the CAD models were chosen always to have axially-null displacements. |
|
|
|
6. The earthquake-equivalent volumetric force\ $\mathbf{f}(x,y,z)$ should only be applied at the time\ $t$ where the maximum stresses occur. Note that due to the discussion from\ [@sec:linearity] we cannot compute the stresses raised just by\ $\mathbf{f}(x,y,z)$ and then add them to the main stresses. The force has to be included into the “break” step. An educated guess of the time where the maximum stress occur is usually enough. Anyway, it might be necessary a trial and error scheme to find the sweet spot. |
|
|
|
4. The internal faces of the pipes are subject to an uniform pressure\ $p(t)$ given by the definition of the transient. |
|
|
|
5. There are mechanical supports throughout the piping system. Depending on the type of the support (i.e. vertical, lateral, axial, full, etc.) one or more degrees of freedom (i.e. $u$, $v$ and/or $w$) are fixed to zero. The ends of the CAD models are chosen always to have axially-null displacements. |
|
|
|
6. The earthquake-equivalent volumetric force\ $\mathbf{f}(x,y,z)$ is only be applied at the time\ $t$ where the maximum stresses occur. Note that due to the discussion from\ [@sec:linearity] we cannot compute the stresses raised just by\ $\mathbf{f}(x,y,z)$ and then add them to the main stresses. The force has to be included into the “break” step. An educated guess of the time where the maximum stress occur is usually enough. Anyway, it might be necessary a trial and error scheme to find the sweet spot. |
|
|
|
7. According to ASME\ III, the seismic load has to be applied during two seconds with the two possible signs. That is to say, apply $\mathbf{f}(x,y,z)$ during two seconds and then $-\mathbf{f}(x,y,z)$ during two further seconds when the main stresses are maximums. |
|
|
|
8. A number of stress classification lines have to be defined. The locations were previously accorded with the plant owner and/or the regulator. |
|
|
|
8. A number of stress classification lines have to be defined. The locations should be previously accorded with the plant owner and/or the regulator. |
|
|
|
9. The stress linearisation has to be performed individually for each principal stress\ $\sigma_1$, $\sigma_2$ and $\sigma_3$ to fulfil the requirements ASME\ III\ NB-3126 (see [@sec:in-air] below). |
|
|
|
10. This “break” step is linear. |
|
|
|
|
|
|
|
[Surely you’re joking, Mr.\ Theler!](https://en.wikipedia.org/wiki/Surely_You're_Joking%2C_Mr._Feynman!) Linear problems are simple and almost useless. How can this extremely complex problem be linear? Well, let us see. First, there are two main kinds of non-linearities in FEM: |
|
|
|
Is the last bullet right? [Surely you’re joking, Mr.\ Theler!](https://en.wikipedia.org/wiki/Surely_You're_Joking%2C_Mr._Feynman!) Linear problems are simple and almost useless. How can this extremely complex problem be linear? Well, let us see. First, there are two main kinds of non-linearities in FEM: |
|
|
|
|
|
|
|
1. Geometrical non-linearities |
|
|
|
2. Material non-linearities |
|
|
|
|
|
|
|
The first one is easy. Due to the fact that the pipes are made of steel, it is expected that the actual deformations are relatively small compared to the original dimensions. This leads to the fact that the mechanical rigidity (i.e. the stiffness matrix) does not change significantly when the loads are applied. Therefore, we can safely assume that the problem is geometrically linear. |
|
|
|
|
|
|
|
About material non-linearities, on the one hand we have the temperature-dependent issue. According to ASME\ II part\ D, what depends on temperature\ $T$ is the Young Modulus\ $E$. But the stress-strain relationship is still linear, that is |
|
|
|
Let us now address material non-linearities. On the one hand we have the temperature-dependent issue. According to ASME\ II part\ D, what depends on temperature\ $T$ is the Young Modulus\ $E$. But the stress-strain relationship is |
|
|
|
|
|
|
|
$$ \sigma = E(T) \cdot \epsilon $$ |
|
|
|
|
|
|
|
What changes with temperature is the slope of\ $\sigma$ with respect to\ $\epsilon$ (think and imagine!). On the other hand, we have a given non-trivial temperature distribution\ $T(\mathbf{x}, t)$ within the pipes that is a snapshot of a transient heat conduction problem at a certain time\ $t$ (think and picture yourself taking photos of the temperature distribution changing in time). Let us now forget about the time, as after all we are solving a steady-state elastic problem. Now you can trust me or ask a FEM teacher, but the continuous displacement formulation can be loosely written as |
|
|
|
What changes with temperature is the slope of\ $\sigma$ with respect to\ $\epsilon$ (think and imagine!), but the relationship between them is still _linear_. |
|
|
|
|
|
|
|
On the other hand, we have a given non-trivial temperature distribution\ $T(\mathbf{x}, t)$ within the pipes that is a snapshot of a transient heat conduction problem at a certain time\ $t$ (think and picture yourself taking photos of the temperature distribution changing in time). Let us now forget about the time, as after all we are solving a steady-state elastic problem. Now you can trust me or ask a FEM teacher, but the continuous displacement formulation can be loosely written as |
|
|
|
|
|
|
|
$$ K\big[E\left(T(\mathbf{x})\right), \mathbf{x}\big] \cdot \mathbf{u}(\mathbf{x}) = \mathbf{b}(\mathbf{x})$$ |
|
|
|
|
|
|
|
@@ -1018,15 +1022,15 @@ If you notice, the complex dependence of the stiffness matrix\ $K$ can be reduce |
|
|
|
|
|
|
|
$$ K(\mathbf{x}) \cdot \mathbf{u}(\mathbf{x}) = \mathbf{b}(\mathbf{x})$$ |
|
|
|
|
|
|
|
And this last equation is linear in\ $\mathbf{u}$. In effect, the discretisation step means to integrate over\ $\mathbf{x}$. As\ $K$, $\mathbf{u}$ and\ $\mathbf{b}$ depend only on\ $\mathbf{x}$, then after integration one gets just numbers with the matrix representation of\ [@eq:kub]. Again, you can either trust me, ask a teacher or go through with the maths. |
|
|
|
And this last equation is linear in\ $\mathbf{u}$. In effect, the discretisation step means to integrate over\ $\mathbf{x}$. As\ $K$, $\mathbf{u}$ and\ $\mathbf{b}$ depend only on\ $\mathbf{x}$, then after integration one gets just numbers with the matrix representation of\ [@eq:kub]. Again, you can either trust me, ask a teacher or go through with the maths (in increasing order of recommendation). |
|
|
|
|
|
|
|
|
|
|
|
::::: {#fig:case-cad} |
|
|
|
{#fig:case-cad1 width=90%} |
|
|
|
{#fig:case-cad1 width=90%} |
|
|
|
|
|
|
|
{#fig:case-cad2 width=90%} |
|
|
|
{#fig:case-cad2 width=90%} |
|
|
|
|
|
|
|
Three-dimensional\ CAD model of a section of the piping system between appropriate supports. |
|
|
|
Three-dimensional\ CAD model of a section of the piping system between appropriate supports |
|
|
|
::::: |
|
|
|
|
|
|
|
::::: {#fig:case-mesh} |
|
|
|
@@ -1034,33 +1038,33 @@ Three-dimensional\ CAD model of a section of the piping system between appropria |
|
|
|
|
|
|
|
{#fig:case-mesh2 width=100%} |
|
|
|
|
|
|
|
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-temp1 width=70%} |
|
|
|
|
|
|
|
{#fig:case-temp2 width=100%} |
|
|
|
|
|
|
|
Temperature distribution for a certain instant of the transient, computed in the simplified two-dimensional axi-symmetric domain and its generalisation to the three-dimensional mechanical domain as discussed in\ [@sec:thermal]. |
|
|
|
Temperature distribution for a certain instant of the transient, computed in the simplified two-dimensional axi-symmetric domain and its generalisation to the three-dimensional mechanical domain as discussed in\ [@sec:thermal] |
|
|
|
::::: |
|
|
|
|
|
|
|
::::: {#fig:case-mode} |
|
|
|
{#fig:case-mode-1 width=30%}\ |
|
|
|
{#fig:case-mode-2 width=30%}\ |
|
|
|
{#fig:case-mode-3 width=30%} |
|
|
|
{#fig:case-mode-1 width=30%}\ |
|
|
|
{#fig:case-mode-2 width=30%}\ |
|
|
|
{#fig:case-mode-3 width=30%} |
|
|
|
|
|
|
|
{#fig:case-mode-4 width=30%}\ |
|
|
|
{#fig:case-mode-5 width=30%}\ |
|
|
|
{#fig:case-mode-6 width=30%} |
|
|
|
{#fig:case-mode-4 width=30%}\ |
|
|
|
{#fig:case-mode-5 width=30%}\ |
|
|
|
{#fig:case-mode-6 width=30%} |
|
|
|
|
|
|
|
{#fig:case-mode-7 width=30%}\ |
|
|
|
{#fig:case-mode-8 width=30%}\ |
|
|
|
{#fig:case-mode-9 width=30%} |
|
|
|
{#fig:case-mode-7 width=30%}\ |
|
|
|
{#fig:case-mode-8 width=30%}\ |
|
|
|
{#fig:case-mode-9 width=30%} |
|
|
|
|
|
|
|
First nine natural modes of oscillation of the piping system subject to the boundary conditions the supports provide. |
|
|
|
First nine natural modes of oscillation of the piping system subject to the boundary conditions the supports provide |
|
|
|
::::: |
|
|
|
|
|
|
|
{#fig:case-spectrum width=80%} |
|
|
|
@@ -1072,13 +1076,13 @@ First nine natural modes of oscillation of the piping system subject to the boun |
|
|
|
|
|
|
|
{width=50%} |
|
|
|
|
|
|
|
The static equivalent accelerations for the spectra of\ [@fig:case-spectrum] computed using the SRSS method. |
|
|
|
The static equivalent accelerations for the spectra of\ [@fig:case-spectrum] computed using the SRSS method |
|
|
|
::::: |
|
|
|
|
|
|
|
|
|
|
|
\medskip |
|
|
|
|
|
|
|
To recapitulate, here are some partial non-dimensional results of an actual system of a certain nuclear power plant. The main issues to study were the interfaces between a carbon-steel pipe and a stainless-steel orifice plate used to measure the (heavy) water flow through the line. The steps discussed so far include |
|
|
|
To recapitulate, the figures in this section show some partial non-dimensional results of an actual system of a certain nuclear power plant. The main issues to study were the interfaces between a carbon-steel pipe and a stainless-steel orifice plate used to measure the (heavy) water flow through the line. The steps discussed so far include |
|
|
|
|
|
|
|
1. building a CAD model of the piping section under study, which will be the main domain ([@fig:case-cad] or [@fig:real-life;@fig:weldolet-cad;@fig:valve-cad1]) |
|
|
|
2. creating a mesh for the main domain refining locally around the material interfaces ([@fig:case-mesh] or [@fig:weldolet-mesh;@fig:valve-mesh1;@fig:real-mesh2]) |
|
|
|
@@ -1115,7 +1119,7 @@ Back and distantly, in\ [@sec:case] we said that people noticed there were some |
|
|
|
|
|
|
|
## In air (ASME’s basic approach) {#sec:in-air} |
|
|
|
|
|
|
|
We already said in\ [@sec:fatigue] that fatigue analysis gives the limit number\ $N$ of cycles that a certain mechanical part can withstand when subject to a certain periodic load of stress amplitude\ $S_\text{alt}$. If the actual number of cycles\ $n$ the load is applied is smaller than the limit\ $N$, then the part is fatigue-resistant. In our case study there is a mixture of several periodic loads, each one expected to occur a certain number of times. ASME’s way to evaluate the resistance is to break up the stress history into partial stress amplitudes\ $S_{\text{alt},j}$ between a “peak” and a “valley” and compute individual usage factors\ $U_j$ for the\ $j$-th amplitude (which does not need to coincide with a full cycle\ $k$) as |
|
|
|
We already said in\ [@sec:fatigue] that fatigue analysis gives the limit number\ $N$ of cycles that a certain mechanical part can withstand when subject to a certain periodic load of stress amplitude\ $S_\text{alt}$. If the actual number of cycles\ $n$ the load is applied is smaller than the limit\ $N$, then the part is fatigue-resistant. In our case study there is a mixture of several periodic loads, each one expected to occur a certain number of times. ASME’s way to evaluate the resistance is to break up the stress history into partial stress amplitudes\ $S_{\text{alt},j}$ between a “peak” and a “valley” and to compute individual usage factors\ $U_j$ for the\ $j$-th amplitude (which does not need to coincide with a full cycle\ $k$) as |
|
|
|
|
|
|
|
$$U_j = \frac{n_j}{N_j}$$ |
|
|
|
|
|
|
|
@@ -1134,16 +1138,16 @@ If the extrema of the partial stress amplitude correspond to different transient |
|
|
|
|
|
|
|
This cryptic paragraph can be better explained by using a clearer example. To avoid using actual sensitive data from a real power plant, let us use the same test case used by both the NRC (in its report NUREG/CR-6909) and EPRI (report 1025823) called “EAF (Environmentally-Assisted Fatigue) Sample Problem 2-Rev.\ 2 (10/21/2011)”. |
|
|
|
|
|
|
|
{#fig:axi-inches-3d width=60%} |
|
|
|
{#fig:axi-inches-3d width=80%} |
|
|
|
|
|
|
|
It consists of a typical vessel (NB-3200) nozzle with attached piping (NB-3600) as illustrated in\ [@fig:axi-inches-3d]. These components are subject to four transients\ $k=1,2,3,4$ that give rise to linearised stress histories (slightly modified according to NB-3216.2) which are given as individual stress values juxtaposed so as to span a time range of about 36,000 seconds ([@fig:nureg1]). As the time steps is not constant, each stress value has an integer index\ $i$ that uniquely identifies it: |
|
|
|
|
|
|
|
| Transient number\ $k$ | Time range [s] | Index range | Number of cycles\ $n_k$ | |
|
|
|
|:---------------------:|:--------------:|:-----------:|:-----------------------:| |
|
|
|
| 1 | 0--3210 | 1--523 | 20 | |
|
|
|
| 2 | 3210--6450 | 524--959 | 50 | |
|
|
|
| 3 | 6450--9970 | 960--1595 | 20 | |
|
|
|
| 4 | 9970--35971 | 1596--2215 | 100 | |
|
|
|
| $k$ | Time range [s] | Index range | Cycles\ $n_k$ | |
|
|
|
|:-----:|:--------------:|:-----------:|:----------------:| |
|
|
|
| 1 | 0--3210 | 1--523 | 20 | |
|
|
|
| 2 | 3210--6450 | 524--959 | 50 | |
|
|
|
| 3 | 6450--9970 | 960--1595 | 20 | |
|
|
|
| 4 | 9970--35971 | 1596--2215 | 100 | |
|
|
|
|
|
|
|
A design-basis earthquake was assumed to occur briefly during one second at around\ $t=3470$\ seconds, and it is assigned a number of cycles\ $n_e=5$. The detailed stress history for one of the SCLs including both the principal and lineariased stresses, which are already offset following NB-3216.2 so as to have a maximum stress equal to zero, can be found as an appendix in NRC's NUREG/CR-6909 report. |
|
|
|
|
|
|
|
@@ -1152,7 +1156,7 @@ A design-basis earthquake was assumed to occur briefly during one second at arou |
|
|
|
|
|
|
|
{#fig:nureg2 width=80%} |
|
|
|
|
|
|
|
{#fig:nureg3 width=80%} |
|
|
|
{#fig:nureg3 width=80%} |
|
|
|
|
|
|
|
Linearised stress\ $\text{MB}_{31}$ time history of the example problem from NRC and EPRI. The indexes\ $i$ of the extrema are shown in green (minimums) and red (maximums). |
|
|
|
::::: |
|
|
|
@@ -1164,7 +1168,7 @@ S_{\text{alt},j} = \frac{1}{2} \cdot k_{e,j} \cdot \left| MB^\prime_{i_{1,j}} - |
|
|
|
$$ |
|
|
|
where $k_e$ is a plastic correction factor for large loads (NB-3228.5), $E_\text{SN}$ is the Young Modulus used to create the $S$-$N$ curve (provided in the ASME fatigue curves) and\ $E(T_{\text{max}_j})$ is the material’s Young Modulus at the maximum temperature within the\ $j$-th interval. |
|
|
|
|
|
|
|
We now need to comply with ASME’s obscure note about the number of cycles to assign a proper value of\ $n_j$. Back to the largest pair 447-694, we see that 447 belongs to transient\ #1 which has $n_1=20$ and 694 belongs to the earthquake with\ $n_e=5$. Therefore\ $n_1=5$, and the cycles associated to each index are decreased in five. So $i=694$ disappears and the number of cycles associated to $i=447$ are decreased from 20 to 15. The second largest pair is now 447-699, with 15 (because we just spent 5 in the first pair) and 50 cycles respectively. Now $n_2=15$, point\ 447 disappears and 699 remains with 35 cycles. The next pair is 699-1020, with number of cycles 35 and 20 so $n_3=20$, point 1020 disappears and 699 remains with 15 cycles. And so on, down to the last pair. |
|
|
|
We now need to comply with ASME’s obscure note about the number of cycles to assign a proper value of\ $n_j$. Back to the largest pair 447-694, we see that 447 belongs to transient\ #1 which has assigned 20 cycles and 694 belongs to the earthquake with 5 cycles. Therefore\ $n_1=5$, and the cycles associated to each index are decreased in five. So $i=694$ disappears and the number of cycles associated to $i=447$ are decreased from 20 to 15. The second largest pair is now 447-699, with 15 (because we just spent 5 in the first pair) and 50 cycles respectively. Now $n_2=15$, point\ 447 disappears and 699 remains with 35 cycles. The next pair is 699-1020, with number of cycles 35 and 20 so $n_3=20$, point 1020 disappears and 699 remains with 15 cycles. And so on, down to the last pair. |
|
|
|
|
|
|
|
::::: {#fig:cuf} |
|
|
|
{#fig:cuf-nrc width=100%} |
|
|
|
@@ -1182,7 +1186,7 @@ The fatigue curves and ASME’s (both\ III and VIII) methodology to analyse cycl |
|
|
|
|
|
|
|
$$F_\text{en} = \frac{N_\text{air}}{N_\text{water}} \geq 1$$ |
|
|
|
|
|
|
|
This way, the environmentally-assisted usage factor for the $k$-th load pair is |
|
|
|
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 |
|
|
|
@@ -1210,7 +1214,7 @@ The NRC has performed a comprehensive set of theoretical and experimental tests |
|
|
|
c. the strain rate\ $\dot{\epsilon}(t)$, and |
|
|
|
d. the content of sulphur\ $S(t)$ in the pipes (only for carbon or low-allow steels). |
|
|
|
|
|
|
|
Apparently it makes no difference whether the environment if composed of either light or heavy water. There are somewhat different sets of non-dimensional analytical expressions that estimate the value of\ $F_{\text{en}}(t)$ as a function of\ $O(t)$, $T(t)$, $\dot{\epsilon}(t)$ and $S(t)$, both in the few revisions of NUREG/CR-6909 and in EPRI’s report \#1025823. Although they are not important now, the actual expressions should be defined and agreed with the plant owner and the regulator. The main result to take into account is that\ $F_{\text{en}}(t)=1$ if\ $\dot{\epsilon}(t)\leq0$, i.e. there are no environmental effects during the time intervals where the material is being compressed. |
|
|
|
Apparently it makes no difference whether the environment is composed of either light or heavy water. There are somewhat different sets of non-dimensional analytical expressions that estimate the value of\ $F_{\text{en}}(t)$ as a function of\ $O(t)$, $T(t)$, $\dot{\epsilon}(t)$ and $S(t)$, both in the few revisions of NUREG/CR-6909 and in EPRI’s report \#1025823. Although they are not important now, the actual expressions should be defined and agreed with the plant owner and the regulator. The main result to take into account is that\ $F_{\text{en}}(t)=1$ if\ $\dot{\epsilon}(t)\leq0$, i.e. there are no environmental effects during the time intervals where the material is being compressed. |
|
|
|
|
|
|
|
Once we have the instantaneous factor\ $F_{\text{en}}(t)$, we need to obtain an average value\ $F_{\text{en},j}$ which should be applied to the\ $j$-th load pair. Again, there are a few different ways of lumping the time-dependent\ $F_{\text{en}}(t)$ into a single $F_{\text{en},j}$ for each interval. Both NRC and EPRI give simple equations that depend on particular time discretisation of the stress histories that, in my view, are all ill-defined. My guess is that they underestimated they audience and feared readers would not understand the slightly-more complex mathematics needed to correctly define the problem. The result is that they introduced a lot of ambiguities (and even technical errors) just not to offend the maths illiterate. A decision I do not share, and a another reason to keep on learning and practising math. |
|
|
|
|