4. Digital integration#

4.1. Implicit solving behavior equations in MFront#

The CSSM behavior model is implicitly integrated via the MFront [HMPS15] _ tool. 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 stress tensor at the previous moment \(t_n\). The vector of numerical unknowns is noted \(\boldsymbol{x}\). Its components are:

\[\]
begin {Bmatrix}boldsymbol {x} _1\boldsymbol {x} _2\ x_3\ x_4\ x_5end {Bmatrix} =

begin {Bmatrix}Deltaboldsymbol {varepsilon} ^e\Deltaboldsymbol {varepsilon} ^x\ DeltaLambda\ DeltaLambda_m\ DeltaLambda_m\DeltaLambda_m\DeltaLambda_m\ DeltaLambda_m\DeltaLambda_m\\ Deltaxiend {Bmatrix},quadtext {with}quadDelta x_i = x_ {i, n+1} -x_ {i, n} :label: vector_x

We recall that the two tensors of elastic deformations \(\Delta\boldsymbol{\varepsilon}^e\) and \(\Delta\boldsymbol{\varepsilon}^x\) have been defined deformations_elastiques.

In addition, it should be observed above that the increments of the plastic multipliers \(\left(\Delta\lambda_i\right)_{1\leq i\leq m-1}\) don’t step in. In fact, thanks to condition expression_module_ecrouissage_volumique, it is established that:

\[\]
forall 1leq ileq m-1,quadDeltalambda_i =frac {2} {3}frac {leftlangle F_ileft (boldsymbol {sigma} _ {n+1} _ {n+1} -boldsymbol {n+1} -boldsymbol {sigma} _ {n+1} -boldsymbol {sigma} _ {n+1} -boldsymbol {sigma} _ {n+1} -boldsymbol {sigma} _ {n+1} -boldsymbol {sigma} _ {n+1} -boldsymbol {sigma} _ {n+1} -boldsymbol {sigma} _ {d} _ {d, n} ^i-h_v^ialpha_ {v, n} ^iboldsymbol {I}right)rightrangle} {h_D^i}
label:

delta_alphai_1

and:

\[\]
frac {partial F_i} {partialboldsymbol {A} ^i} {partialboldsymbol {A} ^i} {partial F_i} {partialboldsymbol {A} ^i}left (boldsymbol {sigma} _ {n+1} -boldsymbol {X} _ {d, n+1} {d, n+1} -H_d^i}left (boldsymbol {sigma} _ {n+1} -boldsymbol {X} _ {d, n+1} -H_d^i} iboldsymbol {alpha} _ {d, n} {d, n} ^i-h_v^ialpha_ {v, n} ^iboldsymbol {I}right)
label:

delta_alphai_2

The increments:math: left (Deltaboldsymbol {boldsymbol {alpha} ^i=Deltalambda_icfrac {partial F_i} {partialboldsymbol {A} ^i}}Bigg {|} ^i}}i}Bigg {|} {|}} _ {n+1}right) _ {1leq ileq m-1} can therefore at any moment be expressed in terms of unknowns \(\Delta\boldsymbol{\varepsilon}^e\) and \(\Delta\boldsymbol{\varepsilon}^x\).

Note:

The numerical unknowns vector \(\boldsymbol{x}\) vecteur_x does not include the scalar hardening variable \(\gamma\) because, following ecoulement_normal_1_2 -1 and ecoulement_normal_1_2 -2, this is deduced from \(\lambda\) and \(\xi\).

4.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}^x=\Delta\boldsymbol{\varepsilon}\). If this prediction meets the two plasticity criteria \(f\) and \(F_m\), the residue of the system of equations to be solved, noted \(\boldsymbol{r}\), is:

\[\]
begin {Bmatrix}boldsymbol {r} _1\boldsymbol {r} _2\ r_3\ r_4\ r_5\ r_5end {Bmatrix} =

begin {Bmatrix} Deltaboldsymbol {varepsilon} ^e -Deltaboldsymbol {varepsilon} + left (mathbb {J} + (1-rho)mathbb {K}right):sum_ {i=1} ^ {m-1}Deltaboldsymbol {alpha} ^i\ Deltaboldsymbol {varepsilon} ^x -Deltaboldsymbol {varepsilon} ^e -left (1-rhoright)mathbb {K}:sum_ {i=1} ^1} ^ {m-1}Deltaboldsymbol {rhoright)mathbb {K}:sum_ {i=1}} ^ {m-1}Deltaboldsymbol {alpha} ^i\ DeltaLambda\ Deltalambda_m\ Deltaxi\ end {Bmatrix} :label: elastic_residue

Above, the first two lines account for decompositions deformations_elastiques in the case where the increments \(\Delta\boldsymbol{\varepsilon}^p\) and \(\Delta\boldsymbol{\alpha}^m\) both sucks. Likewise, the three The last lines are consistent with the elastic prediction if it is true (no increment of the internal variables including evolution is relative to the two plasticity criteria \(f\) and \(F_m\)).

4.1.2. System to be solved in the case of a plastic load#

If neither the plasticity criterion \(f\) nor \(F_m\) is met after the elastic prediction, the residue of the system of equations to be solved during integration is given by:

\[\]
begin {Bmatrix}boldsymbol {r} _1\boldsymbol {r} _2\ r_3\ r_4\ r_5\ r_5end {Bmatrix} =

