SLKKSMultiPhaseBase child class for the phase concentration term \( - \sum_j \frac{dF_1}{dc_1} \frac{dh_j}{d\eta_i} (c_j) \) in the the Allen-Cahn bulk residual. More...
#include <SLKKSMultiACBulkC.h>
Public Types | |
typedef DerivativeMaterialPropertyNameInterface::SymbolName | SymbolName |
Public Member Functions | |
SLKKSMultiACBulkC (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) |
Protected Attributes | |
const VariableName | _c_name |
name of the coupled concentration variable c More... | |
const bool | _lagrange |
is eta_i supplied (then we assume the kernel operates on the Lagrange var) More... | |
VariableName | _etai_name |
name of order parameter that derivatives are taken w.r.t. More... | |
unsigned int | _etai_var |
index of order parameter that derivatives are taken w.r.t. More... | |
std::vector< VariableName > | _cs_names |
names of all sublattice concentrations More... | |
const MaterialProperty< Real > & | _prop_dFdc |
Derivative of the free energy function w.r.t. c. More... | |
std::vector< const MaterialProperty< Real > * > | _prop_d2Fdcdcs |
Second derivatives of F w.r.t. c and all cs. More... | |
std::vector< const MaterialProperty< Real > * > | _prop_dhdni |
first derivatives of all h w.r.t. to etai More... | |
std::vector< std::vector< const MaterialProperty< Real > * > > | _prop_d2hdnidn |
first derivatives of all h w.r.t. to the kernel variable and other etas More... | |
int | _l_cs |
Position of the c variable in the cs list. More... | |
int | _l_etai |
Position of the eta_i variable in the eta list. More... | |
const MaterialProperty< Real > & | _mob |
Mobility. More... | |
std::vector< unsigned int > | _ns |
Number of sublattices per phase. More... | |
std::vector< Real > | _a_cs |
Sublattice site numbers. More... | |
std::vector< unsigned int > | _phase |
phase index of each cs entry More... | |
const VariableValue & | _c |
Physical concentration. More... | |
const unsigned int | _c_var |
const std::size_t | _ncs |
Sublattice concentrations. More... | |
std::vector< const VariableValue * > | _cs |
const JvarMap & | _cs_map |
const std::size_t | _neta |
Order parameters for each phase \( \eta_j \). More... | |
std::vector< VariableName > | _eta_names |
const JvarMap & | _eta_map |
std::vector< MaterialPropertyName > | _h_names |
Switching function names. More... | |
const std::size_t | _nh |
SLKKSMultiPhaseBase child class for the phase concentration term \( - \sum_j \frac{dF_1}{dc_1} \frac{dh_j}{d\eta_i} (c_j) \) in the the Allen-Cahn bulk residual.
D. Schwen et al. https://doi.org/10.1016/j.commatsci.2021.110466
The non-linear variable for this Kernel is the order parameter 'eta_i'.
Definition at line 22 of file SLKKSMultiACBulkC.h.
SLKKSMultiACBulkC::SLKKSMultiACBulkC | ( | const InputParameters & | parameters | ) |
Definition at line 30 of file SLKKSMultiACBulkC.C.
Definition at line 132 of file SLKKSMultiACBulkC.C.
|
protectedvirtual |
Definition at line 107 of file SLKKSMultiACBulkC.C.
|
protectedvirtual |
Definition at line 87 of file SLKKSMultiACBulkC.C.
|
static |
Definition at line 15 of file SLKKSMultiACBulkC.C.
|
protectedinherited |
Sublattice site numbers.
Definition at line 46 of file SLKKSMultiPhaseBase.h.
Referenced by SLKKSMultiPhaseConcentration::computeQpOffDiagJacobian(), computeQpOffDiagJacobian(), SLKKSMultiPhaseConcentration::precomputeQpJacobian(), precomputeQpJacobian(), SLKKSMultiPhaseConcentration::precomputeQpResidual(), precomputeQpResidual(), and SLKKSMultiPhaseBase::SLKKSMultiPhaseBase().
|
protectedinherited |
Physical concentration.
Definition at line 57 of file SLKKSMultiPhaseBase.h.
Referenced by SLKKSMultiPhaseConcentration::precomputeQpResidual().
|
protected |
name of the coupled concentration variable c
Definition at line 35 of file SLKKSMultiACBulkC.h.
Referenced by SLKKSMultiACBulkC().
|
protectedinherited |
Definition at line 58 of file SLKKSMultiPhaseBase.h.
Referenced by SLKKSMultiPhaseConcentration::computeQpOffDiagJacobian(), and SLKKSMultiACBulkC().
|
protectedinherited |
Definition at line 32 of file SLKKSMultiPhaseBase.h.
Referenced by SLKKSMultiPhaseConcentration::computeQpOffDiagJacobian(), computeQpOffDiagJacobian(), precomputeQpJacobian(), SLKKSMultiPhaseConcentration::precomputeQpResidual(), precomputeQpResidual(), and SLKKSMultiPhaseBase::SLKKSMultiPhaseBase().
|
protectedinherited |
Definition at line 33 of file SLKKSMultiPhaseBase.h.
Referenced by SLKKSMultiPhaseConcentration::computeQpOffDiagJacobian(), and computeQpOffDiagJacobian().
|
protected |
names of all sublattice concentrations
Definition at line 47 of file SLKKSMultiACBulkC.h.
Referenced by SLKKSMultiACBulkC().
|
protectedinherited |
Definition at line 42 of file SLKKSMultiPhaseBase.h.
Referenced by SLKKSMultiPhaseConcentration::computeQpOffDiagJacobian(), and computeQpOffDiagJacobian().
|
protectedinherited |
Definition at line 41 of file SLKKSMultiPhaseBase.h.
Referenced by SLKKSMultiACBulkC(), SLKKSMultiPhaseBase::SLKKSMultiPhaseBase(), and SLKKSMultiPhaseConcentration::SLKKSMultiPhaseConcentration().
|
protected |
name of order parameter that derivatives are taken w.r.t.
Definition at line 41 of file SLKKSMultiACBulkC.h.
Referenced by SLKKSMultiACBulkC().
|
protected |
index of order parameter that derivatives are taken w.r.t.
Definition at line 44 of file SLKKSMultiACBulkC.h.
Referenced by SLKKSMultiACBulkC().
|
protectedinherited |
Switching function names.
Definition at line 49 of file SLKKSMultiPhaseBase.h.
Referenced by SLKKSMultiACBulkC(), and SLKKSMultiPhaseConcentration::SLKKSMultiPhaseConcentration().
|
protected |
Position of the c variable in the cs list.
Definition at line 62 of file SLKKSMultiACBulkC.h.
Referenced by computeQpOffDiagJacobian(), precomputeQpJacobian(), precomputeQpResidual(), and SLKKSMultiACBulkC().
|
protected |
Position of the eta_i variable in the eta list.
Definition at line 65 of file SLKKSMultiACBulkC.h.
Referenced by precomputeQpJacobian(), and SLKKSMultiACBulkC().
|
protected |
is eta_i supplied (then we assume the kernel operates on the Lagrange var)
Definition at line 38 of file SLKKSMultiACBulkC.h.
Referenced by precomputeQpJacobian().
|
protected |
Mobility.
Definition at line 68 of file SLKKSMultiACBulkC.h.
Referenced by computeQpOffDiagJacobian(), precomputeQpJacobian(), and precomputeQpResidual().
|
protectedinherited |
Sublattice concentrations.
Definition at line 31 of file SLKKSMultiPhaseBase.h.
Referenced by SLKKSMultiPhaseConcentration::computeQpOffDiagJacobian(), SLKKSMultiACBulkC(), SLKKSMultiPhaseBase::SLKKSMultiPhaseBase(), and SLKKSMultiPhaseConcentration::SLKKSMultiPhaseConcentration().
|
protectedinherited |
Order parameters for each phase \( \eta_j \).
Definition at line 40 of file SLKKSMultiPhaseBase.h.
Referenced by SLKKSMultiACBulkC(), SLKKSMultiPhaseBase::SLKKSMultiPhaseBase(), and SLKKSMultiPhaseConcentration::SLKKSMultiPhaseConcentration().
|
protectedinherited |
Definition at line 50 of file SLKKSMultiPhaseBase.h.
Referenced by computeQpOffDiagJacobian(), precomputeQpJacobian(), SLKKSMultiPhaseConcentration::precomputeQpResidual(), precomputeQpResidual(), SLKKSMultiACBulkC(), SLKKSMultiPhaseBase::SLKKSMultiPhaseBase(), and SLKKSMultiPhaseConcentration::SLKKSMultiPhaseConcentration().
|
protectedinherited |
Number of sublattices per phase.
Definition at line 37 of file SLKKSMultiPhaseBase.h.
Referenced by computeQpOffDiagJacobian(), precomputeQpJacobian(), SLKKSMultiPhaseConcentration::precomputeQpResidual(), precomputeQpResidual(), and SLKKSMultiPhaseBase::SLKKSMultiPhaseBase().
|
protectedinherited |
phase index of each cs entry
Definition at line 54 of file SLKKSMultiPhaseBase.h.
Referenced by SLKKSMultiPhaseConcentration::computeQpOffDiagJacobian(), computeQpOffDiagJacobian(), SLKKSMultiPhaseConcentration::precomputeQpJacobian(), SLKKSMultiACBulkC(), and SLKKSMultiPhaseBase::SLKKSMultiPhaseBase().
|
protected |
Second derivatives of F w.r.t. c and all cs.
Definition at line 53 of file SLKKSMultiACBulkC.h.
Referenced by computeQpOffDiagJacobian(), and SLKKSMultiACBulkC().
|
protected |
first derivatives of all h w.r.t. to the kernel variable and other etas
Definition at line 59 of file SLKKSMultiACBulkC.h.
Referenced by computeQpOffDiagJacobian(), precomputeQpJacobian(), and SLKKSMultiACBulkC().
|
protected |
Derivative of the free energy function w.r.t. c.
Definition at line 50 of file SLKKSMultiACBulkC.h.
Referenced by computeQpOffDiagJacobian(), precomputeQpJacobian(), and precomputeQpResidual().
|
protected |
first derivatives of all h w.r.t. to etai
Definition at line 56 of file SLKKSMultiACBulkC.h.
Referenced by computeQpOffDiagJacobian(), precomputeQpResidual(), and SLKKSMultiACBulkC().