www.mooseframework.org
CrystalPlasticityStateVariable.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 
18 {
19 public:
21 
23 
24  virtual bool updateStateVariable(unsigned int qp,
25  Real dt,
26  std::vector<Real> & val,
27  std::vector<Real> & val_old) const;
28  virtual void initSlipSysProps(std::vector<Real> & val, const Point & q_point) const;
29 
30 protected:
31  virtual void readInitialValueFromFile(std::vector<Real> & val) const;
32 
33  virtual void readInitialValueFromInline(std::vector<Real> & val) const;
34 
35  virtual void provideInitialValueByUser(std::vector<Real> & /*val*/,
36  const Point & /*q_point*/) const;
37 
39 
40  std::vector<const MaterialProperty<std::vector<Real>> *> _mat_prop_state_var_evol_rate_comps;
41 
43 
46 
49 
55  std::vector<unsigned int> _groups;
56 
61  std::vector<Real> _group_values;
62 
65 
67  std::vector<Real> _scale_factor;
68 };
MooseEnum _intvar_read_type
Read from options for initial values of internal variables.
virtual void readInitialValueFromFile(std::vector< Real > &val) const
virtual bool updateStateVariable(unsigned int qp, Real dt, std::vector< Real > &val, std::vector< Real > &val_old) const
virtual void initSlipSysProps(std::vector< Real > &val, const Point &q_point) const
std::vector< unsigned int > _groups
The _groups variable is used to group slip systems and assign the initial values to each group...
Crystal plasticity system userobject base class.
const MaterialProperty< std::vector< Real > > & _mat_prop_state_var
virtual void provideInitialValueByUser(std::vector< Real > &, const Point &) const
CrystalPlasticityStateVariable(const InputParameters &parameters)
std::vector< Real > _scale_factor
Scale factor of individual component.
std::vector< const MaterialProperty< std::vector< Real > > * > _mat_prop_state_var_evol_rate_comps
FileName _state_variable_file_name
File should contain initial values of the state variable.
DIE A HORRIBLE DEATH HERE typedef LIBMESH_DEFAULT_SCALAR_TYPE Real
std::vector< Real > _group_values
The _group_values are the initial values corresponding to each group.
virtual void readInitialValueFromInline(std::vector< Real > &val) const
Crystal plasticity state variable userobject class.
const InputParameters & parameters() const
Real _zero
Numerical zero for internal variable.