Parcourir la source

removed numbers in temperatures, conclusions

tags/CANDIDATE
gtheler il y a 7 ans
Parent
révision
787e7acaec
6 fichiers modifiés avec 41 ajouts et 54 suppressions
  1. BIN
      case-temp-gen-4-0015.png
  2. +33
    -47
      nafems4.md
  3. BIN
      real-gen.png
  4. BIN
      real-temp.png
  5. +8
    -7
      simple.tex
  6. BIN
      valve-gen.png

BIN
case-temp-gen-4-0015.png Voir le fichier

Before After
Width: 1200  |  Height: 431  |  Size: 154KB Width: 1200  |  Height: 431  |  Size: 137KB

+ 33
- 47
nafems4.md Voir le fichier

@@ -1,5 +1,3 @@
dnl $$\renewcommand\mathbf[1]{\mathbf{#1}}$$

# 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.
@@ -54,11 +52,11 @@ This code of practice was born during the late\ XIX century, before finite-eleme

In the years following [Enrico Fermi](https://en.wikipedia.org/wiki/Enrico_Fermi)’s demonstration that a self-sustainable [fission reaction](https://en.wikipedia.org/wiki/Nuclear_fission) chain was possible (actually, in fact, after WWII was over), people started to build plants in order to transform the energy stored within the atoms nuclei into usable electrical power. They quickly reached the conclusion that high-pressure heat exchangers and turbines were needed. So they started to follow codes of practise like the aforementioned ASME\ B&PVC. They also realised that some requirements did not fit the needs of the nuclear industry. But instead of writing a new code from scratch, they added a new chapter to the existing body of knowledge: the celebrated [ASME Section\ III](https://en.wikipedia.org/wiki/ASME_Boiler_and_Pressure_Vessel_Code#ASME_BPVC_Section_III_-_Rules_for_Construction_of_Nuclear_Facility_Components).

After further years passed by, engineers (probably the same people that forked section\ III) noticed that fatigue in nuclear power plants was not exactly the same as in other piping systems. There were some environmental factors directly associated to the power plant that were not taken into account by the regular ASME code. Again, instead of writing a new code from scratch, people decided to add correction factors to the previously-amended body of knowledge. This is how (sometimes) knowledge evolves, and it is this kind of complexities that engineers are faced with during their professional lives. We have to admit it, it would be a very difficult to re-write everything from scratch every time something changes.
After further years passed by, engineers (probably the same people that forked section\ III) noticed that fatigue in nuclear power plants was not exactly the same as in other piping systems. There were some environmental factors directly associated to the power plant that were not taken into account by the regular ASME code. Again, instead of writing a new code from scratch, people decided to add correction factors to the previously-amended body of knowledge. This is how (sometimes) knowledge evolves, and it is this kind of complexities that engineers are faced with during their professional lives. We have to admit it, it would be a very difficult task to re-write everything from scratch every time something changes.

Actually, this article does not focus on a single case study but on some general ideas regarding analysis of fatigue in piping systems in nuclear power plants. There is no single case study but a compendium of ideas obtained by studying many different systems which are directly related to the safety of a real nuclear reactor.

![CAD model for the piping system of\ [@fig:isometric]](real-piping.png){#fig:real-life}
![Three-dimensional CAD model for the piping system of\ [@fig:isometric]](real-piping.png){#fig:real-life}

## Nuclear reactors

@@ -89,8 +87,6 @@ For the case study, as the loads come principally from operational loads, the AS

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

The usage of $S$-$N$ curves imply that the

# 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
@@ -126,7 +122,7 @@ It looks (and works) like a regular $3 \times 3$ matrix. Some brief comments abo
- $\tau_{yz} = \tau_{zy}$, and
- $\tau_{zx} = \tau_{xz}$.

Therefore the stress tensor is symmetricm i.e. there are only six independent elements.
Therefore, the stress tensor is symmetric i.e. there are only six independent elements.
* The elements of the tensor depend on the orientation of the coordinate system.
* There exists a particular coordinate system in which the stress tensor is diagonal, i.e. all the shear stresses are zero. In this case, the three diagonal elements are called the [principal stresses](https://en.wikipedia.org/wiki/Principal_stresses), which happen to be the three [eigenvalues](https://en.wikipedia.org/wiki/Eigenvalues_and_eigenvectors) of the stress tensor. The basis of the coordinate system that renders the tensor diagonal are the eigenvectors.

@@ -284,7 +280,7 @@ So we know we need a numerical scheme to solve our mechanical problem because an

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 an [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):


1. Why did the robot stop?
@@ -446,11 +442,11 @@ Please note that there is no need to have a one-to-one correspondence between th
dnl 33410 10-12D-24

::::: {#fig:real}
![Original full 3D mesh, carbon steel is magenta, stainless steel is green.](real-mesh2.png){#fig:real-mesh2 width=70%}
![Full 3D mesh, carbon steel is magenta, stainless steel is green.](real-mesh2.png){#fig:real-mesh2 width=70%}

![Temperature distribution for a certain time within the transient computed on a reduced two-dimensional axi-symmetric mesh modelling half the orifice plate and a length of the carbon pipe.](real-temp.png){#fig:real-temp width=100%}

![Generalisation of the temperature from the reduced mesh to the full three-dimensional grid.](real-gen.png){#fig:real-gen width=75%}
![Generalisation of the temperature to the full three-dimensional grid.](real-gen.png){#fig:real-gen width=75%}

The material interface in the system from [@fig:real-life] is configured by an orifice plate made of stainless steel welded to a carbon-steel pipe
:::::
@@ -933,7 +929,7 @@ There might be other choices as well. Do you know what your favourite FEM progra

a. Does the manual say?
b. Does it tell you the details like how it weights the averages?
c. Does it throw away values that are beyond a number of standard deviations away?
c. Does it discard values that are beyond a number of standard deviations away?
d. How many standard deviations?
e. ...

@@ -956,7 +952,7 @@ Back to the two-material problem, all the discussion above in\ [@sec:two-materia

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:
So here come the five Feynmann-Ohno questions:

1. Why do you want to perform a parametric computation?
So we can study how the linearised stresses change with the inclusion of a branch of a certain diameter (and because [we can](https://www.youtube.com/watch?v=BVd-rYIqSy8), using the `PARAMETRIC` [keyword](https://www.seamplex.com/wasora/reference.html#parametric) in [Fino](https://www.seamplex.com/fino)).
@@ -1081,7 +1077,7 @@ And this last equation is linear in\ $\mathbf{u}$. In effect, the discretisation

![Detail of the orifice plate](case-cad2.png){#fig:case-cad2 width=95%}

Three-dimensional\ CAD model of a section of the piping system between appropriate supports
Three-dimensional\ CAD model of a section of pipes system between appropriate supports
:::::

::::: {#fig:case-mesh}
@@ -1162,7 +1158,7 @@ A pretty nice list of steps, which definitely I would not have been able to tack

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.

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. My second tip is: when faced to a new challenging problem, read, learn and ask for help to real people to see if you read and learned it right.
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.

\medskip

@@ -1180,6 +1176,8 @@ $$\text{CUF} = U_1 + U_2 + \dots + U_j + \dots$$

If\ $\text{CUF} < 1$, then the part under analysis can withstand the proposed cyclic operation.

![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:

> 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:
@@ -1187,9 +1185,17 @@ If the extrema of the partial stress amplitude correspond to different transient
> (a) for type 1 cycle, $n_1 =$ 1,000 and $S_{\text{alt},1} = (60,000 + 50,000)/2 = 55,000$\ psi;
> (b) for type 2 cycle, $n_2 =$ 9,000 and $S_{\text{alt},2} = (50,000 + 0)/2 = 25,000$\ psi.

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

![A low-alloy steel vessel nozzle (blue) welded to a stainless steel pipe (grey).](axi-inches-3d.png){#fig:axi-inches-3d width=80%}
::::: {#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:

@@ -1202,15 +1208,7 @@ It consists of a typical vessel (NB-3200) nozzle with attached piping (NB-3600)

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.

::::: {#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).
:::::
\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

@@ -1219,6 +1217,8 @@ 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.

\medskip

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}
@@ -1231,7 +1231,7 @@ Tables of individual usage factors for the NRC/EPRI “EAF Sample Problem 2-Rev.

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.

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

The fatigue curves and ASME’s (both\ III and VIII) methodology to analyse cyclic operations assume the parts under study are in contact with air, which is not the case of nuclear reactor pipes. Instead of building a brand new body of knowledge to replace ASME, the NRC decided to modify the former adding environmentally-assisted fatigue multipliers to the traditional usage factors, formally defined as

@@ -1269,7 +1269,7 @@ Apparently it makes no difference whether the environment is composed of either

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.

Back in 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 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.

::::: {#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%}
@@ -1279,27 +1279,11 @@ Back in the case study, I have come up with a weighting method that I claim is l
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.
:::::



# Errors and uncertainties

los cufens son parecidos

errors and uncertainties: model parameters (is E what we think? is the material linear?), geometry (does the CAD represent the reality?) equations (any effect we did not have take account), discretization (how well does the mesh describe the geometry?)

garbage in - garbage out

do you trust your FEM program?

do you trust your engineering judgment?

would you put your signature in the report?

# Conclusions

Back in college, we all learned how to solve engineering problems. And once we graduated, we felt we could solve and fix the world (if you did not graduate yet, you will feel it shortly). But there is a real gap between the equations written in chalk on a blackboard (now probably in the form of beamer slide presentations) and actual real-life engineering problems. This chapter introduces a real case from the nuclear industry and starts by idealising the structure such that it has a known analytical solution that can be found in textbooks. Additional realism is added in stages allowing the engineer to develop an understanding of the more complex physics and a faith in the veracity of the FE results where theoretical solutions are not available. Even more, a brief insight into the world of evaluation of low-cycle fatigue using such results further illustrates the complexities of real-life engineering analysis.
Back in college, we all learned how to solve engineering problems. And once we graduated, we felt we could solve and fix the world (if you did not graduate yet, you will feel it shortly). But there is a real gap between the equations written in chalk on a blackboard (now probably in the form of beamer slide presentations) and actual real-life engineering problems. This chapter introduces a real case from the nuclear industry and starts by idealising the structure such that it has a known analytical solution that can be found in textbooks. Additional realism is added in stages allowing the engineer to develop an understanding of the more complex physics and a faith in the veracity of the finite-element results where theoretical solutions are not available. Even more, a brief insight into the world of evaluation of stress-life fatigue using such results further illustrates the complexities of real-life engineering analysis.

experimento de millikan
A list of the tips that arose throughout the text:

* use and exercise your imagination
* practise math
@@ -1321,9 +1305,11 @@ experimento de millikan
* 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
* keep in mind that FEM 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)
* clone the [environmental fatigue sample problem repository](https://bitbucket.org/seamplex/) and run the scripts to solve the NRC/EPRI [@sec:parametric] were built and expand them to cover “we might go on...” bullets
* 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


divert(-1)
# Referenced works

BIN
real-gen.png Voir le fichier

Before After
Width: 1200  |  Height: 775  |  Size: 175KB Width: 1200  |  Height: 775  |  Size: 174KB

BIN
real-temp.png Voir le fichier

Before After
Width: 2396  |  Height: 533  |  Size: 28KB Width: 2396  |  Height: 533  |  Size: 28KB

+ 8
- 7
simple.tex Voir le fichier

@@ -325,13 +325,14 @@ $endif$
% vectors done right
\renewcommand{\vec}[1]{\ensuremath\mathbf{#1}}

\setcounter{topnumber}{2}
\setcounter{bottomnumber}{2}
\setcounter{totalnumber}{4}
\renewcommand{\topfraction}{0.85}
\renewcommand{\bottomfraction}{0.85}
\renewcommand{\textfraction}{0.15}
\renewcommand{\floatpagefraction}{0.7}

% \setcounter{topnumber}{2}
% \setcounter{bottomnumber}{2}
% \setcounter{totalnumber}{4}
% \renewcommand{\topfraction}{0.80}
% \renewcommand{\bottomfraction}{0.80}
% \renewcommand{\textfraction}{0.20}
\renewcommand{\floatpagefraction}{0.65}
$body$

$if(natbib)$

BIN
valve-gen.png Voir le fichier

Before After
Width: 1200  |  Height: 1000  |  Size: 206KB Width: 1200  |  Height: 1000  |  Size: 195KB

Chargement…
Annuler
Enregistrer