5. Digital integration#
5.1. Implicit solving behavior equations in MFront#
The Barcelona model is integrated implicitly via the tool MFront [bib5] __. This integration intervenes on the increment of the total deformation tensor \(\Delta \boldsymbol{\varepsilon}\) at the current time \(t_{n+1}\) at each integration point, knowing the state of the internal variables and the effective stress tensor at the previous moment \(t_n\), as well as the value current capillary pressure \(p_{c,n+1}\). Indeed, it plays the role of an external variable when solving the mechanical equations of the model. of behavior.
The vector of numerical unknowns is noted \(\boldsymbol{x}\). Its components are:
- begin {Bmatrix}boldsymbol {x} _1\ x_2\ x_3end {Bmatrix} =
begin {Bmatrix}Deltaboldsymbol {varepsilon} ^e\ Deltalambda_1\ Deltaxi_1end {Bmatrix},quadtext {with}quadDelta x_i = x_ {i, n+1} -x_ {i, n+1} -x_ {i, n} :label: numeric_unknowns
where we set \(\xi_1=\varepsilon_{1,v}^p\) the volume plastic deformation associated with the first plasticity criterion domaine_elasticite
-a.
It should be observed above that only the plastic multiplier increment
\(\Delta\lambda_1\) intervenes and not \(\Delta\lambda_2\). Indeed, the latter is not a numerical unknown, since its value can be explicitly obtained
based on increment \(\Delta\xi_1\) using the following formula, using domaine_elasticite
-b:
- DeltaLambda_2 =DeltaLambda_2 (p_ {c, n+1},Deltaxi_1) = (lambda_s-kappa_s)lnleft (1+frac {frac {lambda_2 (p_ {c, n+1})lnleft (1+frac {frac {Lambda_S-kappa_s) (1+frac {frac {Lambda_2} f_2 (p_ {c, n+1}},varepsilon_ {v, n} ^p+Deltaxi_1)Big {rangle}} {tilde {s} _0 (varepsilon_ {v, n} ^p+Deltaxi_1) -K_stildekappa_s}right),
quadtext {with}quadlangle xrangle =frac {x+|x|} {2} :label: expression_delta_lambda2
where we note \(\varepsilon_{v,n}^p\) the volume plastic deformation at the previous moment.
5.1.1. System to be solved in the case of elastic loading#
Elastic prediction assumes the increment of the total elastic deformation tensor, which means \(\Delta\boldsymbol{\varepsilon}^e=\Delta\boldsymbol{\varepsilon}\). If this prediction meets plasticity criterion \(f_1\), the residue of the system of equations to be solved, denoted \(\boldsymbol{r}\), is:
- begin {Bmatrix}boldsymbol {r} _1\ r_2\ r_3end {Bmatrix} =
begin {Bmatrix} Deltaboldsymbol {varepsilon} ^e -Deltaboldsymbol {varepsilon} - Deltalambda_2cfrac {boldsymbol {I}} {3}\ Deltalambda_1\ Deltaxi_1\ end {Bmatrix} :label: elastic_residue
Above, the first line reports on the decomposition of the tensor of the total deformations between elastics and plastics in the case where only the surface of the second plasticity criterion \(f_2\) is possibly reached (\(\Delta\lambda_2>0\)). The second and third lines are consistent with the elastic prediction if it is verified (no increment of the internal variables including the evolution is relative to the plasticity criterion \(f_1\)).
5.1.2. System to be solved in the case of a plastic load#
If plasticity criterion \(f_1\) is not met after elastic prediction, the residue of the system of equations to be solved during integration is given by:
- begin {Bmatrix}boldsymbol {r} _1\ r_2\ r_3end {Bmatrix} =
begin {Bmatrix} Deltaboldsymbol {varepsilon} ^e -Deltaboldsymbol {varepsilon} +Deltalambda_1cfrac {partial g_1} {partialboldsymbol {sigma} « }Bigg {sigma} »}Bigg {|} _ {n+1} -Deltalambda_1cfrac {partial g_1}} {partialboldsymbol {sigma} « } »}Bigg {|} _ {n+1} -Deltalambda_2cfrac {boldsymbol {I}} {3}\ cfrac {f_ {1, n+1}} {mu}\ Deltaxi_1-Deltalambda_1boldsymbol {I}:cfrac {partial g_1} {partialboldsymbol {sigma} « }Bigg {|}Bigg {|} |} _ {n+1}\ end {Bmatrix} :label: plastic_residue
In the previous system, the first line describes the decomposition of the tensor of total deformations between elastics and plastics in the case where the two increments \(\Delta\lambda_1\) and \(\Delta\lambda_2\) are*a priori* not zero. The third expresses that the area relative to the second plasticity criterion \(f_2\) is reached (the equation is dimensioned by the shear modulus). The last one reports on the evolution of the scalar hardening variable \(\xi_1\) (volume plastic deformation) relative to the first. plasticity criterion).
The Newton-Raphson iterative method is used to solve the system of equations \(\boldsymbol{r}=\boldsymbol{0}\). To do this, we use the calculation of the Jacobian matrix \(J\) at each iteration of the schema, expressed as the following block matrix:
Each block is obtained through analytical calculations detailed in Section 8. The value of the Newton-Raphson stopping criterion is taken to \(10^{-14}\) (value specified in the \(\texttt{@Epsilon}\) directive).
5.2. Calculation of the algorithmic tangent operator#
The algorithmic tangent operator, calculated once the behavioral equations have been solved, is obtained by a chain rule of derivatives:
- frac {dDeltaboldsymbol {sigma} « } »} {dDeltaboldsymbol {varepsilon}} =mathbb {C} _ {n+1}:frac {partialpartialpartialDeltaboldsymbol {deltaboldsymbol} « } {varepsilon}} {partialdeltaboldsymbol {varepsilon}}
- label:
derivee_string
The first term \(\mathbb{C}_{n+1}\) refers to the isotropic elasticity tensor. This results from the relationship between the net stress tensor and
elastic deformations expression_contrainte
like:
- mathbb {C} _ {n+1} = 3Kexpleft (-frac {varepsilon^e_ {v, n+1}} {tildekappa} -frac {tildekappa_s} {tildekappa_s} {tildekappa_s}} {tildekappa} {tildekappa}} {K_stildekappa_s}right)right)right)right)mathbb {J} +2mumathbb {K}
- label:
elastic_tensor
The second term \(\cfrac{\partial \Delta\boldsymbol{\varepsilon}^e}{\partial \Delta\boldsymbol{\varepsilon}}\) is written as:
- cfrac {partialDeltaboldsymbol {varepsilon} ^e} {partialDeltaboldsymbol {varepsilon}} = J^ {-1}} _ {eel}
- label:
inverse_elastic_jacobian
where \(J^{-1}_{eel}\) represents the first upper-left block of the inverse of the Jacobian matrix in jacobienne
. The proof of this calculation can be found in reference ([bib5] __, [biB6] __).
Note:
The calculation of the previous tangent operator only takes into account the derivative of the increment of the net stress tensor in relation to the increment of the total strain tensor, and not in relation to the increment of the capillary pressure. However, we can indicate the possibility of automatically calculating the derivative with respect to this derivative, in general with respect to any external variable (e.g. temperature) in MFront, using DSL @GenericImplicitBehaviour, by the following formula [biB6] __:
5.3. Internal variables#
The internal variables are summarized in r7.01.49-table_variables_internes
.
The additional auxiliary variables in the internal variables field in the sense of Code_Aster are shown in
The r7.01.49-table_variables_auxiliaires
.
In particular, iniSigTime allows you to initialize the value of the capillary pressure iniSuccion at time \(Inst=0\), when the loading starts from a state in unsaturated condition.