333 std::vector<RankTwoTensor>
_s0;
ComputeStressBase is the base class for stress tensors computed from MOOSE's strain calculators.
FiniteStrainCrystalPlasticity uses the multiplicative decomposition of deformation gradient and solve...
const MaterialProperty< RankTwoTensor > & _lag_e_old
virtual void solveStatevar()
This function solves internal variables.
virtual void calcResidual(RankTwoTensor &)
This function calculate stress residual.
Real _rtol
Stress residual equation relative tolerance.
virtual RankFourTensor elastoPlasticTangentModuli()
This function calculate the exact tangent moduli for preconditioner.
std::vector< Real > _gss_tmp_old
const MaterialProperty< RankFourTensor > & _elasticity_tensor
Elasticity tensor material property.
virtual void readFileHardnessParams()
This function read hardness parameters from file.
void calc_schmid_tensor()
This function calculate the Schmid tensor.
unsigned int _num_slip_sys_flowrate_props
Number of slip system flow rate parameters.
virtual void solveStress()
This function solves for stress, updates plastic deformation gradient.
void internalVariableUpdateNRiteration()
This function updates internal variables after each NewTon Raphson iteration (_fp_inv)
std::vector< Real > _hprops
const MaterialProperty< RankTwoTensor > & _deformation_gradient_old
MaterialProperty< RankTwoTensor > & _fp
const MaterialProperty< RankTwoTensor > & _deformation_gradient
virtual void postSolveQp()
This function update stress and internal variable after solve.
virtual void getFlowRateParams()
This function assign flow rate parameters - see test.
const unsigned int _nss
Number of slip system resistance.
DenseVector< Real > _slip_sys_props
virtual void getInitSlipSysRes()
This function assign slip system resistances - see test.
Real _dfgrd_scale_factor
Scales the substepping increment to obtain deformation gradient at a substep iteration.
unsigned int _rndm_seed
Seed value.
virtual void initSlipSysProps()
This function initializes slip system resistances.
virtual void update_slip_system_resistance()
This function updates the slip system resistances.
static InputParameters validParams()
bool _read_from_slip_sys_file
unsigned int _lsrch_max_iter
Line search bisection method maximum iteration number.
virtual void solveQp()
This function solves stress and internal variables.
RankTwoTensor _fp_old_inv
Real _lsrch_tol
Line search bisection method tolerance.
unsigned int _maxiterg
Maximum number of iterations for internal variable update.
unsigned int _max_substep_iter
Maximum number of substep iterations.
unsigned int _maxiter
Maximum number of iterations for stress update.
MaterialProperty< std::vector< Real > > & _gss
DenseVector< Real > _slip_incr
const std::string _elasticity_tensor_name
Name of the elasticity tensor material property.
virtual void computeQpElasticityTensor()
This function updates the elasticity tensor at a quadrature point.
std::vector< Real > _gprops
RankTwoTensor _delta_dfgrd
Flag to check whether convergence is achieved.
bool _first_step_iter
Flags to reset variables and reinitialize variables.
virtual void calc_resid_jacob(RankTwoTensor &, RankFourTensor &)
This function calls the residual and jacobian functions used in the stress update algorithm.
Real _min_lsrch_step
Minimum line search step size.
virtual void preSolveStatevar()
This function set variables for internal variable solve.
std::string _slip_sys_hard_prop_file_name
The hardening parameters in this class are read from .i file. The user can override to read from file...
DenseMatrix< Real > _dgss_dsliprate
RankTwoTensor get_current_rotation(const RankTwoTensor &a)
This function perform RU decomposition to obtain the rotation tensor.
virtual void preSolveStress()
This function set variables for stress solve.
virtual void readFileFlowRateParams()
This function read flow rate parameters from file - see test.
RankTwoTensor _pk2_tmp_old
MaterialProperty< Real > & _acc_slip
RankTwoTensor _fp_prev_inv
virtual void computeQpStress()
This function updates the stress at a quadrature point.
virtual void updateGss()
This function updates the slip system resistances.
MaterialProperty< RankTwoTensor > & _lag_e
virtual RankFourTensor calcTangentModuli()
This function calculate the tangent moduli for preconditioner.
MooseEnum _intvar_read_type
Read from options for initial values of internal variables.
RankTwoTensor _dfgrd_tmp_old
std::vector< Real > _flowprops
const MaterialProperty< RankTwoTensor > & _fp_old
virtual RankFourTensor elasticTangentModuli()
This function calculate the elastic tangent moduli for preconditioner.
MaterialProperty< RankTwoTensor > & _update_rot
virtual void getSlipIncrements()
This function updates the slip increments.
std::vector< Real > _gss_tmp
Real _rndm_scale_var
Scaling value.
bool _gen_rndm_stress_flag
virtual void calcJacobian(RankFourTensor &)
This function calculate jacobian.
virtual void initQpStatefulProperties()
This function initializes the stateful properties such as stress, plastic deformation gradient,...
virtual void preSolveQp()
This function set variables for stress and internal variable solve.
const MaterialProperty< RankTwoTensor > & _pk2_old
std::string _slip_sys_flow_prop_file_name
File should contain values of the flow rate equation parameters.
bool _input_rndm_scale_var
Input option for scaling variable to generate random stress when convergence fails.
DenseVector< Real > _dslipdtau
virtual void assignSlipSysRes()
This function assign initial values of slip system resistances/internal variables read from getSlipSy...
const MaterialProperty< std::vector< Real > > & _gss_old
Real _abs_tol
Stress residual equation absolute tolerance.
bool line_search_update(const Real rnorm_prev, const RankTwoTensor)
This function performs the line search update.
unsigned int _num_slip_sys_props
Number of slip system specific properties provided in the file containing slip system normals and dir...
Real _slip_incr_tol
Slip increment tolerance.
const MaterialProperty< RankTwoTensor > & _crysrot
std::vector< RankTwoTensor > _s0
const MaterialProperty< Real > & _acc_slip_old
RankTwoTensor getMatRot(const RankTwoTensor &a)
This function perform RU decomposition to obtain the rotation tensor.
virtual void postSolveStress()
This function update stress and plastic deformation gradient after solve.
Real _gtol
Internal variable update equation tolerance.
MooseEnum _tan_mod_type
Type of tangent moduli calculation.
bool _use_line_search
Flag to activate line serach.
std::string _slip_sys_file_name
File should contain slip plane normal and direction. See test.
virtual void getHardnessParams()
This function assign flow rate parameters from .i file - see test.
virtual void initAdditionalProps()
This function initializes additional parameters.
virtual void getSlipSystems()
This function reads slip system from file - see test.
std::string _slip_sys_res_prop_file_name
File should contain initial values of the slip system resistances.
virtual void readFileInitSlipSysRes()
This function read slip system resistances from file - see test.
virtual void postSolveStatevar()
This function update internal variable after solve.
MaterialProperty< RankTwoTensor > & _pk2