Base class of the "Lagrangian" kernel system. More...
#include <LagrangianStressDivergenceBase.h>
Public Types | |
typedef std::vector< int > | JvarMap |
Public Member Functions | |
LagrangianStressDivergenceBase (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 LagrangianStressDivergenceBase.h.
LagrangianStressDivergenceBase::LagrangianStressDivergenceBase | ( | const InputParameters & | parameters | ) |
Definition at line 42 of file LagrangianStressDivergenceBase.C.
|
overrideprotectedvirtual |
Reimplemented in TotalLagrangianWeakPlaneStress.
Definition at line 115 of file LagrangianStressDivergenceBase.C.
|
protectedpure virtual |
Implemented in UpdatedLagrangianStressDivergenceBase< G >, and TotalLagrangianStressDivergenceBase< G >.
Referenced by computeQpJacobian(), and computeQpOffDiagJacobian().
|
protectedpure virtual |
Implemented in UpdatedLagrangianStressDivergenceBase< G >, and TotalLagrangianStressDivergenceBase< G >.
Referenced by computeQpOffDiagJacobian().
|
protectedpure virtual |
Implemented in UpdatedLagrangianStressDivergenceBase< G >, and TotalLagrangianStressDivergenceBase< G >.
Referenced by computeQpOffDiagJacobian().
|
overrideprotectedvirtual |
Reimplemented in TotalLagrangianWeakPlaneStress.
Definition at line 121 of file LagrangianStressDivergenceBase.C.
|
protectedpure virtual |
Implemented in UpdatedLagrangianStressDivergenceBase< G >, and TotalLagrangianStressDivergenceBase< G >.
|
protectedpure virtual |
Implemented in UpdatedLagrangianStressDivergenceBase< G >, and TotalLagrangianStressDivergenceBase< G >.
|
overrideprotectedvirtual |
Reimplemented in TotalLagrangianWeakPlaneStress.
Definition at line 85 of file LagrangianStressDivergenceBase.C.
|
protectedpure virtual |
Prepare the average shape function gradients for stabilization.
Implemented in UpdatedLagrangianStressDivergenceBase< G >, and TotalLagrangianStressDivergenceBase< G >.
Referenced by precalculateJacobian(), and precalculateOffDiagJacobian().
|
overrideprotectedvirtual |
Definition at line 98 of file LagrangianStressDivergenceBase.C.
|
static |
Definition at line 13 of file LagrangianStressDivergenceBase.C.
Referenced by TotalLagrangianStressDivergenceBase< G >::baseParams(), and UpdatedLagrangianStressDivergenceBase< G >::baseParams().
|
protected |
Which component of the vector residual this kernel is responsible for.
Definition at line 72 of file LagrangianStressDivergenceBase.h.
Referenced by HomogenizedTotalLagrangianStressDivergence::computeOffDiagJacobianScalar(), computeQpJacobian(), computeQpOffDiagJacobian(), and precalculateJacobian().
|
protected |
Definition at line 83 of file LagrangianStressDivergenceBase.h.
Referenced by precalculateJacobian(), and precalculateOffDiagJacobian().
|
protected |
Prepend to the material properties.
Definition at line 69 of file LagrangianStressDivergenceBase.h.
|
protected |
Eigenstrain derivatives wrt generate coupleds.
Definition at line 107 of file LagrangianStressDivergenceBase.h.
Referenced by LagrangianStressDivergenceBase().
|
protected |
The displacement numbers.
Definition at line 78 of file LagrangianStressDivergenceBase.h.
Referenced by TotalLagrangianWeakPlaneStress::computeQpOffDiagJacobian(), computeQpOffDiagJacobian(), LagrangianStressDivergenceBase(), and precalculateOffDiagJacobian().
|
protected |
The actual (stabilized) deformation gradient.
Definition at line 98 of file LagrangianStressDivergenceBase.h.
|
protected |
The element-average deformation gradient.
Definition at line 89 of file LagrangianStressDivergenceBase.h.
|
protected |
The inverse increment deformation gradient.
Definition at line 92 of file LagrangianStressDivergenceBase.h.
|
protected |
The inverse deformation gradient.
Definition at line 95 of file LagrangianStressDivergenceBase.h.
|
protected |
The unmodified deformation gradient.
Definition at line 86 of file LagrangianStressDivergenceBase.h.
|
protected |
If true use large deformation kinematics.
Definition at line 63 of file LagrangianStressDivergenceBase.h.
Referenced by HomogenizedTotalLagrangianStressDivergence::computeOffDiagJacobianScalar(), and UpdatedLagrangianStressDivergenceBase< G >::UpdatedLagrangianStressDivergenceBase().
|
protected |
Total number of displacements/size of residual vector.
Definition at line 75 of file LagrangianStressDivergenceBase.h.
Referenced by TotalLagrangianWeakPlaneStress::computeQpOffDiagJacobian(), computeQpOffDiagJacobian(), LagrangianStressDivergenceBase(), and precalculateOffDiagJacobian().
|
protected |
Out-of-plane strain, if provided.
Definition at line 104 of file LagrangianStressDivergenceBase.h.
Referenced by computeQpOffDiagJacobian(), and UpdatedLagrangianStressDivergenceBase< G >::UpdatedLagrangianStressDivergenceBase().
|
protected |
If true calculate the deformation gradient derivatives for F_bar.
Definition at line 66 of file LagrangianStressDivergenceBase.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 LagrangianStressDivergenceBase.h.
Referenced by computeQpOffDiagJacobian().