https://mooseframework.inl.gov
CrystalPlasticityStateVarRateComponentVoce.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 #include "MooseTypes.h"
14 
19 {
20 public:
22 
24 
26  virtual bool calcStateVariableEvolutionRateComponent(unsigned int qp,
27  std::vector<Real> & val) const;
28 
31 
32 protected:
35 
38 
40  std::vector<unsigned int> _groups;
41  std::vector<Real> _h0_group_values;
42  std::vector<Real> _tau0_group_values;
43  std::vector<Real> _tauSat_group_values;
45  std::vector<Real> _selfHardening_group_values;
49 
51  const unsigned int _n_groups;
52 
54  std::vector<unsigned int> _slipSystem_PlaneID;
56  std::vector<unsigned int> _slipSystem_GroupID;
57 
60  virtual void initSlipSystemPlaneID(std::vector<unsigned int> & _slipSystem_PlaneID) const;
61 
64  virtual void initSlipSystemGroupID(std::vector<unsigned int> & _slipSystem_GroupID) const;
65 
67  virtual Real getHardeningCoefficient(unsigned int slipSystemIndex_i,
68  unsigned int slipSystemIndex_j) const;
69 };
const MaterialProperty< std::vector< Real > > & _mat_prop_state_var
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...
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 ...
const unsigned int _n_groups
the number of slip system groups
std::vector< unsigned int > _slipSystem_GroupID
the vector associating a slip system to its groud ID
static MooseEnum crystalLatticeTypeOptions()
class for switching between different crystal lattice types
virtual bool calcStateVariableEvolutionRateComponent(unsigned int qp, std::vector< Real > &val) const
computing the slip system hardening rate
const MaterialProperty< std::vector< Real > > & _mat_prop_slip_rate
std::vector< unsigned int > _groups
the vectors of the input paramters
MooseEnum _crystal_lattice_type
the variable to switch crystal lattice type (i.e. FCC or BCC)
virtual Real getHardeningCoefficient(unsigned int slipSystemIndex_i, unsigned int slipSystemIndex_j) const
method retriving the appropiate self/latent hardening coefficient
std::vector< unsigned int > _slipSystem_PlaneID
the vector associating a slip system to its slip plane ID
CrystalPlasticityStateVarRateComponentVoce(const InputParameters &parameters)
Crystal plasticity state variable evolution rate component userobject base class. ...
DIE A HORRIBLE DEATH HERE typedef LIBMESH_DEFAULT_SCALAR_TYPE Real
const InputParameters & parameters() const
Phenomenological constitutive model state variable evolution rate component userobject class...