56 void initPropOld(
const std::vector<UserObjectName> &,
62 void initUserObjects(
const std::vector<UserObjectName> &,
unsigned int, std::vector<const T *> &);
128 virtual Real
computeNorm(
const std::vector<Real> &);
ComputeStressBase is the base class for stress tensors computed from MOOSE's strain calculators.
This class solves the viscoplastic flow rate equations in the total form Involves 4 different types o...
void initNumUserObjects(const std::vector< UserObjectName > &, unsigned int &)
This function calculates the number of each user object type.
RankTwoTensor _fp_tmp_inv
virtual void initQpStatefulProperties()
Initializes state.
virtual void preSolveFlowrate()
Sets state for solve (Inside substepping)
std::vector< DenseVector< Real > > _dintvarrate_dflowrate
Jacobian variables.
DenseMatrix< Real > _dflowrate_dstrength
virtual void computeElasticRightCauchyGreenTensor()
Computes elastic Right Cauchy Green Tensor.
virtual bool solveQp()
Solve state.
virtual void computeDeeDce()
Computes derivative of elastic strain w.r.t elastic Right Cauchy Green Tensor.
std::vector< MaterialProperty< Real > * > _flow_rate_prop
std::vector< Real > _int_var_old
const MaterialProperty< RankFourTensor > & _elasticity_tensor
Elasticity tensor material property.
DenseVector< Real > _flow_rate
virtual bool computeIntVarRates()
This function call user objects to calculate rate of internal variables.
std::vector< MaterialProperty< Real > * > _strength_prop
std::vector< UserObjectName > _flow_rate_uo_names
Names of flow rate user objects.
std::vector< MaterialProperty< Real > * > _int_var_stateful_prop
virtual void computeElasticPlasticDeformGrad()
Computes elastic and plastic deformation gradients.
virtual bool computeFlowDirection()
Calls user objects to compute flow directions.
RankTwoTensor _fp_tmp_old_inv
DenseVector< Real > _dflow_rate
unsigned int _num_strength_uos
Number of strength user objects.
virtual void computeIntVarDerivatives()
This function call user objects to compute dintvar/dintvar_rate and dintvar/dflowrate.
virtual void initUOVariables()
This function initializes the properties, stateful properties and user objects The properties and sta...
virtual void computeElasticStrain()
Computes elastic Lagrangian strain.
unsigned int _num_int_var_uos
Number of internal variable user objects.
virtual bool computeStrength()
This function call user objects to compute strength.
virtual void preSolveQp()
Sets state for solve.
DenseMatrix< Real > _dintvarrate_dintvar
std::vector< UserObjectName > _int_var_uo_names
Names of internal variable user objects.
virtual void recoverOldState()
This function restores the the old stateful properties after a successful solve.
virtual void initJacobianVariables()
This function initialize variables required for Jacobian calculation.
std::vector< const HEVPInternalVarUOBase * > _int_var_uo
Internal variable user objects.
unsigned int _num_int_var_rate_uos
Number of internal variable rate user objects.
static InputParameters validParams()
std::vector< UserObjectName > _strength_uo_names
Names of strength user objects.
const MaterialProperty< RankTwoTensor > & _rotation_increment
DenseMatrix< Real > _dintvar_dintvar
virtual void computeDpk2Dfpinv()
Computes derivative of PK2 stress wrt inverse of plastic deformation gradient.
std::vector< MaterialProperty< Real > * > _int_var_rate_prop
const MaterialProperty< RankTwoTensor > & _fp_old
virtual bool computeFlowRateFunction()
Calls user objects to compute flow rates.
std::string _pk2_prop_name
virtual bool computeIntVar()
This function call user objects to integrate internal variables.
virtual void computeIntVarRateDerivatives()
This function call user objects to compute dintvar_rate/dintvar and dintvarrate/dflowrate.
DenseVector< Real > _resid
DenseVector< Real > _dintvar_dintvar_x
RankFourTensor _dfe_dfpinv
virtual bool computeFlowRateResidual()
Computes flow rate residual vector.
void initUserObjects(const std::vector< UserObjectName > &, unsigned int, std::vector< const T * > &)
This function initializes user objects.
std::vector< RankTwoTensor > _dflowrate_dpk2
virtual void computeQpJacobian()
This function computes the Jacobian.
MaterialProperty< RankTwoTensor > & _pk2
std::vector< RankTwoTensor > _dpk2_dflowrate
const MaterialProperty< RankTwoTensor > & _deformation_gradient_old
MaterialProperty< RankTwoTensor > & _fp
virtual void computeFlowRateJacobian()
Computes flow rate Jacobian matrix.
unsigned int _num_flow_rate_uos
Number of flow rate user objects.
virtual void computeQpStress()
This function computes the Cauchy stress.
virtual void postSolveFlowrate()
Update state for output (Inside substepping)
std::vector< RankTwoTensor > _flow_dirn
virtual void computePK2StressAndDerivative()
Computes PK2 stress and derivative w.r.t elastic Right Cauchy Green Tensor.
std::vector< DenseVector< Real > > _dintvar_dflowrate_tmp
void initProp(const std::vector< UserObjectName > &, unsigned int, std::vector< MaterialProperty< T > * > &)
This function initializes properties for each user object.
Real _resid_rel_tol
Relative tolerance for residual convergence check.
std::vector< UserObjectName > _int_var_rate_uo_names
Names of internal variable rate user objects.
virtual void postSolveQp()
Update state for output (Outside substepping)
MaterialProperty< RankTwoTensor > & _ce
std::vector< const HEVPStrengthUOBase * > _strength_uo
Strength user objects.
RankFourTensor _dpk2_dfpinv
DenseMatrix< Real > _dintvar_dintvarrate
std::vector< const MaterialProperty< Real > * > _int_var_stateful_prop_old
void computeStrengthDerivatives()
This function call user objects to compute dstrength/dintvar.
unsigned int _maxiters
Maximum number of iterations.
virtual void saveOldState()
This function saves the old stateful properties that is modified during sub stepping.
RankFourTensor _df_dstretch_inc
virtual void updateFlowRate()
Update flow rate.
const MaterialProperty< RankTwoTensor > & _deformation_gradient
virtual bool solveFlowrate()
Solve for flow rate and state.
DenseMatrix< Real > _dstrength_dintvar
unsigned int _max_substep_iter
Maximum number of substep iterations.
std::vector< const HEVPFlowRateUOBase * > _flow_rate_uo
Flow rate user objects.
const std::string _elasticity_tensor_name
Name of the elasticity tensor material property.
virtual Real computeNorm(const std::vector< Real > &)
Computes norm of residual vector.
std::vector< const HEVPInternalVarRateUOBase * > _int_var_rate_uo
Internal variable rate user objects.
std::vector< RankTwoTensor > _dfpinv_dflowrate
void initPropOld(const std::vector< UserObjectName > &, unsigned int, std::vector< const MaterialProperty< T > * > &)
This function initializes old for stateful properties associated with user object Only user objects t...
DenseMatrix< Real > _dintvar_dflowrate
Real _resid_abs_tol
Absolute tolerance for residual convergence check.