https://mooseframework.inl.gov
Public Types | Public Member Functions | Static Public Member Functions | Protected Member Functions | Protected Attributes | List of all members
SLKKSMultiACBulkC Class Reference

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>

Inheritance diagram for SLKKSMultiACBulkC:
[legend]

Public Types

typedef DerivativeMaterialPropertyNameInterface::SymbolName SymbolName
 

Public Member Functions

 SLKKSMultiACBulkC (const InputParameters &parameters)
 
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
 

Detailed Description

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.

Constructor & Destructor Documentation

◆ SLKKSMultiACBulkC()

SLKKSMultiACBulkC::SLKKSMultiACBulkC ( const InputParameters parameters)

Definition at line 30 of file SLKKSMultiACBulkC.C.

31  : SLKKSMultiPhaseBase(parameters),
32  _c_name(coupledName("c", 0)),
33  _lagrange(isCoupled("eta_i")),
34  _etai_name(_lagrange ? coupledName("eta_i", 0) : _var.name()),
35  _etai_var(_lagrange ? coupled("eta_i") : _var.number()),
36  _cs_names(_ncs),
41  _l_cs(-1),
42  _l_etai(-1),
43  _mob(getMaterialProperty<Real>("mob_name"))
44 {
45  // Determine position of the selected concentration variable
46  for (std::size_t i = 0; i < _ncs; ++i)
47  {
48  _cs_names[i] = coupledName("cs", i);
49  if (coupled("cs", i) == _c_var)
50  _l_cs = i;
51  }
52 
53  // Check to make sure the nonlinear variable is in the cs list
54  if (_l_cs < 0)
55  paramError("cs", "One of the listed variables must be the 'c' variable");
56 
57  // Determine position of the selected concentration variable
58  for (std::size_t i = 0; i < _neta; ++i)
59  if (coupled("eta", i) == _etai_var)
60  _l_etai = i;
61 
62  // Check to make sure the nonlinear variable or eta_i (if supplied) is in the eta list
63  if (_l_etai < 0)
64  paramError("eta_i",
65  "Either eta_i or the kernel variable must be one of the listed 'eta' variables");
66 
67  // Iterate over all sublattice concentrations
68  for (std::size_t i = 0; i < _ncs; ++i)
69  // get second partial derivatives w.r.t. c and cs (only if c and cs are in the same phase)
70  _prop_d2Fdcdcs[i] = (_phase[i] == _phase[_l_cs])
71  ? &getMaterialPropertyDerivative<Real>("F", _c_name, _cs_names[i])
72  : nullptr;
73 
74  // fetch all switching function derivatives
75  for (std::size_t i = 0; i < _nh; ++i)
76  {
77  _prop_dhdni[i] = &getMaterialPropertyDerivativeByName<Real>(_h_names[i], _etai_name);
78 
79  _prop_d2hdnidn[i].resize(_neta);
80  for (std::size_t j = 0; j < _neta; ++j)
81  _prop_d2hdnidn[i][j] =
82  &getMaterialPropertyDerivativeByName<Real>(_h_names[i], _etai_name, _eta_names[j]);
83  }
84 }
const std::size_t _neta
Order parameters for each phase .
const MaterialProperty< Real > & _mob
Mobility.
int _l_cs
Position of the c variable in the cs list.
int _l_etai
Position of the eta_i variable in the eta list.
const VariableName _c_name
name of the coupled concentration variable c
const std::size_t _ncs
Sublattice concentrations.
const unsigned int _c_var
std::vector< const MaterialProperty< Real > * > _prop_dhdni
first derivatives of all h w.r.t. to etai
std::vector< VariableName > _eta_names
VariableName _etai_name
name of order parameter that derivatives are taken w.r.t.
const GenericMaterialProperty< U, is_ad > & getMaterialPropertyDerivative(const std::string &base, const std::vector< VariableName > &c)
unsigned int _etai_var
index of order parameter that derivatives are taken w.r.t.
std::vector< VariableName > _cs_names
names of all sublattice concentrations
std::vector< std::vector< const MaterialProperty< Real > * > > _prop_d2hdnidn
first derivatives of all h w.r.t. to the kernel variable and other etas
std::vector< const MaterialProperty< Real > * > _prop_d2Fdcdcs
Second derivatives of F w.r.t. c and all cs.
DIE A HORRIBLE DEATH HERE typedef LIBMESH_DEFAULT_SCALAR_TYPE Real
const std::size_t _nh
std::vector< unsigned int > _phase
phase index of each cs entry
static const std::complex< double > j(0, 1)
Complex number "j" (also known as "i")
SLKKSMultiPhaseBase(const InputParameters &parameters)
std::vector< MaterialPropertyName > _h_names
Switching function names.
const bool _lagrange
is eta_i supplied (then we assume the kernel operates on the Lagrange var)
const MaterialProperty< Real > & _prop_dFdc
Derivative of the free energy function w.r.t. c.

