www.mooseframework.org
CrystalPlasticitySlipRate.h
Go to the documentation of this file.
1 /****************************************************************/
2 /* MOOSE - Multiphysics Object Oriented Simulation Environment */
3 /* */
4 /* All contents are licensed under LGPL V2.1 */
5 /* See LICENSE for full restrictions */
6 /****************************************************************/
7 #ifndef CRYSTALPLASTICITYSLIPRATE_H
8 #define CRYSTALPLASTICITYSLIPRATE_H
9 
11 #include "RankTwoTensor.h"
12 
14 
15 template <>
17 
24 {
25 public:
26  CrystalPlasticitySlipRate(const InputParameters & parameters);
27 
28  virtual void calcFlowDirection(unsigned int qp,
29  std::vector<RankTwoTensor> & flow_direction) const = 0;
30  virtual bool calcSlipRate(unsigned qp, Real dt, std::vector<Real> & val) const = 0;
31  virtual bool calcSlipRateDerivative(unsigned qp, Real dt, std::vector<Real> & val) const = 0;
32 
33 protected:
34  virtual void getSlipSystems();
35 
36  virtual void readFileFlowRateParams();
37 
38  virtual void getFlowRateParams();
39 
41  unsigned int _num_slip_sys_props;
42 
43  std::vector<Real> _flowprops;
44 
46  std::string _slip_sys_file_name;
47 
55 
58 
61 
62  DenseVector<Real> _mo;
63  DenseVector<Real> _no;
64 
66  const MaterialProperty<RankTwoTensor> & _crysrot;
67 };
68 
69 #endif // CRYSTALPLASTICITYSLIPRATE_H
virtual bool calcSlipRateDerivative(unsigned qp, Real dt, std::vector< Real > &val) const =0
Crystal plasticity slip rate userobject class The virtual functions written below must be over-ridden...
unsigned int _num_slip_sys_props
Number of slip system specific properties provided in the file containing slip system normals and dir...
Crystal plasticity system userobject base class.
std::string _slip_sys_flow_prop_file_name
File should contain values of the flow rate equation parameters.
InputParameters validParams< CrystalPlasticitySlipRate >()
Real _slip_incr_tol
Slip increment tolerance.
unsigned int _num_slip_sys_flowrate_props
Number of slip system flow rate parameters.
virtual bool calcSlipRate(unsigned qp, Real dt, std::vector< Real > &val) const =0
CrystalPlasticitySlipRate(const InputParameters &parameters)
const MaterialProperty< RankTwoTensor > & _crysrot
Crystal rotation.
virtual void calcFlowDirection(unsigned int qp, std::vector< RankTwoTensor > &flow_direction) const =0
std::string _slip_sys_file_name
File should contain slip plane normal and direction.