Crystal Plasticity HCP Dislocation Slip Beyerlein Update

Two-term dislocation slip model for hexagonal close packed crystals from Beyerline and Tome

Description

CrystalPlasticityHCPDislocationSlipBeyerleinUpdate 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.

As in other crystal plasticity constitutive models compatible with ComputeMultipleCrystalPlasticityStress, the user must supply the slip plane normal and slip direction information, and the lengths of the unit cell lattice parameters. Unlike other crystal plasticity constitutive models, CrystalPlasticityHCPDislocationSlipBeyerleinUpdate is set for use with the HCP lattice type only. Because of this lattice type requirement, four entries each are expected for both the slip plane normal and the slip direction vector entries.

Constitutive Model Definition

A constitutive model for only the glide and evolution of forest dislocations within a Hexagonal Close-Packed (HCP) crystal lattice is implemented in this class. The constitutive model is taken from the work of Beyerlein and Tomé (2008), Capolungo et al. (2009), and Beyerlein and Tomé (2010), which was developed for a viscoplastic self-consistent application. Here the constitutive model is employed within a crystal plasticity implementation.

CrystalPlasticityHCPDislocationSlipBeyerleinUpdate allows for the evaluation of the slip resistance, forest dislocation density, and substructure density on different types of slip systems, such as basal, prismatic, pyramidal, and so on. Within this class these different types of slip systems are termed modes, following Beyerlein and Tomé (2008). Vectors of values for each slip mode dependent parameter may be supplied within the input file. The number of slip systems, value of the burgers vector, and the value of the initial lattice friction are examples of slip mode dependent input file parameters. The specification of modes are not explicitly identified within the code, and no particular order is enforced.

warningwarning

Users are responsible for ensuring that the order of mode-specific parameters is consistent throughout the input file, and that the order of slip system modes corresponds correctly to the order of slip plane normals and slip directions given in the slip system text file, slip_sys_file_name.

Slip System Resistance Calculation

The resistance to dislocation glide is represented in this constitutive model as the strength value that the applied shear stress must overcome to produce plastic slip. The slip resistance is calculated individually for each of the user-supplied slip systems. The resistance is considered here as the sum of four terms: (1) where g is a user-defined constant initial lattice friction, g represents a Hall-Petch type treatment of the slip resistance dependence on grain size, and g and g represent the hardening contributions from the two dislocation density populations, forest and substructure. (Beyerlein and Tomé, 2008).The grain-size dependence hardening term employs a Hall-Petch type dependence on grain size, following Beyerlein and Tomé (2008): (2) where HP is a user-defined constant, is the shear modulus for the slip system, b is the slip system Burgers vector, and d is the average grain size. This value is computed once during the initialization stages of the simulation.

The hardening contribution from forest dislocations, see forest dislocation evolution discussion, is calculated on a per slip basis(Capolungo et al., 2009). (3) where is a user-defined interaction coefficient and is the density of forest dislocations on the slip system . This calculation is completed at every timestep to capture the dislocation density evolution.

Similarly, the hardening contribution due to the substructure density is computed once per timestep; however, only a single total value of substructure density from all slip systems is tracked, as described in the substructure evolution section. Characteristics of the slip systems, such as the Burgers vector, do affect the hardening contribution from substructure density on each slip system: (4) where k is a user-defined interaction coefficient and is the substructure density.

Slip Rate Calculation

The slip rate due to dislocation glide is calculated with a power law relation: (5) where is the reference strain rate, is the resolved applied shear stress on the slip system , m is the slip rate exponent, and t is the current timestep size. As in the work of Beyerlein and Tomé (2008) a low slip rate exponent is recommended here to produce slip only when the applied shear stress is near the value of the slip system resistance, Eq. (1). Note that lower values of the strain rate exponent can cause strain rate sensitivity; following Capolungo et al. (2009) and Beyerlein and Tomé (2010), CrystalPlasticityHCPDislocationSlipBeyerleinUpdate sets the reference strain rate, equal to the macroscopic strain rate through a user-supplied parameter. To reduce potential issues arising from very low slip increments, the requirement is implemented in this class, where the tolerance is a user-defined parameter. For slip systems which do not meet this threshold requirement, the slip increment value is set to zero for that timestep.

Forest Dislocation Evolution

The forest dislocations evolve in response to the resolved applied shear stress, which provides the driving force for dislocation glide. The forest dislocation density evolution model is a direct function of the slip increment (Beyerlein and Tomé, 2008): where k is the slip mode dependent forest dislocation generation coefficient and is the removed forest dislocation density increment for the current timestep. These forest dislocations are either annihilated or generated substructure debris. The evolution of removed forest dislocations has the form (Beyerlein and Tomé, 2008): (6) where G is a slip-mode specific normalized activation energy, k is the Boltzmann constant, T is the temperature, D is the slip mode dependent proportionality factor, is the applied strain rate, bounded within the range 10 to 10 1/s, and is a material value estimated to be 10 (Beyerlein and Tomé, 2008).

The final forest dislocation density per slip system is updated at the end of each time step as where n is the current timestep and n-1 is the previous timestep, provided the increment of the forest dislocation density is within the user-set tolerance. If the forest density increment is out of tolerance, CrystalPlasticityHCPDislocationSlipBeyerleinUpdate triggers the use of a smaller timestep or substep.

