www.mooseframework.org
StressDivergenceTensors.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 STRESSDIVERGENCETENSORS_H
8 #define STRESSDIVERGENCETENSORS_H
9 
10 #include "ALEKernel.h"
11 #include "RankTwoTensor.h"
12 #include "RankFourTensor.h"
13 
14 // Forward Declarations
16 class RankTwoTensor;
17 class RankFourTensor;
18 
19 template <>
20 InputParameters validParams<StressDivergenceTensors>();
21 
28 {
29 public:
30  StressDivergenceTensors(const InputParameters & parameters);
31 
32  virtual void computeJacobian() override;
33  virtual void computeOffDiagJacobian(unsigned int jvar) override;
34 
35 protected:
36  virtual void initialSetup() override;
37 
38  virtual void computeResidual() override;
39  virtual Real computeQpResidual() override;
40  virtual Real computeQpJacobian() override;
41  virtual Real computeQpOffDiagJacobian(unsigned int jvar) override;
42 
43  virtual void computeFiniteDeformJacobian();
44  virtual void computeAverageGradientTest();
45  virtual void computeAverageGradientPhi();
46 
47  std::string _base_name;
49 
50  const MaterialProperty<RankTwoTensor> & _stress;
51  const MaterialProperty<RankFourTensor> & _Jacobian_mult;
52 
53  std::vector<RankFourTensor> _finite_deform_Jacobian_mult;
54  const MaterialProperty<RankTwoTensor> * _deformation_gradient;
55  const MaterialProperty<RankTwoTensor> * _deformation_gradient_old;
56  const MaterialProperty<RankTwoTensor> * _rotation_increment;
57  // MaterialProperty<RankTwoTensor> & _d_stress_dT;
58 
59  const unsigned int _component;
60 
62  unsigned int _ndisp;
63  std::vector<unsigned int> _disp_var;
64 
65  const bool _temp_coupled;
66 
67  const unsigned int _temp_var;
68 
70  const MaterialProperty<RankTwoTensor> * const _deigenstrain_dT;
71 
73  std::vector<std::vector<Real>> _avg_grad_test;
74 
76  std::vector<std::vector<Real>> _avg_grad_phi;
77 
80 };
81 
82 #endif // STRESSDIVERGENCETENSORS_H
std::vector< std::vector< Real > > _avg_grad_phi
Gradient of phi function averaged over the element. Used in volumetric locking correction calculation...
bool _volumetric_locking_correction
Flag for volumetric locking correction.
unsigned int _ndisp
Coupled displacement variables.
std::vector< std::vector< Real > > _avg_grad_test
Gradient of test function averaged over the element. Used in volumetric locking correction calculatio...
virtual void computeOffDiagJacobian(unsigned int jvar) override
const MaterialProperty< RankTwoTensor > * _deformation_gradient_old
virtual void computeJacobian() override
virtual Real computeQpJacobian() override
const MaterialProperty< RankTwoTensor > * _rotation_increment
std::vector< unsigned int > _disp_var
std::vector< RankFourTensor > _finite_deform_Jacobian_mult
StressDivergenceTensors(const InputParameters &parameters)
virtual Real computeQpOffDiagJacobian(unsigned int jvar) override
virtual void initialSetup() override
const MaterialProperty< RankTwoTensor > * _deformation_gradient
const MaterialProperty< RankFourTensor > & _Jacobian_mult
virtual void computeFiniteDeformJacobian()
virtual void computeResidual() override
virtual Real computeQpResidual() override
const MaterialProperty< RankTwoTensor > & _stress
InputParameters validParams< StressDivergenceTensors >()
StressDivergenceTensors mostly copies from StressDivergence.
const MaterialProperty< RankTwoTensor > *const _deigenstrain_dT
d(strain)/d(temperature), if computed by ComputeThermalExpansionEigenstrain