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