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