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