Digital integration of the model =============================== Discretization (1D) ------------------- Let us first consider the non-aging case. The creep deformation for the Kelvin :math:`s` chain alone is written as follows (see): .. math:: :label: eq-16 {\ mathrm {\ epsilon}} _ {s}} ^ {\ mathit {fl}} (t) =\ underset {{t} _ {0}} {\ overset {t} {\ int}} {\ int}} {J}} {J} _ {s}} {s}\ left (1-\ mathrm {exp}}\ left (1-\ mathrm {exp}}\ left (1-\ mathrm {exp}}\ left (-\ frac {t}} _ {\ int}} {\ int}} {\ int}} {\ int}} {\ int}} {\ int}} {\ int}} {\ int}} {\ int}} {\ int}} {\ int}} {\ int}} {J} thrm {\ tau}} _ {s}}\ right)\ right)\ right)\ right)\ frac {\ partial S} {\ partial {t} _ {c}} {\ mathit {dt}}}\ right)\ right)\ right)\ right)\ right)\ frac {\ partial S} {\ partial S} {\ partial {t} _ {c}} {\ mathit {dt}} The numerical integration of the model is done by approximating :math:`S\left(t\right)` as a piecewise linear function over the succession of :math:`n` time increments :math:`{\mathrm{\Delta }t}_{i}={t}_{i}-{t}_{i-1}` with :math:`i=\mathrm{1,}\cdots ,n`. As a result, :math:`\dot{S}` is constant on :math:`t\in [:ref:`{t}_{i-1},{t}_{i} <{t}_{i-1},{t}_{i}>`] `and equal to :math:`\frac{{\mathrm{\Delta }S}_{i}}{{\mathrm{\Delta }t}_{i}}`. The deformation of the chain :math:`s` at time :math:`{t}_{n}` is then given by the following expression: .. math:: :label: eq-17 {\ mathrm {\ epsilon}} _ {s} ^ {\ mathit {fl}} {\ mathit {fl}}} ({t} _ {n}) =\ sum _ {i=1} ^ {n}\ frac {\ mathrm {\ mathrm {\ Delta} {\ Delta} {\ epsilon}}\ frac {\ mathrm {\ Delta} {\ Delta} {\ Delta} {S} {S} {S} {S} {S} {S}} _ {i-1}} {\ mathrm {\ Delta} {S} {S} {S}} _ {i-1}}\ underset {{t}} _ {i-1}} {\ o{ t} _ {i}} {\ int}} {\ int}} {\ int}} {\ int}} {J} _ {int}}} {\ int}} {\ int}} {\ int}} {\ int}} {\ int}} {\ int}}} {\ int}} {\ int}} {\ int}} {\ int}} {\ int}} {\ int}} {\ int}} {\ int}} {J} _ {tau}} {J} _ {\ tau}}\ left (1-\ mathrm {\ exp}}\ left (-\ frac {t- {t}} _ {c}} _ {c}} We get: .. math:: :label: eq-18 {\ mathrm {\ epsilon}} _ {s} ^ {\ mathit {fl}} {\ mathit {fl}}} ({t} _ {n}) =\ sum _ {i=1} ^ {n}\ left (\ frac {\ mathrm {\ mathrm {\ Delta}} {\ left) {\ mathrm {\ Delta}}\ left (\ frac {\ mathrm {\ mathrm {\ Delta} {\ Delta} {S} {S} {S}} {S} _ {i}} {right) {J} _ {}}\ right) {J} _ {s}\ mathrm {\ Delta} {t} _ {i} -\ sum _ {i}} -\ sum _ {i=1} ^ {n}\ left (\ frac {\ Delta} {S}} _ {i}}} {\ mathrm {i}}}} {\ mathrm {\ i}}} {\ mathrm {\ tau}}} {\ mathrm {\ tau}}} {\ mathrm {\ i}}} {\ mathrm {\ tau}}} {\ mathrm {\ tau}}} {\ mathrm {\ i}}} {\ mathrm {\ tau}}} {\ mathrm {\ tau}}} {\ mathrm {\ delta}}} {\ mathrm {\ tau}}} {left (\ mathrm {exp}\ left (-\ frac {{t} _ {n} _ {n} - {t} _ {i}} {{\ mathrm {\ tau}}} _ {s}}\ right) -\ mathrm {exp}\ right) -\ mathrm {exp}\\ left (-\ frac {{t} _ {\ tau}} _ {i-1}}\ right) -\ mathrm {exp}\ right) -\ mathrm {exp}\ left (-\ frac {{t} _ {i-1}}} {{\ mathrm {\ mathrm {\}}\ right) -\ mathrm {exp}\ right) -\ mathrm {exp}\ left (-\ frac tau}} _ {s}}\ right)\ right) And so: .. math:: :label: eq-19 {\ mathrm {\ epsilon}} _ {s}} ^ {\ mathit {fl}}} ({t} _ {n}) = {J} _ {s}\ underset {{A} _ {n}} {n} ^ {n}} ^ {n}}\ underset {0}} ^ {0}}} {\ underset {0}}} {\ underset {0}}} {\ underset {0}}} {\ underset {0}}} {\ underset {0}}} {\ underset {}} {\ underset {}} {\ underset {}} {\ sum _ {f}}} -\ underset {{A} _ {n} ^ {s}} {\ underset {{s}} {\ underset {} {{J} _ {s}\ sum _ {i=1} ^ {n}\ mathrm {\ Delta} {S} {S}}\ mathrm {\ Delta} {S} {S}}\ mathrm {\ Delta} {S} {S}}\ mathrm {\ Delta} {S} {S}\ mathrm {\ Delta} {S} {S} {S}\ mathrm {\ Delta} {S} {S} {S}\ mathrm {\ Delta} {S} {S} {S}\ mathrm {\ Delta} {S} {S} {S}\ mathrm {\ Delta} {S}\ left (\ mathrm {exp}\ left (-\ frac {{t} _ {n} _ {n} - {t} _ {i}}} {{\ mathrm {\ tau}}} _ {s}}\ right)\ right)\ right)\ right)\ right)\ right)\ right)\ right)\ right)\ right)\ left (1-\ mathrm {exp}}\ left (-\ frac {\ mathrm {\ tau}} {t}}\ right)\ right)\ right)\ right)\ right)\ right)\ right)\ right)\ left (1-\ mathrm {exp}}\ left (-\ frac {\ mathrm {\ delta} {t}}\ right)\ right)\ right)\ right {\ mathrm {\ tau}} _ {s}}\ right)\ right)}}} = {J} _ {s} {A} _ {n} ^ {0} - {A}} - {A} _ {n} ^ {s} - {A} _ {n} ^ {s} To :math:`{t}_{n+1}` you can also write: .. math:: : label: eq-20 \ begin {array} {c} {\ mathrm {\ epsilon}}} _ {\ epsilon}} _ {\ epsilon}}} _ {n+1}) = {J} _ {s}\ sum _ {i=1}\ sum _ {i=1}} ^ {1} ^ {n} ^ {n}\ mathrm {\ Delta} {n} {n}}\ mathrm {\ Delta} {S} - {J} _ {s}\ sum _ {i=1} ^ {n} ^ {n}\ mathrm {\ Delta} {S} {S} _ {i}\ frac {{\ mathrm {\ tau}} _ {s}} {\ mathrm {\ Delta} {t}} _ {i}}\ left (\ mathrm {exp}}\ left (-\ frac {{t}} _ {i}}} {i}}\ left (\ mathrm {exp}\ left (-\ frac {{t}} _ {i}}}\ left (\ mathrm {exp}}\ left (-\ frac {{t}} _ {i}}} {i}}\ left (\ mathrm {exp}}\ left (-\ frac {{t}} _ {i}}} {i}}\ left m {\ tau}} _ {s}}\ right)\ right)\ right)\ right)\ left (1-\ mathrm {exp}\ left (-\ frac {\ mathrm {\ Delta} {t}} _ {i}}}} {{i}}}} {{i}}}} {{s}}} {{s}}} {{s}}} {{s}}} {{s}}} {{s}}} {{s}}} {{s}}} {{s}}} {{s}}} {{s}}} {{s}}} {{s}}} {{s}}} {{s}}} {{s}}} {{s}}} {{s}}} {{s}}} S} _ {n+1} - {J} _ {s}\ mathrm {\ Delta} {s} {S} _ {n+1}\ frac {{\ mathrm {\ tau}} _ {s}} {\ mathrm {\ Delta}} {s}} {\ mathrm {\ delta} {t} {t} _ {n+1}}\ left (-\ frac {\ mathrm {\ mathrm {\ tau}} _ {\ tau}} _ {s}}} {\ mathrm {\ tau}} _ {s}}} {\ mathrm {\ delta} {t} {t} _ {n+1}}\ left (-\ frac {\ mathrm {\ mathrm {\ tau}}} _ {s}}} {s} Delta} {t} _ {n+1}} { {\ mathrm {\ tau}} _ {s}}\ right)\ right)\ end {array} So, with :math:`{\mathrm{\Delta }}_{n+1}={t}_{n+1}-{t}_{n}`: .. math:: : label: eq-21 \ begin {array} {c} {\ mathrm {\ epsilon}}} _ {\ epsilon}} _ {\ epsilon}}} _ {n+1}) = {J} _ {s}\ sum _ {i=1}\ sum _ {i=1}} ^ {1} ^ {n} ^ {n}\ mathrm {\ Delta} {n} {n}}\ mathrm {\ Delta} {S} - {J} _ {s}\ sum _ {i=1} ^ {n} ^ {n}\ mathrm {\ Delta} {S} {S} _ {i}\ frac {{\ mathrm {\ tau}} _ {s}} {\ mathrm {\ Delta} {t}} _ {i}}\ left (\ mathrm {exp}}\ left (-\ mathrm {exp}}\ left (-\ frac {{t}} _ {i}}}\ left (\ mathrm {exp}}\ left (-\ frac {{t}} _ {i}}}\ left (\ mathrm {exp}}\ left (-\ frac {{t}} _ {i}}}\ left (\ mathrm {exp}}\ left (-\ frac {{t}} _ {i}}} {\ tau}} _ {s}}\ right)\ right)\ right)\ right)\ left (\ mathrm {exp}\ left (-\ frac {\ mathrm {\ Delta} {t} _ {n+1}}}} {{n+1}}}}}}}\ right)\ left (-\ frac\ mathrm {\ Delta} {t} _ {i}} {{i}} {{\ mathrm {\ tau}} {{s}}\ right)\\ + {J} _ {s}\ mathrm {\ Delta} {s}\ mathrm {\ Delta} {s}\ mathrm {\ Delta} _ {s} _ {n+1}\ mathrm {\ delta} {s}\ mathrm {\ delta} {s}\ mathrm {\ delta} {s}}\ mathrm {\ delta} {s}}\ mathrm {\ delta} {s} _ {n+1}\ mathrm {\ delta} {thrm {\ tau}} _ {s}} {\ mathrm {\ Delta} {t} {t} _ {n+1}}}\ left (1-\ mathrm {exp}\ left (-\ frac {\ mathrm {\ Delta} {t} {t} _ {n+1}}} _ {\ mathrm {\ tau}}}\ left (-\ frac {\ mathrm {\ delta} {t} {t}} {t} _ {n+1}}}} {{n+1}}}} {{\ mathrm {\ tau}}} _ {s}}\ right)\ right)\ end {array} {t} _ {n+1}}} {{n+1}}} {{n+1}}} { We recognize the expression for :math:`{A}_{n}^{0}` and :math:`{A}_{n}^{s}` from equation (). In the end, we can therefore write for the chain :math:`s`: .. math:: :label: eq-22 {\ mathrm {\ epsilon}} _ {s} ^ {\ mathit {fl}}} ({t} _ {n+1}) = {J} _ {s} {A} _ {n} ^ {0} - {a} ^ {0} - {A} ^ {0} - {A} _ {0} - {A} _ {0} - {A} ^ {0} - {A} _ {0} - {A} _ {0} - {A} _ {0} - {A} _ {0} - {A} _ {0} - {A} _ {0} - {A} _ {0} - {A} _ {0} - {A} _ {0} - {A} _ {0} - {A} _ {0} - {A} _ {0} n+1}} {{\ mathrm {\ tau}}} _ {s}}}\ right) + {J} _ {s}\ mathrm {\ Delta} {S} _ {n+1} - {J} _ {s} {s}\ mathrm {\ delta}} {s}}\ mathrm {\ delta} {S}} {\ mathrm}} {\ Delta} {t} _ {n+1}}}\ left (1-\ mathrm {exp}\ left (-\ frac {\ mathrm {\ Delta} {t} {t} _ {n+1}}}} {{n+1}}}}} {{n+1}}}}} {n+1}}}}} {{n+1}}}}} {{n+1}}}} {{n+1}}}} {{n+1}}}} {{n+1}}}} {{n+1}}}} {{n+1}}}} {{n+1}}} Now let's consider Kelvin's eight channels in series. We have: .. math:: :label: eq-23 {\ mathrm {\ epsilon}}} ^ {\ mathit {fl}}} ({t} _ {n}) =\ sum _ {s=1} ^ {8} {\ mathrm {\ epsilon}} {\ mathrm {\ epsilon}}} ^ {s} ^ {\ mathit {fl}}} ({t} _ {n}) Let's say :math:`J=\sum _{s=1}^{8}{J}_{s}`. According to () and () we have at :math:`{t}_{n}`: .. math:: :label: eq-24 {\ mathrm {\ epsilon}}} ^ {\ mathit {fl}}} ({t} _ {n}) =J {A} _ {n} ^ {0} -\ sum _ {s=1}} ^ {1} ^ {1} ^ {1} ^ {1} ^ {1} ^ {s} ^ {s} ^ {s} At :math:`{t}_{n+1}` we also have: .. math:: :label: eq-25 {\ mathrm {\ epsilon}}} ^ {\ mathit {fl}}} ({t} _ {n+1}) =J {A} _ {n+1} ^ {0} -\ sum _ {s=1} -\ sum _ {s=1}} ^ {s=1} ^ {1} ^ {1} ^ {1}} ^ {s} With: .. csv-table:: ":math:`{A}_{n+1}^{0}={A}_{n}^{0}+\mathrm{\Delta }{S}_{n+1}` and :math:`{A}_{n+1}^{s}={A}_{n}^{s}\mathrm{exp}\left(-\frac{\mathrm{\Delta }{t}_{n+1}}{{\mathrm{\tau }}_{s}}\right)+{J}_{s}\mathrm{\Delta }{S}_{n+1}\frac{{\mathrm{\tau }}_{s}}{\mathrm{\Delta }{t}_{n+1}}\left(1-\text{exp}\left(-\frac{\mathrm{\Delta }{t}_{n+1}}{{\mathrm{\tau }}_{s}}\right)\right)` ", "(26)" More precisely, if we also take into account the effect of aging and considering the aging coefficient constant on :math:`{\mathrm{\Delta }t}_{i}`, we have: .. csv-table:: ":math:`{A}_{n+1}^{0}={A}_{n}^{0}+k({t}_{n+1/2})\mathrm{\Delta }{S}_{n+1}` and :math:`{A}_{n+1}^{s}={A}_{n}^{s}\mathrm{exp}\left(-\frac{\mathrm{\Delta }{t}_{n+1}}{{\mathrm{\tau }}_{s}}\right)+{J}_{s}k({t}_{n+1/2})\mathrm{\Delta }{S}_{n+1}\frac{{\mathrm{\tau }}_{s}}{\mathrm{\Delta }{t}_{n+1}}\left(1-\text{exp}\left(-\frac{\mathrm{\Delta }{t}_{n+1}}{{\mathrm{\tau }}_{s}}\right)\right)` ", "(27)" **Note:** We noted: *:math:`{\mathrm{\Delta \; X}}_{i}={X}_{i}-{X}_{i-1}`\* . * * :math:`{X}_{n+1/2}=\frac{{X}_{n+1}+{X}_{n}}{2}` To have :math:`{\mathrm{\epsilon }}^{\mathit{fl}}` at time :math:`{t}_{n+1}`, you only need to store :math:`{A}^{0}` and the :math:`{A}^{s}` of the previous time step, which is nine variables. In 3D, :math:`{A}_{0}` and :math:`{A}^{s}` are tensors. We will then associate the two natural flow behavior relationships (9x6) with internal variables corresponding to the components of the :math:`A` tensors. They characterize the progress of creep. Writing in deformation increment :math:`\mathrm{\Delta }{\mathrm{\epsilon }}_{s}^{\mathit{fl}}({t}_{n+1})={\mathrm{\epsilon }}_{s}^{\mathit{fl}}({t}_{n+1})-{\mathrm{\epsilon }}_{s}^{\mathit{fl}}({t}_{n})`, closer to programming, gives: .. math:: :label: eq-28 \ mathrm {\ Delta} {\ mathrm {\ epsilon}}} _ {\ epsilon}} _ {\ epsilon}} _ {n+1}) = {A} _ {n} ^ {s}\ left (1-\ mathrm {epsilon}}}\ left (-\ frac {\ mathrm {\ Delta} {t}} ^ {s} ^ {s}} {s}\ left (1-\ mathrm {exp}}\ left (-\ frac {\ mathrm {\ Delta} {t}} _ {n} ^ {s}} {s}\ s}\ left (1-\ mathrm {exp}}\ left (-\ frac {\ mathrm {\ Delta} {t}} {n} ^ {\ mathrm {\ tau}} _ {s}}\ right)\ right)\ right)\ right) + {J} _ {s} k ({t} _ {n+1/2})\ mathrm {\ Delta} {S} {S}} _ {s}} _ {s}} {\ mathrm {\ delta} {s}} _ {n+1}\ left (1-\ frac {{\ mathrm {\ tau}}} _ {n+1}\ left (1-\ frac {{\ mathrm {\ tau}}} _ {n+1}}\ left (1-\ frac {{\ mathrm {\ tau}}} _ {n+1}}\ left (1-\ frac {{\ mathrm {\ tau}}} +1}}\ left (1-\ mathrm {exp}\ left (-\ frac {\ mathrm {\ Delta} {t} _ {n+1}} {{\ mathrm {\ tau}}} _ {S}}\ right)\ right)\ right)\ right) Integrating the behavioral relationship ------------------------------------------ We note :math:`\mathrm{\Delta }\mathrm{\epsilon }` the infinitesimal deformation increment such that: .. math:: :label: eq-29 \ mathrm {\ Delta}\ mathrm {\ epsilon} =\ frac {1} {2}\ left (\nabla (\ mathrm {\ Delta} u) + {\nabla}} ^ {T} (\ mathrm {\ Delta} u)\ right) If we take into account, in the deformation partition, thermal deformation, deformations associated with endogenous shrinkage and desiccation shrinkage, then we have: .. math:: : label: eq-30 \ mathrm {\ Delta}\ mathrm {\ epsilon} =\ mathrm {\ epsilon} =\ mathrm {\ epsilon}} ^ {e} +\ mathrm {\ Delta} {\ delta} {\ delta} {\ delta} {\ delta} {\ delta} {\ delta} {\ delta} {\ delta} {\ delta} {\ delta} {\ delta} {\ delta} {\ delta} {\ delta} {\ delta} {\ delta} {\ delta} {\ delta} {\ delta} {\ delta} {\ delta} {\ delta} {\ delta} {\ delta} {\ delta} {\ delta} {\ delta} {\ delta} {\ delta} {\ delta} {\ delta} {\ delta} {\ delta} {\ delta} {{\ mathit {th}} +\ mathrm {\ Delta} {\ mathrm {\ epsilon}} ^ {\ mathit {ret} -\ mathit {end}}} +\ mathrm {\ Delta} {\ delta} {\ delta} {\ delta} {\ delta} {\ delta} {\ delta} {\ delta} {\ delta} {\ delta} {\ delta} {\ delta} {\ delta} {\ delta} {\ delta} {\ delta} {\ delta} {\ delta} {\ delta} {\ delta} {\ delta} {\ delta} {\ mathrm {\ delta} {\ delta} {\ mathrm {\ epsilon}}} With elastic deformation such as: .. math:: : label: eq-31 {\ mathrm {\ epsilon}}} ^ {e} =H\ mathrm {\ sigma} :math:`H` is Hooke's elasticity tensor. Thermal deformation is written as: .. math:: : label: eq-32 {\ mathrm {\ epsilon}}} ^ {\ mathit {th}} =\ mathrm {\ alpha} (T- {T} _ {\ mathit {ref}}}) {\ mathit {ref}}) {I} _ {d} For a given temperature :math:`T`, with :math:`\mathrm{\alpha }` the thermal expansion coefficient and :math:`{T}_{\mathit{ref}}` the reference temperature. Endogenous shrinkage and desiccation deformations: .. math:: :label: eq-33 {\ mathrm {\ epsilon}} ^ {\ mathit {ret} -\ mathit {end}} =-\ mathrm {\ beta}\ mathrm {\ xi} {i} {i} _ {d} With :math:`\mathrm{\xi }` hydration, :math:`C` water concentration, :math:`{C}_{\mathit{ref}}` reference drying and :math:`(\mathrm{\beta },\mathrm{\kappa })` material characteristics. **Note:** *In the rest of the document, we will note* :math:`\mathrm{\Delta }{\mathrm{\epsilon }}^{A}=\mathrm{\Delta }{\mathrm{\epsilon }}^{\text{th}}+\mathrm{\Delta }{\mathrm{\epsilon }}^{\text{ret}\text{}\text{end}}+\mathrm{\Delta }{\mathrm{\epsilon }}^{\text{ret}\text{}\text{des}}` *.* In 3D, for the deviatory part, we therefore have the following constraint: .. math:: :label: eq-34 \ stackrel {~} {\ mathrm {\ sigma}}} =2\ mathrm {\ mu} {\ stackrel {~} {\ mathrm {\ epsilon}}}} ^ {e} =\ frac {2\ mathrm {\ sigma}} =2\ mathrm {\ mu}} {\ stackrel {\ epsilon}}}} {\ stackrel {~}} =\ frac {2\ mathrm {\ mu}} {\ mathrm {\ mu}} {\ mathrm {\ mu}} {\ mathrm {\ mu}} {\ mathrm {\ mu}} {\ mathrm {\ mu}} {\ mathrm {\ mu}} {\ mathrm {\ mu}}} {\ thrm {\ sigma}}} ^ {-} +2\ mathrm {\ mu}\ mathrm {\ mu}\ mathrm {\ delta}\ stackrel {~} {\ mathrm {\ epsilon}}} -2\ mathrm {\ mu}\ mathrm {\ mu}\ mathrm {\ mu}}\ mathrm {\ mu}}\ mathrm {\ mu}}\ mathrm {\ mu}\ mathrm {\ mu}\ mathrm {\ mu}\ mathrm {\ mu}\ mathrm {\ mu}\ mathrm {\ mu}\ mathrm {\ mu}\ mathrm {\ mu}}\ mathrm {\ mu}\ mathrm {\ mu}}\ mathrm {\ mu} And the creep deformation: .. math:: :label: eq-35 {\ stackrel {~} {\ mathrm {\ epsilon}}}}}} ^ {\ mathit {fl}} ({t} _ {n+1}) = (1+ {\ mathrm {\nu}}} _ {f}}} _ {f}})\ left (J {\ stackrel {\ epsilon}}}}} ^ {A}} ({t} _ {n+1}}) = (1+ {\ mathrm {\nu}}}} _ {f}}} _ {f})\ left (J {\ stackrel {~} {A}}} _ {0} -\ sum _ {s=1}} ^ {0} -\ sum _ {s=1}} {f})\ left (J {\ stackrel {8} {\ stackrel {~} {A}}} _ {n+1} ^ {s}\ right) To simplify the writing, note: .. math:: :label: eq-36 {A} _ {n+1}\ Rightarrow A {A} _ {n}\ Rightarrow {A} ^ {-} First, we express the equivalent (deviatoric) stress increment from (): .. math:: :label: eq-37 \ mathrm {\ Delta}\ stackrel {~} {S} =h\ stackrel {~} {\ mathrm {\ sigma}} - {h} ^ {-} {\ stackrel {-} {\ stackrel {~} {\ stackrel {~}} {\ stackrel {~}} {\ stackrel {~}} {\ stackrel {~}} {\ stackrel {~} {\} {\ stackrel {~}} {\ stackrel {~}} {\ stackrel {~}} {\ By applying the deviatoric part of () (sum over all strings) to the expression of the deviatoric constraint (): .. math:: :label: eq-38 \ begin {array} {c}\ stackrel {~} {\ mathrm {\ sigma}}} =\ frac {2\ mathrm {\ mu}} {2 {\ mathrm {\ mu}}} ^ {-}} ^ {-}} {-}} {\ stackrel {~}} {\ mathrm {\ sigma}}}} ^ {-}} +2\ mathrm {\ mu}}} ^ {mu}}} ^ {mu}}} ^ {mu}}} ^ {mu}}} ^ {mu}}} ^ {mu}}} ^ {mu}}} ^ {mu}}} ^ {mu}}} ^ {mu}}} ^ {mu}}} ^ {mu}}} ^ {mu}}} ^ {mu}}} ^ {Delta}\ stackrel {~} {\ mathrm {\ epsilon}} -\\\ phantom {\ rule {6em} {0ex}} 2\ mathrm {\ mu} (1+ {\ mathrm {\nu}}}} _ {f}} _ {f})\ left [\ sum _ {s}}\ left\ {{\ stackrel {~} {a}} {A}} (1+ {\ mathrm {\nu}}}} _ {f}} _ {f})\ left [\ sum _ {s}}\ left [\ sum _ {s}}\ left\ {{\ stackrel {~} {A}} {A}}} ^ {u}}} _ {f})\ left [\ sum _ {s}}\ left}\ left (1-\ mathrm {exp}\ left (-\ frac {\ mathrm {\ Delta} t} {{\ mathrm {\ tau}} _ {s}}\ right)\ right)\ right)\ right)\ right\}\ right\ right\}\ right\ right\}}\ right\ right\}\ right\ right\}\ right\ right\}}\ right\ right\}\ right\ right\}\ right\ right\}\ right\}\ right\ right\}\ right\}\ right\}\ right\}\ right\}\ right\}\ right\}\ right\}\ right\}\ right\}\ right\}\ right\}\ right\}\ right\}\ right\}\ right\}\ right\}\ right\\ left\ {{J} _ {s}\ left (1-\ frac {{\ mathrm {\ tau}} _ {s}} {\ mathrm {\ Delta} t}\ left (1-\ mathrm {exp}\ exp}\ left (-\ frac {\ mathrm {\ Delta} t}} { {\ mathrm {\ tau}} _ {S}}\ right)\ right)\ right)\ right\}\ right]\ end {array} We inject () into it, which gives: .. math:: :label: eq-39 \ begin {array} {c}\ stackrel {~} {\ mathrm {\ sigma}}\ left [1+2\ mathrm {\ mu} (1+ {\ mathrm {\nu}}} _ {f}) (hk ({t}}}) {\ f}) (hk ({t} _ {f})) (hk ({t} _ {f})) (hk ({t} _ {f})) (hk ({t} _ {f})) (hk ({t} _ {\ mathrm {\ mathrm {\nu}}} _ {f})) (hk ({t} _ {f})) (hk ({t} _ {f})) (hk ({t} _ {\ mathrm {\ u}}} thrm {\ tau}} _ {s}} {\ mathrm {\ Delta} t}}\ left (1-\ mathrm {exp}\ left (-\ frac {\ mathrm {\ Delta} t} {{\ mathrm {\ delta}} t} {\ mathrm {\ tau}}}}\ left (1-\ mathrm {\ tau}}}\ right)\ left (-\ frac {\ mathrm {\ Delta} t}} {{\ mathrm {\ tau}}} _ {S}}\ right)\ right)\ right] =\\\ frac {2\ mathrm {\ tau}}} _ {S}}\ right)\ right)\ right)\ right] =\\\ frac {2\ mathrm {\ mu}} {2 {\ mathrm {\ mu}}} ^ {-}} {\ stackrel {-}} {\ mathrm {\ sigma}}} ^ {-} +2\ mathrm {\ mu}\ mathrm {\ mu}\ mathrm {\ mu}}\ mathrm {\ mu}}\ mathrm {\ mu} (1+ {\ mathrm {\nu}} _ {f})\ left [\ sum _ {f})\ left [\ sum _ {s}\ left\ {{\ stackrel {~} {A}}} ^ {-, s}\ left (1-\ mathrm {\ exp})\ left (-\ frac {\ mathrm {\ Delta}} {\ delta}}\ left (1-\ mathrm {exp}\ exp}\ left (-\ frac {\ mathrm {\ Delta} t} {{\ delta} t} {{\ mathrm {\ tau}} _ {s}}\ right)\ right)\ right)\ right)\ right\} -k ({t} _ {n+1/2}) {h} ^ {-} {\ stackrel {~} {\ stackrel {~} {} {} {\} {\} {\ stackrel {~} {} {} {} {} {} {} {} {\} {\ stackrel {~} {} {\} {\} {\} {\} {\ left (1-\ mathrm {\ sigma}}} {\ right)}}} ^ {-}} ^ {-}\ sum _ {s} _ {s}\ left (1-\ frac {\ sigma}}} {\ mathrm {\ sigma}}}}} thrm {\ tau}} _ {s}} {\ mathrm {\ Delta} t}}\ left (1-\ mathrm {exp}\ left (-\ frac {\ mathrm {\ Delta} t} {{\ mathrm {\ delta}} t} {\ mathrm {\ tau}}}}} _ {\ mathrm {\ tau}}}} _ {S}}\ right)\ right)\ right)\ right\ right\}\ right]\ end {array} Likewise, for the spherical part we have: .. math:: :label: eq-40 \ mathit {tr} (\ mathrm {\ sigma}}) =\ frac {\ sigma}) =\ frac {3K}} {3 {K} ^ {sigma}} ^ {-}) +3K\ mathit {-}) +3K\ mathit {-}) +3K\ mathit {-}) -3K\ mathit {-}) -3K\ mathit {tr} (\ mathrm {\ Delta} {\ mathrm {\ epsilon}}} ^ {\ mathit {fl}}) -3K\ mathit {tr} (\ mathrm {\ Delta} {\ delta} {\ mathrm {\ epsilon}}} ^ {A}) With the expression for the trace of the creep deformations (sum over all the chains): .. math:: :label: eq-41 \ begin {array} {c}\ mathit {tr} ({\ mathrm {\ epsilon}}} ^ {\ mathit {fl}}) =\\ (1-2 {\ mathrm {\nu}}} _ {f})\ sum _ {f})\ sum _ {f})\ sum _ {s})\ sum _ {s})\ f})\ sum _ {f})\ sum _ {s})\ sum _ {s})\ sum _ {s})\ left (1-\ mathrm {exx}) p}\ left (-\ frac {\ mathrm {\ delta} t} {{\ mathrm {\ tau}} _ {s}}\ right)\ right\} +\\ k ({t} _ {n+1/2})\ mathit {n+1/2})\ mathit {\ delta} t} {\ delta} t} {{r} t})\ mathit {\ delta} t} {{r} t})\ mathit {tr} (S)\ sum _ {s}\ left (1-\ frac {{\ mathrm {\ tau}} _ {s}} {\ mathrm {\ Delta} t}\ left (1-\ mathrm {exp}\ left (-\ frac {\ mathrm {\ delta} t} {{\ mathrm {\ delta}} t} {{\ mathrm {\ delta}}} {\ mathrm {\ tau}}} _ {S}}\ right)\ right)\ right\}\ right\}\ end {array} Finally: .. math:: :label: eq-42 \ begin {array} {c}\ mathit {tr} (\ mathrm {\ sigma})\ left [1+3K (1-2 {\ mathrm {\nu}} _ {f}) (hk ({t} _ {n+1/2})) (hk ({t} _ {n+1/2}))\ sum _ {n+1/2}))\ sum _ {n+1/2}))\ sum _ {n+1/2}))\ sum _ {n+1/2}))\ sum _ {s}\ left (1-\ frac {{\ mathrm {\ mathrm {\ mathrm {\ 1/2}))\ sum _ {n+1/2}))\ sum _ {\ mathrm {\ 1/2}) tau}} _ {s}} {\ mathrm {\ delta} t}}\ left (1-\ mathrm {exp}\ left (-\ frac {\ mathrm {\ Delta} t} {{\ mathrm {\ tau}}}}} _ {\ tau}}}}} _ {tau}}}}} _ {tau}}}} _ {tau}}} _ {tau}}} _ {\ tau}}} _ {\ tau}}} _ {\ tau}}} _ {\ tau}}} _ {\ tau}}} _ {\ tau}}} _ {\ tau}}} _ {\ tau}}} _ {\ tau}}} _ {\ tau}}} _ {\ tau}}}} _ {tau}}}} _ {tau}} K} ^ {-}}\ mathit {tr} ({\ mathrm {\ sigma}}} ^ {-}) +3K\ mathit {tr} (\ mathrm {\ Delta}\ mathrm {\ epsilon}) -3K\ mathit {\ epsilon}) -3K\ mathit {\ epsilon}) -3K\ mathit {tr} (\ mathrm {\ Delta}} ^ {epsilon}) -3K\ mathit {tr} (\ mathrm {\ Delta}} ^ {epsilon}) -3K\ mathit {\ epsilon}) -3K\ mathit {tr} (\ mathrm {\ Delta}} ^ {epsilon}) -3K\ mathit {\ epsilon}) -\\ 3K (1-2 {\ mathrm {\nu}}} _ {f})\ left [\ sum _ {s}\ left\ {\ mathit {tr} ({A} ^ {-, s})\ left (1-\ mathrm {exp}}\ left (-\ frac {\ mathrm {\ Delta})\ left (-\ frac {\ mathrm {\ Delta}})\ left (1-\ mathrm {\ Delta}) } {{\ mathrm {\ tau}} _ {s}}\ right)\ right)\ right)\ right)\ right)\ right\ right\} - {h} ^ {-}\ mathit {tr} ({\ mathrm {\ sigma}}} ^ {-}} ^ {-}} ^ {-}} ^ {-}) k ({t}}\ -}) k ({t} _ {-}) k ({t} _ {n+1/2})\ sum _ {n+1/2})\ sum _ {s} _ {J} _ {s}\ left (1-\ frac {\ mathrm {\ tau}} _ {s}} {\ mathrm {\ Delta}}} {\ mathrm {\ delta} t}\ left (-\ frac {\ mathrm {\ Delta} t} {{\ mathrm {\ Delta}} t} {\ mathrm {\ delta}}} {\ mathrm {\ tau}}}}\ left (1-\ mathrm {\ delta}} t} {\ mathrm {\ delta} t} {\ mathrm {\ tau}}} _ {S}}\ right)\ right)\ right\}\ right]\ end {array} We then deduce :math:`\mathrm{\sigma }` since :math:`{\mathrm{\sigma }}_{\mathit{ij}}={\stackrel{~}{\mathrm{\sigma }}}_{\mathit{ij}}+\frac{1}{3}\mathit{tr}\mathrm{\sigma }{\mathrm{\delta }}_{\mathit{ij}}` State variables ---------------- The state variables of the two behavioral relationships are therefore: * :math:`\mathrm{\sigma }`: stress tensor, * :math:`\mathrm{\epsilon }`: deformation tensor, * :math:`T`: temperature, * :math:`C`: water concentration, * :math:`\mathrm{\xi }`: degree of hydration, * :math:`{A}_{s}`: tensors characteristic of the progress of the creep, i.e. :math:`6\mathrm{\times }9` variable, * :math:`a`: the age of concrete. The components of the eight tensors :math:`{A}_{s}` and :math:`a` are the internal variables of the law of behavior (BETON_GRANGER as BETON_GRANGER_V). The dimension of each :math:`{A}_{s}` tensor depends on the modeling (four components in 2D and six in 3D). So we have: * in 3D, 55 internal variables: * VI1... VI6: components of the :math:`{A}_{1}` tensor * VI7... VI12: components of the :math:`{A}_{2}` tensor *... * VI43... VI48: components of the :math:`{A}_{8}` tensor * VI49... VI54: components of the :math:`{A}_{0}` tensor * VI55: :math:`a` * in 2D, 37 internal variables: * VI1... VI4: components of the :math:`{A}_{1}` tensor * VI5... VI8: components of the :math:`{A}_{2}` tensor *... * VI29... VI32: components of the :math:`{A}_{8}` tensor * VI33... VI36: components of the :math:`{A}_{0}` tensor * VI37: :math:`a` Tangent matrix ---------------- The tangent matrix is expressed by the following formula: .. math:: :label: eq-43 \ frac {\ partial\ mathrm {\ sigma}}} {\ partial\ mathrm {\ epsilon}} =\ frac {\ partial\ stackrel {~} {\ mathrm {\ sigma}}}} {\ partial\ mathrm {\ sigma}}} {\ partial\ sigma}}} {\ partial\ sigma}}}} {\ partial\ mathrm {\ sigma}}} {\ partial\ mathrm {\ sigma}}} {\ partial\ mathrm {\ sigma}}} {\ partial\ mathrm {\ sigma}}} {\ partial\ mathrm {\ sigma}}} {\ partial\ mathrm {\ sigma}}} {\ partial\ sigma}}} {\ partial\ mathrm {\ sigma}}} {\ partial\ sigma} {\ sigma})} {\ partial\ mathrm {\ epsilon}} {I} _ {d} With: .. math:: :label: eq-44 \ frac {\ partial\ stackrel {~} {\ mathrm {\ sigma}}}} {\ partial\ mathrm {\ epsilon}} =\ frac {\ partial\ stackrel {~} {\ mathrm {\ sigma}} {\ mathrm {\ sigma}}} {\ mathrm {\ partial\ stackrel}}}\ frac {\ partial\ stackrel}}}\ frac {\ partial\ stackrel}}}\ frac {\ partial\ stackrel}} rel {~} {\ mathrm {\ epsilon}}}} {\ partial\ mathrm {\ epsilon}} This requires the evaluation of the following expressions: .. math:: :label: eq-45 \ frac {\ partial {\ stackrel {~} {\ mathrm {\ epsilon}}}} _ {\ mathit {ij}}} {\ partial {\ mathrm {\ epsilon}}} _ {\ mathit {kl}}} {\ mathit {kl}}} {\ mathit {kl}}} _ {\ mathit {kl}}} _ {\ mathit {kl}}}} _ {\ mathit {kl}}}} _ {\ mathit {kl}}}} {\ mathit {kl}}} {\ mathit {kl}}}} {\ mathit {kl}}} {\ mathit {kl}}}} {\ mathit {kl}}} {\ mathit {kl}}}} {\ mathit {kl}}} mathit {jl}} -\ frac {1} {3} {3} {\ mathrm {\ delta}} _ {\ mathit {ij}} {\ mathrm {\ delta}}} _ {\ mathit {kl}} _ {\ mathit {kl}} For a Newton iteration, we derive the expression (): .. math:: :label: eq-46 \ frac {\ partial\ stackrel {~} {\ mathrm {\ sigma}}}} {\ partial\ mathrm {\ epsilon}}\ left [1+2\ mathrm {\ mu} (1+ {\ mathrm {\ mu}} (1+\ mathrm {\nu}}} {\ mathrm {\nu}}} {\ mathrm {\nu}}} {\ mathrm {\nu}}} {\ mathrm {\ sigma}}}}} {\ partial\ mathrm {\ sigma}}}} {\ partial\ mathrm {\ sigma}}}} {\ partial\ mathrm {\ sigma}}}} {\ partial\ mathrm {\ sigma}}}} {\ partial\ mathrm {\ sigma} _ {s} 1-\ frac {{\ mathrm {\ tau}} _ {\ tau}} _ {s}} {\ mathrm {\ Delta} t}\ left (1-\ mathrm {exp}\ left (-\ frac {\ mathrm {\ tau}}}\ left (-\ frac {\ mathrm {\ tau}}\ left (-\ frac {\ mathrm {\ tau}}\ left (-\ frac {\ mathrm {\ tau}}\ left (-\ frac {\ mathrm {\ tau}}\ left (-\ frac {\ mathrm {\ tau}}\ left (-\ frac {\ mathrm {\ tau}}\ left (-\ frac {\ mathrm {\ tau} =2\ mathrm {\ mu} {I} _ {d} And the expression (): .. math:: :label: eq-47 \ frac {\ partial (\ mathit {tr}\ mathrm {\ sigma})} {\ partial (\ mathit {tr}\ mathrm {\ epsilon})}\ left [1+3K (1-2 {\ mathrm {\nu}}\ mathrm {\nu}}}\ mathrm {\nu}}}} _ {sigma})} {\ partial (\ mathit {tr}}\ mathrm {\ epsilon})}\ left\ {J} _ {s}\ left (1-\ frac {{\ mathrm {\ tau}}} _ {s}} {\ mathrm {\ Delta} t}\ left (1-\ mathrm {exp}\ left (-\ frac {\ mathrm {\ tau}}}\ left (-\ frac {\ mathrm {\ tau}}\ left (-\ frac {\ mathrm {exp}}\ left (-\ frac {\ mathrm {\ tau}}\ left (-\ frac {\ mathrm {exp}}\ left (-\ frac {\ mathrm {\ tau}}\ left (-\ frac {\ mathrm {exp}}\ left (-\ frac {\ mathrm {\ delta}})\ right\}\ right] =3K {I} _ {d} We are now considering the prediction phase at time step :math:`[{t}_{n},{t}_{n+1}]`. We note beforehand that in 1D, the time derivative of the creep deformation is expressed very simply: .. math:: :label: eq-48 {\ left (\ frac {\ partial {\ partial {\ mathrm {\ epsilon}}} _ {\ mathrm {\ epsilon}}}} {\ partial t}\ right)} _ {{t} _ {n}}} =\ frac {{a}}} =\ frac {\ mathrm {\ epsilon}}} =\ frac {\ mathrm {\ epsilon}}} =\ frac {\ mathrm {\ epsilon}}} =\ frac {\ mathrm {\ epsilon}}} =\ frac {\ mathrm {\ epsilon}}} =\ frac {\ mathrm {\ epsilon}}} =\ frac {\ mathrm {\ epsilon}}} =} k ({t} _ {c})\ frac {\ partial S} {\ partial t} We write the problem in speed at moment :math:`{t}_{n}`: .. math:: :label: eq-49 \ frac {\ partial\ stackrel {~} {\ mathrm {\ sigma}}} {\ partial t}\ left [1+2\ mathrm {\ mu}\ sum _ {s} {J} _ {J} _ {s} _ {s} _} k ({s}} k ({t} _ {n}) {h} _ {n}) {h} ^ {-}\ right] =2\ mathrm {\ mu}\ sum _ {J} _ {J} _ {s} _ {s} _ {s} _ {s} _ {s} _ {s} _ {s} k ({t} _ {n}) {h} _ {n}) {h} ^ {-}\ right] =2\ mathrm {\ mu}\ sum _ {J} {~} {\ mathrm {\ epsilon}}}} {\ partial t}} -2\ mathrm {\ mu} (1+ {\ mathrm {\nu}} _ {f})\ left [\ sum _ {s}}\ left (\ sum _ {s}}\ left (\ frac {\ stackrel {~}} {\ stackrel {~}} {{A} _ {s}}} ^ {-}}} {\ sum_ {s}}} {\ mathrm {s}}} {{\ mathrm {s}}} {{\ mathrm {s}}} {{\ mathrm {s}}} {\ mathrm {s}}} {{\ mathrm {s}}} {\ mathrm {s} tau}} _ {s}} - {J} _ {s} k ({t} _ {n}) {\ stackrel {~} {\ mathrm {\ sigma}}}} ^ {-}\ frac {\ mathit {dh}} {\ mathit {dh}} {\ mathit {dt}}}\ right)\ right] For the spherical part: .. math:: : label: eq-50 \ begin {array} {c}\ frac {\ partial (\ mathit {tr}\ sigma)} {\ partial t}\ left [1+\ mathrm {3K} (1-2 {\nu} _ {f}) (\ sum _ {f}) (\ sum _ {s} {f}) (\ sum _ {s} {f}) (\ sum _ {s} {f}) (\ sum _ {s} {f}) (\ sum _ {s} {f}) (\ sum _ {s} {f}) (\ sum _ {s} {f}) (\ sum _ {s} {f}) (\ sum _ {s} {f}) (\ sum _ {s} {f}) (\ sum _ {s} {f}) (\ sum _ {s} {{-}})\ right] =\\ =\ mathrm {3K}\ mathrm {3K}\ frac {\ partial (\ mathit {tr}\ epsilon)} {\ partial t} -\ mathrm {3K}} (1-2 {\nu}} (1-2 {\nu}} _ {K} (1-2 {\nu} _ {f})\ frac {\ sum _ {s} _ {f})\ left [\ sum _ {s} _ {f})\ left [\ sum _ {s} _ {f})\ left [\ sum _ {s} {\ text -}} {{\ tau} _ {s}} - {J}} - {J} _ {s}\ cdot k ({t} _ {n})\ cdot (\ mathit {tr} {\ sigma} ^ {\ text {-}} ^ {\ text {-}}})\ frac {\ mathit {dh}}}\ right] +\ mathrm {3K} (3\ text {-}}})\ frac {\ mathit {dh}}} {\ mathit {dh}}} {\ mathit {dt}}\ right] +\ mathrm {3K} (3\ beta\ frac ac {d\ xi} {\ mathit {dt}}) +\ mathrm {3K} (3\ kappa\ frac {\ mathit {dC}} {\ mathit {dt}})\ end {array}} In the end: .. math:: :label: eq-51 \ begin {array} {c}\ Delta (\ text {tr}\ sigma)\ left [1+\ mathrm {3K} (1-2 {\nu} _ {f}) (\ sum _ {s} {J}} _ {J} _ {J} _ {n} _ {sigma)\ left [1+\ mathrm {3K}} (1-2 {\nu} _ {f}) (\ sum _ {s} {J}} _ {f}) (\ sum _ {J}} _ {n}) (\ sum _ {s} {J} _} _ {f}) (\ sum _ {J}} _ {n})\ right] =\ =\ mathrm m {3K}\ Delta (\ text {tr}\ epsilon) -\ mathrm {3K} (1-2 {\nu} _ {f})\ left [\ sum _ {s}\ frac {(\ mathit {tr}\ epsilon) {(\ mathit {tr}} {(\ tr}}\ epsilon) -\ mathrm {3K}} -\ left [\ sum _ {s}}\ frac {(\ mathit {tr}} {(\ tr}}\ epsilon) -\ mathrm {3K}} -\ left [\ sum _ {s}}\ frac {(\ mathit {tr}} {(\ tr}}\ epsilon) -\ mathrm {3K}} -\ left [\ sum _ {s} _ {s}\ cdot k ({t} _ {n})\ cdot (\ text {tr} {\ sigma} ^ {\ text {-}})\ Delta h\ right]\\ -\ mathrm {3K} (3\ alpha\ Delta T} (3\ alpha\ Delta T) +\ mathrm {3K} (3\ alpha\ Delta T) +\ mathrm {3K} (3\ k3) appa\ Delta C)\ end {array} Creep therefore introduces a specific second member term during the prediction phase which is in fact overlooked, with no consequence on the results.