In the KKS split form for the term \( \frac{\partial F_1}{\partial c_1} - \mu \). More...
#include <NestedKKSMultiSplitCHCRes.h>
Public Types | |
| typedef DerivativeMaterialPropertyNameInterface::SymbolName | SymbolName |
Public Member Functions | |
| NestedKKSMultiSplitCHCRes (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 std::vector< VariableName > | _c_names |
| Global concentrations. | |
| const std::vector< MaterialPropertyName > | _c1_names |
| Phase concentration of the first phase in _eta_names. | |
| const MaterialPropertyName | _F1_name |
| Free energy. | |
| std::vector< const MaterialProperty< Real > * > | _dF1dc1 |
| Derivative of the free energy function \( \frac {d}{dc_1} F_1 \). | |
| std::vector< const MaterialProperty< Real > * > | _d2F1dc1db1 |
| Second derivative of the free energy function \( \frac {d^2}{dc_1 db_1} F_1 \). | |
| std::vector< std::vector< const MaterialProperty< Real > * > > | _dc1db |
| Derivative of the phase concentrations wrt global concentrations \( \frac {d}{db} c_1 \). | |
| std::vector< std::vector< const MaterialProperty< Real > * > > | _dc1detaj |
| Derivative of the phase concentrations wrt phase parameter \( \frac {d}{d{eta}} c_1 \). | |
| std::vector< const MaterialProperty< Real > * > | _d2F1dc1darg |
| Second derivative of the free energy function wrt phase concentration and a coupled variable. | |
| const unsigned int | _num_j |
| Number of phase parameters. | |
| const JvarMap & | _eta_map |
| 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 27 of file NestedKKSMultiSplitCHCRes.h.
| NestedKKSMultiSplitCHCRes::NestedKKSMultiSplitCHCRes | ( | const InputParameters & | parameters | ) |
Definition at line 32 of file NestedKKSMultiSplitCHCRes.C.
|
overrideprotectedvirtual |
Definition at line 90 of file NestedKKSMultiSplitCHCRes.C.
|
overrideprotectedvirtual |
Definition at line 101 of file NestedKKSMultiSplitCHCRes.C.
|
overrideprotectedvirtual |
Definition at line 84 of file NestedKKSMultiSplitCHCRes.C.
|
static |
Definition at line 15 of file NestedKKSMultiSplitCHCRes.C.
|
protected |
Phase concentration of the first phase in _eta_names.
Definition at line 61 of file NestedKKSMultiSplitCHCRes.h.
Referenced by NestedKKSMultiSplitCHCRes().
|
protected |
Definition at line 51 of file NestedKKSMultiSplitCHCRes.h.
Referenced by computeQpOffDiagJacobian().
|
protected |
Global concentrations.
Definition at line 47 of file NestedKKSMultiSplitCHCRes.h.
Referenced by NestedKKSMultiSplitCHCRes().
|
protected |
Second derivative of the free energy function wrt phase concentration and a coupled variable.
Definition at line 79 of file NestedKKSMultiSplitCHCRes.h.
Referenced by computeQpOffDiagJacobian(), and NestedKKSMultiSplitCHCRes().
|
protected |
Second derivative of the free energy function \( \frac {d^2}{dc_1 db_1} F_1 \).
Definition at line 70 of file NestedKKSMultiSplitCHCRes.h.
Referenced by computeQpJacobian(), computeQpOffDiagJacobian(), and NestedKKSMultiSplitCHCRes().
|
protected |
Derivative of the phase concentrations wrt global concentrations \( \frac {d}{db} c_1 \).
Definition at line 73 of file NestedKKSMultiSplitCHCRes.h.
Referenced by computeQpJacobian(), computeQpOffDiagJacobian(), and NestedKKSMultiSplitCHCRes().
|
protected |
Derivative of the phase concentrations wrt phase parameter \( \frac {d}{d{eta}} c_1 \).
Definition at line 76 of file NestedKKSMultiSplitCHCRes.h.
Referenced by computeQpOffDiagJacobian(), and NestedKKSMultiSplitCHCRes().
|
protected |
Derivative of the free energy function \( \frac {d}{dc_1} F_1 \).
Definition at line 67 of file NestedKKSMultiSplitCHCRes.h.
Referenced by computeQpResidual(), and NestedKKSMultiSplitCHCRes().
|
protected |
Definition at line 43 of file NestedKKSMultiSplitCHCRes.h.
Referenced by computeQpOffDiagJacobian().
|
protected |
Phase parameters.
Definition at line 39 of file NestedKKSMultiSplitCHCRes.h.
Referenced by NestedKKSMultiSplitCHCRes().
|
protected |
Free energy.
Definition at line 64 of file NestedKKSMultiSplitCHCRes.h.
Referenced by NestedKKSMultiSplitCHCRes().
|
protected |
Number of global concentrations.
Definition at line 50 of file NestedKKSMultiSplitCHCRes.h.
Referenced by computeQpJacobian(), computeQpOffDiagJacobian(), and NestedKKSMultiSplitCHCRes().
|
protected |
Number of phase parameters.
Definition at line 42 of file NestedKKSMultiSplitCHCRes.h.
Referenced by NestedKKSMultiSplitCHCRes().
|
protected |
Definition at line 52 of file NestedKKSMultiSplitCHCRes.h.
Referenced by computeQpJacobian(), computeQpResidual(), and NestedKKSMultiSplitCHCRes().
|
protected |
Definition at line 57 of file NestedKKSMultiSplitCHCRes.h.
Referenced by computeQpResidual().
|
protected |
Chemical potential.
Definition at line 56 of file NestedKKSMultiSplitCHCRes.h.
Referenced by computeQpOffDiagJacobian().