https://mooseframework.inl.gov
ADComputeStressBase.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"
13 #include "Function.h"
14 #include "ADRankTwoTensorForward.h"
16 
17 #define usingComputeStressBaseMembers \
18  usingMaterialMembers; \
19  using ADComputeStressBaseTempl<R2>::_base_name; \
20  using ADComputeStressBaseTempl<R2>::_mechanical_strain; \
21  using ADComputeStressBaseTempl<R2>::_stress; \
22  using ADComputeStressBaseTempl<R2>::_elastic_strain; \
23  using ADComputeStressBaseTempl<R2>::_extra_stresses; \
24  using ADComputeStressBaseTempl<R2>::_initial_stress_fcn
25 
29 template <typename R2>
31 {
32 public:
34 
36 
37 protected:
38  virtual void initQpStatefulProperties() override;
39  virtual void computeQpProperties() override;
40  virtual void computeQpStress() = 0;
41 
43  const std::string _base_name;
44 
46 
50 
52  std::vector<const MaterialProperty<R2> *> _extra_stresses;
53 
55  std::vector<const Function *> _initial_stress_fcn;
56 };
57 
const std::string _base_name
Base name of the material system.
virtual void initQpStatefulProperties() override
const ADMaterialProperty< R2 > & _mechanical_strain
virtual void computeQpStress()=0
ADMaterialProperty< R2 > & _stress
The stress tensor to be calculated.
virtual void computeQpProperties() override
std::vector< const Function * > _initial_stress_fcn
initial stress components
static InputParameters validParams()
const InputParameters & parameters() const
ADMaterialProperty< R2 > & _elastic_strain
ADComputeStressBaseTempl< RankTwoTensor > ADComputeStressBase
ADComputeStressBaseTempl is the base class for stress tensors.
ADComputeStressBaseTempl(const InputParameters &parameters)
std::vector< const MaterialProperty< R2 > * > _extra_stresses
Extra stress tensors.