- number_slip_systemsThe total number of possible active slip systems for the crystalline material
C++ Type:unsigned int
Description:The total number of possible active slip systems for the crystalline material
- slip_sys_file_nameName of the file containing the slip systems
C++ Type:FileName
Description:Name of the file containing the slip systems
CrystalPlasticityKalidindiUpdate
Kalidindi version of homogeneous crystal plasticity.
CrystalPlasticityKalidindiUpdate
is designed to be used in conjunction with the ComputeMultipleCrystalPlasticityStress class to calculate the response of a FCC crystalline solid. Details about the algorithm and specific stress and strain measures used in the CrystalPlasticityUpdate
base class are given on the documentation page for ComputeMultipleCrystalPlasticityStress.
Constitutive Model Definition
The self and latent hardening crystal plasticity model developed by Kalidindi et al. (1992) is implemented in this class. Here the slip rate is given as a power law relationship: (1) where is a reference slip rate, is the applied shear stress on each slip system , is the slip system strength, or resistance to slip, and is the strain rate sensitivity exponent. The strength of each slip system is solved with an iterative process as a function of the slip increment (2) where is a hardening coefficient matrix that accounts for the different in self and latent hardening, Eq. (3), is an initial hardening term, is a constant saturated hardening value, and is the hardening exponent (Kalidindi et al., 1992).
The self and latent hardening for the assumed FCC system is given as (3) where is a constant value of latent hardening among non-coplanar slip systems. In Eq. (3) the slip systems which share the same slip plane normal (e.g. ) are coplanar and grouped together with a latent hardening rate of unity (Kalidindi et al., 1992). Each matrix entry in Eq. (3) represents the interaction among two different coplanar slip system groups, for a total of six slip systems (Kalidindi et al., 1992).
Example Input File Syntax
[./trial_xtalpl]
type = CrystalPlasticityKalidindiUpdate
number_slip_systems = 12
slip_sys_file_name = input_slip_sys.txt
[../]
(modules/tensor_mechanics/test/tests/crystal_plasticity/stress_update_material_based/update_method_test.i)CrystalPlasticityKalidindiUpdate
must be run in conjunction with the crystal plasticity specific stress calculator as shown below:
[./stress]
type = ComputeMultipleCrystalPlasticityStress
crystal_plasticity_models = 'trial_xtalpl'
tan_mod_type = exact
[../]
(modules/tensor_mechanics/test/tests/crystal_plasticity/stress_update_material_based/update_method_test.i)Input Parameters
- ao0.001slip rate coefficient
Default:0.001
C++ Type:double
Description:slip rate coefficient
- base_nameOptional parameter that allows the user to define multiple crystal plasticity mechanisms
C++ Type:std::string
Description:Optional parameter that allows the user to define multiple crystal plasticity mechanisms
- blockThe list of blocks (ids or names) that this object will be applied
C++ Type:std::vector<SubdomainName>
Description:The list of blocks (ids or names) that this object will be applied
- boundaryThe list of boundaries (ids or names) from the mesh where this boundary condition applies
C++ Type:std::vector<BoundaryName>
Description:The list of boundaries (ids or names) from the mesh where this boundary condition applies
- constant_onNONEWhen ELEMENT, MOOSE will only call computeQpProperties() for the 0th quadrature point, and then copy that value to the other qps.When SUBDOMAIN, MOOSE will only call computeQpProperties() for the 0th quadrature point, and then copy that value to the other qps. Evaluations on element qps will be skipped
Default:NONE
C++ Type:MooseEnum
Description:When ELEMENT, MOOSE will only call computeQpProperties() for the 0th quadrature point, and then copy that value to the other qps.When SUBDOMAIN, MOOSE will only call computeQpProperties() for the 0th quadrature point, and then copy that value to the other qps. Evaluations on element qps will be skipped
- declare_suffixAn optional suffix parameter that can be appended to any declared properties. The suffix will be prepended with a '_' character.
C++ Type:MaterialPropertyName
Description:An optional suffix parameter that can be appended to any declared properties. The suffix will be prepended with a '_' character.
- gss_a2.5coefficient for hardening
Default:2.5
C++ Type:double
Description:coefficient for hardening
- gss_initial60.8initial lattice friction strength of the material
Default:60.8
C++ Type:double
Description:initial lattice friction strength of the material
- h541.5hardening constants
Default:541.5
C++ Type:double
Description:hardening constants
- number_cross_slip_directions0Quanity of unique slip directions, used to determine cross slip familes
Default:0
C++ Type:double
Description:Quanity of unique slip directions, used to determine cross slip familes
- number_cross_slip_planes0Quanity of slip planes belonging to a single cross slip direction; used to determine cross slip families
Default:0
C++ Type:double
Description:Quanity of slip planes belonging to a single cross slip direction; used to determine cross slip families
- prop_getter_suffixAn optional suffix parameter that can be appended to any attempt to retrieve/get material properties. The suffix will be prepended with a '_' character.
C++ Type:MaterialPropertyName
Description:An optional suffix parameter that can be appended to any attempt to retrieve/get material properties. The suffix will be prepended with a '_' character.
- r1Latent hardening coefficient
Default:1
C++ Type:double
Description:Latent hardening coefficient
- resistance_tol0.01Constitutive slip system resistance relative residual tolerance for each individual constitutive model
Default:0.01
C++ Type:double
Description:Constitutive slip system resistance relative residual tolerance for each individual constitutive model
- slip_increment_tolerance0.02Maximum allowable slip in an increment for each individual constitutive model
Default:0.02
C++ Type:double
Description:Maximum allowable slip in an increment for each individual constitutive model
- stol0.01Constitutive internal state variable relative change tolerance
Default:0.01
C++ Type:double
Description:Constitutive internal state variable relative change tolerance
- t_sat109.8saturated slip system strength
Default:109.8
C++ Type:double
Description:saturated slip system strength
- xm0.1exponent for slip rate
Default:0.1
C++ Type:double
Description:exponent for slip rate
- zero_tol1e-12Tolerance for residual check when variable value is zero for each individual constitutive model
Default:1e-12
C++ Type:double
Description:Tolerance for residual check when variable value is zero for each individual constitutive model
Optional Parameters
- control_tagsAdds user-defined labels for accessing object parameters via control logic.
C++ Type:std::vector<std::string>
Description:Adds user-defined labels for accessing object parameters via control logic.
- enableTrueSet the enabled status of the MooseObject.
Default:True
C++ Type:bool
Description:Set the enabled status of the MooseObject.
- implicitTrueDetermines whether this object is calculated using an implicit or explicit form
Default:True
C++ Type:bool
Description:Determines whether this object is calculated using an implicit or explicit form
- seed0The seed for the master random number generator
Default:0
C++ Type:unsigned int
Description:The seed for the master random number generator
- use_displaced_meshFalseWhether or not this object should use the displaced mesh for computation. Note that in the case this is true but no displacements are provided in the Mesh block the undisplaced mesh will still be used.
Default:False
C++ Type:bool
Description:Whether or not this object should use the displaced mesh for computation. Note that in the case this is true but no displacements are provided in the Mesh block the undisplaced mesh will still be used.
Advanced Parameters
- output_propertiesList of material properties, from this material, to output (outputs must also be defined to an output type)
C++ Type:std::vector<std::string>
Description:List of material properties, from this material, to output (outputs must also be defined to an output type)
- outputsnone Vector of output names were you would like to restrict the output of variables(s) associated with this object
Default:none
C++ Type:std::vector<OutputName>
Description:Vector of output names were you would like to restrict the output of variables(s) associated with this object
Outputs Parameters
Input Files
- (modules/tensor_mechanics/test/tests/crystal_plasticity/stress_update_material_based/patch_recovery.i)
- (modules/tensor_mechanics/test/tests/crystal_plasticity/stress_update_material_based/orthotropic_rotation_Cijkl.i)
- (modules/tensor_mechanics/test/tests/crystal_plasticity/stress_update_material_based/update_method_test.i)
- (modules/tensor_mechanics/test/tests/crystal_plasticity/stress_update_material_based/use_substep_dt.i)
- (modules/tensor_mechanics/test/tests/crystal_plasticity/stress_update_material_based/multiple_eigenstrains_test.i)
- (modules/tensor_mechanics/test/tests/crystal_plasticity/stress_update_material_based/exception.i)
- (modules/tensor_mechanics/test/tests/crystal_plasticity/stress_update_material_based/linesearch.i)
- (modules/tensor_mechanics/test/tests/crystal_plasticity/stress_update_material_based/update_method_011orientation.i)
- (modules/tensor_mechanics/test/tests/crystal_plasticity/stress_update_material_based/thermal_eigenstrain_test.i)
- (modules/tensor_mechanics/test/tests/crystal_plasticity/stress_update_material_based/substep.i)
References
- Surya R Kalidindi, Curt A Bronkhorst, and Lallit Anand.
Crystallographic texture evolution in bulk deformation processing of fcc metals.
Journal of the Mechanics and Physics of Solids, 40(3):537–569, 1992.[BibTeX]