www.mooseframework.org
SwitchingFunctionMultiPhaseMaterial.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 SWITCHINGFUNCTIONMULTIPHASEMATERIAL_H
8 #define SWITCHINGFUNCTIONMULTIPHASEMATERIAL_H
9 
10 #include "Material.h"
11 #include "DerivativeMaterialInterface.h"
12 
13 // Forward Declarations
15 
16 template <>
18 
26 class SwitchingFunctionMultiPhaseMaterial : public DerivativeMaterialInterface<Material>
27 {
28 public:
29  SwitchingFunctionMultiPhaseMaterial(const InputParameters & parameters);
30 
31 protected:
32  virtual void computeQpProperties();
33 
35  MaterialPropertyName _h_name;
36 
38  unsigned int _num_eta_p;
39  std::vector<const VariableValue *> _eta_p;
40  std::vector<VariableName> _eta_p_names;
41 
43  unsigned int _num_eta;
44  std::vector<const VariableValue *> _eta;
45  std::vector<VariableName> _eta_names;
46 
48  std::vector<bool> _is_p;
49 
51  MaterialProperty<Real> & _prop_h;
52  std::vector<MaterialProperty<Real> *> _prop_dh;
53  std::vector<std::vector<MaterialProperty<Real> *>> _prop_d2h;
54 };
55 
56 #endif // SWITCHINGFUNCTIONMULTIPHASEMATERIAL_H
unsigned int _num_eta
Order parameters for all phases (including alpha)
MaterialPropertyName _h_name
Name of the function.
std::vector< bool > _is_p
List of which order parameters in the full list of all etas belong to phase p.
SwitchingFunctionMultiPhaseMaterial(const InputParameters &parameters)
MaterialProperty< Real > & _prop_h
Switching function and derivatives.
std::vector< MaterialProperty< Real > * > _prop_dh
SwitchingFunctionMultiPhaseMaterial is a switching function for a multi-phase, multi-order parameter ...
InputParameters validParams< SwitchingFunctionMultiPhaseMaterial >()
unsigned int _num_eta_p
Order parameters for phase alpha.
std::vector< std::vector< MaterialProperty< Real > * > > _prop_d2h