www.mooseframework.org
KKSMultiACBulkBase.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 KKSMULTIACBULKBASE_H
8 #define KKSMULTIACBULKBASE_H
9 
10 #include "ACBulk.h"
11 
12 // Forward Declarations
13 class KKSMultiACBulkBase;
14 
15 template <>
16 InputParameters validParams<KKSMultiACBulkBase>();
17 
25 class KKSMultiACBulkBase : public ACBulk<Real>
26 {
27 public:
28  KKSMultiACBulkBase(const InputParameters & parameters);
29 
30  virtual void initialSetup();
31 
32 protected:
34  unsigned int _nvar;
35 
37  VariableName _etai_name;
38 
40  unsigned int _etai_var;
41 
43  std::vector<MaterialPropertyName> _Fj_names;
44  unsigned int _num_j;
45 
47  std::vector<const MaterialProperty<Real> *> _prop_Fj;
48 
50  std::vector<std::vector<const MaterialProperty<Real> *>> _prop_dFjdarg;
51 
53  std::vector<MaterialPropertyName> _hj_names;
54 
56  std::vector<const MaterialProperty<Real> *> _prop_hj;
57 
59  std::vector<const MaterialProperty<Real> *> _prop_dhjdetai;
60 
62  std::vector<const MaterialProperty<Real> *> _prop_d2hjdetai2;
63 
65  std::vector<std::vector<const MaterialProperty<Real> *>> _prop_d2hjdetaidarg;
66 };
67 
68 #endif // KKSMULTIACBULKBASE_H
unsigned int _nvar
Number of coupled variables.
ACBulk child class that sets up necessary variables and materials for calculation of residual contrib...
std::vector< MaterialPropertyName > _Fj_names
Names of free energy functions for each phase .
std::vector< std::vector< const MaterialProperty< Real > * > > _prop_d2hjdetaidarg
Second derivatives of the switching functions (needed for off-diagonal Jacobians) ...
This is the Allen-Cahn equation base class that implements the bulk or local energy term of the equat...
Definition: ACBulk.h:22
std::vector< const MaterialProperty< Real > * > _prop_dhjdetai
Derivatives of the switching functions wrt the order parameter for this kernel.
std::vector< MaterialPropertyName > _hj_names
switching function names
InputParameters validParams< KKSMultiACBulkBase >()
std::vector< const MaterialProperty< Real > * > _prop_hj
Values of the switching functions for each phase .
virtual void initialSetup()
std::vector< const MaterialProperty< Real > * > _prop_Fj
Values of the free energy functions for each phase .
std::vector< const MaterialProperty< Real > * > _prop_d2hjdetai2
Second derivatives of the switching functions wrt the order parameter for this kernel.
VariableName _etai_name
name of order parameter that derivatives are taken wrt (needed to retrieve the derivative material pr...
KKSMultiACBulkBase(const InputParameters &parameters)
unsigned int _etai_var
index of order parameter that derivatives are taken wrt
std::vector< std::vector< const MaterialProperty< Real > * > > _prop_dFjdarg
Derivatives of the free energy functions (needed for off-diagonal Jacobians)