113 std::vector<const VariableValue *>
_disp;
264 bool need_jacobian)
const;
272 bool need_jacobian)
const;
280 bool need_jacobian)
const;
288 bool need_jacobian)
const;
Calculate strains to use the MOOSE materials with the Lagrangian kernels.
MaterialProperty< RankTwoTensor > & _mechanical_strain
void computeQpLargeKinematicIncrement(const RankTwoTensor &f_inv, RankTwoTensor &dd, RankTwoTensor &dw, RankFourTensor &d_dL_d_f_inv, RankFourTensor &d_dw_d_f_inv, bool need_jacobian)
Dispatcher: compute (Deltad, Deltaw, d(Deltal)/d(f^{-1}), d(Deltaw)/d(f^{-1})) for the active kinemat...
const MaterialProperty< RankTwoTensor > & _F_ust_old
Old unstabilized deformation gradient.
MaterialProperty< RankFourTensor > & _d_vorticity_increment_d_F
Derivative of the vorticity increment Deltaw with respect to F_{n+1}.
MaterialProperty< RankTwoTensor > & _stretch
Stretch U from the same polar decomposition.
std::vector< const VariableGradient * > _grad_disp
std::vector< const VariableValue * > _disp
std::vector< const VariableValue * > _disp_old
Old displacement values for the generalized midpoint rule.
const MaterialProperty< RankTwoTensor > & _total_strain_old
MaterialProperty< RankTwoTensor > & _total_strain
void computeLinearIncrement(const RankTwoTensor &f_inv, RankTwoTensor &dd, RankTwoTensor &dw, RankFourTensor &d_dL_d_f_inv, RankFourTensor &d_dw_d_f_inv, bool need_jacobian) const
Linear approximation: dL = I - f^{-1}.
static InputParameters validParams()
KinematicApproximation
Approximation used to convert the inverse incremental deformation gradient f^{-1} into the increment ...
@ RashidApproximate
Rashid's symmetric+skew formulas.
@ Quadratic
dL = (I - f^{-1}) + 0.5 (I - f^{-1})^2
@ RashidEigen
"Exact": polar decomposition + matrix logs
MaterialProperty< RankTwoTensor > & _rotation_increment
Rotation increment for "old" materials inheriting from ComputeStressBase.
const FBarMode _F_bar_mode
Selected F-bar averaging mode (Total vs. Incremental). See FBarMode.
virtual void computeProperties() override
MaterialProperty< RankTwoTensor > & _F_actual
The literal deformation gradient at n+1 (I + grad u_{n+1}).
MaterialProperty< RankTwoTensor > & _rotation
Polar decomposition R of the (alpha-weighted, F-bar-stabilized) deformation gradient F at this qp.
std::vector< const MaterialProperty< RankTwoTensor > * > _eigenstrains_old
const MaterialProperty< RankTwoTensor > & _mechanical_strain_old
virtual void computeQpUnstabilizedDeformationGradient()
Calculate the unstabilized (alpha-weighted) deformation gradient at the quadrature point.
MaterialProperty< RankFourTensor > & _d_rotation_d_F
Derivative of R with respect to F.
virtual void computeQpActualDeformationGradient()
Calculate the actual deformation gradient at n+1 (no alpha weighting, no F-bar)
MaterialProperty< RankTwoTensor > & _F_ust_inv
Inverse and determinant of the unstabilized deformation gradient F_ust.
const MaterialProperty< RankTwoTensor > & _rotated_mechanical_strain_old
MaterialProperty< RankTwoTensor > & _deformation_gradient_increment
Deformation gradient increment.
const KinematicApproximation _kinematic_approximation
Selected approximation for the spatial velocity gradient increment.
MaterialProperty< RankTwoTensor > & _F_avg
FBarMode
What F gets F-bar volumetric correction applied to.
static InputParameters baseParams()
virtual void initialSetup() override
MaterialProperty< RankTwoTensor > & _F_inv
Inverse deformation gradient.
void computeRashidEigenIncrement(const RankTwoTensor &f_inv, RankTwoTensor &dd, RankTwoTensor &dw, RankFourTensor &d_dL_d_f_inv, RankFourTensor &d_dw_d_f_inv, bool need_jacobian) const
"Exact" via polar decomposition of f^{-1} + matrix logs.
MaterialProperty< RankTwoTensor > & _F_ust
The unstabilized (alpha-weighted) deformation gradient.
MaterialProperty< RankFourTensor > & _d_F_stab_d_F_avg
Partial derivative of the F-bar-stabilized deformation gradient with respect to the element-averaged ...
void setQpIncrementalStrains(const RankTwoTensor &dd, const RankTwoTensor &dw)
Update strain / vorticity / mechanical-strain bookkeeping from already-split (dd, dw) tensors.
std::vector< const VariableGradient * > _grad_disp_old
Old displacement gradients for the generalized midpoint rule.
RankTwoTensor computeQpRotationIncrement(const RankTwoTensor &f_inv, const RankTwoTensor &dw) const
Rotation increment matched to the active _kinematic_approximation, suitable for publishing as _rotati...
MaterialProperty< RankTwoTensor > & _rotated_mechanical_strain
Mechanical strain accumulated with the incremental rotation r_hat = exp(Deltaw), matching the convent...
std::vector< MaterialPropertyName > _homogenization_gradient_names
Names of any extra homogenization gradients.
MaterialProperty< RankFourTensor > & _d_F_stab_d_F_ust
Partial derivative of the F-bar-stabilized deformation gradient with respect to the unstabilized (per...
virtual void computeDeformationGradient()
Calculate the unstabilized and optionally the stabilized deformation gradients.
std::vector< const MaterialProperty< RankTwoTensor > * > _homogenization_contributions
Actual homogenization contributions.
MaterialProperty< Real > & _F_ust_det
const bool _stabilize_strain
If true stabilize the strains with F_bar.
const std::string _base_name
Material system base name.
virtual void subtractQpEigenstrainIncrement(RankTwoTensor &strain)
Subtract the eigenstrain increment to subtract from the total strain.
const Real _alpha
Generalized-midpoint weight for the deformation gradient (1.0 = backward Euler, 0....
std::vector< const MaterialProperty< RankTwoTensor > * > _eigenstrains
const bool _publish_rotation_increment
If true, publish _rotation_increment = exp(_vorticity_increment) (Rodrigues) instead of the default i...
void computeRashidApproximateIncrement(const RankTwoTensor &f_inv, RankTwoTensor &dd, RankTwoTensor &dw, RankFourTensor &d_dL_d_f_inv, RankFourTensor &d_dw_d_f_inv, bool need_jacobian) const
Rashid's approximate symmetric+skew formulas.
virtual void initQpStatefulProperties() override
const unsigned int _ndisp
void computeQuadraticIncrement(const RankTwoTensor &f_inv, RankTwoTensor &dd, RankTwoTensor &dw, RankFourTensor &d_dL_d_f_inv, RankFourTensor &d_dw_d_f_inv, bool need_jacobian) const
Quadratic approximation: dL = (I - f^{-1}) + 0.5 (I - f^{-1})^2.
MaterialProperty< RankTwoTensor > & _f_inv
Inverse incremental deformation gradient.
const MaterialProperty< RankTwoTensor > & _F_old
Old deformation gradient.
MaterialProperty< RankTwoTensor > & _vorticity_increment
Vorticity increment.
MaterialProperty< RankFourTensor > & _d_deformation_gradient_increment_d_F
Derivative of the spatial velocity gradient increment with respect to F_{n+1}.
virtual void computeQpIncrementalStrains(const RankTwoTensor &dL)
Calculate the strains based on the spatial velocity gradient.
MaterialProperty< RankTwoTensor > & _F
MaterialProperty< RankTwoTensor > & _strain_increment
Strain increment.
void computeQpPolarDecomposition(bool need_jacobian)
Compute and publish the polar decomposition of _F_actual at the current qp.
MaterialProperty< RankFourTensor > & _d_F_d_grad_u
Derivative of F_{n+1} with respect to the displacement gradient.
std::vector< MaterialPropertyName > _eigenstrain_names
virtual void computeQpProperties() override
const bool _large_kinematics
If true the equilibrium conditions is calculated with large deformations.
Add-on class that provides the functionality to issue guarantees for declared material properties.
const InputParameters & parameters() const