Enforce sum of phase concentrations to be the real concentration. More...
#include <KKSMultiPhaseConcentration.h>
Public Types | |
typedef DerivativeMaterialPropertyNameInterface::SymbolName | SymbolName |
Public Member Functions | |
KKSMultiPhaseConcentration (const InputParameters ¶meters) | |
const GenericMaterialProperty< U, is_ad > & | getDefaultMaterialProperty (const std::string &name) |
const GenericMaterialProperty< U, is_ad > & | getDefaultMaterialPropertyByName (const std::string &name) |
void | validateDerivativeMaterialPropertyBase (const std::string &base) |
const MaterialPropertyName | derivativePropertyName (const MaterialPropertyName &base, const std::vector< SymbolName > &c) const |
const MaterialPropertyName | derivativePropertyNameFirst (const MaterialPropertyName &base, const SymbolName &c1) const |
const MaterialPropertyName | derivativePropertyNameSecond (const MaterialPropertyName &base, const SymbolName &c1, const SymbolName &c2) const |
const MaterialPropertyName | derivativePropertyNameThird (const MaterialPropertyName &base, const SymbolName &c1, const SymbolName &c2, const SymbolName &c3) const |
GenericMaterialProperty< U, is_ad > & | declarePropertyDerivative (const std::string &base, const std::vector< VariableName > &c) |
GenericMaterialProperty< U, is_ad > & | declarePropertyDerivative (const std::string &base, const std::vector< SymbolName > &c) |
GenericMaterialProperty< U, is_ad > & | declarePropertyDerivative (const std::string &base, const SymbolName &c1, const SymbolName &c2="", const SymbolName &c3="") |
GenericMaterialProperty< U, is_ad > & | declarePropertyDerivative (const std::string &base, const std::vector< VariableName > &c) |
GenericMaterialProperty< U, is_ad > & | declarePropertyDerivative (const std::string &base, const std::vector< SymbolName > &c) |
GenericMaterialProperty< U, is_ad > & | declarePropertyDerivative (const std::string &base, const SymbolName &c1, const SymbolName &c2="", const SymbolName &c3="") |
const GenericMaterialProperty< U, is_ad > & | getMaterialPropertyDerivative (const std::string &base, const std::vector< VariableName > &c) |
const GenericMaterialProperty< U, is_ad > & | getMaterialPropertyDerivative (const std::string &base, const std::vector< SymbolName > &c) |
const GenericMaterialProperty< U, is_ad > & | getMaterialPropertyDerivative (const std::string &base, const SymbolName &c1, const SymbolName &c2="", const SymbolName &c3="") |
const GenericMaterialProperty< U, is_ad > & | getMaterialPropertyDerivative (const std::string &base, const SymbolName &c1, unsigned int v2, unsigned int v3=libMesh::invalid_uint) |
const GenericMaterialProperty< U, is_ad > & | getMaterialPropertyDerivative (const std::string &base, unsigned int v1, unsigned int v2=libMesh::invalid_uint, unsigned int v3=libMesh::invalid_uint) |
const GenericMaterialProperty< U, is_ad > & | getMaterialPropertyDerivative (const std::string &base, const std::vector< VariableName > &c) |
const GenericMaterialProperty< U, is_ad > & | getMaterialPropertyDerivative (const std::string &base, const std::vector< SymbolName > &c) |
const GenericMaterialProperty< U, is_ad > & | getMaterialPropertyDerivative (const std::string &base, const SymbolName &c1, const SymbolName &c2="", const SymbolName &c3="") |
const GenericMaterialProperty< U, is_ad > & | getMaterialPropertyDerivative (const std::string &base, const SymbolName &c1, unsigned int v2, unsigned int v3=libMesh::invalid_uint) |
const GenericMaterialProperty< U, is_ad > & | getMaterialPropertyDerivative (const std::string &base, unsigned int v1, unsigned int v2=libMesh::invalid_uint, unsigned int v3=libMesh::invalid_uint) |
const GenericMaterialProperty< U, is_ad > & | getMaterialPropertyDerivativeByName (const MaterialPropertyName &base, const std::vector< VariableName > &c) |
const GenericMaterialProperty< U, is_ad > & | getMaterialPropertyDerivativeByName (const MaterialPropertyName &base, const std::vector< SymbolName > &c) |
const GenericMaterialProperty< U, is_ad > & | getMaterialPropertyDerivativeByName (const MaterialPropertyName &base, const SymbolName &c1, const SymbolName &c2="", const SymbolName &c3="") |
const GenericMaterialProperty< U, is_ad > & | getMaterialPropertyDerivativeByName (const MaterialPropertyName &base, const std::vector< VariableName > &c) |
const GenericMaterialProperty< U, is_ad > & | getMaterialPropertyDerivativeByName (const MaterialPropertyName &base, const std::vector< SymbolName > &c) |
const GenericMaterialProperty< U, is_ad > & | getMaterialPropertyDerivativeByName (const MaterialPropertyName &base, const SymbolName &c1, const SymbolName &c2="", const SymbolName &c3="") |
void | validateCoupling (const MaterialPropertyName &base, const std::vector< VariableName > &c, bool validate_aux=true) |
void | validateCoupling (const MaterialPropertyName &base, const VariableName &c1="", const VariableName &c2="", const VariableName &c3="") |
void | validateCoupling (const MaterialPropertyName &base, const std::vector< VariableName > &c, bool validate_aux=true) |
void | validateCoupling (const MaterialPropertyName &base, const VariableName &c1="", const VariableName &c2="", const VariableName &c3="") |
void | validateNonlinearCoupling (const MaterialPropertyName &base, const VariableName &c1="", const VariableName &c2="", const VariableName &c3="") |
void | validateNonlinearCoupling (const MaterialPropertyName &base, const VariableName &c1="", const VariableName &c2="", const VariableName &c3="") |
const MaterialPropertyName | propertyName (const MaterialPropertyName &base, const std::vector< SymbolName > &c) const |
const MaterialPropertyName | propertyName (const MaterialPropertyName &base, const std::vector< SymbolName > &c) const |
const MaterialPropertyName | propertyNameFirst (const MaterialPropertyName &base, const SymbolName &c1) const |
const MaterialPropertyName | propertyNameFirst (const MaterialPropertyName &base, const SymbolName &c1) const |
const MaterialPropertyName | propertyNameSecond (const MaterialPropertyName &base, const SymbolName &c1, const SymbolName &c2) const |
const MaterialPropertyName | propertyNameSecond (const MaterialPropertyName &base, const SymbolName &c1, const SymbolName &c2) const |
const MaterialPropertyName | propertyNameThird (const MaterialPropertyName &base, const SymbolName &c1, const SymbolName &c2, const SymbolName &c3) const |
const MaterialPropertyName | propertyNameThird (const MaterialPropertyName &base, const SymbolName &c1, const SymbolName &c2, const SymbolName &c3) const |
Static Public Member Functions | |
static InputParameters | validParams () |
Protected Member Functions | |
virtual Real | precomputeQpResidual () |
virtual Real | precomputeQpJacobian () |
virtual Real | computeQpOffDiagJacobian (unsigned int jvar) |
Private Attributes | |
const unsigned int | _num_j |
const std::vector< const VariableValue * > | _cj |
const JvarMap & | _cj_map |
int | _k |
Position of the nonlinear variable in the list of cj's. More... | |
const VariableValue & | _c |
unsigned int | _c_var |
std::vector< MaterialPropertyName > | _hj_names |
Switching functions for each phase \( h_j \). More... | |
std::vector< const MaterialProperty< Real > * > | _prop_hj |
std::vector< VariableName > | _eta_names |
Order parameters for each phase \( \eta_j \). More... | |
const JvarMap & | _eta_map |
std::vector< std::vector< const MaterialProperty< Real > * > > | _prop_dhjdetai |
Derivative of the switching function \( \frac d{d\eta} h(\eta) \). More... | |
Enforce sum of phase concentrations to be the real concentration.
\( c = h_1(\eta_1,\eta_2,\eta_3,...) c_1 + h_2(\eta_1,\eta_2,\eta_3,...) c_2 + h_3(\eta_1,\eta_2,\eta_3,..) c_3 + ... \)
The non-linear variable for this Kernel is one of the concentrations \( c_i \), while \( c_j \neq c_i \) and \( c \) are supplied as coupled variables. The other phase concentrations are set as non-linear variables using multiple KKSPhaseChemicalPotential kernels.
Definition at line 31 of file KKSMultiPhaseConcentration.h.
KKSMultiPhaseConcentration::KKSMultiPhaseConcentration | ( | const InputParameters & | parameters | ) |
Definition at line 32 of file KKSMultiPhaseConcentration.C.
Definition at line 99 of file KKSMultiPhaseConcentration.C.
|
protectedvirtual |
Definition at line 93 of file KKSMultiPhaseConcentration.C.
|
protectedvirtual |
Definition at line 82 of file KKSMultiPhaseConcentration.C.
|
static |
Definition at line 15 of file KKSMultiPhaseConcentration.C.
|
private |
Definition at line 52 of file KKSMultiPhaseConcentration.h.
Referenced by precomputeQpResidual().
|
private |
Definition at line 53 of file KKSMultiPhaseConcentration.h.
Referenced by computeQpOffDiagJacobian().
|
private |
Definition at line 46 of file KKSMultiPhaseConcentration.h.
Referenced by computeQpOffDiagJacobian(), and precomputeQpResidual().
|
private |
Definition at line 47 of file KKSMultiPhaseConcentration.h.
Referenced by computeQpOffDiagJacobian().
|
private |
Definition at line 61 of file KKSMultiPhaseConcentration.h.
Referenced by computeQpOffDiagJacobian().
|
private |
Order parameters for each phase \( \eta_j \).
Definition at line 60 of file KKSMultiPhaseConcentration.h.
Referenced by KKSMultiPhaseConcentration().
|
private |
Switching functions for each phase \( h_j \).
Definition at line 56 of file KKSMultiPhaseConcentration.h.
Referenced by KKSMultiPhaseConcentration().
|
private |
Position of the nonlinear variable in the list of cj's.
Definition at line 50 of file KKSMultiPhaseConcentration.h.
Referenced by KKSMultiPhaseConcentration(), and precomputeQpJacobian().
|
private |
Definition at line 45 of file KKSMultiPhaseConcentration.h.
Referenced by computeQpOffDiagJacobian(), KKSMultiPhaseConcentration(), and precomputeQpResidual().
|
private |
Derivative of the switching function \( \frac d{d\eta} h(\eta) \).
Definition at line 64 of file KKSMultiPhaseConcentration.h.
Referenced by computeQpOffDiagJacobian(), and KKSMultiPhaseConcentration().
|
private |
Definition at line 57 of file KKSMultiPhaseConcentration.h.
Referenced by computeQpOffDiagJacobian(), KKSMultiPhaseConcentration(), precomputeQpJacobian(), and precomputeQpResidual().