begin {Bmatrix} Deltaboldsymbol {varepsilon} ^e -Deltaboldsymbol {varepsilon} + left (mathbb {J} +rhomathbb {K}right):Deltalambdacfrac {partial f} {partialboldsymbol {X}}big {|} _ {n+1}} + left (mathbb {J} + (1-rho)mathbb {K}right):left (Deltalambda_mcfrac {partial F_m} {partial F_m} {partialboldsymbol {A} ^m}big {|} _ {n+1}} +sum_ {i=1} ^ {m-1}Deltaboldsymbol {alpha} ^iright)\ Deltaboldsymbol {varepsilon} ^x -Deltaboldsymbol {varepsilon} ^e + left (1-rhoright)mathbb {K}:left (Deltalambdacfrac {partial f} {partialboldsymbol {X}}}Big {|}}Big {|} _ {n+1}} -Deltalambda_mcfrac {partial F_m} {partialboldsymbol {A} ^m}Big {|} _ {n+1} -sum_ {i=1} ^ {m-1}Deltaboldsymbol {alpha} ^iright)\ cfrac {f_ {n+1}} {K}\ cfrac {F_ {m, n+1}} {K}\ Deltaxi -DeltaLambdacfrac {partial f} {partial p_c}Big {|} _ {n+1}\ end {Bmatrix} :label: plastic_residue

In the previous system, the first two lines describe decompositions deformations_elastiques In the case where increments \(\Delta\varepsilon^p\) and \(\Delta\alpha^n\) are*a priori* not zero. The next two express that the surfaces relating to the two plasticity criteria \(f\) and \(F_m\) are reached (the equations are dimensioned by the compressibility module). The last one reports on the evolution of the scalar hardening variable \(\xi\).

Note:

The case where the elastic prediction exclusively respects the plasticity criterion \(f\) or \(F_m\) can be easily deduced from the two residues residu_elastique and residu_plastique.

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:

(4.1)#\[\begin{split}J =\ begin {Bmatrix} \ cfrac {\ partial\ boldsymbol {r} _1} {\ partial\ Delta\ boldsymbol {\ varepsilon} ^e}} & \ cfrac {\ partial\ boldsymbol {r} _1} {\ partial\ Delta\ boldsymbol {\ varepsilon} ^x}} & \ cfrac {\ partial\ boldsymbol {r} _1} {\ partial\ Delta\ lambda} & \ cfrac {\ partial\ boldsymbol {r} _1} {\ partial\ Delta\ lambda_m} & \ cfrac {\ partial\ boldsymbol {r} _1} {\ partial\ Delta\ xi}\\ \ cfrac {\ partial\ boldsymbol {r} _2} {\ partial\ Delta\ boldsymbol {\ varepsilon} ^e}} & \ cfrac {\ partial\ boldsymbol {r} _2} {\ partial\ Delta\ boldsymbol {\ varepsilon} ^x}} & \ cfrac {\ partial\ boldsymbol {r} _2} {\ partial\ Delta\ lambda} & \ cfrac {\ partial\ boldsymbol {r} _2} {\ partial\ Delta\ lambda_m} & \ cfrac {\ partial\ boldsymbol {r} _2} {\ partial\ Delta\ xi}\\ \ cfrac {\ partial r_3} {\ partial\ Delta\ Delta\ boldsymbol {\ varepsilon} ^e}} & \ cfrac {\ partial r_3} {\ partial\ Delta\ Delta\ boldsymbol {\ varepsilon} ^x}} & \ cfrac {\ partial r_3} {\ partial\ Delta\ lambda} & \ cfrac {\ partial r_3} {\ partial\ Delta\ lambda_m} & \ cfrac {\ partial r_3} {\ partial\ Delta\ xi}\\ \ cfrac {\ partial r_4} {\ partial\ Delta\ Delta\ boldsymbol {\ varepsilon} ^e}} & \ cfrac {\ partial r_4} {\ partial\ Delta\ Delta\ boldsymbol {\ varepsilon} ^x}} & \ cfrac {\ partial r_4} {\ partial\ Delta\ lambda} & \ cfrac {\ partial r_4} {\ partial\ Delta\ lambda_m} & \ cfrac {\ partial r_4} {\ partial\ Delta\ xi}\\ \ cfrac {\ partial r_5} {\ partial\ Delta\ Delta\ boldsymbol {\ varepsilon} ^e}} & \ cfrac {\ partial r_5} {\ partial\ Delta\ Delta\ boldsymbol {\ varepsilon} ^x}} & \ cfrac {\ partial r_5} {\ partial\ Delta\ Lambda} & \ cfrac {\ partial r_5} {\ partial\ Delta\ lambda_m} & \ cfrac {\ partial r_5} {\ partial\ Delta\ xi} \ end {Bmatrix}\end{split}\]

Each block is obtained through analytical calculations detailed in Section 6. The value of the Newton-Raphson stopping criterion is taken to \(10^{-14}\) (value specified in directive \(\texttt{@Epsilon}\)).

4.2. Calculation of the algorithmic tangent operator#

The algorithmic tangent operator \(\mathbb{D}\), calculated once the behavioral equations have been solved, is obtained by a chain rule of derivatives:

\[\]

mathbb {D} =frac {partialDeltapartialDeltaboldsymbol {sigma}} {partialDeltaboldsymbol {varepsilon}} =mathbb {C}:frac {partialpartialDeltaboldsymbol {partialdeltaboldsymbol {varepsilon}} ^e} {partialdeltaboldsymbol {varepsilon}}

The first term \(\mathbb{C}=3K\mathbb{J}+2\mu\mathbb{K}\) refers to the isotropic linear elasticity 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}

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 [HMPS15] _, [Helf20] _.

4.3. Internal variables#

The internal variables are summarized in r7.01.44-table_variables_internes.

The additional auxiliary variables in the internal variables field in the sense of Code_Aster are shown in r7.01.44-table_variables_auxiliaires.