18 params.
addRequiredParam<MaterialPropertyName>(
"custom_pk2_stress",
"The name of the PK2 stress.");
20 "custom_pk2_jacobian",
"The name of the PK2 Jacobian (w.r.t. the deformation gradient).");
27 _pk2(getMaterialProperty<
RankTwoTensor>(
"custom_pk2_stress")),
28 _dpk2_dF(getMaterialProperty<
RankFourTensor>(
"custom_pk2_jacobian"))
39 mooseError(
"This material requires large kinematics; set large_kinematics = true on the "
40 "ComputeLagrangianStrain calculator.");
58 usingTensorIndices(i_, j_, k_, l_);
registerMooseObject("SolidMechanicsApp", ComputeLagrangianStressCustomPK2)
MaterialProperty< RankFourTensor > & _pk1_jacobian_bypass_fbar
Variant of _pk1_jacobian computed WITHOUT the F-bar chain factor _d_F_stab_d_F_ust in the sigma-via-d...
MaterialProperty< RankFourTensor > & _pk1_jacobian
The derivative of the 1st PK stress wrt the deformation gradient (F that the stress material consumes...
const MaterialProperty< RankFourTensor > & _d_deformation_gradient_increment_d_F
d(spatial velocity gradient increment)/d(F_stab).
MaterialProperty< RankTwoTensor > & _pk1_stress
The 1st Piola-Kirchhoff stress.
virtual void initialSetup() override
Derive _large_kinematics from the strain calculator's LARGE_KINEMATICS guarantee.
MaterialProperty< RankFourTensor > & _cauchy_jacobian
The derivative of the Cauchy stress wrt the increment in the spatial velocity gradient.
MaterialProperty< RankTwoTensor > & _cauchy_stress
The Cauchy stress.
bool _large_kinematics
If true use large deformations.
const MaterialProperty< RankTwoTensor > & _F_ust
Unstabilized deformation gradient (= F_actual at alpha = 1).
const MaterialProperty< RankFourTensor > & _d_F_stab_d_F_ust
d(F_stab)/d(F_ust).
Adapt a custom-defined PK2 stress and its Jacobian to provide the PK1 stress and its Jacobian.
ComputeLagrangianStressCustomPK2(const InputParameters ¶meters)
static InputParameters validParams()
const MaterialProperty< RankTwoTensor > & _pk2
2nd PK stress
void computeQpPK1Stress() override
Provide for the actual PK stress update (just PK1)
void initialSetup() override
Derive _large_kinematics from the strain calculator's LARGE_KINEMATICS guarantee.
void computeQpCauchyStress() override
Override the PK1-base sigma wrap because PK1 = F_ust * PK2 has direct F_ust dependence already accoun...
const MaterialProperty< RankFourTensor > & _dpk2_dF
2nd PK tangent dPK2/d(F_stab).
Native interface for providing the 1st Piola Kirchhoff stress.
static InputParameters validParams()
FEProblemBase & _fe_problem
void mooseError(Args &&... args) const
RankFourTensorTempl< T > inverse() const
RankFourTensorTempl< T > singleProductI(const RankTwoTensorTempl< T > &) const
static RankTwoTensorTempl Identity()
const bool & currentlyComputingJacobian() const
const bool & currentlyComputingResidualAndJacobian() const