www.mooseframework.org
ElasticEnergyMaterial.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 ELASTICENERGYMATERIAL_H
8 #define ELASTICENERGYMATERIAL_H
9 
11 
12 // Forward Declaration
14 class RankTwoTensor;
15 class RankFourTensor;
16 
17 template <>
19 
24 {
25 public:
26  ElasticEnergyMaterial(const InputParameters & parameters);
27 
28  virtual void initialSetup() override;
29 
30 protected:
31  virtual Real computeF() override;
32  virtual Real computeDF(unsigned int i_var) override;
33  virtual Real computeD2F(unsigned int i_var, unsigned int j_var) override;
34 
35  std::string _base_name;
36 
38  const MaterialProperty<RankTwoTensor> & _stress;
39  // std::vector<const MaterialProperty<RankTwoTensor> *> _dstress;
40  // std::vector<std::vector<const MaterialProperty<RankTwoTensor> *> > _d2stress;
41 
43  const MaterialProperty<RankFourTensor> & _elasticity_tensor;
44  std::vector<const MaterialProperty<RankFourTensor> *> _delasticity_tensor;
45  std::vector<std::vector<const MaterialProperty<RankFourTensor> *>> _d2elasticity_tensor;
47 
49  const MaterialProperty<RankTwoTensor> & _strain;
50  std::vector<const MaterialProperty<RankTwoTensor> *> _dstrain;
51  std::vector<std::vector<const MaterialProperty<RankTwoTensor> *>> _d2strain;
53 };
54 
55 #endif // ELASTICENERGYMATERIAL_H
Material class to compute the elastic free energy and its derivatives.
virtual void initialSetup() override
Check if we got the right number of components in the &#39;args&#39; coupled variable vector.
const MaterialProperty< RankTwoTensor > & _stress
Stress tensor.
std::vector< std::vector< const MaterialProperty< RankTwoTensor > * > > _d2strain
InputParameters validParams< DerivativeFunctionMaterialBase >()
const MaterialProperty< RankFourTensor > & _elasticity_tensor
Elasticity tensor derivatives.
virtual Real computeF() override
Override this method to provide the free energy function.
Material base class central to compute the a phase free energy and its derivatives.
ElasticEnergyMaterial(const InputParameters &parameters)
virtual Real computeDF(unsigned int i_var) override
Override this method for calculating the first derivatives.
std::vector< const MaterialProperty< RankTwoTensor > * > _dstrain
const MaterialProperty< RankTwoTensor > & _strain
Strain and derivatives.
std::vector< std::vector< const MaterialProperty< RankFourTensor > * > > _d2elasticity_tensor
std::vector< const MaterialProperty< RankFourTensor > * > _delasticity_tensor
virtual Real computeD2F(unsigned int i_var, unsigned int j_var) override
Override this method to calculate the second derivatives.