Member Function Documentation

◆ computeQpOffDiagJacobian()

Real SLKKSMultiACBulkC::computeQpOffDiagJacobian ( unsigned int  jvar)
protectedvirtual

Definition at line 132 of file SLKKSMultiACBulkC.C.

133 {
134  // concentration variables
135  auto csvar = mapJvarToCvar(jvar, _cs_map);
136  if (csvar >= 0)
137  {
138  // does F depend on the csvar? if so we need to apply the product rule
139  if (_phase[csvar] == _phase[_l_cs])
140  {
141  // sum over phases
142  std::size_t k = 0;
143  Real sum = 0.0;
144  for (std::size_t i = 0; i < _nh; ++i)
145  {
146  // sum sublattice concentrations
147  Real csum = 0.0;
148  for (unsigned int j = 0; j < _ns[i]; ++j)
149  {
150  csum += (*_cs[k])[_qp] * _a_cs[k];
151  k++;
152  }
153  sum += (*_prop_dhdni[i])[_qp] * csum;
154  }
155 
156  return -_mob[_qp] *
157  ((*_prop_d2Fdcdcs[csvar])[_qp] * sum +
158  _prop_dFdc[_qp] * (*_prop_dhdni[_phase[csvar]])[_qp] * _a_cs[csvar]) /
159  _a_cs[_l_cs] * _phi[_j][_qp] * _test[_i][_qp];
160  }
161 
162  return -_mob[_qp] * _prop_dFdc[_qp] / _a_cs[_l_cs] * (*_prop_dhdni[_phase[csvar]])[_qp] *
163  _a_cs[csvar] * _phi[_j][_qp] * _test[_i][_qp];
164  }
165 
166  // order parameters
167  auto etavar = mapJvarToCvar(jvar, _eta_map);
168  if (etavar >= 0)
169  {
170  // sum over phases
171  std::size_t k = 0;
172  Real sum = 0.0;
173  for (std::size_t i = 0; i < _nh; ++i)
174  {
175  // sum sublattice concentrations
176  Real csum = 0.0;
177  for (unsigned int j = 0; j < _ns[i]; ++j)
178  {
179  csum += (*_cs[k])[_qp] * _a_cs[k];
180  k++;
181  }
182  sum += (*_prop_d2hdnidn[i][etavar])[_qp] * csum;
183  }
184 
185  return -_mob[_qp] * _prop_dFdc[_qp] / _a_cs[_l_cs] * sum * _phi[_j][_qp] * _test[_i][_qp];
186  }
187 
188  return 0.0;
189 }
const MaterialProperty< Real > & _mob
Mobility.
int _l_cs
Position of the c variable in the cs list.
const JvarMap & _cs_map
std::vector< const MaterialProperty< Real > * > _prop_dhdni
first derivatives of all h w.r.t. to etai
std::vector< const VariableValue * > _cs
std::vector< Real > _a_cs
Sublattice site numbers.
const JvarMap & _eta_map
std::vector< std::vector< const MaterialProperty< Real > * > > _prop_d2hdnidn
first derivatives of all h w.r.t. to the kernel variable and other etas
std::vector< const MaterialProperty< Real > * > _prop_d2Fdcdcs
Second derivatives of F w.r.t. c and all cs.
DIE A HORRIBLE DEATH HERE typedef LIBMESH_DEFAULT_SCALAR_TYPE Real
const std::size_t _nh
std::vector< unsigned int > _phase
phase index of each cs entry
static const std::complex< double > j(0, 1)
Complex number "j" (also known as "i")
std::vector< unsigned int > _ns
Number of sublattices per phase.
static const std::string k
Definition: NS.h:130
const MaterialProperty< Real > & _prop_dFdc
Derivative of the free energy function w.r.t. c.

◆ precomputeQpJacobian()

Real SLKKSMultiACBulkC::precomputeQpJacobian ( )
protectedvirtual

Definition at line 107 of file SLKKSMultiACBulkC.C.

