www.mooseframework.org
MultiBarrierFunctionMaterial.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 MULTIBARRIERFUNCTION_H
8 #define MULTIBARRIERFUNCTION_H
9 
10 #include "Material.h"
11 #include "DerivativeMaterialInterface.h"
12 
13 // Forward Declarations
15 
16 template <>
18 
23 class MultiBarrierFunctionMaterial : public DerivativeMaterialInterface<Material>
24 {
25 public:
26  MultiBarrierFunctionMaterial(const InputParameters & parameters);
27 
28 protected:
29  virtual void computeQpProperties();
30 
32  std::string _function_name;
33 
35  MooseEnum _g_order;
36 
38  bool _well_only;
39 
41  unsigned int _num_eta;
42  std::vector<const VariableValue *> _eta;
43 
45  MaterialProperty<Real> & _prop_g;
46  std::vector<MaterialProperty<Real> *> _prop_dg, _prop_d2g;
47 };
48 
49 #endif // MULTIBARRIERFUNCTION_H
std::vector< MaterialProperty< Real > * > _prop_dg
unsigned int _num_eta
order parameters
std::vector< const VariableValue * > _eta
MooseEnum _g_order
Polynomial order of the barrier function .
MultiBarrierFunctionMaterial(const InputParameters &parameters)
InputParameters validParams< MultiBarrierFunctionMaterial >()
std::string _function_name
name of the function of eta (used to generate the material property names)
Double well phase transformation barrier free energy contribution.
bool _well_only
zero out g contribution in the eta interval [0:1]
std::vector< MaterialProperty< Real > * > _prop_d2g
MaterialProperty< Real > & _prop_g
Barrier functions and their drivatives.