Base class of the "Lagrangian" kernel system. More...
#include <LagrangianStressDivergenceBaseS.h>
Public Types | |
typedef std::vector< int > | JvarMap |
Public Member Functions | |
LagrangianStressDivergenceBaseS (const InputParameters ¶meters) | |
virtual void | computeOffDiagJacobian (unsigned int jvar) override |
unsigned int | mapJvarToCvar (unsigned int jvar) |
int | mapJvarToCvar (unsigned int jvar, const JvarMap &jvar_map) |
bool | mapJvarToCvar (unsigned int jvar, unsigned int &cvar) |
const JvarMap & | getJvarMap () |
const JvarMap & | getParameterJvarMap (std::string parameter_name) |
Static Public Member Functions | |
static InputParameters | validParams () |
Protected Member Functions | |
virtual RankTwoTensor | gradTest (unsigned int component)=0 |
virtual RankTwoTensor | gradTrial (unsigned int component)=0 |
virtual void | precalculateJacobian () override |
virtual void | precalculateOffDiagJacobian (unsigned int jvar) override |
virtual void | precalculateJacobianDisplacement (unsigned int component)=0 |
Prepare the average shape function gradients for stabilization. More... | |
virtual Real | computeQpJacobian () override |
virtual Real | computeQpOffDiagJacobian (unsigned int jvar) override |
virtual Real | computeQpJacobianDisplacement (unsigned int alpha, unsigned int beta)=0 |
virtual Real | computeQpJacobianTemperature (unsigned int cvar)=0 |
virtual Real | computeQpJacobianOutOfPlaneStrain ()=0 |
Protected Attributes | |
const bool | _large_kinematics |
If true use large deformation kinematics. More... | |
const bool | _stabilize_strain |
If true calculate the deformation gradient derivatives for F_bar. More... | |
const std::string | _base_name |
Prepend to the material properties. More... | |
const unsigned int | _alpha |
Which component of the vector residual this kernel is responsible for. More... | |
const unsigned int | _ndisp |
Total number of displacements/size of residual vector. More... | |
std::vector< unsigned int > | _disp_nums |
The displacement numbers. More... | |
std::vector< std::vector< RankTwoTensor > > | _avg_grad_trial |
const MaterialProperty< RankTwoTensor > & | _F_ust |
The unmodified deformation gradient. More... | |
const MaterialProperty< RankTwoTensor > & | _F_avg |
The element-average deformation gradient. More... | |
const MaterialProperty< RankTwoTensor > & | _f_inv |
The inverse increment deformation gradient. More... | |
const MaterialProperty< RankTwoTensor > & | _F_inv |
The inverse deformation gradient. More... | |
const MaterialProperty< RankTwoTensor > & | _F |
The actual (stabilized) deformation gradient. More... | |
const MooseVariable * | _temperature |
Temperature, if provided. This is used only to get the trial functions. More... | |
const MooseVariable * | _out_of_plane_strain |
Out-of-plane strain, if provided. More... | |
std::vector< std::vector< const MaterialProperty< RankTwoTensor > * > > | _deigenstrain_dargs |
Eigenstrain derivatives wrt generate coupleds. More... | |
const unsigned int | _n_args |
Base class of the "Lagrangian" kernel system.
This class provides a common structure for the "new" tensor_mechanics kernel system. The goals for this new system are 1) Always-correct jacobians 2) A cleaner material interface
This class provides common input properties and helper methods, most of the math has to be done in the subclasses
Definition at line 27 of file LagrangianStressDivergenceBaseS.h.
LagrangianStressDivergenceBaseS::LagrangianStressDivergenceBaseS | ( | const InputParameters & | parameters | ) |
Definition at line 42 of file LagrangianStressDivergenceBaseS.C.
|
overrideprotectedvirtual |
Definition at line 115 of file LagrangianStressDivergenceBaseS.C.
|
protectedpure virtual |
Implemented in HomogenizedTotalLagrangianStressDivergenceA, HomogenizedTotalLagrangianStressDivergenceR, and TotalLagrangianStressDivergenceBaseS< G >.
Referenced by computeQpJacobian(), and computeQpOffDiagJacobian().
|
protectedpure virtual |
Implemented in TotalLagrangianStressDivergenceBaseS< G >.
Referenced by computeQpOffDiagJacobian().
|
protectedpure virtual |
Implemented in TotalLagrangianStressDivergenceBaseS< G >.
Referenced by computeQpOffDiagJacobian().
|
overrideprotectedvirtual |
Definition at line 121 of file LagrangianStressDivergenceBaseS.C.
|
protectedpure virtual |
Implemented in TotalLagrangianStressDivergenceBaseS< G >.
|
protectedpure virtual |
Implemented in TotalLagrangianStressDivergenceBaseS< G >.
|
overrideprotectedvirtual |
Definition at line 85 of file LagrangianStressDivergenceBaseS.C.
|
protectedpure virtual |
Prepare the average shape function gradients for stabilization.
Implemented in TotalLagrangianStressDivergenceBaseS< G >.
Referenced by precalculateJacobian(), and precalculateOffDiagJacobian().
|
overrideprotectedvirtual |
Definition at line 98 of file LagrangianStressDivergenceBaseS.C.
|
static |
Definition at line 13 of file LagrangianStressDivergenceBaseS.C.
Referenced by TotalLagrangianStressDivergenceBaseS< G >::baseParams().
|
protected |
Which component of the vector residual this kernel is responsible for.
Definition at line 72 of file LagrangianStressDivergenceBaseS.h.
Referenced by computeQpJacobian(), computeQpOffDiagJacobian(), HomogenizedTotalLagrangianStressDivergenceS::computeQpOffDiagJacobianScalar(), HomogenizedTotalLagrangianStressDivergenceR::computeQpOffDiagJacobianScalar(), HomogenizedTotalLagrangianStressDivergenceA::computeQpOffDiagJacobianScalar(), HomogenizedTotalLagrangianStressDivergenceR::computeQpResidual(), HomogenizedTotalLagrangianStressDivergenceA::computeQpResidual(), HomogenizedTotalLagrangianStressDivergenceS::computeScalarJacobian(), HomogenizedTotalLagrangianStressDivergenceA::computeScalarJacobian(), HomogenizedTotalLagrangianStressDivergenceA::computeScalarOffDiagJacobianScalar(), HomogenizedTotalLagrangianStressDivergenceS::computeScalarQpOffDiagJacobian(), HomogenizedTotalLagrangianStressDivergenceA::computeScalarQpOffDiagJacobian(), HomogenizedTotalLagrangianStressDivergenceS::computeScalarResidual(), HomogenizedTotalLagrangianStressDivergenceA::computeScalarResidual(), and precalculateJacobian().
|
protected |
Definition at line 83 of file LagrangianStressDivergenceBaseS.h.
Referenced by precalculateJacobian(), and precalculateOffDiagJacobian().
|
protected |
Prepend to the material properties.
Definition at line 69 of file LagrangianStressDivergenceBaseS.h.
|
protected |
Eigenstrain derivatives wrt generate coupleds.
Definition at line 107 of file LagrangianStressDivergenceBaseS.h.
Referenced by LagrangianStressDivergenceBaseS().
|
protected |
The displacement numbers.
Definition at line 78 of file LagrangianStressDivergenceBaseS.h.
Referenced by computeQpOffDiagJacobian(), HomogenizedTotalLagrangianStressDivergenceR::computeScalarQpOffDiagJacobian(), LagrangianStressDivergenceBaseS(), and precalculateOffDiagJacobian().
|
protected |
The actual (stabilized) deformation gradient.
Definition at line 98 of file LagrangianStressDivergenceBaseS.h.
Referenced by HomogenizedTotalLagrangianStressDivergenceS::computeScalarResidual(), HomogenizedTotalLagrangianStressDivergenceR::computeScalarResidual(), and HomogenizedTotalLagrangianStressDivergenceA::computeScalarResidual().
|
protected |
The element-average deformation gradient.
Definition at line 89 of file LagrangianStressDivergenceBaseS.h.
|
protected |
The inverse increment deformation gradient.
Definition at line 92 of file LagrangianStressDivergenceBaseS.h.
|
protected |
The inverse deformation gradient.
Definition at line 95 of file LagrangianStressDivergenceBaseS.h.
|
protected |
The unmodified deformation gradient.
Definition at line 86 of file LagrangianStressDivergenceBaseS.h.
|
protected |
If true use large deformation kinematics.
Definition at line 63 of file LagrangianStressDivergenceBaseS.h.
Referenced by HomogenizedTotalLagrangianStressDivergenceS::computeScalarJacobian(), HomogenizedTotalLagrangianStressDivergenceR::computeScalarJacobian(), HomogenizedTotalLagrangianStressDivergenceA::computeScalarJacobian(), HomogenizedTotalLagrangianStressDivergenceR::computeScalarOffDiagJacobianScalar(), HomogenizedTotalLagrangianStressDivergenceA::computeScalarOffDiagJacobianScalar(), HomogenizedTotalLagrangianStressDivergenceS::computeScalarQpOffDiagJacobian(), HomogenizedTotalLagrangianStressDivergenceR::computeScalarQpOffDiagJacobian(), HomogenizedTotalLagrangianStressDivergenceA::computeScalarQpOffDiagJacobian(), HomogenizedTotalLagrangianStressDivergenceS::computeScalarResidual(), HomogenizedTotalLagrangianStressDivergenceR::computeScalarResidual(), and HomogenizedTotalLagrangianStressDivergenceA::computeScalarResidual().
|
protected |
Total number of displacements/size of residual vector.
Definition at line 75 of file LagrangianStressDivergenceBaseS.h.
Referenced by computeQpOffDiagJacobian(), HomogenizedTotalLagrangianStressDivergenceR::computeScalarQpOffDiagJacobian(), LagrangianStressDivergenceBaseS(), and precalculateOffDiagJacobian().
|
protected |
Out-of-plane strain, if provided.
Definition at line 104 of file LagrangianStressDivergenceBaseS.h.
Referenced by computeQpOffDiagJacobian().
|
protected |
If true calculate the deformation gradient derivatives for F_bar.
Definition at line 66 of file LagrangianStressDivergenceBaseS.h.
Referenced by precalculateJacobian(), and precalculateOffDiagJacobian().
|
protected |
Temperature, if provided. This is used only to get the trial functions.
Definition at line 101 of file LagrangianStressDivergenceBaseS.h.
Referenced by computeQpOffDiagJacobian().