www.mooseframework.org
CrystalPlasticityStateVarRateComponentVoce.h
Go to the documentation of this file.
1 //* This file is part of the MOOSE framework
2 //* https://www.mooseframework.org
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 #include "MooseTypes.h"
14 
16 
17 template <>
19 
24 {
25 public:
26  static InputParameters validParams();
27 
28  CrystalPlasticityStateVarRateComponentVoce(const InputParameters & parameters);
29 
31  virtual bool calcStateVariableEvolutionRateComponent(unsigned int qp,
32  std::vector<Real> & val) const;
33 
35  static MooseEnum crystalLatticeTypeOptions();
36 
37 protected:
38  const MaterialProperty<std::vector<Real>> & _mat_prop_slip_rate;
39  const MaterialProperty<std::vector<Real>> & _mat_prop_state_var;
40 
43 
45  std::vector<unsigned int> _groups;
46  std::vector<Real> _h0_group_values;
47  std::vector<Real> _tau0_group_values;
48  std::vector<Real> _tauSat_group_values;
50  std::vector<Real> _selfHardening_group_values;
54 
56  const unsigned int _n_groups;
57 
59  std::vector<unsigned int> _slipSystem_PlaneID;
61  std::vector<unsigned int> _slipSystem_GroupID;
62 
65  virtual void initSlipSystemPlaneID(std::vector<unsigned int> & _slipSystem_PlaneID) const;
66 
69  virtual void initSlipSystemGroupID(std::vector<unsigned int> & _slipSystem_GroupID) const;
70 
72  virtual Real getHardeningCoefficient(unsigned int slipSystemIndex_i,
73  unsigned int slipSystemIndex_j) const;
74 };
CrystalPlasticityStateVarRateComponentVoce::_n_groups
const unsigned int _n_groups
the number of slip system groups
Definition: CrystalPlasticityStateVarRateComponentVoce.h:56
CrystalPlasticityStateVarRateComponentVoce::_slipSystem_GroupID
std::vector< unsigned int > _slipSystem_GroupID
the vector associating a slip system to its groud ID
Definition: CrystalPlasticityStateVarRateComponentVoce.h:61
CrystalPlasticityStateVarRateComponentVoce::_h0_group_values
std::vector< Real > _h0_group_values
Definition: CrystalPlasticityStateVarRateComponentVoce.h:46
CrystalPlasticityStateVarRateComponent.h
CrystalPlasticityStateVarRateComponentVoce::initSlipSystemPlaneID
virtual void initSlipSystemPlaneID(std::vector< unsigned int > &_slipSystem_PlaneID) const
method associating slip system to their group by generating a vector containing the association betwe...
Definition: CrystalPlasticityStateVarRateComponentVoce.C:194
CrystalPlasticityStateVarRateComponentVoce
Phenomenological constitutive model state variable evolution rate component userobject class.
Definition: CrystalPlasticityStateVarRateComponentVoce.h:23
CrystalPlasticityStateVarRateComponentVoce::_coplanarHardening_group_values
std::vector< Real > _coplanarHardening_group_values
Definition: CrystalPlasticityStateVarRateComponentVoce.h:51
CrystalPlasticityStateVarRateComponentVoce::_mat_prop_slip_rate
const MaterialProperty< std::vector< Real > > & _mat_prop_slip_rate
Definition: CrystalPlasticityStateVarRateComponentVoce.h:38
CrystalPlasticityStateVarRateComponentVoce::_groups
std::vector< unsigned int > _groups
the vectors of the input paramters
Definition: CrystalPlasticityStateVarRateComponentVoce.h:45
CrystalPlasticityStateVarRateComponentVoce::_selfHardening_group_values
std::vector< Real > _selfHardening_group_values
Definition: CrystalPlasticityStateVarRateComponentVoce.h:50
CrystalPlasticityStateVarRateComponentVoce::_hardeningExponent_group_values
std::vector< Real > _hardeningExponent_group_values
Definition: CrystalPlasticityStateVarRateComponentVoce.h:49
CrystalPlasticityStateVarRateComponentVoce::validParams
static InputParameters validParams()
Definition: CrystalPlasticityStateVarRateComponentVoce.C:18
CrystalPlasticityStateVarRateComponentVoce::_crystal_lattice_type
MooseEnum _crystal_lattice_type
the variable to switch crystal lattice type (i.e. FCC or BCC)
Definition: CrystalPlasticityStateVarRateComponentVoce.h:42
CrystalPlasticityStateVarRateComponentVoce::initSlipSystemGroupID
virtual void initSlipSystemGroupID(std::vector< unsigned int > &_slipSystem_GroupID) const
method associating slip system to their slip plane by generating a vector containing the association ...
Definition: CrystalPlasticityStateVarRateComponentVoce.C:228
CrystalPlasticityStateVarRateComponentVoce::CrystalPlasticityStateVarRateComponentVoce
CrystalPlasticityStateVarRateComponentVoce(const InputParameters &parameters)
Definition: CrystalPlasticityStateVarRateComponentVoce.C:80
CrystalPlasticityStateVarRateComponentVoce::_tau0_group_values
std::vector< Real > _tau0_group_values
Definition: CrystalPlasticityStateVarRateComponentVoce.h:47
CrystalPlasticityStateVarRateComponentVoce::calcStateVariableEvolutionRateComponent
virtual bool calcStateVariableEvolutionRateComponent(unsigned int qp, std::vector< Real > &val) const
computing the slip system hardening rate
Definition: CrystalPlasticityStateVarRateComponentVoce.C:147
CrystalPlasticityStateVarRateComponentVoce::_slipSystem_PlaneID
std::vector< unsigned int > _slipSystem_PlaneID
the vector associating a slip system to its slip plane ID
Definition: CrystalPlasticityStateVarRateComponentVoce.h:59
CrystalPlasticityStateVarRateComponentVoce::crystalLatticeTypeOptions
static MooseEnum crystalLatticeTypeOptions()
class for switching between different crystal lattice types
Definition: CrystalPlasticityStateVarRateComponentVoce.C:188
CrystalPlasticityStateVarRateComponentVoce::_mat_prop_state_var
const MaterialProperty< std::vector< Real > > & _mat_prop_state_var
Definition: CrystalPlasticityStateVarRateComponentVoce.h:39
validParams< CrystalPlasticityStateVarRateComponentVoce >
InputParameters validParams< CrystalPlasticityStateVarRateComponentVoce >()
CrystalPlasticityStateVarRateComponentVoce::_tauSat_group_values
std::vector< Real > _tauSat_group_values
Definition: CrystalPlasticityStateVarRateComponentVoce.h:48
CrystalPlasticityStateVarRateComponentVoce::getHardeningCoefficient
virtual Real getHardeningCoefficient(unsigned int slipSystemIndex_i, unsigned int slipSystemIndex_j) const
method retriving the appropiate self/latent hardening coefficient
Definition: CrystalPlasticityStateVarRateComponentVoce.C:243
CrystalPlasticityStateVarRateComponentVoce::_GroupGroup_Hardening_group_values
std::vector< Real > _GroupGroup_Hardening_group_values
Definition: CrystalPlasticityStateVarRateComponentVoce.h:52
CrystalPlasticityStateVarRateComponent
Crystal plasticity state variable evolution rate component userobject base class.
Definition: CrystalPlasticityStateVarRateComponent.h:24