Enforce equilibrium with a total Lagrangian formulation. More...
#include <TotalLagrangianStressDivergenceBaseS.h>
Public Types | |
typedef std::vector< int > | JvarMap |
Public Member Functions | |
TotalLagrangianStressDivergenceBaseS (const InputParameters ¶meters) | |
virtual void | initialSetup () override |
template<> | |
InputParameters | validParams () |
template<> | |
void | initialSetup () |
template<> | |
InputParameters | validParams () |
template<> | |
void | initialSetup () |
template<> | |
InputParameters | validParams () |
template<> | |
void | initialSetup () |
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 | baseParams () |
static InputParameters | validParams () |
Protected Member Functions | |
virtual RankTwoTensor | gradTest (unsigned int component) override |
virtual RankTwoTensor | gradTrial (unsigned int component) override |
virtual void | precalculateJacobianDisplacement (unsigned int component) override |
Prepare the average shape function gradients for stabilization. More... | |
virtual Real | computeQpResidual () override |
virtual Real | computeQpJacobianDisplacement (unsigned int alpha, unsigned int beta) override |
virtual Real | computeQpJacobianTemperature (unsigned int cvar) override |
virtual Real | computeQpJacobianOutOfPlaneStrain () override |
virtual void | precalculateJacobian () override |
virtual void | precalculateOffDiagJacobian (unsigned int jvar) override |
virtual Real | computeQpJacobian () override |
virtual Real | computeQpOffDiagJacobian (unsigned int jvar) override |
Protected Attributes | |
const MaterialProperty< RankTwoTensor > & | _pk1 |
The 1st Piola-Kirchhoff stress. More... | |
const MaterialProperty< RankFourTensor > & | _dpk1 |
The derivative of the PK1 stress with respect to the deformation gradient. More... | |
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 |
Private Member Functions | |
virtual RankTwoTensor | gradTrialUnstabilized (unsigned int component) |
The unstabilized trial function gradient. More... | |
virtual RankTwoTensor | gradTrialStabilized (unsigned int component) |
The stabilized trial function gradient. More... | |
Enforce equilibrium with a total Lagrangian formulation.
This class enforces equilibrium when used in conjunction with the corresponding strain calculator (CalculateStrainLagrangianKernel) and with either a stress calculator that provides the 1st PK stress ("pk1_stress") and the derivative of the 1st PK stress with respect to the deformation gradient ("pk1_jacobian")
This kernel should be used with the new "ComputeLagrangianStressBase" stress update system and the "ComputeLagrangianStrain" system for strains.
Definition at line 27 of file TotalLagrangianStressDivergenceBaseS.h.
TotalLagrangianStressDivergenceBaseS< G >::TotalLagrangianStressDivergenceBaseS | ( | const InputParameters & | parameters | ) |
Definition at line 23 of file TotalLagrangianStressDivergenceBaseS.C.
|
static |
Definition at line 14 of file TotalLagrangianStressDivergenceBaseS.C.
Referenced by TotalLagrangianStressDivergenceBaseS< G >::validParams().
|
overrideprotectedvirtualinherited |
Definition at line 115 of file LagrangianStressDivergenceBaseS.C.
|
overrideprotectedvirtual |
Implements LagrangianStressDivergenceBaseS.
Reimplemented in HomogenizedTotalLagrangianStressDivergenceA, and HomogenizedTotalLagrangianStressDivergenceR.
Definition at line 101 of file TotalLagrangianStressDivergenceBaseS.C.
|
overrideprotectedvirtual |
Implements LagrangianStressDivergenceBaseS.
Definition at line 128 of file TotalLagrangianStressDivergenceBaseS.C.
|
overrideprotectedvirtual |
Implements LagrangianStressDivergenceBaseS.
Definition at line 110 of file TotalLagrangianStressDivergenceBaseS.C.
|
overrideprotectedvirtualinherited |
Definition at line 121 of file LagrangianStressDivergenceBaseS.C.
|
overrideprotectedvirtual |
Reimplemented in HomogenizedTotalLagrangianStressDivergenceA, and HomogenizedTotalLagrangianStressDivergenceR.
Definition at line 94 of file TotalLagrangianStressDivergenceBaseS.C.
|
overrideprotectedvirtual |
Implements LagrangianStressDivergenceBaseS.
Definition at line 33 of file TotalLagrangianStressDivergenceBaseS.C.
Referenced by HomogenizedTotalLagrangianStressDivergenceR::computeQpJacobianDisplacement(), HomogenizedTotalLagrangianStressDivergenceA::computeQpJacobianDisplacement(), HomogenizedTotalLagrangianStressDivergenceS::computeQpOffDiagJacobianScalar(), HomogenizedTotalLagrangianStressDivergenceR::computeQpOffDiagJacobianScalar(), HomogenizedTotalLagrangianStressDivergenceA::computeQpOffDiagJacobianScalar(), HomogenizedTotalLagrangianStressDivergenceR::computeQpResidual(), and HomogenizedTotalLagrangianStressDivergenceA::computeQpResidual().
|
overrideprotectedvirtual |
Implements LagrangianStressDivergenceBaseS.
Definition at line 41 of file TotalLagrangianStressDivergenceBaseS.C.
Referenced by HomogenizedTotalLagrangianStressDivergenceR::computeQpJacobianDisplacement(), HomogenizedTotalLagrangianStressDivergenceA::computeQpJacobianDisplacement(), HomogenizedTotalLagrangianStressDivergenceS::computeScalarQpOffDiagJacobian(), HomogenizedTotalLagrangianStressDivergenceR::computeScalarQpOffDiagJacobian(), and HomogenizedTotalLagrangianStressDivergenceA::computeScalarQpOffDiagJacobian().
|
privatevirtual |
The stabilized trial function gradient.
Definition at line 56 of file TotalLagrangianStressDivergenceBaseS.C.
|
privatevirtual |
The unstabilized trial function gradient.
Definition at line 48 of file TotalLagrangianStressDivergenceBaseS.C.
void TotalLagrangianStressDivergenceBaseS< GradientOperatorCentrosymmetricSpherical >::initialSetup | ( | ) |
Definition at line 26 of file TotalLagrangianStressDivergenceCentrosymmetricSphericalS.h.
|
inline |
Definition at line 26 of file TotalLagrangianStressDivergenceS.h.
void TotalLagrangianStressDivergenceBaseS< GradientOperatorAxisymmetricCylindrical >::initialSetup | ( | ) |
Definition at line 26 of file TotalLagrangianStressDivergenceAxisymmetricCylindricalS.h.
|
overridevirtual |
|
overrideprotectedvirtualinherited |
Definition at line 85 of file LagrangianStressDivergenceBaseS.C.
|
overrideprotectedvirtual |
Prepare the average shape function gradients for stabilization.
Implements LagrangianStressDivergenceBaseS.
Definition at line 80 of file TotalLagrangianStressDivergenceBaseS.C.
|
overrideprotectedvirtualinherited |
Definition at line 98 of file LagrangianStressDivergenceBaseS.C.
|
inline |
Definition at line 16 of file TotalLagrangianStressDivergenceAxisymmetricCylindricalS.h.
|
inline |
Definition at line 16 of file TotalLagrangianStressDivergenceS.h.
|
inline |
Definition at line 16 of file TotalLagrangianStressDivergenceCentrosymmetricSphericalS.h.
|
static |
|
protectedinherited |
Which component of the vector residual this kernel is responsible for.
Definition at line 72 of file LagrangianStressDivergenceBaseS.h.
Referenced by LagrangianStressDivergenceBaseS::computeQpJacobian(), LagrangianStressDivergenceBaseS::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 LagrangianStressDivergenceBaseS::precalculateJacobian().
|
protectedinherited |
Definition at line 83 of file LagrangianStressDivergenceBaseS.h.
Referenced by LagrangianStressDivergenceBaseS::precalculateJacobian(), and LagrangianStressDivergenceBaseS::precalculateOffDiagJacobian().
|
protectedinherited |
Prepend to the material properties.
Definition at line 69 of file LagrangianStressDivergenceBaseS.h.
|
protectedinherited |
Eigenstrain derivatives wrt generate coupleds.
Definition at line 107 of file LagrangianStressDivergenceBaseS.h.
Referenced by LagrangianStressDivergenceBaseS::LagrangianStressDivergenceBaseS().
|
protectedinherited |
The displacement numbers.
Definition at line 78 of file LagrangianStressDivergenceBaseS.h.
Referenced by LagrangianStressDivergenceBaseS::computeQpOffDiagJacobian(), HomogenizedTotalLagrangianStressDivergenceR::computeScalarQpOffDiagJacobian(), LagrangianStressDivergenceBaseS::LagrangianStressDivergenceBaseS(), and LagrangianStressDivergenceBaseS::precalculateOffDiagJacobian().
|
protected |
The derivative of the PK1 stress with respect to the deformation gradient.
Definition at line 49 of file TotalLagrangianStressDivergenceBaseS.h.
Referenced by HomogenizedTotalLagrangianStressDivergenceR::computeQpJacobianDisplacement(), HomogenizedTotalLagrangianStressDivergenceA::computeQpJacobianDisplacement(), HomogenizedTotalLagrangianStressDivergenceS::computeQpOffDiagJacobianScalar(), HomogenizedTotalLagrangianStressDivergenceR::computeQpOffDiagJacobianScalar(), HomogenizedTotalLagrangianStressDivergenceA::computeQpOffDiagJacobianScalar(), HomogenizedTotalLagrangianStressDivergenceS::computeScalarJacobian(), HomogenizedTotalLagrangianStressDivergenceR::computeScalarJacobian(), HomogenizedTotalLagrangianStressDivergenceA::computeScalarJacobian(), HomogenizedTotalLagrangianStressDivergenceR::computeScalarOffDiagJacobianScalar(), HomogenizedTotalLagrangianStressDivergenceA::computeScalarOffDiagJacobianScalar(), HomogenizedTotalLagrangianStressDivergenceS::computeScalarQpOffDiagJacobian(), HomogenizedTotalLagrangianStressDivergenceR::computeScalarQpOffDiagJacobian(), and HomogenizedTotalLagrangianStressDivergenceA::computeScalarQpOffDiagJacobian().
|
protectedinherited |
The actual (stabilized) deformation gradient.
Definition at line 98 of file LagrangianStressDivergenceBaseS.h.
Referenced by HomogenizedTotalLagrangianStressDivergenceS::computeScalarResidual(), HomogenizedTotalLagrangianStressDivergenceR::computeScalarResidual(), and HomogenizedTotalLagrangianStressDivergenceA::computeScalarResidual().
|
protectedinherited |
The element-average deformation gradient.
Definition at line 89 of file LagrangianStressDivergenceBaseS.h.
|
protectedinherited |
The inverse increment deformation gradient.
Definition at line 92 of file LagrangianStressDivergenceBaseS.h.
|
protectedinherited |
The inverse deformation gradient.
Definition at line 95 of file LagrangianStressDivergenceBaseS.h.
|
protectedinherited |
The unmodified deformation gradient.
Definition at line 86 of file LagrangianStressDivergenceBaseS.h.
|
protectedinherited |
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().
|
protectedinherited |
Total number of displacements/size of residual vector.
Definition at line 75 of file LagrangianStressDivergenceBaseS.h.
Referenced by LagrangianStressDivergenceBaseS::computeQpOffDiagJacobian(), HomogenizedTotalLagrangianStressDivergenceR::computeScalarQpOffDiagJacobian(), LagrangianStressDivergenceBaseS::LagrangianStressDivergenceBaseS(), and LagrangianStressDivergenceBaseS::precalculateOffDiagJacobian().
|
protectedinherited |
Out-of-plane strain, if provided.
Definition at line 104 of file LagrangianStressDivergenceBaseS.h.
Referenced by LagrangianStressDivergenceBaseS::computeQpOffDiagJacobian().
|
protected |
The 1st Piola-Kirchhoff stress.
Definition at line 45 of file TotalLagrangianStressDivergenceBaseS.h.
Referenced by HomogenizedTotalLagrangianStressDivergenceR::computeQpResidual(), HomogenizedTotalLagrangianStressDivergenceA::computeQpResidual(), HomogenizedTotalLagrangianStressDivergenceS::computeScalarResidual(), HomogenizedTotalLagrangianStressDivergenceR::computeScalarResidual(), and HomogenizedTotalLagrangianStressDivergenceA::computeScalarResidual().
|
protectedinherited |
If true calculate the deformation gradient derivatives for F_bar.
Definition at line 66 of file LagrangianStressDivergenceBaseS.h.
Referenced by LagrangianStressDivergenceBaseS::precalculateJacobian(), and LagrangianStressDivergenceBaseS::precalculateOffDiagJacobian().
|
protectedinherited |
Temperature, if provided. This is used only to get the trial functions.
Definition at line 101 of file LagrangianStressDivergenceBaseS.h.
Referenced by LagrangianStressDivergenceBaseS::computeQpOffDiagJacobian().