108 {
109  // For when this kernel is used in the Lagrange multiplier equation
110  if (_lagrange)
111  return 0.0;
112 
113  // For when eta_i is the nonlinear variable
114  std::size_t k = 0;
115  Real sum = 0.0;
116  for (std::size_t i = 0; i < _nh; ++i)
117  {
118  // sum sublattice concentrations
119  Real csum = 0.0;
120  for (unsigned int j = 0; j < _ns[i]; ++j)
121  {
122  csum += (*_cs[k])[_qp] * _a_cs[k];
123  k++;
124  }
125  sum += (*_prop_d2hdnidn[i][_l_etai])[_qp] * csum;
126  }
127 
128  return -_mob[_qp] * _phi[_j][_qp] * _prop_dFdc[_qp] / _a_cs[_l_cs] * sum;
129 }
const MaterialProperty< Real > & _mob
Mobility.
int _l_cs
Position of the c variable in the cs list.
int _l_etai
Position of the eta_i variable in the eta list.
std::vector< const VariableValue * > _cs
std::vector< Real > _a_cs
Sublattice site numbers.
std::vector< std::vector< const MaterialProperty< Real > * > > _prop_d2hdnidn
first derivatives of all h w.r.t. to the kernel variable and other etas
DIE A HORRIBLE DEATH HERE typedef LIBMESH_DEFAULT_SCALAR_TYPE Real
const std::size_t _nh
static const std::complex< double > j(0, 1)
Complex number "j" (also known as "i")
std::vector< unsigned int > _ns
Number of sublattices per phase.
const bool _lagrange
is eta_i supplied (then we assume the kernel operates on the Lagrange var)
static const std::string k
Definition: NS.h:130
const MaterialProperty< Real > & _prop_dFdc
Derivative of the free energy function w.r.t. c.

◆ precomputeQpResidual()

Real SLKKSMultiACBulkC::precomputeQpResidual ( )
protectedvirtual

Definition at line 87 of file SLKKSMultiACBulkC.C.

88 { // sum over phases
89  std::size_t k = 0;
90  Real sum = 0.0;
91  for (std::size_t i = 0; i < _nh; ++i)
92  {
93  // sum sublattice concentrations
94  Real csum = 0.0;
95  for (unsigned int j = 0; j < _ns[i]; ++j)
96  {
97  csum += (*_cs[k])[_qp] * _a_cs[k];
98  k++;
99  }
100  sum += (*_prop_dhdni[i])[_qp] * csum;
101  }
102 
103  return -_mob[_qp] * _prop_dFdc[_qp] / _a_cs[_l_cs] * sum;
104 }
const MaterialProperty< Real > & _mob
Mobility.
int _l_cs
Position of the c variable in the cs list.
std::vector< const MaterialProperty< Real > * > _prop_dhdni
first derivatives of all h w.r.t. to etai
std::vector< const VariableValue * > _cs
std::vector< Real > _a_cs
Sublattice site numbers.
DIE A HORRIBLE DEATH HERE typedef LIBMESH_DEFAULT_SCALAR_TYPE Real
const std::size_t _nh
static const std::complex< double > j(0, 1)
Complex number "j" (also known as "i")
std::vector< unsigned int > _ns
Number of sublattices per phase.
static const std::string k
Definition: NS.h:130
const MaterialProperty< Real > & _prop_dFdc
Derivative of the free energy function w.r.t. c.

◆ validParams()

InputParameters SLKKSMultiACBulkC::validParams ( )
static

Definition at line 15 of file SLKKSMultiACBulkC.C.

16 {
17  auto params = SLKKSMultiPhaseBase::validParams();
18  params.addClassDescription("Multi-phase SLKKS model kernel for the bulk Allen-Cahn. "
19  "This includes all terms dependent on chemical potential.");
20  params.addRequiredParam<MaterialPropertyName>(
21  "F", "Phase free energy function that is a function of 'c'");
22  params.addRequiredCoupledVar("c", "Concentration variable F depends on");
23  params.addCoupledVar("eta_i",
24  "Order parameter that derivatives are taken with respect to (kernel "
25  "variable is used if this is not specified)");
26  params.addParam<MaterialPropertyName>("mob_name", "L", "The mobility used with the kernel");
27  return params;
28 }
static InputParameters validParams()

Member Data Documentation

◆ _a_cs

std::vector<Real> SLKKSMultiPhaseBase::_a_cs
protectedinherited

◆ _c

