www.mooseframework.org
ComputeStrainBase.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 COMPUTESTRAINBASE_H
8 #define COMPUTESTRAINBASE_H
9 
10 #include "Material.h"
11 #include "RankTwoTensor.h"
12 #include "RankFourTensor.h"
13 #include "RotationTensor.h"
14 #include "DerivativeMaterialInterface.h"
15 
19 class ComputeStrainBase : public DerivativeMaterialInterface<Material>
20 {
21 public:
22  ComputeStrainBase(const InputParameters & parameters);
23  virtual ~ComputeStrainBase() {}
24 
25 protected:
26  virtual void initQpStatefulProperties() override;
27 
29  unsigned int _ndisp;
30  std::vector<const VariableValue *> _disp;
31  std::vector<const VariableGradient *> _grad_disp;
32 
33  std::string _base_name;
34 
35  MaterialProperty<RankTwoTensor> & _mechanical_strain;
36 
37  MaterialProperty<RankTwoTensor> & _total_strain;
38 
39  std::vector<MaterialPropertyName> _eigenstrain_names;
40  std::vector<const MaterialProperty<RankTwoTensor> *> _eigenstrains;
41 
43  const Real & _current_elem_volume;
44 };
45 
46 #endif // COMPUTESTRAINBASE_H
virtual void initQpStatefulProperties() override
const Real & _current_elem_volume
ComputeStrainBase(const InputParameters &parameters)
std::string _base_name
std::vector< const VariableValue * > _disp
MaterialProperty< RankTwoTensor > & _mechanical_strain
virtual ~ComputeStrainBase()
unsigned int _ndisp
Coupled displacement variables.
ComputeStrainBase is the base class for strain tensors.
std::vector< MaterialPropertyName > _eigenstrain_names
MaterialProperty< RankTwoTensor > & _total_strain
std::vector< const MaterialProperty< RankTwoTensor > * > _eigenstrains
std::vector< const VariableGradient * > _grad_disp