www.mooseframework.org
DerivativeFunctionMaterialBase.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 DERIVATIVEFUNCTIONMATERIALBASE_H
8 #define DERIVATIVEFUNCTIONMATERIALBASE_H
9 
10 #include "FunctionMaterialBase.h"
11 
12 // Forward Declarations
14 
15 template <>
17 
43 {
44 public:
45  DerivativeFunctionMaterialBase(const InputParameters & parameters);
46 
47 protected:
48  virtual void computeProperties();
49 
54  virtual void initialSetup();
55 
59  virtual Real computeF() { return 0.0; }
60 
68  virtual Real computeDF(unsigned int arg)
69  {
70  libmesh_ignore(arg);
71  return 0.0;
72  }
73 
82  virtual Real computeD2F(unsigned int arg1, unsigned int arg2)
83  {
84  libmesh_ignore(arg1);
85  libmesh_ignore(arg2);
86  return 0.0;
87  }
88 
95  virtual Real computeD3F(unsigned int, unsigned int, unsigned int) { return 0.0; }
96 
99 
101  std::vector<MaterialProperty<Real> *> _prop_dF;
102 
104  std::vector<std::vector<MaterialProperty<Real> *>> _prop_d2F;
105 
107  std::vector<std::vector<std::vector<MaterialProperty<Real> *>>> _prop_d3F;
108 };
109 
110 #endif // DERIVATIVEFUNCTIONMATERIALBASE_H
std::vector< std::vector< MaterialProperty< Real > * > > _prop_d2F
Material properties to store the second derivatives.
DerivativeFunctionMaterialBase(const InputParameters &parameters)
virtual Real computeD2F(unsigned int arg1, unsigned int arg2)
Override this method to calculate the second derivatives.
Material base class central for all Materials that provide a Function as a material property value...
InputParameters validParams< DerivativeFunctionMaterialBase >()
std::vector< std::vector< std::vector< MaterialProperty< Real > * > > > _prop_d3F
Material properties to store the third derivatives.
virtual Real computeD3F(unsigned int, unsigned int, unsigned int)
Override this method to calculate the third derivatives.
virtual Real computeF()
Override this method to provide the free energy function.
Material base class central to compute the a phase free energy and its derivatives.
bool _third_derivatives
Calculate (and allocate memory for) the third derivatives of the free energy.
std::vector< MaterialProperty< Real > * > _prop_dF
Material properties to store the derivatives of f with respect to arg[i].
virtual Real computeDF(unsigned int arg)
Override this method for calculating the first derivatives.
virtual void initialSetup()
Check if we got the right number of components in the &#39;args&#39; coupled variable vector.