const VariableValue& SLKKSMultiPhaseBase::_c
protectedinherited

Physical concentration.

Definition at line 57 of file SLKKSMultiPhaseBase.h.

Referenced by SLKKSMultiPhaseConcentration::precomputeQpResidual().

◆ _c_name

const VariableName SLKKSMultiACBulkC::_c_name
protected

name of the coupled concentration variable c

Definition at line 35 of file SLKKSMultiACBulkC.h.

Referenced by SLKKSMultiACBulkC().

◆ _c_var

const unsigned int SLKKSMultiPhaseBase::_c_var
protectedinherited

◆ _cs

std::vector<const VariableValue *> SLKKSMultiPhaseBase::_cs
protectedinherited

◆ _cs_map

const JvarMap& SLKKSMultiPhaseBase::_cs_map
protectedinherited

◆ _cs_names

std::vector<VariableName> SLKKSMultiACBulkC::_cs_names
protected

names of all sublattice concentrations

Definition at line 47 of file SLKKSMultiACBulkC.h.

Referenced by SLKKSMultiACBulkC().

◆ _eta_map

const JvarMap& SLKKSMultiPhaseBase::_eta_map
protectedinherited

◆ _eta_names

std::vector<VariableName> SLKKSMultiPhaseBase::_eta_names
protectedinherited

◆ _etai_name

VariableName SLKKSMultiACBulkC::_etai_name
protected

name of order parameter that derivatives are taken w.r.t.

Definition at line 41 of file SLKKSMultiACBulkC.h.

Referenced by SLKKSMultiACBulkC().

◆ _etai_var

unsigned int SLKKSMultiACBulkC::_etai_var
protected

index of order parameter that derivatives are taken w.r.t.

Definition at line 44 of file SLKKSMultiACBulkC.h.

Referenced by SLKKSMultiACBulkC().

◆ _h_names

std::vector<MaterialPropertyName> SLKKSMultiPhaseBase::_h_names
protectedinherited

Switching function names.

Definition at line 49 of file SLKKSMultiPhaseBase.h.

Referenced by SLKKSMultiACBulkC(), and SLKKSMultiPhaseConcentration::SLKKSMultiPhaseConcentration().

◆ _l_cs

int SLKKSMultiACBulkC::_l_cs
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().

◆ _l_etai

int SLKKSMultiACBulkC::_l_etai
protected

Position of the eta_i variable in the eta list.

Definition at line 65 of file SLKKSMultiACBulkC.h.

Referenced by precomputeQpJacobian(), and SLKKSMultiACBulkC().

◆ _lagrange

const bool SLKKSMultiACBulkC::_lagrange
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().

◆ _mob

const MaterialProperty<Real>& SLKKSMultiACBulkC::_mob
protected

Mobility.

Definition at line 68 of file SLKKSMultiACBulkC.h.

Referenced by computeQpOffDiagJacobian(), precomputeQpJacobian(), and precomputeQpResidual().

◆ _ncs

const std::size_t SLKKSMultiPhaseBase::_ncs
protectedinherited

◆ _neta

const std::size_t SLKKSMultiPhaseBase::_neta
protectedinherited

Order parameters for each phase \( \eta_j \).

Definition at line 40 of file SLKKSMultiPhaseBase.h.

Referenced by SLKKSMultiACBulkC(), SLKKSMultiPhaseBase::SLKKSMultiPhaseBase(), and SLKKSMultiPhaseConcentration::SLKKSMultiPhaseConcentration().

◆ _nh

const std::size_t SLKKSMultiPhaseBase::_nh
protectedinherited

◆ _ns

std::vector<unsigned int> SLKKSMultiPhaseBase::_ns
protectedinherited

◆ _phase

std::vector<unsigned int> SLKKSMultiPhaseBase::_phase
protectedinherited

◆ _prop_d2Fdcdcs

std::vector<const MaterialProperty<Real> *> SLKKSMultiACBulkC::_prop_d2Fdcdcs
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().

◆ _prop_d2hdnidn

std::vector<std::vector<const MaterialProperty<Real> *> > SLKKSMultiACBulkC::_prop_d2hdnidn
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().

◆ _prop_dFdc

const MaterialProperty<Real>& SLKKSMultiACBulkC::_prop_dFdc
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().

◆ _prop_dhdni

std::vector<const MaterialProperty<Real> *> SLKKSMultiACBulkC::_prop_dhdni
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().


The documentation for this class was generated from the following files: