www.mooseframework.org
StrainEnergyDensity.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 "DerivativeMaterialInterface.h"
14 
15 template <typename>
18 
20 
21 template <>
22 InputParameters validParams<StrainEnergyDensity>();
23 
27 class StrainEnergyDensity : public DerivativeMaterialInterface<Material>
28 {
29 public:
30  static InputParameters validParams();
31 
32  StrainEnergyDensity(const InputParameters & parameters);
33 
34  virtual void initQpStatefulProperties() override;
35  virtual void initialSetup() override;
36  virtual void computeQpProperties() override;
37 
38 protected:
39  const std::string _base_name;
40 
43 
45  MaterialProperty<Real> & _strain_energy_density;
46  const MaterialProperty<Real> & _strain_energy_density_old;
47 
49  const MaterialProperty<RankTwoTensor> & _stress;
50  const MaterialProperty<RankTwoTensor> & _stress_old;
51 
54  const MaterialProperty<RankTwoTensor> & _mechanical_strain;
55 
57  const MaterialProperty<RankTwoTensor> * _strain_increment;
58 };
StrainEnergyDensity::_stress_old
const MaterialProperty< RankTwoTensor > & _stress_old
Definition: StrainEnergyDensity.h:50
StrainEnergyDensity::_stress
const MaterialProperty< RankTwoTensor > & _stress
Current and old values of stress.
Definition: StrainEnergyDensity.h:49
StrainEnergyDensity::_base_name
const std::string _base_name
Definition: StrainEnergyDensity.h:39
StrainEnergyDensity::_strain_energy_density_old
const MaterialProperty< Real > & _strain_energy_density_old
Definition: StrainEnergyDensity.h:46
StrainEnergyDensity
StrainEnergyDensity calculates the strain energy density.
Definition: StrainEnergyDensity.h:27
StrainEnergyDensity::_strain_increment
const MaterialProperty< RankTwoTensor > * _strain_increment
Current value of the strain increment for incremental models.
Definition: StrainEnergyDensity.h:57
StrainEnergyDensity::_incremental
bool _incremental
Whether the material model is a total or incremental model.
Definition: StrainEnergyDensity.h:42
validParams< StrainEnergyDensity >
InputParameters validParams< StrainEnergyDensity >()
StrainEnergyDensity::_mechanical_strain
const MaterialProperty< RankTwoTensor > & _mechanical_strain
Current value of mechanical strain which includes elastic and inelastic components of the strain.
Definition: StrainEnergyDensity.h:54
StrainEnergyDensity::StrainEnergyDensity
StrainEnergyDensity(const InputParameters &parameters)
Definition: StrainEnergyDensity.C:34
StrainEnergyDensity::validParams
static InputParameters validParams()
Definition: StrainEnergyDensity.C:19
StrainEnergyDensity::initQpStatefulProperties
virtual void initQpStatefulProperties() override
Definition: StrainEnergyDensity.C:58
RankTwoTensor
RankTwoTensorTempl< Real > RankTwoTensor
Definition: StrainEnergyDensity.h:16
StrainEnergyDensity::initialSetup
virtual void initialSetup() override
Definition: StrainEnergyDensity.C:50
StrainEnergyDensity::_strain_energy_density
MaterialProperty< Real > & _strain_energy_density
The strain energy density material property.
Definition: StrainEnergyDensity.h:45
RankTwoTensorTempl
Definition: ACGrGrElasticDrivingForce.h:17
StrainEnergyDensity::computeQpProperties
virtual void computeQpProperties() override
Definition: StrainEnergyDensity.C:64