https://mooseframework.inl.gov
Loading...
Searching...
No Matches
ADComputeStrainBase.h
Go to the documentation of this file.
1//* This file is part of the MOOSE framework
2//* https://mooseframework.inl.gov
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"
15
16#define usingComputeStrainBaseMembers \
17 usingMaterialMembers; \
18 using ADComputeStrainBaseTempl<R2>::_ndisp; \
19 using ADComputeStrainBaseTempl<R2>::_disp; \
20 using ADComputeStrainBaseTempl<R2>::_grad_disp; \
21 using ADComputeStrainBaseTempl<R2>::_base_name; \
22 using ADComputeStrainBaseTempl<R2>::_mechanical_strain; \
23 using ADComputeStrainBaseTempl<R2>::_total_strain; \
24 using ADComputeStrainBaseTempl<R2>::_eigenstrain_names; \
25 using ADComputeStrainBaseTempl<R2>::_eigenstrains; \
26 using ADComputeStrainBaseTempl<R2>::_global_strain; \
27 using ADComputeStrainBaseTempl<R2>::_volumetric_locking_correction; \
28 using ADComputeStrainBaseTempl<R2>::_current_elem_volume
29
33template <typename R2>
35{
36public:
38
40
41 void initialSetup() override;
42
43protected:
44 virtual void initQpStatefulProperties() override;
45 virtual void displacementIntegrityCheck();
46
48 const unsigned int _ndisp;
49
51 std::vector<const ADVariableValue *> _disp;
52
54 std::vector<const ADVariableGradient *> _grad_disp;
55
57 const std::string _base_name;
58
61
62 std::vector<MaterialPropertyName> _eigenstrain_names;
63 std::vector<const ADMaterialProperty<R2> *> _eigenstrains;
64
66
69};
70
ADComputeStrainBaseTempl< RankTwoTensor > ADComputeStrainBase
ADComputeStrainBase is the base class for strain tensors.
std::vector< const ADVariableValue * > _disp
Displacement variables.
std::vector< const ADVariableGradient * > _grad_disp
Gradient of displacements.
virtual void displacementIntegrityCheck()
std::vector< const ADMaterialProperty< R2 > * > _eigenstrains
const std::string _base_name
Base name of the material system.
ADMaterialProperty< R2 > & _total_strain
const unsigned int _ndisp
Coupled displacement variables.
ADMaterialProperty< R2 > & _mechanical_strain
const ADMaterialProperty< R2 > *const _global_strain
std::vector< MaterialPropertyName > _eigenstrain_names
virtual void initQpStatefulProperties() override
static InputParameters validParams()
const InputParameters & parameters() const