www.mooseframework.org
KKSMultiPhaseConcentration.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 KKSMULTIPHASECONCENTRATION_H
8 #define KKSMULTIPHASECONCENTRATION_H
9 
10 #include "Kernel.h"
11 #include "DerivativeMaterialInterface.h"
12 
13 // Forward Declarations
15 
16 template <>
18 
32 class KKSMultiPhaseConcentration : public DerivativeMaterialInterface<Kernel>
33 {
34 public:
35  KKSMultiPhaseConcentration(const InputParameters & parameters);
36 
37 protected:
38  virtual Real computeQpResidual();
39  virtual Real computeQpJacobian();
40  virtual Real computeQpOffDiagJacobian(unsigned int jvar);
41 
42 private:
43  const unsigned int _num_j;
44  std::vector<const VariableValue *> _cjs;
45  std::vector<unsigned int> _cjs_var;
47  int _k;
48 
49  const VariableValue & _c;
50  unsigned int _c_var;
51 
53  std::vector<MaterialPropertyName> _hj_names;
54  std::vector<const MaterialProperty<Real> *> _prop_hj;
55 
57  std::vector<VariableName> _eta_names;
58  std::vector<unsigned int> _eta_vars;
59 
61  std::vector<std::vector<const MaterialProperty<Real> *>> _prop_dhjdetai;
62 };
63 
64 #endif // KKSMULTIPHASECONCENTRATION_H
std::vector< unsigned int > _cjs_var
virtual Real computeQpOffDiagJacobian(unsigned int jvar)
int _k
Position of the nonlinear variable in the list of cj&#39;s.
std::vector< VariableName > _eta_names
Order parameters for each phase .
KKSMultiPhaseConcentration(const InputParameters &parameters)
std::vector< MaterialPropertyName > _hj_names
Switching functions for each phase .
std::vector< const MaterialProperty< Real > * > _prop_hj
std::vector< const VariableValue * > _cjs
Enforce sum of phase concentrations to be the real concentration.
std::vector< std::vector< const MaterialProperty< Real > * > > _prop_dhjdetai
Derivative of the switching function .
std::vector< unsigned int > _eta_vars
InputParameters validParams< KKSMultiPhaseConcentration >()