NEMLModel_ldi

Overview

This object natively implements the large strain incremental. It accommodates the small strain by setting the deformation rate tensor equal to the small strain rate

\mathbf{d}_{n+1} = \bm{\varepsilon}_{n+1}

\mathbf{d}_{n} = \bm{\varepsilon}_{n}

and the vorticity to zero

\mathbf{w}_{n+1} = \mathbf{0}

\mathbf{w}_{n} = \mathbf{0}.

This means the skew part of the algorithmic tangent is zero

\mathbf{\mathfrak{B}}_{n+1} = 0.

Currently, this interface is only natively used by the crystal plasticity material models.

Class description

class NEMLModel_ldi : public neml::NEMLModel

Large deformation incremental update model.

Subclassed by neml::PolycrystalModel, neml::SingleCrystalModel

Public Functions

NEMLModel_ldi(ParameterSet &params)
virtual void update_sd(const double *const e_np1, const double *const e_n, double T_np1, double T_n, double t_np1, double t_n, double *const s_np1, const double *const s_n, double *const h_np1, const double *const h_n, double *const A_np1, double &u_np1, double u_n, double &p_np1, double p_n)

The small strain stress update interface.

virtual void update_ld_inc(const double *const d_np1, const double *const d_n, const double *const w_np1, const double *const w_n, double T_np1, double T_n, double t_np1, double t_n, double *const s_np1, const double *const s_n, double *const h_np1, const double *const h_n, double *const A_np1, double *const B_np1, double &u_np1, double u_n, double &p_np1, double p_n) = 0

Large strain incremental update.