In the KKS split form for the term \( \frac{\partial F_1}{\partial c_1} - \mu \). More...
#include <NestedKKSSplitCHCRes.h>
Public Types | |
| typedef DerivativeMaterialPropertyNameInterface::SymbolName | SymbolName |
Public Member Functions | |
| NestedKKSSplitCHCRes (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 | computeQpResidual () override |
| virtual Real | computeQpJacobian () override |
| virtual Real | computeQpOffDiagJacobian (unsigned int jvar) override |
Protected Attributes | |
| const std::vector< VariableName > | _eta_names |
| Phase parameters. | |
| const unsigned int | _num_j |
| Number of phase parameters. | |
| const JvarMap & | _eta_map |
| const std::vector< VariableName > | _c_names |
| Global concentrations. | |
| const std::vector< MaterialPropertyName > | _ca_names |
| Phase concentration of the first phase in _eta_names. | |
| const MaterialPropertyName | _Fa_name |
| Free energy. | |
| std::vector< const MaterialProperty< Real > * > | _dFadca |
| Derivative of the free energy function \( \frac d{dc_1} F_1 \). | |
| std::vector< const MaterialProperty< Real > * > | _d2Fadcadba |
| Second derivative of the free energy function \( \frac {d^2}{dc_1 db_1} F_1 \). | |
| std::vector< std::vector< const MaterialProperty< Real > * > > | _dcadb |
| Derivative of the phase concentrations wrt global concentrations \( \frac d{db} c_1 \). | |
| std::vector< std::vector< const MaterialProperty< Real > * > > | _dcadetaj |
| Derivative of the phase concentrations wrt phase parameter \( \frac d{d{eta}} c_1 \). | |
| std::vector< const MaterialProperty< Real > * > | _d2Fadcadarg |
| Second derivative of the free energy function wrt phase concentration and a coupled variable. | |
| const unsigned int | _num_c |
| Number of global concentrations. | |
| const JvarMap & | _c_map |
| int | _o |
| const unsigned int | _w_var |
| Chemical potential. | |
| const VariableValue & | _w |
Private Member Functions | |
| bool | haveMaterialProperty (const std::string &prop_name) |
| std::vector< VariableName > | buildVariableVector (const VariableName &c1, const VariableName &c2, const VariableName &c3) |
| void | validateCouplingHelper (const MaterialPropertyName &base, const std::vector< VariableName > &c, const System &system, std::vector< VariableName > &missing) |
| bool | isNotObjectVariable (const VariableName &name) |
Private Attributes | |
| FEProblemBase & | _dmi_fe_problem |
In the KKS split form for the term \( \frac{\partial F_1}{\partial c_1} - \mu \).
This takes advantage of the KKS identity
\( \frac{\partial F}{\partial c} = \frac{\partial F_i}{\partial c_i} \)
The non-linear variable for this Kernel is the concentration 'c'. The user picks one phase free energy \( F_1 \) (f_base) and its corresponding phase concentration \( c_1 \)
Definition at line 26 of file NestedKKSSplitCHCRes.h.
| NestedKKSSplitCHCRes::NestedKKSSplitCHCRes | ( | const InputParameters & | parameters | ) |
Definition at line 32 of file NestedKKSSplitCHCRes.C.
|
overrideprotectedvirtual |
Definition at line 90 of file NestedKKSSplitCHCRes.C.
|
overrideprotectedvirtual |
Definition at line 101 of file NestedKKSSplitCHCRes.C.
|
overrideprotectedvirtual |
Definition at line 84 of file NestedKKSSplitCHCRes.C.
|
static |
Definition at line 15 of file NestedKKSSplitCHCRes.C.
|
protected |
Definition at line 50 of file NestedKKSSplitCHCRes.h.
Referenced by computeQpOffDiagJacobian().
|
protected |
Global concentrations.
Definition at line 46 of file NestedKKSSplitCHCRes.h.
Referenced by NestedKKSSplitCHCRes().
|
protected |
Phase concentration of the first phase in _eta_names.
Definition at line 60 of file NestedKKSSplitCHCRes.h.
Referenced by NestedKKSSplitCHCRes().
|
protected |
Second derivative of the free energy function wrt phase concentration and a coupled variable.
Definition at line 78 of file NestedKKSSplitCHCRes.h.
Referenced by computeQpOffDiagJacobian(), and NestedKKSSplitCHCRes().
|
protected |
Second derivative of the free energy function \( \frac {d^2}{dc_1 db_1} F_1 \).
Definition at line 69 of file NestedKKSSplitCHCRes.h.
Referenced by computeQpJacobian(), computeQpOffDiagJacobian(), and NestedKKSSplitCHCRes().
|
protected |
Derivative of the phase concentrations wrt global concentrations \( \frac d{db} c_1 \).
Definition at line 72 of file NestedKKSSplitCHCRes.h.
Referenced by computeQpJacobian(), computeQpOffDiagJacobian(), and NestedKKSSplitCHCRes().
|
protected |
Derivative of the phase concentrations wrt phase parameter \( \frac d{d{eta}} c_1 \).
Definition at line 75 of file NestedKKSSplitCHCRes.h.
Referenced by computeQpOffDiagJacobian(), and NestedKKSSplitCHCRes().
|
protected |
Derivative of the free energy function \( \frac d{dc_1} F_1 \).
Definition at line 66 of file NestedKKSSplitCHCRes.h.
Referenced by computeQpResidual(), and NestedKKSSplitCHCRes().
|
protected |
Definition at line 43 of file NestedKKSSplitCHCRes.h.
Referenced by computeQpOffDiagJacobian().
|
protected |
Phase parameters.
Definition at line 39 of file NestedKKSSplitCHCRes.h.
Referenced by NestedKKSSplitCHCRes().
|
protected |
Free energy.
Definition at line 63 of file NestedKKSSplitCHCRes.h.
Referenced by NestedKKSSplitCHCRes().
|
protected |
Number of global concentrations.
Definition at line 49 of file NestedKKSSplitCHCRes.h.
Referenced by computeQpJacobian(), computeQpOffDiagJacobian(), and NestedKKSSplitCHCRes().
|
protected |
Number of phase parameters.
Definition at line 42 of file NestedKKSSplitCHCRes.h.
Referenced by NestedKKSSplitCHCRes().
|
protected |
Definition at line 51 of file NestedKKSSplitCHCRes.h.
Referenced by computeQpJacobian(), computeQpResidual(), and NestedKKSSplitCHCRes().
|
protected |
Definition at line 56 of file NestedKKSSplitCHCRes.h.
Referenced by computeQpResidual().
|
protected |
Chemical potential.
Definition at line 55 of file NestedKKSSplitCHCRes.h.
Referenced by computeQpOffDiagJacobian().