www.mooseframework.org
ComputeStrainBase.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 
12 #include "Material.h"
13 #include "RankTwoTensor.h"
14 #include "RankFourTensor.h"
15 #include "RotationTensor.h"
16 #include "DerivativeMaterialInterface.h"
17 
18 class ComputeStrainBase;
19 
20 template <>
21 InputParameters validParams<ComputeStrainBase>();
22 
26 class ComputeStrainBase : public DerivativeMaterialInterface<Material>
27 {
28 public:
29  static InputParameters validParams();
30 
31  ComputeStrainBase(const InputParameters & parameters);
32 
33  void initialSetup() override;
34 
35 protected:
36  virtual void initQpStatefulProperties() override;
37  virtual void displacementIntegrityCheck();
38 
40  unsigned int _ndisp;
41  std::vector<const VariableValue *> _disp;
42  std::vector<const VariableGradient *> _grad_disp;
43 
44  const std::string _base_name;
45 
46  MaterialProperty<RankTwoTensor> & _mechanical_strain;
47 
48  MaterialProperty<RankTwoTensor> & _total_strain;
49 
50  std::vector<MaterialPropertyName> _eigenstrain_names;
51  std::vector<const MaterialProperty<RankTwoTensor> *> _eigenstrains;
52 
53  const MaterialProperty<RankTwoTensor> * _global_strain;
54 
56  const Real & _current_elem_volume;
57 };
ComputeStrainBase::ComputeStrainBase
ComputeStrainBase(const InputParameters &parameters)
Definition: ComputeStrainBase.C:38
ComputeStrainBase::displacementIntegrityCheck
virtual void displacementIntegrityCheck()
Definition: ComputeStrainBase.C:94
ComputeStrainBase::_current_elem_volume
const Real & _current_elem_volume
Definition: ComputeStrainBase.h:56
ComputeStrainBase::_disp
std::vector< const VariableValue * > _disp
Definition: ComputeStrainBase.h:41
ComputeStrainBase
ComputeStrainBase is the base class for strain tensors.
Definition: ComputeStrainBase.h:26
ComputeStrainBase::_base_name
const std::string _base_name
Definition: ComputeStrainBase.h:44
ComputeStrainBase::_ndisp
unsigned int _ndisp
Coupled displacement variables.
Definition: ComputeStrainBase.h:40
ComputeStrainBase::_mechanical_strain
MaterialProperty< RankTwoTensor > & _mechanical_strain
Definition: ComputeStrainBase.h:46
ComputeStrainBase::initialSetup
void initialSetup() override
Definition: ComputeStrainBase.C:75
ComputeStrainBase::_global_strain
const MaterialProperty< RankTwoTensor > * _global_strain
Definition: ComputeStrainBase.h:53
ComputeStrainBase::validParams
static InputParameters validParams()
Definition: ComputeStrainBase.C:17
ComputeStrainBase::_eigenstrain_names
std::vector< MaterialPropertyName > _eigenstrain_names
Definition: ComputeStrainBase.h:50
ComputeStrainBase::_eigenstrains
std::vector< const MaterialProperty< RankTwoTensor > * > _eigenstrains
Definition: ComputeStrainBase.h:51
validParams< ComputeStrainBase >
InputParameters validParams< ComputeStrainBase >()
RotationTensor.h
ComputeStrainBase::_total_strain
MaterialProperty< RankTwoTensor > & _total_strain
Definition: ComputeStrainBase.h:48
ComputeStrainBase::_volumetric_locking_correction
const bool _volumetric_locking_correction
Definition: ComputeStrainBase.h:55
ComputeStrainBase::_grad_disp
std::vector< const VariableGradient * > _grad_disp
Definition: ComputeStrainBase.h:42
ComputeStrainBase::initQpStatefulProperties
virtual void initQpStatefulProperties() override
Definition: ComputeStrainBase.C:104