Substructure Dislocation Evolution

The substructure density is calculated as a function of the removed forest dislocation density, Eq. (6), following Capolungo et al. (2009): (7) where f is the slip-mode dependent substructure generation rate coefficient. The substructure density is considered to affect the forest dislocation evolution on all slip systems evenly; thus, only the total sum of substructure density across all slip systems is modeled here. As noted by (Capolungo et al., 2009), the constitutive model does not allow for recovery of dislocations from the substructure density.

Example Input File Syntax

[Materials]
  [trial_xtalpl]
    type = CrystalPlasticityHCPDislocationSlipBeyerleinUpdate
    number_slip_systems = 15
    slip_sys_file_name = hcp_aprismatic_capyramidal_slip_sys.txt
    unit_cell_dimension = '2.934e-7 2.934e-7 4.657e-7' #Ti, in mm, https://materialsproject.org/materials/mp-46/
    temperature = temperature
    initial_forest_dislocation_density = 15.0e5
    initial_substructure_density = 1.0e3
    slip_system_modes = 2
    number_slip_systems_per_mode = '3 12'
    lattice_friction_per_mode = '98 224' #Knezevic et al MSEA 654 (2013)
    effective_shear_modulus_per_mode = '4.7e4 4.7e4' #Ti, in MPa, https://materialsproject.org/materials/mp-46/
    burgers_vector_per_mode = '2.934e-7 6.586e-7' #Ti, in mm, https://materialsproject.org/materials/mp-46/
    slip_generation_coefficient_per_mode = '1.25e5 2.25e7' #from Beyerlein and Tome 2008 IJP
    normalized_slip_activiation_energy_per_mode = '3.73e-3 3.2e-2' #from Beyerlein and Tome 2008 IJP
    slip_energy_proportionality_factor_per_mode = '330 100' #from Beyerlein and Tome 2008 IJP
    substructure_rate_coefficient_per_mode = '355 0.4' #from Capolungo et al MSEA (2009)
    applied_strain_rate = 0.001
    gamma_o = 1.0e-3
    Hall_Petch_like_constant_per_mode = '0.2 0.2' #Estimated to match graph in Capolungo et al MSEA (2009), Figure 2
    grain_size = 20.0e-3 #20 microns, Beyerlein and Tome IJP (2008)
  []
[]
(moose/modules/solid_mechanics/test/tests/crystal_plasticity/hcp_single_crystal/update_method_hcp_aprismatic_capyramidal.i)

CrystalPlasticityHCPDislocationSlipBeyerleinUpdate must be run in conjunction with the crystal plasticity specific stress calculator as shown below:

[Materials]
  [stress]
    type = ComputeMultipleCrystalPlasticityStress
    crystal_plasticity_models = 'trial_xtalpl'
    tan_mod_type = exact
  []
[]
(moose/modules/solid_mechanics/test/tests/crystal_plasticity/hcp_single_crystal/update_method_hcp_aprismatic_capyramidal.i)

Input Parameters

  • grain_sizeValue of the crystal grain size, in mm

    C++ Type:double

    Unit:(no unit assumed)

    Controllable:No

    Description:Value of the crystal grain size, in mm

  • initial_forest_dislocation_densityThe initial density of the forest dislocations, in 1/mm^2, assumed to be split evenly among all slip systems

    C++ Type:double

    Unit:(no unit assumed)

    Controllable:No

    Description:The initial density of the forest dislocations, in 1/mm^2, assumed to be split evenly among all slip systems

  • initial_substructure_densityThe initial total density of the sessile dislocations, in 1/mm^2

    C++ Type:double

    Unit:(no unit assumed)

    Controllable:No

    Description:The initial total density of the sessile dislocations, in 1/mm^2

  • number_slip_systemsThe total number of possible active slip systems for the crystalline material

    C++ Type:unsigned int

    Unit:(no unit assumed)

    Controllable:No

    Description:The total number of possible active slip systems for the crystalline material

  • slip_sys_file_nameName of the file containing the slip systems, one slip system per row, with the slip plane normal given before the slip plane direction.

    C++ Type:FileName

    Unit:(no unit assumed)

    Controllable:No

    Description:Name of the file containing the slip systems, one slip system per row, with the slip plane normal given before the slip plane direction.

Required Parameters

Optional Parameters

Advanced Parameters

Outputs Parameters

References

  1. I.J. Beyerlein and C.N. Tomé. A dislocation-based constitutive law for pure zr including temperature effects. International Journal of Plasticity, 24(5):867–895, 2008. URL: https://www.sciencedirect.com/science/article/pii/S074964190700109X, doi:https://doi.org/10.1016/j.ijplas.2007.07.017.[BibTeX]
  2. I.J. Beyerlein and C.N. Tomé. A probabilistic twin nucleatin model for HCP polycrystalline metals. Proceedings of the Royal Society A, 466:2517–2544, 2010. doi:https://doi.org/10.1098/rspa.2009.0661.[BibTeX]
  3. L. Capolungo, I.J. Beyerlein, G.C. Kaschner, and C.N. Tomé. On the interaction between slip dislocations and twins in HCP Zr. Materials Science and Engineering A, 513-514:42–51, 2009. URL: https://www.sciencedirect.com/science/article/pii/S0921509309000616, doi:https://doi.org/10.1016/j.msea.2009.01.035.[BibTeX]