https://mooseframework.inl.gov
CrystalPlasticityTwinningKalidindiUpdate.h
Go to the documentation of this file.
1 //* This file is part of the MOOSE framework
2 //* https://mooseframework.inl.gov
3 //*
4 //* All rights reserved, see COPYRIGHT for full restrictions
5 //* https://github.com/idaholab/moose/blob/master/COPYRIGHT
6 //*
7 //* Licensed under LGPL 2.1, please see LICENSE for details
8 //* https://www.gnu.org/licenses/lgpl-2.1.html
9 
10 #pragma once
11 
13 
24 {
25 public:
27 
29 
30 protected:
31  virtual void initQpStatefulProperties() override;
32  virtual void setMaterialVectorSize() override;
33 
34  virtual void setInitialConstitutiveVariableValues() override;
35 
36  virtual void setSubstepConstitutiveVariableValues() override;
37 
38  virtual void updateSubstepConstitutiveVariableValues() override;
39 
46  virtual bool calculateSlipRate() override;
47 
48  virtual void calculateConstitutiveSlipDerivative(std::vector<Real> & dslip_dtau) override;
49 
50  virtual void cacheStateVariablesBeforeUpdate() override;
51 
61  virtual void calculateStateVariableEvolutionRateComponent() override;
62 
63  virtual bool updateStateVariables() override;
64 
74 
81 
82  virtual bool areConstitutiveStateVariablesConverged() override;
83 
89 
95 
100 
109 
113  // ///@}
114 
119 };
CrystalPlasticityTwinningKalidindiUpdate(const InputParameters &parameters)
bool calculateTwinVolumeFraction()
Calculate the current value of the twin volume fraction from the incremented twin volume fraction on ...
virtual void initQpStatefulProperties() override
initializes the stateful properties such as PK2 stress, resolved shear stress, plastic deformation gr...
std::vector< Real > _previous_substep_twin_resistance
Stores the twin system resistance, twin volume fractions from the previous substep.
virtual void cacheStateVariablesBeforeUpdate() override
Finalizes the values of the state variables and slip system resistance for the current timestep after...
const Real _characteristic_twin_shear
Coefficients for twin dislocation propagation.
CrystalPlasticityTwinningKalidindiUpdate uses the multiplicative decomposition of the deformation gra...
void calculateTwinResistance()
Calculates the resistance to twin propagation, following Kalidindi IJP 17 (2001) 837-860 eqn 22...
const MaterialProperty< std::vector< Real > > & _twin_volume_fraction_old
std::vector< Real > _twin_resistance_before_update
Caching current twin resistance, twin volume fractions values before final update.
virtual void calculateStateVariableEvolutionRateComponent() override
Following the constitutive model contributions to plastic shear due to deformation twinning propagati...
virtual bool calculateSlipRate() override
Despite the misnomer which results from the inheriting class structure, Calculates the twin shear inc...
virtual void setInitialConstitutiveVariableValues() override
This virtual method is called to set the constitutive internal state variables current value and the ...
MaterialProperty< std::vector< Real > > & _twin_volume_fraction_increment
DIE A HORRIBLE DEATH HERE typedef LIBMESH_DEFAULT_SCALAR_TYPE Real
MaterialProperty< Real > & _total_twin_volume_fraction
Total volume fraction of twins across all twin systems.
virtual void setSubstepConstitutiveVariableValues() override
This virtual method is called to set the current constitutive internal state variable value to that o...
const InputParameters & parameters() const
virtual bool areConstitutiveStateVariablesConverged() override
Determines if all the state variables have converged.
virtual void calculateConstitutiveSlipDerivative(std::vector< Real > &dslip_dtau) override
This virtual method is called to find the derivative of the slip increment with respect to the applie...
virtual bool updateStateVariables() override
Finalizes the values of the state variables and slip system resistance for the current timestep after...
const Real _reference_strain_rate
Power-law slip rate calculation coefficients, from Kalidindi IJP 17 (2001), 837-860.
MaterialProperty< std::vector< Real > > & _twin_volume_fraction
Twin volume fraction per twin system.
virtual void updateSubstepConstitutiveVariableValues() override
Stores the current value of the constitutive internal state variables into a separate material proper...