https://mooseframework.inl.gov
StrainEnergyRateDensity.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"
14 #include "RankTwoTensorForward.h"
16 #include "MooseTypes.h"
17 
18 // select the appropriate class based on the is_ad boolean parameter
19 template <bool is_ad>
21  typename std::conditional<is_ad, ADStressUpdateBase, StressUpdateBase>::type;
25 template <bool is_ad>
27 {
28 public:
30 
32 
33  virtual void initQpStatefulProperties() override;
34  virtual void initialSetup() override;
35  virtual void computeQpProperties() override;
36 
37 private:
39  const std::string _base_name;
40 
43 
46 
49 
51  const unsigned _num_models;
52 
54  std::vector<GenericStressUpdateBase<is_ad> *> _inelastic_models;
55 };
56 
static InputParameters validParams()
StrainEnergyRateDensityTempl< true > ADStrainEnergyRateDensity
virtual void initialSetup() override
StrainEnergyRateDensityTempl(const InputParameters &parameters)
virtual void computeQpProperties() override
virtual void initQpStatefulProperties() override
std::vector< GenericStressUpdateBase< is_ad > * > _inelastic_models
The user supplied list of inelastic models to compute the strain energy release rate.
const std::string _base_name
Base name of the material system.
const unsigned _num_models
number of plastic models
StrainEnergyRateDensityTempl< false > StrainEnergyRateDensity
typename GenericMaterialPropertyStruct< T, is_ad >::type GenericMaterialProperty
StrainEnergyRateDensity calculates the strain energy rate density.
const GenericMaterialProperty< RankTwoTensor, is_ad > & _strain_rate
Current value of the strain increment for incremental models.
MaterialProperty< Real > & _strain_energy_rate_density
The strain energy density material property.
const GenericMaterialProperty< RankTwoTensor, is_ad > & _stress
Current and old values of stress.
typename std::conditional< is_ad, ADStressUpdateBase, StressUpdateBase >::type GenericStressUpdateBase
const InputParameters & parameters() const