4. Bibliography#
El TABBAL « Drying behavior of concrete: Application to nuclear waste packages ». Thesis University Paris-Est. (2020)
Badmann, N. Stockausen, M. J. Setzer. « The statistical thickness and the chemical potential of adsorbed water films. » J. Colloid Interface Sci 82, 534-543. 1981
Barrett, L. Joyner, P. Halenda. « The determination of pore volume and area distributions in porous substances. ». Computations from Nitrogen Isotherms. 1896. 1951
Brunauer, P.H. Emett, E. Teller. « Adsorption of gases in multimolecular layers. » J. Am. Chem. Soc 60, 309-319 (1938)
Rouquerol, F. et al., 2003. Texture of powdery or porous materials. Tech. Engineer P1050, 1—24.
G.El Tabbal « Modelling the Drying Shrinkage of Porous Materials by Considering both Capillary and Adsorption Effects. Journal of the Mechanics and Physics of Solids, Volume 142, September 2020.
Generalized constraints and internal variables
Constraints:
Number |
Aster component name |
Content |
Models |
1 |
|
|
So mechanical (.. M…) |
2 |
|
|
So mechanical (.. M…) |
3 |
|
|
So mechanical (.. M…) |
4 |
|
|
So mechanical (.. M…) |
5 |
|
|
So mechanical (.. M…) |
6 |
|
|
So mechanical (.. M…) |
7 |
|
|
So mechanical (.. M…) |
8 |
|
|
So mechanical (.. M…) |
9 |
|
|
So mechanical (.. M…) |
10 |
|
|
So mechanical (.. M…) |
11 |
|
|
So mechanical (.. M…) |
12 |
|
|
So mechanical (.. M…) |
13 |
M11 |
|
In any case |
14 |
|
|
In any case |
15 |
|
|
In any case |
16 |
|
|
In any case |
17 |
|
|
In all cases with thermal |
18 |
M12 |
|
If 2 unknown pressures (.. HH…) |
19 |
|
|
If 2 unknown pressures (.. HH…) |
20 |
|
|
If 2 unknown pressures (.. HH…) |
21 |
|
|
If 2 unknown pressures (.. HH…) |
22 |
|
|
If 2 unknown pressures and thermal (.. THH…) |
23 |
M21 |
|
If 2 unknown pressures (.. HH…) |
24 |
|
|
If 2 unknown pressures (.. HH…) |
25 |
|
|
If 2 unknown pressures (.. HH…) |
26 |
|
|
If 2 unknown pressures (.. HH…) |
27 |
|
|
If 2 unknown pressures and thermal (.. THH…) |
28 |
M22 |
|
If modeling dissolved air (… HH2…) |
29 |
|
|
If modeling dissolved air (… HH2…) |
30 |
|
|
If modeling dissolved air (… HH2…) |
31 |
|
|
If modeling dissolved air (… HH2…) |
32 |
|
|
If modeling dissolved and thermal air (… THH2…) |
33 |
|
|
If thermal |
34 |
|
|
If thermal |
35 |
|
|
If thermal |
36 |
|
|
If thermal |
In the case without mechanics, and for the laws of behavior (LIQU_VAPE_GAZ, LIQU_VAPE,,, LIQU_AD_GAZ_VAPE, “LIQU_AD_GAZ”) the internal variables are:
Number |
Aster component name |
Content |
1 |
|
|
2 |
|
|
3 |
|
|
4 |
|
|
In the case without mechanics, and for the laws of behavior (LIQU_GAZ, LIQU_GAZ_ATM,), the internal variables are:
Number |
Aster component name |
Content |
1 |
|
|
2 |
|
|
3 |
|
|
In the case without mechanics, and for the laws of behavior (LIQU_SATU,) the internal variables are:
Number |
Aster component name |
Content |
1 |
|
|
2 |
|
|
In the case with mechanics the first numbers will be those corresponding to mechanics (\(\mathit{V1}\) in the elastic case, \(\mathit{V1}\) and following for plastic models). The number of the internal variables above should then be incremented by the same amount.
Additional information on boundary conditions in THM
In the following, dissolved air is not taken into account (the index \(\mathit{lq}\) then corresponds to that of water \(w\)) and we focus on the unsaturated case.
Here we recall the choice of pressure unknowns.
Behavior |
LIQU_GAZ **and** LIQU_VAPE_GAZ ** |
\(\mathit{PRE1}\) |
Capillary pressure: \({p}_{c}={p}_{\text{gz}}-{p}_{\text{lq}}\) |
\(\mathit{PRE2}\) |
Gas pressure \({p}_{\text{gz}}={p}_{\text{vp}}+{p}_{\text{as}}\) |
A2.1 Variational formulation of conservation equations
We are referring here to [R7.01.11]. These equations are
\(\dot{{m}_{\text{lq}}}+{\dot{m}}_{\text{vp}}+\text{Div}({M}_{\text{lq}}+{M}_{\text{vp}})=0\) eq A5.1-1
\(\dot{{m}_{\text{as}}}+\text{Div}({M}_{\text{as}})=0\) eq A5.1-2
The variational formulation deduced is given by
\(\begin{array}{}-{\int }_{\Omega }(\dot{{m}_{\text{lq}}}+{\dot{m}}_{\text{vp}}){\pi }_{1}d\Omega +{\int }_{\Omega }({M}_{\text{lq}}+{M}_{\text{vp}})\text{.}\nabla {\pi }_{1}d\Omega =\\ {\int }_{\partial \Omega }({M}_{{\text{lq}}_{\text{ext}}}+{M}_{{\text{vp}}_{\text{ext}}})\text{.}{\pi }_{1}d\Gamma \forall {\pi }_{1}\in {P}_{{1}_{\text{ad}}}\end{array}\) eq A5.1-3
\(\begin{array}{}-{\int }_{\Omega }\dot{{m}_{\text{as}}}{\pi }_{2}d\Omega +{\int }_{\Omega }{M}_{\text{as}}\text{.}\nabla {\pi }_{2}d\Omega =\\ {\int }_{\partial \Omega }{M}_{{\text{as}}_{\text{ext}}}\text{.}{\pi }_{2}d\Gamma \forall {\pi }_{2}\in {P}_{{2}_{\text{ad}}}\end{array}\) eq A5.1-4
Capillary and gas pressures are linked to water, steam, and dry air pressures through the relationships:
\({p}_{c}={p}_{\text{gz}}-{p}_{\text{lq}}\) eq A5.1-5
\({p}_{\text{gz}}={p}_{\text{vp}}+{p}_{\text{as}}\) eq A5.1-6
Vapour pressure is not an independent variable. It is related to liquid pressure \({p}_{\text{lq}}\) by the relationships
\(\frac{{\text{dp}}_{\text{vp}}}{{\rho }_{\text{vp}}}=\frac{{\text{dp}}_{\text{lq}}}{{\rho }_{\text{lq}}}+({h}_{\text{vp}}^{m}-{h}_{\text{lq}}^{m})\frac{\text{dT}}{T}\) eq A5.1-7
\({\text{dh}}_{\text{lq}}^{m}={C}_{\text{lq}}^{p}\text{dT}+(1-3{\alpha }_{\text{lq}}T)\frac{{\text{dp}}_{\text{lq}}}{{\rho }_{\text{lq}}}\) eq A5.1-8
\({\text{dh}}_{\text{vp}}^{m}={C}_{\text{vp}}^{p}\text{dT}\) eq A5.1-9
These relationships show that the vapor pressure is determined completely by the knowledge of \({p}_{\text{lq}}\) (and its evolution). Often, these relationships are used to establish Kelvin’s law, \(\frac{{p}_{\text{lq}}-{p}_{\text{lq}}^{0}}{{\rho }_{\text{lq}}}=\frac{R}{{M}_{\text{vp}}^{\text{ol}}}T\text{ln}(\frac{{p}_{\text{vp}}}{{p}_{\text{vp}}^{\text{sat}}(T)})\), but that law is not used directly in Aster.
The Aster reference material doesn’t say anything about what the variables \({\pi }_{1}\) and \({\pi }_{2}\) are. But two things can get us on the trail:
On the one hand, \({\pi }_{1}\in {P}_{{1}_{\text{ad}}}\) and \({\pi }_{2}\in {P}_{{2}_{\text{ad}}}\) while \({P}_{{1}_{\text{ad}}}\) and \({P}_{{2}_{\text{ad}}}\) are the belonging spaces of \(\mathit{PRE1}\) and \(\mathit{PRE2}\) (therefore including their boundary conditions).
On the other hand, in chapter 7. of [:ref:`R7.01.10 <R7.01.10>`], we see that the virtual deformation :math:`{E}_{g}^{text{}mathrm{el}}=(v,varepsilon (v),{pi }_{1},nabla {pi }_{1},{pi }_{2},nabla {pi }_{2},tau ,nabla tau )` is linked to the virtual nodal displacement vector \({U}^{\text{*}\mathrm{el}}=(v,{\pi }_{1},{\pi }_{2},\tau )\) by the same operator \({Q}_{g}^{\text{el}}\) as the one that connects the deformation \({E}_{g}^{\text{el}}=(u,\varepsilon (u),{p}_{1},\nabla {p}_{1},{p}_{2},\nabla {p}_{2},T,\nabla T)\) and the nodal displacement \({U}^{\text{el}}=(u,{p}_{1},{p}_{2},T)\) together:
:math:`{E}_{g}^{text{}mathrm{el}}={Q}_{g}^{text{el}}{U}^{text{*}mathrm{el}}`
\({E}_{g}^{\text{el}}={Q}_{g}^{\text{el}}{U}^{\text{el}}\)
It is then clear that \({\pi }_{1}\) and \({\pi }_{2}\) are virtual variations of \({p}_{1}\) and \({p}_{2}\)
Hence the table:
\({p}_{1}={p}_{c}\Rightarrow {\pi }_{1}=\delta {p}_{c}={p}_{c}^{\text{*}}\)
\({p}_{1}={p}_{\text{lq}}\Rightarrow {\pi }_{1}=\delta {p}_{\text{lq}}={p}_{\mathrm{lq}}^{\text{*}}\)
\({p}_{2}={p}_{\text{gz}}\Rightarrow {\pi }_{2}=\delta {p}_{\text{gz}}={p}_{\mathrm{gz}}^{\text{*}}\)
A2.2 Cases of boundary conditions involving the main unknowns
What we say in this paragraph and the following ones relates to a part of border \(\partial {O}_{d}\) on which conditions are prescribed: there is of course nothing to prevent these conditions from being the same on different border parts. In this chapter we deal with the usual case where conditions are imposed on \(\mathit{PRE1}\) and/or \(\mathit{PRE2}\), as opposed to the next chapter where we will talk about linear relationships between unknowns.
\({p}_{c}={p}_{\text{gz}}-{p}_{\text{lq}}={p}_{{}_{c}}^{\text{imp}}\)
\({p}_{\text{gz}}={p}_{\text{as}}+{p}_{\text{vp}}={p}_{{}_{\text{gz}}}^{\text{imp}}\)
The flows are then the results of calculations by [éq A5.1-3] and [éq A5.1-4]
Dirichlet \(\mathit{PRE1}\) , Neuman \(\mathit{PRE2}\)
This is the case where we impose a value to \(\mathit{PRE1}\) and a value to the flow associated with \(\mathit{PRE2}\), by saying nothing about \(\mathit{PRE2}\) or by giving a value to FLUN_HYDR2 of FLUX_THM_REP in AFFE_CHAR_MECA. Let’s call \({M}_{{2}_{\text{ext}}}\) this imposed quantity, which will be worth \(0\) if nothing is said about \(\mathit{PRE2}\). We’ll note \({p}_{1}={p}_{{}_{1}}^{\text{imp}}\) the condition imposed on \(\mathit{PRE1}\)
This corresponds to:
\(\begin{array}{}{p}_{c}={p}_{\text{gz}}-{p}_{\text{lq}}={p}_{{}_{c}}^{\text{imp}}\\ {p}_{{}_{1}}^{\text{imp}}={p}_{{}_{c}}^{\text{imp}}\end{array}\)
To demonstrate in the non-homogeneous framework, it would be necessary to introduce an increase in condition \({p}_{1}={p}_{{}_{1}}^{\text{imp}}\) (i.e. a particular field meeting this condition). This makes writing heavier and brings nothing, so we place ourselves in the homogeneous framework \({p}_{{}_{1}}^{\text{imp}}=0\)
In [éq A5.1-3] and [éq A5.1-4], we can therefore take and \({\pi }_{2}\) any and \({\pi }_{1}\) verifying \({\pi }_{1}=0\) on \(\partial {O}_{d}\) We then start taking \({\mathrm{\pi }}_{1}=0\) and \({\mathrm{\pi }}_{2}=0\) all the way \(\partial \mathrm{\Omega }\) and we get [éq A5.1-1] and [éq A5.1-2] in the sense of distributions. We then multiply [éq A5.1-1] by \({\mathrm{\pi }}_{1}\) such that \({\mathrm{\pi }}_{1}=0\) out of \(\partial {\mathrm{\Omega }}_{d}\) we multiply [éq A5.1-2] by any \({\mathrm{\pi }}_{2}\), we integrate by part, we take into account [éq A5.1-3] and [éq A5.1-4] and we obtain, by designating by \(n\) the normal to the edge by:
\({\int }_{\partial {\mathrm{\Omega }}_{d}}{M}_{\text{as}}\text{.}n\text{.}{\mathrm{\pi }}_{2}d\mathrm{\Gamma }={\int }_{\partial {\mathrm{\Omega }}_{d}}{M}_{2\text{ext}}{\mathrm{\pi }}_{2}d\mathrm{\Gamma },\phantom{\rule{4em}{0ex}}\forall {\mathrm{\pi }}_{2}\)
We deduce
\(\begin{array}{c}{M}_{\text{as}}\text{.}n={M}_{2\text{ext}}\text{sur}\partial {\mathrm{\Omega }}_{d}\end{array}\)
Dirichlet \(\mathit{PRE}2\) , Neuman \(\mathit{PRE}1\)
This is the case where we impose a value to \(\mathit{PRE}2\) and a value to the flow associated with \(\mathit{PRE}1\), by saying nothing about PRE1 or by giving a value to FLUN_HYDR1 of FLUX_THM_REP in AFFE_CHAR_MECA. Let’s call \({M}_{{1}_{\text{ext}}}\) this imposed quantity, which will be worth \(0\) if nothing is said about \(\mathit{PRE}2\). We’ll note \({p}_{2}={p}_{{}_{2}}^{\text{imp}}\) the condition imposed on \(\mathit{PRE}2\).
This corresponds to:
\(\begin{array}{c}{p}_{\text{gz}}={p}_{\text{as}}+{p}_{\text{vp}}={p}_{{}_{\text{gz}}}^{\text{imp}}\\ {p}_{2}^{\text{imp}}={p}_{{}_{\text{gz}}}^{\text{imp}}\end{array}\)
The demonstration is the same as in the previous paragraph and results in:
\(\begin{array}{c}({M}_{\text{lq}}+{M}_{\text{vp}})\text{.}n={M}_{1\text{ext}}\text{sur}\partial {O}_{d}\end{array}\)
A 2 .3 Cases of boundary conditions involving linear relationships between main unknowns
Code_Aster allows you to introduce relationships between degrees of freedom, carried by the same node or by different nodes, as boundary conditions. This possibility is achieved via the LIAISON_DDL keyword in the AFFE_CHAR_MECA command.
Let \({p}_{{}_{\text{lq}}}^{\text{imp}}\) be the value we want to impose on liquid pressure on \(\partial {O}_{d}\). Given [éq A5.1-5], and the choice of the main unknowns for this behavior, we write:
\({p}_{\text{gz}}-{p}_{c}={p}_{2}-{p}_{1}={p}_{{}_{\text{lq}}}^{\text{imp}}\) eq A5.3-1
Linear relationships are treated in Aster by introducing Lagrange multipliers. In this case, this corresponds to the following formulation:
Find \({p}_{1},{p}_{\mathrm{2,}}\mu\) such as:
\(\begin{array}{}-{\int }_{\Omega }(\dot{{m}_{\text{lq}}}+{\dot{m}}_{\text{vp}}){\pi }_{1}d\Omega +{\int }_{\Omega }({M}_{\text{lq}}+{M}_{\text{vp}})\text{.}\nabla {\pi }_{1}d\Omega -{\int }_{\Omega }\dot{{m}_{\text{as}}}{\pi }_{2}d\Omega +{\int }_{\Omega }{M}_{\text{as}}\text{.}\nabla {\pi }_{2}d\Omega +\\ +{\int }_{\partial {\Omega }_{d}}{\mu }^{\text{*}}({p}_{2}-{p}_{1}-{p}_{\mathrm{lq}}^{\text{imp}})d\Gamma +{\int }_{\partial {\Omega }_{d}}\mu ({\pi }_{2}-{\pi }_{1}-{p}_{\mathrm{lq}}^{\text{imp}})d\Gamma \forall {\pi }_{1},{\pi }_{2},{\mu }^{\text{*}}\end{array}\) eq A5.3-2
To demonstrate in the non-homogeneous framework, it would be necessary to introduce an increase in condition \({p}_{2}-{p}_{1}-{p}_{{}_{\text{lq}}}^{\text{imp}}=0\) (i.e. specific fields meeting this condition). This makes writing heavier and brings nothing, so we place ourselves in the homogeneous \({p}_{{}_{\text{lq}}}^{\text{imp}}=0\) framework.
We then start taking \({\pi }_{1}=0\) and \({\pi }_{2}=0\) all over the \(\partial \Omega\) edge and we get [éq A5.1-1] and [éq A5.1-2] in the sense of the distributions. We then multiply [éq A5.1-1] by any \({\pi }_{1}\) we multiply [éq A5.1-2] by any \({\pi }_{2}\), we integrate by part, we carry the results found in [éq A5.3-2] and we obtain:
\(\begin{array}{}{\int }_{\partial {\Omega }_{d}}({M}_{\text{lq}}+{M}_{\text{vp}})\text{.}n\text{.}{\pi }_{1}d\Gamma +{\int }_{\partial {\Omega }_{d}}{M}_{\text{as}}\text{.}n\text{.}{\pi }_{2}d\Gamma +\\ {\int }_{\partial {\Omega }_{d}}{\mu }^{\text{*}}({p}_{2}-{p}_{1})d\Gamma +{\int }_{\partial {\Omega }_{d}}\mu ({\pi }_{2}-{\pi }_{1})d\Gamma =0\forall {\pi }_{1},{\pi }_{2},{\mu }^{\text{*}}\end{array}\) eq A5.3-3
It is clear that [éq A5.3-3] is giving back \({p}_{2}-{p}_{1}={p}_{{}_{\text{lq}}}^{\text{imp}}=0\)
Taking in addition \({\pi }_{2}-{\pi }_{1}=0\), we find:
\({\int }_{\partial {\Omega }_{d}}({M}_{\text{lq}}+{M}_{\text{vp}}+{M}_{\text{as}})\text{.}n\text{.}{\pi }_{1}d\Gamma =0\forall {\Gamma }_{1}\)
From which we deduce:
\(\begin{array}{c}({M}_{\text{lq}}+{M}_{\text{vp}}+{M}_{\text{as}})\text{.}n=0\text{sur}\partial {\Omega }_{d}\end{array}\) eq A5.3-4
A2.4 Cases of mixed boundary conditions
In this section, we discuss the case of mixed boundary conditions (or exchange conditions) applied in the form of a Neumann condition. These conditions may relate to one or the other of the conservation equations or to both.
The flows are then written in the form:
\(\begin{array}{c}\left({M}_{\text{lq}}+{M}_{\text{vp}}\right)\text{.}n=\phantom{\rule{0.5em}{0ex}}{M}_{1\text{ext}}\text{sur}\partial {\mathrm{\Omega }}_{d}\end{array}\) with \({M}_{1\text{ext}}={\mathrm{\lambda }}_{11}({p}_{1}-{p}_{{}_{1}}^{\text{ext}})-{\mathrm{\lambda }}_{12}({p}_{2}-{p}_{{}_{2}}^{\text{ext}})\)
and/or
\(\begin{array}{c}{M}_{\text{as}}\text{.}n={M}_{2\text{ext}}\text{sur}\partial {\Omega }_{d}\end{array}\) with \({M}_{2\text{ext}}={\mathrm{\lambda }}_{21}({p}_{1}-{p}_{{}_{1}}^{\text{ext}})-{\mathrm{\lambda }}_{22}({p}_{2}-{p}_{{}_{2}}^{\text{ext}})\)
This condition is implemented explicitly (the value of \(\mathit{PRE1}\) and/or \(\mathit{PRE2}\) being taken at the previous time). These mixed conditions are therefore applied as Neumann conditions (cf. above).
A 2 . 5 Nonlinear cases
Here we are just addressing the more difficult questions of imposing either vapor pressure or dry air pressure. Given the relationships [éq A5.1-7], [éq A5.1-8], and [éq A5.1-9] imposing a value on vapor pressure is like imposing a non-linear relationship on liquid pressure; just as imposing a dry air pressure on gas pressure is the same as imposing a non-linear relationship on liquid pressure.
As an example, we discuss the case of a dry air pressure imposed for behavior LIQU_VAPE_GAZ, and we assume that we know how to write the non-linear relationship between vapor pressure and liquid pressure.
The relationship to be imposed is therefore:
\({p}_{\text{as}}={p}_{\text{gz}}-{p}_{\text{vp}}={p}_{2}-{p}_{\text{vp}}={p}_{{}_{\text{as}}}^{\text{imp}}\) eq A5.4-1
By differentiating this relationship, we will find a condition on the virtual pressure variations:
\({\text{dp}}_{\text{as}}\mathrm{=}{\text{dp}}_{\text{gz}}\mathrm{-}\frac{\mathrm{\partial }{p}_{\text{vp}}}{\mathrm{\partial }{p}_{\text{lq}}}{\text{dp}}_{\text{lq}}\mathrm{=}{\text{dp}}_{\text{gz}}\mathrm{-}\frac{\mathrm{\partial }{p}_{\text{vp}}}{\mathrm{\partial }{p}_{\text{lq}}}({\text{dp}}_{\text{gz}}\mathrm{-}{\text{dp}}_{c})\)
Be it again
\({\text{dp}}_{\text{as}}\mathrm{=}{\text{dp}}_{2}\mathrm{-}\frac{\mathrm{\partial }{p}_{\text{vp}}}{\mathrm{\partial }{p}_{\text{lq}}}({\text{dp}}_{2}\mathrm{-}{\text{dp}}_{1})\mathrm{=}\frac{\mathrm{\partial }{p}_{\text{vp}}}{\mathrm{\partial }{p}_{\text{lq}}}{\text{dp}}_{1}+(1\mathrm{-}\frac{\mathrm{\partial }{p}_{\text{vp}}}{\mathrm{\partial }{p}_{\text{lq}}}){\text{dp}}_{2}\)
The variational formulation would then be:
\(\begin{array}{c}-{\int }_{\mathrm{\Omega }}\left(\dot{{m}_{\text{lq}}}+{\dot{m}}_{\text{vp}}\right){\mathrm{\pi }}_{1}d\mathrm{\Omega }+{\int }_{\mathrm{\Omega }}\left({M}_{\text{lq}}+{M}_{\text{vp}}\right)\text{.}\nabla {\mathrm{\pi }}_{1}d\mathrm{\Omega }-{\int }_{\mathrm{\Omega }}\dot{{m}_{\text{as}}}{\mathrm{\pi }}_{2}d\mathrm{\Omega }+{\int }_{\mathrm{\Omega }}{M}_{\text{as}}\text{.}\nabla {\mathrm{\pi }}_{2}d\mathrm{\Omega }+\\ +{\int }_{\partial {\mathrm{\Omega }}_{d}}{\mu }^{\text{*}}\left({p}_{2}-{p}_{\text{vp}}-{p}_{\mathit{as}}^{\text{imp}}\right)d\mathrm{\Gamma }+{\int }_{\partial {\mathrm{\Omega }}_{d}}\mathrm{\mu }\left(\frac{\partial {p}_{\text{vp}}}{\partial {p}_{\text{lq}}}{\mathrm{\pi }}_{1}+\left(1-\frac{\partial {p}_{\text{vp}}}{\partial {p}_{\text{lq}}}\right){\mathrm{\pi }}_{2}\right)d\mathrm{\Gamma }\phantom{\rule{4em}{0ex}}\forall {\mathrm{\pi }}_{1},{\mathrm{\pi }}_{2},{\mathrm{\mu }}^{\text{*}}\end{array}\) And we would find:
\({\int }_{\partial {\Omega }_{d}}({M}_{\text{lq}}+{M}_{\text{vp}})\text{.}n\text{.}{\pi }_{1}d\Gamma +{\int }_{\partial {\Omega }_{d}}{M}_{\text{as}}\text{.}n\text{.}{\pi }_{2}d\Gamma +{\int }_{\partial {\Omega }_{d}}\mu (\frac{\partial {p}_{\text{vp}}}{\partial {p}_{\text{lq}}}{\pi }_{1}+(1-\frac{\partial {p}_{\text{vp}}}{\partial {p}_{\text{lq}}}){\pi }_{2})d\Gamma =0\forall {\pi }_{1},{\pi }_{2}\)
By taking \(\frac{\partial {p}_{\text{vp}}}{\partial {p}_{\text{lq}}}{\pi }_{1}+(1-\frac{\partial {p}_{\text{vp}}}{\partial {p}_{\text{lq}}}){\pi }_{2}=0\) we would find:
\(\begin{array}{c}\left(1-\frac{\partial {p}_{\text{vp}}}{\partial {p}_{\text{lq}}}\right)\left({M}_{\text{lq}}+{M}_{\text{vp}}\right)\text{.}n-\frac{\partial {p}_{\text{vp}}}{\partial {p}_{\text{lq}}}{M}_{\text{as}}\text{.}n=0\end{array}\) eq A5.4-2
Numerical approach for calculating the input parameters of law HYDR_TABBAL
In this appendix, we detail the numerical approach used to calculate the input parameters, which are essential for the use of the “HYDR_TABBAL” law (See section 2.5). Remember that these parameters are: :math: {S} _ {mathit {BJH}}} (mathit {HR}), :math: {A} _ {0}, :math: {mathrm {omega}} _ {mathit {BJH}}} _ {mathit {BJH}}} (mathit {HR}), :math: t (mathit {HR}}) `, :math: `t (mathit {HR}) and:math: {left (frac {partialgamma} {partialgamma} {partial {epsilon} _ {s}}right) |} _ {mu}. The user is advised to evaluate these parameters in the order shown below:
\({A}_{0}\) is called the specific surface area of the material per unit volume (in m²/m³) or also the total pore area per unit volume. There are various methods for estimating the specific surface area. Among which, methods BET [3] and BJH [4] which are numerical methods based on experimental water retention curves. As a first step, the user is advised to calculate the value of the specific surface area \({S}_{\mathit{BET}}\) by the BETselon method the equations A2.1 and A2.2:
\(\frac{\mathit{HR}}{w\left(\mathit{HR}-1\right)}=\frac{1+\left(C-1\right)\mathit{HR}}{C{w}_{m}}\) eq A2.1
\({S}_{\mathit{BET}}=\frac{{N}_{A}{A}_{m}{V}_{m}}{{V}_{M}}\) eq A2.2
In equation A2.1, \(w(\mathit{HR})\) is the water retention curve of the material written in terms of water content. Method BET normally applies in the \(\mathit{HR}\) range between 5% and 35%. In this range, by drawing the curve \(\frac{\mathit{HR}}{w\left(\mathit{HR}-1\right)}\) as a function of \((\mathit{HR})\), we get a line. From this last one, we can calculate a slope \(\frac{1}{C{w}_{m}}\) and an ordinate at the origin \(\frac{C-1}{C{w}_{m}}\). This will make it possible to evaluate the value of the parameters \(C\) and \({w}_{m}\) of equation A2.1. Volume \({V}_{m}\) (in m3/g) from equation A2.2 is the volume of water corresponding to \({w}_{m}\). Finally, \({S}_{\mathit{BET}}\) is calculated from equation A2.2 with \({N}_{A}\) (=6.022 1023 mol-1) the Avogadro number, \({A}_{m}\) (=10.6 Å2) the area occupied by a water molecule and \({V}_{M}\) (=18.10-6 m3/mol) the molar volume of water.
\({A}_{0}\) is then calculated from the product of the dry density (g/m3) of the material by the specific surface area \({S}_{\mathit{BET}}\) (m2/g).
\(t(\mathit{HR})\) is the thickness of the adsorbed water layer. This thickness can be evaluated by various empirical relationships that can be found in the literature. Among which, we cite that of Badmann [2] which is written as: \(t\left(\mathit{HR}\right)={K}_{1}+{K}_{2}\bullet \mathrm{ln}(-\mathrm{ln}\left(\mathit{RH}\right))\) with with \({K}_{1}\) and \({K}_{2}\) coefficients to be adjusted to a water retention curve of the material (\(t(\mathit{HR})={V}_{w}(\mathit{HR})/{S}_{\mathit{BET}}\) and \({V}_{w}(\mathit{HR})\) the volume of water calculated from the retention curve). For cementitious materials and ambient temperature, Badmann calculates \({K}_{1}\) = 0.385 nm and \({K}_{2}\) = -0.189 nm.
For tables \({S}_{\mathit{BJH}}(\mathit{HR})\) and \({\mathrm{\omega }}_{\mathit{BJH}}(\mathit{HR})\), a BJH calculation using the iterative method introduced by Barret, Joyner and Halenda [4] is requested. This method is detailed in detail in [5].
As input data necessary to perform calculation BJH, we cite: the water retention curve of the material written as water content or saturation (a function of HR), the thickness of the adsorbed layer \(t(\mathit{HR})\) and a value of \({A}_{0}\) according to method BET. Before proceeding with calculation BJH, it is recommended that the water retention curve be adjusted by a numerical model, for example: the Van-Genuchten model or others or even a simple linear interpolation between the experimental points.
The user starts the calculation BJHen estimating the average radius of the \(\stackrel{´}{{r}_{p,n}}(\mathit{HR})\) pores that will be iteratively emptied of their water according to the RH level. This radius is calculated according to the equations A2.3, A2.4 and A2.5 with \({r}_{k}(\mathit{HR})\) calculated according to the Kelvin-Laplace law (equation A2.5 where \({\sigma }_{L/G}\) is the surface tension of the liquid/gas surface equal to 0.072 N/m).
\(\stackrel{´}{{r}_{p,n}}(\mathit{HR})=\frac{({r}_{p,n}(\mathit{HR})+{r}_{p,n-1}(\mathit{HR}))}{2}\) eq A2.3
\({r}_{p,n}(\mathit{HR})={r}_{k,n}(\mathit{HR})+{t}_{n}(\mathit{HR})\) eq A2.4
\({r}_{k,n}(\mathit{HR})=\frac{-2{\sigma }_{L/G}{M}_{w}^{\mathit{mol}}}{RT{\rho }_{w}\mathrm{ln}(\mathit{HR})}\) eq A2.5
Then, the quantity of desorbed water between two consecutive steps*n and n-1* is calculated: \(\delta {V}_{w,n}={V}_{w,n}-{V}_{w,n-1}\) with \({V}_{w,n}\) calculated from the water retention curve for an RH level.
The user goes on to calculate the volume \((\delta {V}_{p,n})\) and the surface \((\delta {a}_{p,n})\) of the pores which will be iteratively emptied with the RH level. This is done by equations A2.6 and A2.7 respectively.
\(\delta {V}_{p,n}={\left(\frac{\stackrel{´}{{r}_{p,n}}}{\stackrel{´}{{r}_{p,n}}-{t}_{n}}\right)}^{2}\bullet [\delta {V}_{w,n}]-\delta {t}_{n}\bullet \sum _{i=1}^{n-1}[\delta {a}_{p,n}\bullet (1-\frac{{t}_{n}}{\stackrel{´}{{r}_{p,n}}})]\) eq A2.6
\(\delta {a}_{p,n}=2\delta {V}_{p,n}/\stackrel{´}{{r}_{p,n}}\) eq A2.7
Finally, the cumulative volume \(\sum _{i}\delta {V}_{p,i}\) and the cumulative area \(\sum _{i}\delta {a}_{p,i}\) of the emptied pores are calculated for each RH level. These two quantities will be used in the calculation (equation A2.8 and A2.9) of \({S}_{\mathit{BJH}}(\mathit{HR})\) and \({\mathrm{\omega }}_{\mathit{BJH}}(\mathit{HR})\) (equation A2.8 and A2.9). These two quantities represent respectively the volume fraction of the pores filled with liquid water (saturated) and the surface fraction of the unsaturated pores (filled with gas and a layer of adsorbed water):
\({S}_{\mathit{BJH}}(\mathit{HR})=1-\sum _{i}\delta {V}_{p,i}/({\varphi }_{0}\bullet {V}_{0})\) eq A2.8
\({\mathrm{\omega }}_{\mathit{BJH}}(\mathit{HR})=\sum _{i}\delta {a}_{p,i}/{S}_{\mathit{BET}}\) eq A2.9
In equation A2.8, \(({\varphi }_{0}\bullet {V}_{0})\) represents the total volume of the pores with \(({\varphi }_{0})\) the porosity of the material and \(({V}_{0})\) the total volume of the sample. \({S}_{\mathit{BET}}\) is the specific surface area of the material previously calculated by BET.
The validity of calculation BJH can be verified, according to [5], by comparing the value of \({S}_{\mathit{BET}}\) with the specific surface area obtained by BJH \({S}_{\mathit{tot},\mathit{BJH}}\) (total cumulative area of the emptied pores). A difference of less than 10% is recommended between these two sizes.
Below is an example of a Python script for method BJH:
Import numpy as nP
# ——————————————– #
# Definition of material characteristics
# ——————————————– #
porn = 0.082 #Porosite
Vt = (3.14*(9**2) /4) *0.3 #Volume total of the sample in cm3
# ——————————————– #
# Parameters for the Dekelvin-Laplace relationship
# ——————————————– #
Massemol = 0.018 #Masse molar of water
R = 8.314 #Constante ideal gases
T = 293.15 #Temperature in K
rho = 1000. #Masse water volume
gamma = 235.8 (1-0.625 (1-T/647.096)) (1-T/647.096)* (1.256) #Tension superficial as a function of temperature
C = (2.*(gamma*0.001) massemol) (10**9)/(R*t*rho)
rhosec = 2.385 #densite dried material
msec = rhosec*VT #masse dried material in g
Sbet = 27 specific #surface (in m2/g) previously calculated by BET
# ——————————————– #
# Water retention curve
# ——————————————– #
path= » /home/… /Inter_lin.txt « #recuperer the experimental water retention curve
HR_meas = tab_col.T [0] #recuperer the HR tested table
HR_meas = HR_meas [::-1]
s_meas = tab_Col.t [1] #recuperer the saturation table
S_meas = S_meas [::-1]
w_meas = (s_meas*poro*1)/(rhosec) #calcul of water content
n=len (HR_meas)
Factor_Pc = (rho*R*t/massemol)/(10**6)
Pc = -factor_PC*NP.log (HR_meas) #calcul of capillary pressures according to Kelvin
Pc [0] =0
# ——————————————– #
# Kelvin-Laplace radius
# ——————————————– #
RK_factor = (massemol*2* (gamma*0.001))/(rho*R*T)
rk = -RK_factor*(10**9) /np.log (HR_meas)
# ——————————————– #
# Thickness of the adsorbed layer — According to Badmann
# ——————————————– #
K1 = 0.385 #en nm
M2 = -0.189 #en nm
t= k1+k2*np.log (-np.log (HR_meas)) #epaisseur in nm
# ——————————————– #
# Pore radius
# ——————————————– #
r=rk+t #en nm
# ——————————————– #
# Average pore radius
# ——————————————– #
RM = []
rm.append (r [0])
For i in range (1, n):
rm.append ((r [i] +r [i-1]) /2)
rm=np.asarray (rm) #en nm
# ——————————————– #
# Constraints to be imposed on the first point
# ——————————————– #
#Pres of HR100% more adsorbed water/only free water
Sl= [] #Fraction of saturated pores (filled with liquid water)
sl.append (s_Meas [0])
Sg= [] #Fraction of unsaturated pores
sg.append (1-Sl [0])
SumVp= [] #~Cumulative volume of unsaturated pores in cm3
sumvp.append (Poro*vt*sg [0])
DeltaVP = [] #Volume unsaturated pores in cm3
deltavp.append (sumVP [0])
deltaVL = [] #Volume of desorbed liquid between two consecutive HRs
Nb=deltaVP [0]/((rm [0]/(rm [0] -t [0])) **2)
Deltavl.append (nb)
# ——————————————– #
# Volume of liquid desorbed between two HR
# ——————————————– #
VL = S_meas *poro*Vt #en cm3
For i in range (1, n):
Deltavl.append (VL [i-1] -VL [i])
# ——————————————– #
# First stage of desorption
# ——————————————– #
deltavp.append (((rm [1])/(rm [1] -t [1])) **2)*deltaVL [1]) #Volumedes desaturated pores between two HRs in cm3
deltaAP = [] # surface area of the desaturated pores between two HRs in m2
Deltaap.append ((2*deltaVP [0]* (10**-6)))/(rm [0]* (10**-9)))
Deltaap.append ((2*deltaVP [1]* (10**-6)))/(rm [1]* (10**-9)))
Delta AP_t = []
Delta AP_t .append (0)
Delta AP_t .append (deltaAP [0] * (1-t [1] /rm [0]))
# ——————————————– #
# Second to nth desorption steps
# ——————————————– #
For i in range (2, n):
# ——————————————– #
# Cumulative volume of unsaturated pores in cm3
# ——————————————– #
For i in range (2, n+1):
j=1
c=0
while j<=i:
c = c + deltaVP [i-j]
j=j+1
Sumvp.append (c)
# ——————————————– #
# Cumulative surface of unsaturated pores in m2
# ——————————————– #
SumAp= []
Sumap.append (DeltaAP [0])
For i in range (2, n+1):
j=1
c=0
while j<=i:
c = c + deltaAP [i-j]
j=j+1
Sumap.append (c)
sumap=np.asArray (SUMap)
# ——————————————– #
# Calculating fractions SBJH and WBJH
# ——————————————– #
Sl= [] #Fraction of saturated pores also called SBJH
sl.append (s_Meas [0])
Sg= [] #Fraction of unsaturated pores
sg.append (1-Sl [0])
For i in range (1, n):
Sg.append (sumVP [i]/(Poro*vt)) #Fraction of unsaturated pores
sl.append (1-Sg [i]) #Fraction of saturated pores also known as SBJH
co=0
For i in Sl:
if i>0:
co=co+1
SBJHT = SuMaP [co-1]/(Vt*(10** (-6))) #Surface total specific obtained by BJH in m2/m3
print « S_ BJH = », SBJH, « in m2/m3 »
S = (SBJH Vt*10*-6) /msec
print « S_ BJH = », S, « in m2/g »
Discrepancy = (S — Sbet) *100/Sbet
Print « Variance with BET = « , Variance, « % » #Verifier that it’s less than 10%
A0 = (Sbet* msec)/(Vt*10-6) **
print « A0= », A0, « m2/m3 »
**wg=suMap/ (Sbet*msec) ** #Fraction unsaturated pore surface called SBJH w_bjh
Finally, :math: {left (frac {partialgamma} {partialgamma} {partialepsilon} _ {s}}right) |} _ {mu} is called the Shuttleworth term which is highly dependent on the orientation and morphology of the solid surface. This term is recalculated on the basis of drying shrinkage experience. According to the work of G. Tabbal [1], [6], this term can have a negligible contribution to the development of constraints and therefore can in some cases be taken as null.