www.mooseframework.org
CrystalPlasticitySlipRate.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 "RankTwoTensor.h"
14 
16 
17 template <>
19 
26 {
27 public:
28  static InputParameters validParams();
29 
30  CrystalPlasticitySlipRate(const InputParameters & parameters);
31 
32  virtual void calcFlowDirection(unsigned int qp,
33  std::vector<RankTwoTensor> & flow_direction) const = 0;
34  virtual bool calcSlipRate(unsigned qp, Real dt, std::vector<Real> & val) const = 0;
35  virtual bool calcSlipRateDerivative(unsigned qp, Real dt, std::vector<Real> & val) const = 0;
36 
37 protected:
38  virtual void getSlipSystems();
39 
40  virtual void readFileFlowRateParams();
41 
42  virtual void getFlowRateParams();
43 
45  unsigned int _num_slip_sys_props;
46 
47  std::vector<Real> _flowprops;
48 
50  std::string _slip_sys_file_name;
51 
59 
62 
65 
66  DenseVector<Real> _mo;
67  DenseVector<Real> _no;
68 
70  const MaterialProperty<RankTwoTensor> & _crysrot;
71 };
CrystalPlasticitySlipRate::_flowprops
std::vector< Real > _flowprops
Definition: CrystalPlasticitySlipRate.h:47
CrystalPlasticitySlipRate::calcSlipRateDerivative
virtual bool calcSlipRateDerivative(unsigned qp, Real dt, std::vector< Real > &val) const =0
CrystalPlasticitySlipRate::readFileFlowRateParams
virtual void readFileFlowRateParams()
Definition: CrystalPlasticitySlipRate.C:58
CrystalPlasticitySlipRate
Crystal plasticity slip rate userobject class The virtual functions written below must be over-ridden...
Definition: CrystalPlasticitySlipRate.h:25
CrystalPlasticitySlipRate::_mo
DenseVector< Real > _mo
Definition: CrystalPlasticitySlipRate.h:66
CrystalPlasticitySlipRate::_no
DenseVector< Real > _no
Definition: CrystalPlasticitySlipRate.h:67
CrystalPlasticityUOBase.h
CrystalPlasticitySlipRate::_slip_sys_flow_prop_file_name
std::string _slip_sys_flow_prop_file_name
File should contain values of the flow rate equation parameters.
Definition: CrystalPlasticitySlipRate.h:58
CrystalPlasticitySlipRate::validParams
static InputParameters validParams()
Definition: CrystalPlasticitySlipRate.C:18
CrystalPlasticitySlipRate::getSlipSystems
virtual void getSlipSystems()
Definition: CrystalPlasticitySlipRate.C:68
CrystalPlasticitySlipRate::getFlowRateParams
virtual void getFlowRateParams()
Definition: CrystalPlasticitySlipRate.C:63
CrystalPlasticityUOBase
Crystal plasticity system userobject base class.
Definition: CrystalPlasticityUOBase.h:22
CrystalPlasticitySlipRate::_crysrot
const MaterialProperty< RankTwoTensor > & _crysrot
Crystal rotation.
Definition: CrystalPlasticitySlipRate.h:70
CrystalPlasticitySlipRate::CrystalPlasticitySlipRate
CrystalPlasticitySlipRate(const InputParameters &parameters)
Definition: CrystalPlasticitySlipRate.C:42
CrystalPlasticitySlipRate::_num_slip_sys_props
unsigned int _num_slip_sys_props
Number of slip system specific properties provided in the file containing slip system normals and dir...
Definition: CrystalPlasticitySlipRate.h:45
validParams< CrystalPlasticitySlipRate >
InputParameters validParams< CrystalPlasticitySlipRate >()
CrystalPlasticitySlipRate::_slip_incr_tol
Real _slip_incr_tol
Slip increment tolerance.
Definition: CrystalPlasticitySlipRate.h:64
CrystalPlasticitySlipRate::_slip_sys_file_name
std::string _slip_sys_file_name
File should contain slip plane normal and direction.
Definition: CrystalPlasticitySlipRate.h:50
CrystalPlasticitySlipRate::_num_slip_sys_flowrate_props
unsigned int _num_slip_sys_flowrate_props
Number of slip system flow rate parameters.
Definition: CrystalPlasticitySlipRate.h:61
CrystalPlasticitySlipRate::calcSlipRate
virtual bool calcSlipRate(unsigned qp, Real dt, std::vector< Real > &val) const =0
CrystalPlasticitySlipRate::calcFlowDirection
virtual void calcFlowDirection(unsigned int qp, std::vector< RankTwoTensor > &flow_direction) const =0