gtheler 6 лет назад
Родитель
Сommit
2dd0ea28a8
1 измененных файлов: 37 добавлений и 34 удалений
  1. +37
    -34
      nafems4.md

+ 37
- 34
nafems4.md Просмотреть файл

@@ -980,7 +980,7 @@ So here come the five Feynmann-Ohno questions:
For the same reason you are now reading this chapter.


Let us solve the following mock-up case: a long main 12-inch schedule\ 80 pipe has an orthogonal branch of a certain nominal diameter of\ $d_b$\ inches (it seems that the [SI](https://en.wikipedia.org/wiki/International_System_of_Units) did not do well amongst the piping engineering community). Both the main line and the branch are pressurised with\ $p=10$\ MPa. The main pipe is aligned with the\ $x$ axis and the branch coincides with the\ $z$ axis. Thus, the $x$-$z$ plane acts as a symmetry plane and we only need to model one octant of the full geometry, as shown in\ [@fig:tee-geo]. Note that the tee is modelled as the boolean intersection of two cylinders. There are no filleted edges nor rounded corners or any other smoothing. A real CAD file containing the appropriate geometry needs to be built for the real case study.
Let us solve the following mock-up case: a long main 12-inch schedule\ 80 pipe has an orthogonal branch of a certain nominal diameter of\ $d_b$\ inches (it seems that the [SI](https://en.wikipedia.org/wiki/International_System_of_Units) did not do well amongst the piping engineering community). Both the main line and the branch are pressurised with\ $p=10$\ MPa. The main pipe is aligned with the\ $x$ axis and the branch coincides with the\ $z$ axis. Thus, the $x$-$z$ plane acts as a symmetry plane and we only need to model two octants of the full geometry, as shown in\ [@fig:tee-geo]. Note that the tee is modelled as the boolean intersection of two cylinders. There are no filleted edges nor rounded corners or any other smoothing. A real CAD file containing the appropriate geometry needs to be built for the real case study.

::::: {#fig:tee-geo}
![](tee-geo1.png){#fig:tee-geo1 width=54%}\
@@ -997,7 +997,7 @@ 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-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.
Three radial SCLs---namely cyan, yellow and green---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}
![$y$-$z$ projection](tee-scls1.png){#fig:tee-scls1 width=29%}\
@@ -1020,7 +1020,7 @@ Parametric membrane and bending stresses as a function of the nominal diameter\
![$d_b=5$\ in](tee-post-5.png){#fig:tee-post-5 width=30%}\
![$d_b=10$\ in](tee-post-10.png){#fig:tee-post-10 width=30%}\

Von\ Mises stress and 400x warped displacements for three values of\ $d_b$.
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 compression. The tipping point seems to be around a branch diameter\ $d_b\approx 5$\ in.
@@ -1065,7 +1065,7 @@ Is the last bullet right? [Surely you’re joking, Mr.\ Theler!](https://en.wiki

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.

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
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 yet

$$ \sigma = E(T) \cdot \epsilon $$

@@ -1159,14 +1159,14 @@ To recapitulate, the figures in this section show some partial non-dimensional r
b. Principal 2
c. Principal 3
d. Tresca
10. juxtaposing these linearised stresses for each time of the transient and for each transient so as to obtain a single time-history of stresses including all the operational and/or incidental transients under study, which is what fatigue analysis need (recall\ [@sec:fatigue] and go on to\ [@sec:usage]).
10. juxtaposing these linearised stresses for each time of the transient and for each transient so as to obtain a single time-history of stresses including all the operational and/or incidental transients under study, which is what stress-based fatigue assessment needs (recall\ [@sec:fatigue] and go on to\ [@sec:usage]).

A pretty nice list of steps, which definitely I would not have been able to tackle when I was in college. Would you?


# Cumulative usage factors {#sec:usage}

Strictly speaking, finite-elements are not needed anymore at this point of the analysis. But even though we are (or wannabe) FEM experts, we have to understand that if the objective of a work is to evaluate fatigue (or fracture mechanics or whatever), finite elements are just a mean and not and end. If we just mastered FEM and nothing else, our field of work would be highly reduced. We need to use all of our computational knowledge to perform actually engineering tasks and tell our bosses and clients whether the pipe would fail or not. This tip is induced in college but it is definitely reinforced afterwards after working with real clients and bosses.
Strictly speaking, finite elements are not needed anymore at this point of the analysis. But even though we are (or want to be) FEM experts, we have to understand that if the objective of a work is to evaluate fatigue (or fracture mechanics or whatever), finite elements are just a mean and not and end. If we just mastered FEM and nothing else, our field of work would be highly reduced. We need to use all of our computational knowledge to perform actually engineering tasks and to be able to tell our bosses and clients whether the pipe would fail or not. This tip is induced in college but it is definitely reinforced afterwards when working with actual clients and bosses.

Another comment I would like to add is that I had to learn fatigue practically from scratch when faced with this problem for the first time in my engineering career. I remembered some basics from college (like the general introduction from [@sec:fatigue]), but I lacked the skills to perform a real computation by myself. Luckily there still exist books, there are a lot of interesting online resources (not to mention Wikipedia) and, even more luckily, there are plenty of other fellow engineers that are more than eager to help you. My second tip is: when faced to a new challenging problem, read, learn and ask for guidance to real people to see if you read and learned it right.

@@ -1176,7 +1176,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 to 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 the stress-life fatigue assessment method 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 one of the \ $k$ transient loads) as

$$U_j = \frac{n_j}{N_j}$$

@@ -1188,7 +1188,7 @@ If\ $\text{CUF} < 1$, then the part under analysis can withstand the proposed cy

![A low-alloy steel vessel nozzle (blue) welded to a stainless steel pipe (grey) for the “EAF Sample Problem 2-Rev.\ 2 (10/21/2011)”](axi-inches-3d.png){#fig:axi-inches-3d width=80%}

If the extrema of the partial stress amplitude correspond to different transients, then the following note in ASME-3224(5) should be followed:
If the extrema of the partial stress amplitude correspond to different transients, then the following note in ASME III’s NB-3224(5) should be followed:

> In determining $n_1$, $n_2$, $n_3$, $\dots$, $n_j$ consideration shall be given to the superposition of cycles of various origins which produce a total stress difference range greater than the stress difference ranges of the individual cycles. For example, if one type of stress cycle produces 1,000 cycles of a stress difference variation from zero to +60,000\ psi and another type of stress cycle produces 10,000 cycles of a stress difference variation from zero to −50,000\ psi, the two types of cycle to be considered are defined by the following parameters:
>
@@ -1197,16 +1197,6 @@ 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 [US Nuclear Regulatory Commission](https://en.wikipedia.org/wiki/Nuclear_Regulatory_Commission) (in its report NUREG/CR-6909) and the [Electric Power Institute](https://en.wikipedia.org/wiki/Electric_Power_Research_Institute) (report 1025823) called “EAF (Environmentally-Assisted Fatigue) Sample Problem 2-Rev.\ 2 (10/21/2011)”.

::::: {#fig:nureg}
![Full time range of the juxtaposed transients spanning $\approx$ 36,000 seconds](nureg1.svg){#fig:nureg1 width=75%}

![Detail of transients showing the ids of some extrema](nureg2.svg){#fig:nureg2 width=75%}

![Detail of the earthquake (it does not follow the ASME two-second rule)](nureg3.svg){#fig:nureg3 width=75%}

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).
:::::

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:

| $k$ | Time range [s] | Index range | Cycles\ $n_k$ |
@@ -1216,11 +1206,21 @@ It consists of a typical vessel (NB-3200) nozzle with attached piping (NB-3600)
| 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.
A design-basis earthquake was assumed to occur briefly during one second (sic) 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, or in the repository with the scripts I prepared for you to play with this problem.^[<https://bitbucket.org/seamplex/cufen>]

::::: {#fig:nureg}
![Full time range of the juxtaposed transients spanning $\approx$ 36,000 seconds](nureg1.svg){#fig:nureg1 width=75%}

![Detail of transients showing the ids of some extrema](nureg2.svg){#fig:nureg2 width=75%}

![Detail of the earthquake (it does not follow the ASME two-second rule)](nureg3.svg){#fig:nureg3 width=75%}

Time history of the linearised stress\ $\text{MB}_{31}$ corresponding to the example problem from NRC and EPRI. The indexes\ $i$ of the extrema are shown in green (minimums) and red (maximums)
:::::

\medskip

To compute the global usage factor, we first need to find all the combinations of local extrema pairs and then sort them in decreasing order of stress difference. For example, the largest stress amplitude is found between $i=447$ and $i=694$. The second one is 447-699. Then 699-1020, 699-899, etc. For each of these pairs, defined by the indexes\ $i_{1,j}$ and $i_{2,j}$, a partial usage factor\ $U_j$ should computed. The stress amplitude\ $S_{\text{alt},j}$ which should be used to enter into the $S$-$N$ curve is
To compute the global usage factor, we first need to find all the combinations of local extrema pairs and then sort them in decreasing order of stress difference. For example, the largest stress amplitude is found between $i=447$ and $i=694$. The second one is 447--699. Then 699--1020, 699--899, etc. For each of these pairs, defined by the indexes\ $i_{1,j}$ and $i_{2,j}$, a partial usage factor\ $U_j$ should computed. The stress amplitude\ $S_{\text{alt},j}$ which should be used to enter into the $S$-$N$ curve is

$$
S_{\text{alt},j} = \frac{1}{2} \cdot k_{e,j} \cdot \left| MB^\prime_{i_{1,j}} - MB^\prime_{i_{2,j}} \right| \cdot \frac{E_\text{SN}}{E(T_{\text{max}_j})}
@@ -1236,10 +1236,10 @@ We now need to comply with ASME’s obscure note about the number of cycles to a

![Results reproduced by the author](cuf-seamplex.png){#fig:cuf-seamplex width=100%}

Tables of individual usage factors for the NRC/EPRI “EAF Sample Problem 2-Rev.\ 2 (10/21/2011).” One table is taken from a document issued by almost-a-billion-dollar-year-budget government agency from the most powerful country in the world and the other one is from a third-world engineering startup.
Tables of individual usage factors for the NRC/EPRI “EAF Sample Problem 2-Rev.\ 2 (10/21/2011).” One table is taken from a document issued by almost-a-billion-dollar-year-budget government agency from the most powerful country in the world and the other one is from a third-world engineering startup
:::::

Why all these details? Not because I want to teach you how to perform fatigue evaluations just reading this section without resorting to ASME, fatigue books and even other colleagues. It is to show that even though these computation can be made “by hand” (i.e. using a calculator or, God forbids, a spreadsheet) when having to evaluate a few SCLs within several piping systems it is far (and I mean really far) better to automatise all these steps by writing a set of scripts. Not only will the time needed to process the information be reduced, but also the introduction of human errors will be minimised and repeatability of results will be assured. This is true in general, so here is another tip: learn to write scripts to post-process your FEM results (you will need to use a script-friendly FEM program) and you will gain considerable margins regarding time and quality.
Why all these details? Not because I want to teach you how to perform fatigue evaluations just reading this section without resorting to ASME, fatigue books and even other colleagues. It is to show that even though these computation can be made “by hand” (i.e. using a calculator or, God forbids, a spreadsheet) when having to evaluate a few SCLs within several piping systems it is far (and I mean really far) better to automatise all these steps by writing a set of scripts. Not only will the time needed to process the information be reduced, but also the introduction of human errors will be minimised and repeatability of results will be assured---especially if working under a [distributed version control](https://en.wikipedia.org/wiki/Distributed_version_control) system such as [Git](https://en.wikipedia.org/wiki/Git). This is true in general, so here is another tip: learn to write scripts to post-process your FEM results (you will need to use a script-friendly FEM program) and you will gain considerable margins regarding time and quality.

## In water (NRC’s extension) {#sec:in-water}

@@ -1277,16 +1277,16 @@ The NRC has performed a comprehensive set of theoretical and experimental tests

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.
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 a 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.

When faced for the first time with the case study, I have come up with a weighting method that I claim is less ill-defined (it still is for border-line cases) and which the plain owner accepted as valid. [@Fig:cufen] shows the reference results of the problem and the ones obtained with the proposed method (based on computing two correction factors and then taking the maximum). Note how in\ [@fig:cufen-nrc], pairs 694-447 and 699-447 have the same\ $F_\text{en}$ even though they are (marginally) different. The results from\ [@fig:cufen-seamplex] give two (marginally) different correction factors.
When faced for the first time with the case study, I have come up with a weighting method that I claim is less ill-defined (it still is for border-line cases) and which the plant owner accepted as valid. [@Fig:cufen] shows the reference results of the problem (based on computing two correction factors and then taking the maximum) and the ones obtained with the proposed method (by computing a weighted integral between the valley and the peak). Note how in\ [@fig:cufen-nrc], pairs 694-447 and 699-447 have the same\ $F_\text{en}$ even though they are (marginally) different. The results from\ [@fig:cufen-seamplex] give two (marginally) different correction factors.

::::: {#fig:cufen}
![Results according to the author of NUREG/CR-6909 corresponding to the latest draft of the document.](cufen-nrc.png){#fig:cufen-nrc width=75%}
![Results according to the author of NUREG/CR-6909 corresponding to the latest draft of the document](cufen-nrc.png){#fig:cufen-nrc width=75%}

![Results reproduced by the author using his own weighting scheme.](cufen-seamplex.png){#fig:cufen-seamplex width=75%}
![Results reproduced by the author using his own weighting scheme](cufen-seamplex.png){#fig:cufen-seamplex width=75%}

Tables of individual environmental correction and usage factors for the NRC/EPRI “EAF Sample Problem 2-Rev.\ 2 (10/21/2011).” The reference method assigns the same\ $F_\text{en}$ to the first two rows whilst the proposed lumping scheme does show a difference.
Tables of individual environmental correction and usage factors for the NRC/EPRI “EAF Sample Problem 2-Rev.\ 2 (10/21/2011).” The reference method assigns the same\ $F_\text{en}$ to the first two rows whilst the proposed lumping scheme does show a difference
:::::

# Conclusions
@@ -1307,29 +1307,32 @@ A list of the tips that arose throughout the text:
* try to show that even though the principal stresses are not linear with respect to summation, they are linear with respect to multiplication (with pencil and paper)
* grab any stress distribution from any of your FEM projects, compute the iso-stress curves and the draw normal lines to them to get acquainted with SCLs
* first search online for “stress linearisation” (or “linearization” if you want) and then get a copy of ASME\ VIII Div\ 2 Annex 5-A
* remember that FEM solutions lead only to nodal equilibrium but not pointwise equilibrium
* keep in mind that FEM solutions lead only to nodal equilibrium but not pointwise equilibrium
* measure the time needed to generate grids of different sizes and kinds with your favourite mesher
* learn this by heart: the complexity of a FEM problem is given mainly by the number of _nodes_, not by the number of elements
* remember that welded materials with different thermal expansion coefficients may lead to fatigue under cyclic temperature changes
* if you have time, try to get out of your comfort zone and do more than what other expect from you (like parametric computations)
* if you have time, try to get out of your comfort zone and do more than what others expect from you (like parametric computations)
* clone the [parametric tee repository](https://bitbucket.org/seamplex/tee), understand how the figures from\ [@sec:parametric] were built and expand them to cover “we might go on...” bullets
* try to find an explanation of the results obtained, just like we did when we explained the parametric curves from\ [@fig:tee-MB ] with two opposing effects which were equal in magnitude around $d_b=5$\ inches
* think thermal-mechanical plus earthquakes as “bake, break and shake” problems
* the elastic problem is still linear after all
* understand why the elastic problem of the case study is still linear after all
* keep in mind that finite-elements are a mean to get an engineering solution, not and end by themselves
* learn to write scripts to post-process FEM results (from a script-friendly FEM program)
* work under a [distributed version control](https://en.wikipedia.org/wiki/Distributed_version_control) system such as [Git](https://en.wikipedia.org/wiki/Git), even when just editing input files or writing reports
* 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.
* do not write ambiguous reports by replacing appropriate mathematical formulae with words just not to offend the illiterate
* try to avoid [proprietary](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?
1. Does your favourite FEM program’s manual say what the program does?
2. Do you believe your favourite FEM program’s manual?
3. Do you trust your favourite FEM program?


And finally, make sure that at the end of the journey from college theory to an actual engineering problem your conscience is clear knowing that there exists a report with your signature on it. That is why we went to college in the first place.
And finally, make sure that at the end of the journey from college theory to an actual engineering problem your conscience, is clear knowing that there exists a report with your signature on it. That is why we went to college in the first place.

divert(-1)
# Referenced works

Загрузка…
Отмена
Сохранить