The weak form of equilibrium equation is written multiplying it by a variation of displacement field
\(\delta \varvec{{u}}\) and integrating over
\(\mathcal {B}\). After that, Green’s formula and the natural boundary condition are introduced, so the final form is as follows:
$$\begin{aligned} \int _{\mathcal {B}} \delta \varvec{\epsilon }^\mathrm {T}\varvec{\sigma }\,\mathrm {d}V= & {} \int _{\mathcal {B}} \delta \varvec{{u}}^\mathrm {T}\varvec{{b}}\,\mathrm {d}V + \int _{\partial \mathcal {B}} \delta \varvec{{u}}^\mathrm {T}\varvec{{t}}\,\mathrm {d}S \nonumber \\&\forall \, \delta \varvec{{u}}\end{aligned}$$
(14)
where
\(\varvec{{b}}\) is the body force vector and
\(\varvec{{t}}\) denotes tractions. In an analogical way, Eq. (
13) is transformed into a weak form using a variation of averaged strain
\(\delta {\bar{\epsilon }}\):
$$\begin{aligned} \int _{\mathcal {B}} \delta {\bar{\epsilon }} \; \frac{{\bar{\epsilon }}}{\varphi } \,\mathrm {d}V + \int _{\mathcal {B}} \left( \nabla \delta {\bar{\epsilon }} \right) ^\mathrm {T}\, \nabla {\bar{\epsilon }} \,\mathrm {d}V= & {} \int _{\mathcal {B}} \delta {\bar{\epsilon }} \; \frac{{\tilde{\epsilon }}}{\varphi } \,\mathrm {d}V \nonumber \\&\forall \, \delta {\bar{\epsilon }} \end{aligned}$$
(15)
A two-field formulation emerges when independent interpolations of displacements
\(\varvec{{u}}\) and of the averaged strain measure
\({\bar{\epsilon }}\) are employed in the semi-discrete linear system as follows:
$$\begin{aligned} \varvec{{u}}= \varvec{{N}}\, \varvec{{a}}\quad \, \text {and} \quad \, {\bar{\epsilon }} = \varvec{{h}}^\mathrm {T}\varvec{{e}}\end{aligned}$$
(16)
where
\(\varvec{{N}}\) and
\(\varvec{{h}}\) contain suitable shape functions. The secondary fields
\(\varvec{\epsilon }\) and
\(\nabla {\bar{\epsilon }}\) can be calculated as:
$$\begin{aligned} \varvec{\epsilon }= \varvec{{B}}\, \varvec{{a}}\quad \, \text {and} \quad \, \nabla {\bar{\epsilon }} = \varvec{{g}}^\mathrm {T}\varvec{{e}}\end{aligned}$$
(17)
where
\(\varvec{{B}}= \varvec{{L}}\, \varvec{{N}}\) and
\(\varvec{{g}}^\mathrm {T}= \nabla \varvec{{h}}^\mathrm {T}\). Matrix
\(\varvec{{L}}\) consists of differential operators. The variations are, respectively, interpolated. Equations (
14) and (
15) in a discretized form are as follows:
$$\begin{aligned}&\delta \varvec{{a}}^\mathrm {T}\int _{\mathcal {B}} \varvec{{B}}^\mathrm {T}\varvec{\sigma }\,\mathrm {d}V = \delta \varvec{{a}}^\mathrm {T}\int _{\mathcal {B}} \varvec{{N}}^\mathrm {T}\varvec{{b}}\,\mathrm {d}V + \delta \varvec{{a}}^\mathrm {T}\int _{\partial \mathcal {B}} \varvec{{N}}^\mathrm {T}\varvec{{t}}\,\mathrm {d}S \end{aligned}$$
(18)
$$\begin{aligned}&\delta \varvec{{e}}\int _{\mathcal {B}} \left( \varvec{{h}}\, \varvec{{h}}^\mathrm {T}\frac{1}{\varphi } + \varvec{{g}}\, \varvec{{g}}^\mathrm {T}\right) \varvec{{e}}\,\mathrm {d}V = \delta \varvec{{e}}\int _{\mathcal {B}} \varvec{{h}}\frac{{\tilde{\epsilon }}}{\varphi } \,\mathrm {d}V \end{aligned}$$
(19)
Identities (
18) and (
19) must hold for any admissible
\(\delta \varvec{{a}}\) and
\(\delta \varvec{{e}}\). Finally, they can be rephrased into the residual form:
$$\begin{aligned}&R_{\varvec{\sigma }} = \int _{\mathcal {B}} \varvec{{B}}^\mathrm {T}\varvec{\sigma }\,\mathrm {d}V - \int _{\mathcal {B}} \varvec{{N}}^\mathrm {T}\varvec{{b}}\,\mathrm {d}V - \int _{\partial \mathcal {B}} \varvec{{N}}^\mathrm {T}\varvec{{t}}\,\mathrm {d}S = 0 \end{aligned}$$
(20)
$$\begin{aligned}&R_\mathrm{{SVS}} = \int _{\mathcal {B}} \left( \varvec{{h}}\, \varvec{{h}}^\mathrm {T}\frac{1}{\varphi } + \varvec{{g}}\, \varvec{{g}}^\mathrm {T}\right) \varvec{{e}}\,\mathrm {d}V - \int _{\mathcal {B}} \varvec{{h}}\frac{{\tilde{\epsilon }}}{\varphi } \,\mathrm {d}V = 0 \end{aligned}$$
(21)
Tractions and body forces do not depend on deformation.
The BVP is linearized so that equilibrium is obtained at (pseudo-)time step
\(t + \Delta t\) in subsequent iteration
\(i+1\) based on previous iteration
i using a correction as follows:
$$\begin{aligned} R_{t+\Delta t}^{(i+1)} = R_{t+\Delta t}^{(i)}+ \mathrm {d}R \end{aligned}$$
(22)
In the further consideration, the subscript
\(t+\Delta t\) is skipped. The update is performed at nodal points for the primary fields:
$$\begin{aligned} \varvec{{a}}^{(i+1)} = \varvec{{a}}^{(i)} + \mathrm {d}\varvec{{a}}\quad \, \text {and} \quad \, \varvec{{e}}^{(i+1)} = \varvec{{e}}^{(i)} + \mathrm {d}\varvec{{e}}\end{aligned}$$
(23)
and also at integration points for the secondary fields:
$$\begin{aligned} \varvec{\epsilon }^{(i+1)} = \varvec{\epsilon }^{(i)} + \mathrm {d}\varvec{\epsilon }\quad \, \text {and} \quad \, \varvec{\sigma }^{(i+1)} = \varvec{\sigma }^{(i)} + \mathrm {d}\varvec{\sigma }\end{aligned}$$
(24)
The residual
\(R_{\varvec{\sigma }}\) in Eq. (
20) is decomposed according to:
$$\begin{aligned} R_{\varvec{\sigma }}^{(i+1)} = R_{\varvec{\sigma }}^{(i)} + \mathrm {d}R_{\varvec{\sigma }} = 0 \end{aligned}$$
(25)
The increment
\(\mathrm {d}R_{\varvec{\sigma }}\) depends on two primary fields:
$$\begin{aligned} \mathrm {d}R_{\varvec{\sigma }} = \frac{\partial R_{\varvec{\sigma }}}{\partial \varvec{{a}}} \mathrm {d}\varvec{{a}}+ \frac{\partial R_{\varvec{\sigma }}}{\partial \varvec{{e}}} \mathrm {d}\varvec{{e}}\end{aligned}$$
(26)
The constitutive equation (
9) can be written in the incremental form:
$$\begin{aligned} \mathrm {d}\varvec{\sigma }= (1 - \omega ^{(i)}) \, \varvec{{D}}\, \varvec{{B}}\, \mathrm {d}\varvec{{a}}- \mathcal {G}^{(i)} \, \varvec{{D}}\, \varvec{\epsilon }^{(i)} \, \varvec{{h}}^\mathrm {T}\mathrm {d}\varvec{{e}}\end{aligned}$$
(27)
where the following relations are introduced:
$$\begin{aligned}&\mathrm {d}\omega = \left[ \frac{\partial \omega }{\partial \kappa ^\mathrm {d}} \right] ^{(i)} \, \left[ \frac{\partial \kappa ^\mathrm {d}}{\partial {\bar{\epsilon }} } \right] ^{(i)} \mathrm {d}{\bar{\epsilon }} = \mathcal {G}^{(i)} \, \mathrm {d}{\bar{\epsilon }} \end{aligned}$$
(28)
$$\begin{aligned}&\mathrm {d}\varvec{\epsilon }= \varvec{{B}}\, \mathrm {d}\varvec{{a}}\quad \, \text {and} \quad \, \mathrm {d}{\bar{\epsilon }} = \varvec{{h}}^\mathrm {T}\mathrm {d}\varvec{{e}}\end{aligned}$$
(29)
The increment
\(\mathrm {d}\varvec{\sigma }\) in Eq. (
27) is substituted into the equation for out-of-balance forces as follows:
$$\begin{aligned} R_{\varvec{\sigma }}^{(i)} + \mathrm {d}R_{\varvec{\sigma }}= & {} \int _{\mathcal {B}} \varvec{{B}}^\mathrm {T}\varvec{\sigma }^{(i)} \,\mathrm {d}V - \int _{\mathcal {B}} \varvec{{N}}^\mathrm {T}\varvec{{b}}\,\mathrm {d}V \nonumber \\&- \int _{\partial \mathcal {B}} \varvec{{N}}^\mathrm {T}\varvec{{t}}\,\mathrm {d}S + \int _{\mathcal {B}} \varvec{{B}}^\mathrm {T}\mathrm {d}\varvec{\sigma }\,\mathrm {d}V = 0 \quad \end{aligned}$$
(30)
The relation below is obtained after the transfer of the first three integrals to the right-hand side and rewriting the equation in a matrix form:
$$\begin{aligned} \varvec{{K}}_{aa} \mathrm {d}\varvec{{a}}+ \varvec{{K}}_{ae} \mathrm {d}\varvec{{e}}= \varvec{{f}}_\mathrm {ext} - \varvec{{f}}_\mathrm {int}^{(i)} \end{aligned}$$
(31)
where the definitions of the submatrices and the right-hand side vectors are:
$$\begin{aligned}&\varvec{{K}}_{aa} = \int _{\mathcal {B}} \varvec{{B}}^{\mathrm {T}} \, (1 - \omega ^{(i)}) \, \varvec{{D}}\, \varvec{{B}}\,\mathrm {d}V \end{aligned}$$
(32)
$$\begin{aligned}&\varvec{{K}}_{ae} = - \int _{\mathcal {B}} \mathcal {G}^{(i)} \varvec{{B}}^{\mathrm {T}} \, \varvec{{D}}\, \varvec{\epsilon }^{(i)} \, \varvec{{h}}^\mathrm {T}\,\mathrm {d}V \end{aligned}$$
(33)
$$\begin{aligned}&\varvec{{f}}_\mathrm {ext} = \int _{\mathcal {B}} \varvec{{N}}^\mathrm {T}\varvec{{b}}\,\mathrm {d}V + \int _{\partial \mathcal {B}} \varvec{{N}}^\mathrm {T}\varvec{{t}}\,\mathrm {d}S \end{aligned}$$
(34)
$$\begin{aligned}&\varvec{{f}}_\mathrm {int}^{(i)} = \int _{\mathcal {B}} \varvec{{B}}^\mathrm {T}\varvec{\sigma }^{(i)} \,\mathrm {d}V \end{aligned}$$
(35)
The residuum in Eq. (
21) is obtained in this way:
$$\begin{aligned} R_\mathrm{{SVS}}^{(i+1)} = R_\mathrm{{SVS}}^{(i)} + \mathrm {d}R_\mathrm{{SVS}} = 0 \end{aligned}$$
(36)
where
$$\begin{aligned} R_\mathrm{{SVS}}^{(i)} = \int _{\mathcal {B}} \left( \varvec{{h}}\, \varvec{{h}}^\mathrm {T}\frac{1}{\varphi ^{(i)}} + \varvec{{g}}\, \varvec{{g}}^\mathrm {T}\right) \varvec{{e}}^{(i)} \,\mathrm {d}V - \int _{\mathcal {B}} \varvec{{h}}\frac{1}{\varphi ^{(i)}} \, {\tilde{\epsilon }}^{(i)} \, \mathrm {d}V \end{aligned}$$
(37)
The increments at integration points are also considered for the equivalent strain
\({\tilde{\epsilon }}\) and the gradient activity function
\(\varphi \):
$$\begin{aligned} {\tilde{\epsilon }}^{(i+1)} = {\tilde{\epsilon }}^{(i)} + \mathrm {d}{\tilde{\epsilon }} \quad \, \text {and} \quad \, \varphi ^{(i+1)} = \varphi ^{(i)} + \mathrm {d}\varphi \end{aligned}$$
(38)
The increment of the equivalent strain can be given as:
$$\begin{aligned} \mathrm {d}{\tilde{\epsilon }} = \left[ \frac{\partial {\tilde{\epsilon }} }{\partial \varvec{\epsilon }} \right] ^{(i)} \mathrm {d}\varvec{\epsilon }= \left[ \varvec{{s}}^\mathrm {T}\right] ^{(i)} \varvec{{B}}\, \mathrm {d}\varvec{{a}}\end{aligned}$$
(39)
In general, it is admitted that the gradient activity
\(\varphi \) can be linked with the equivalent strain
\({\tilde{\epsilon }}\) and/or damage
\(\omega \), i.e.
\(\varphi = \varphi ({\tilde{\epsilon }}, \omega ) = \varphi (\varvec{\epsilon }, {\bar{\epsilon }})\); hence, the increment of the gradient activity is:
$$\begin{aligned} \mathrm {d}\varphi = \left[ \frac{\partial \varphi }{\partial {\tilde{\epsilon }} } \right] ^{(i)} \left[ \frac{\partial {\tilde{\epsilon }} }{\partial \varvec{\epsilon }} \right] ^{(i)} \mathrm {d}\varvec{\epsilon }+ \left[ \frac{\partial \varphi }{\partial \omega } \right] ^{(i)} \left[ \frac{\partial \omega }{\partial \kappa ^\mathrm {d}} \right] ^{(i)} \left[ \frac{\partial \kappa ^\mathrm {d}}{\partial {\bar{\epsilon }} } \right] ^{(i)} \mathrm {d}{\bar{\epsilon }} \end{aligned}$$
(40)
Additionally, the following notation is introduced:
$$\begin{aligned} d\mathcal {F}_{{\tilde{\epsilon }}}^{(i)} = \left[ \frac{\partial \varphi }{\partial {\tilde{\epsilon }} } \right] ^{(i)} \quad \text {and} \quad \,\, d\mathcal {F}_{\omega }^{(i)} = \left[ \frac{\partial \varphi }{\partial \omega } \right] ^{(i)} \end{aligned}$$
(41)
Substituting discretization,
\(\mathrm {d}\varphi \) is written as:
$$\begin{aligned} \mathrm {d}\varphi = d\mathcal {F}_{{\tilde{\epsilon }}}^{(i)} \left[ \varvec{{s}}^\mathrm {T}\right] ^{(i)} \varvec{{B}}\, \mathrm {d}\varvec{{a}}+ d\mathcal {F}_{\omega }^{(i)} \, \mathcal {G}^{(i)} \, \varvec{{h}}^\mathrm {T}\, \mathrm {d}\varvec{{e}}\end{aligned}$$
(42)
Similarly to Eq. (
25), the increment
\(\mathrm {d}R_\mathrm{{SVS}}\) is expressed in the following way:
$$\begin{aligned} \mathrm {d}R_\mathrm{{SVS}} = \frac{\partial R_\mathrm{{SVS}}}{\partial \varvec{{a}}} \mathrm {d}\varvec{{a}}+ \frac{\partial R_\mathrm{{SVS}}}{\partial \varvec{{e}}} \mathrm {d}\varvec{{e}}\end{aligned}$$
(43)
Now
\(\mathrm {d}R_\mathrm{{SVS}}\) is derived as:
$$\begin{aligned} \mathrm {d}R_\mathrm{{SVS}}= & {} \int _{\mathcal {B}} \left( \varvec{{h}}\, \varvec{{h}}^\mathrm {T}\frac{1}{\varphi ^{(i)}} + \varvec{{g}}\, \varvec{{g}}^\mathrm {T}\right) \mathrm {d}\varvec{{e}}\,\mathrm {d}V \nonumber \\&- \int _{\mathcal {B}} \varvec{{h}}\, \varvec{{h}}^\mathrm {T}\, \varvec{{e}}^{(i)} \frac{1}{\left( \varphi ^{(i)} \right) ^2} \; d\mathcal {F}_{{\tilde{\epsilon }}}^{(i)} \left[ \varvec{{s}}^\mathrm {T}\right] ^{(i)} \varvec{{B}}\, \mathrm {d}\varvec{{a}}\,\; \mathrm {d}V \nonumber \\&- \int _{\mathcal {B}} \varvec{{h}}\, \varvec{{h}}^\mathrm {T}\, \varvec{{e}}^{(i)} \frac{1}{\left( \varphi ^{(i)} \right) ^2} \; d\mathcal {F}_{\omega }^{(i)} \, \mathcal {G}^{(i)} \, \varvec{{h}}^\mathrm {T}\, \mathrm {d}\varvec{{e}}\,\; \mathrm {d}V\nonumber \\&- \int _{\mathcal {B}} \varvec{{h}}\frac{1}{\varphi ^{(i)}} \, \left[ \varvec{{s}}^\mathrm {T}\right] ^{(i)} \varvec{{B}}\, \mathrm {d}\varvec{{a}}\,\mathrm {d}V \nonumber \\&+ \int _{\mathcal {B}} \varvec{{h}}\, {\tilde{\epsilon }}^{(i)} \frac{1}{\left( \varphi ^{(i)} \right) ^2} \; d\mathcal {F}_{{\tilde{\epsilon }}}^{(i)} \left[ \varvec{{s}}^\mathrm {T}\right] ^{(i)} \varvec{{B}}\, \mathrm {d}\varvec{{a}}\,\; \mathrm {d}V \nonumber \\&+ \int _{\mathcal {B}} \varvec{{h}}\, {\tilde{\epsilon }}^{(i)} \frac{1}{\left( \varphi ^{(i)} \right) ^2} \; d\mathcal {F}_{\omega }^{(i)} \, \mathcal {G}^{(i)} \, \varvec{{h}}^\mathrm {T}\, \mathrm {d}\varvec{{e}}\,\; \mathrm {d}V \qquad \qquad \end{aligned}$$
(44)
Using Eqs. (
37) and (
44), the residuum in Eq. (
36) is transformed into the matrix form:
$$\begin{aligned} (\varvec{{K}}_{ea} + \varvec{{K}}_{ea}^\mathrm{{SVS}} ) \mathrm {d}\varvec{{a}}+ (\varvec{{K}}_{ee} + \varvec{{K}}_{ee}^\mathrm{{SVS}} ) \mathrm {d}\varvec{{e}}= \varvec{{f}}_{\epsilon }^{(i)} - \varvec{{f}}_{e}^{(i)} \end{aligned}$$
(45)
The matrices and vectors in this equation are:
$$\begin{aligned}&\varvec{{K}}_{ea} = - \int _{\mathcal {B}} \varvec{{h}}\frac{1}{\varphi ^{(i)}} \left[ \varvec{{s}}^{\mathrm {T}} \right] ^{(i)} \varvec{{B}}\,\mathrm {d}V \end{aligned}$$
(46)
$$\begin{aligned}&\varvec{{K}}_{ea}^\mathrm{{SVS}} = \int _{\mathcal {B}} \varvec{{h}}\left( - \varvec{{h}}^\mathrm {T}\varvec{{e}}^{(i)} + {\tilde{\epsilon }}^{(i)} \right) \frac{d\mathcal {F}_{{\tilde{\epsilon }}}^{(i)}}{\left( \varphi ^{(i)} \right) ^2} \, \left[ \varvec{{s}}^\mathrm {T}\right] ^{(i)} \varvec{{B}}\, \mathrm {d}V \end{aligned}$$
(47)
$$\begin{aligned}&\varvec{{K}}_{ee} = \int _{\mathcal {B}} (\varvec{{h}}\, \varvec{{h}}^\mathrm {T}\frac{1}{\varphi ^{(i)}} + \varvec{{g}}\, \varvec{{g}}^\mathrm {T}) \, \mathrm {d}V \end{aligned}$$
(48)
$$\begin{aligned}&\varvec{{K}}_{ee}^\mathrm{{SVS}} = \int _{\mathcal {B}} \varvec{{h}}\left( - \varvec{{h}}^\mathrm {T}\varvec{{e}}^{(i)} + {\tilde{\epsilon }}^{(i)} \right) \frac{d\mathcal {F}_{\omega }^{(i)} }{\left( \varphi ^{(i)} \right) ^2} \, \mathcal {G}^{(i)} \, \varvec{{h}}^\mathrm {T}\, \mathrm {d}V \end{aligned}$$
(49)
$$\begin{aligned}&\varvec{{f}}_{\epsilon }^{(i)} = \int _{\mathcal {B}} \varvec{{h}}\frac{1}{\varphi ^{(i)}} {\tilde{\epsilon }}^{(i)} \,\mathrm {d}V \end{aligned}$$
(50)
$$\begin{aligned}&\varvec{{f}}_{e}^{(i)} = \varvec{{K}}_{ee} \varvec{{e}}^{(i)} \end{aligned}$$
(51)
Finally, this gradient damage formulation can be assembled as a coupled matrix problem:
$$\begin{aligned} \left[ \begin{array}{cc} \varvec{{K}}_{aa} &{} \varvec{{K}}_{ae} \\ \varvec{{K}}_{ea} + \varvec{{K}}_{ea}^\mathrm{{SVS}} &{} \; \varvec{{K}}_{ee} + \varvec{{K}}_{ee}^\mathrm{{SVS}} \end{array} \right] \left[ \begin{array}{c} \mathrm {d}\varvec{{a}}\\ \mathrm {d}\varvec{{e}}\end{array} \right] = \left[ \begin{array}{c} \varvec{{f}}_\mathrm {ext}^{(i+1)} - \varvec{{f}}_\mathrm {int}^{(i)} \\ \varvec{{f}}_{\epsilon }^{(i)} - \varvec{{f}}_{e}^{(i)} \end{array} \right] \end{aligned}$$
(52)
Actually, it should be pointed out that in practice function
\(\varphi \) can depend either on equivalent strain
\({\tilde{\epsilon }}\) or damage
\(\omega \). This means that if
\(\varphi = \varphi ({\tilde{\epsilon }})\) then in Eq. (
52)
\(\varvec{{K}}_{ea}^\mathrm{{SVS}} \ne \mathbf {0}\) and
\(\varvec{{K}}_{ee}^\mathrm{{SVS}} = \mathbf {0}\), and if
\(\varphi = \varphi (\omega )\) then
\(\varvec{{K}}_{ea}^\mathrm{{SVS}} = \mathbf {0}\) and
\(\varvec{{K}}_{ee}^\mathrm{{SVS}} \ne \mathbf {0}\).