www.mooseframework.org
CrossTermBarrierFunctionBase.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 CROSSTERMBARRIERFUNCTIONBASE_H
8 #define CROSSTERMBARRIERFUNCTIONBASE_H
9 
10 #include "Material.h"
11 #include "DerivativeMaterialInterface.h"
12 
13 // Forward Declarations
15 
16 template <>
18 
23 class CrossTermBarrierFunctionBase : public DerivativeMaterialInterface<Material>
24 {
25 public:
26  CrossTermBarrierFunctionBase(const InputParameters & parameters);
27 
28 protected:
29  virtual void computeQpProperties();
30 
32  std::string _function_name;
33 
35  unsigned int _g_order;
36 
38  std::vector<Real> _W_ij;
39 
41  unsigned int _num_eta;
42  std::vector<VariableName> _eta_names;
43  std::vector<const VariableValue *> _eta;
44 
46  MaterialProperty<Real> & _prop_g;
47  std::vector<MaterialProperty<Real> *> _prop_dg;
48  std::vector<std::vector<MaterialProperty<Real> *>> _prop_d2g;
50 
52  std::vector<const MaterialProperty<Real> *> _h;
53  std::vector<std::vector<const MaterialProperty<Real> *>> _dh;
55 };
56 
57 #endif // CROSSTERMBARRIERFUNCTIONBASE_H
std::vector< Real > _W_ij
barrier function height matrix
std::vector< std::vector< MaterialProperty< Real > * > > _prop_d2g
std::vector< const MaterialProperty< Real > * > _h
Switching functions and their derivatives.
std::string _function_name
name of the function of eta (used to generate the material property names)
unsigned int _num_eta
order parameters
std::vector< MaterialProperty< Real > * > _prop_dg
std::vector< VariableName > _eta_names
CrossTermBarrierFunctionBase(const InputParameters &parameters)
MaterialProperty< Real > & _prop_g
Barrier function and its derivatives.
InputParameters validParams< CrossTermBarrierFunctionBase >()
std::vector< std::vector< const MaterialProperty< Real > * > > _dh
std::vector< const VariableValue * > _eta
unsigned int _g_order
polynomial order of the switching function
CrossTermBarrierFunctionBase is the base to a set of free energy penalties that set the phase interfa...