CahnHilliardBase implements the residual of the Cahn-Hilliard equation in a general way that can be templated to a scalar or tensor mobility.
More...
#include <CahnHilliardBase.h>
|
const MaterialProperty< T > & | _M |
| Mobility. More...
|
|
const MaterialProperty< T > & | _dMdc |
| Mobility derivative w.r.t. concentration. More...
|
|
std::vector< const MaterialProperty< T > * > | _dMdarg |
| Mobility derivative w.r.t coupled variables. More...
|
|
template<typename T>
class CahnHilliardBase< T >
CahnHilliardBase implements the residual of the Cahn-Hilliard equation in a general way that can be templated to a scalar or tensor mobility.
Definition at line 20 of file CahnHilliardBase.h.
◆ PFFunctionType
◆ CahnHilliardBase()
Definition at line 72 of file CahnHilliardBase.h.
74 _nvar(_coupled_moose_vars.size()),
82 &this->
template getMaterialPropertyDerivative<Real>(
"f_name", _var.name(), _var.name());
84 "f_name", _var.name(), _var.name(), _var.name());
88 for (
unsigned int i = 0; i <
_nvar; ++i)
90 const VariableName iname = _coupled_moose_vars[i]->name();
91 if (iname == _var.name())
93 "args",
"The kernel variable should not be specified in the coupled `args` parameter.");
96 &this->
template getMaterialPropertyDerivative<Real>(
"f_name", _var.name(), iname);
98 "f_name", _var.name(), _var.name(), iname);
101 for (
unsigned int j = 0; j <
_nvar; ++j)
103 VariableName jname = _coupled_moose_vars[j]->name();
105 &this->
template getMaterialPropertyDerivative<Real>(
"f_name", _var.name(), iname, jname);
108 _grad_vars[i + 1] = &_subproblem.getStandardVariable(_tid, iname).gradSln();
◆ computeGradDFDCons()
◆ computeQpOffDiagJacobian()
◆ initialSetup()
Check if both the non-linear as well as the auxiliary variables variables are coupled. Derivatives with respect to both types of variables contribute the residual.
Reimplemented from CHBulk< T >.
Definition at line 114 of file CahnHilliardBase.h.
121 this->
template validateCoupling<Real>(
"f_name", _var.name());
122 this->
template validateDerivativeMaterialPropertyBase<Real>(
"f_name");
◆ precomputeQpJacobian()
template<typename T >
RealGradient CHBulk< T >::precomputeQpJacobian |
( |
| ) |
|
|
protectedvirtualinherited |
◆ precomputeQpResidual()
template<typename T >
RealGradient CHBulk< T >::precomputeQpResidual |
( |
| ) |
|
|
protectedvirtualinherited |
◆ validParams()
Definition at line 58 of file CahnHilliardBase.h.
61 params.addClassDescription(
"Cahn-Hilliard Kernel that uses a DerivativeMaterial Free Energy");
62 params.addRequiredParam<MaterialPropertyName>(
63 "f_name",
"Base name of the free energy function F defined in a DerivativeParsedMaterial");
64 params.addCoupledVar(
"displacement_gradients",
65 "Vector of displacement gradient variables (see "
66 "Modules/PhaseField/DisplacementGradients "
Referenced by validParams< CahnHilliard >(), and validParams< CahnHilliardAniso >().
◆ _dMdarg
template<typename T>
std::vector<const MaterialProperty<T> *> CHBulk< T >::_dMdarg |
|
protectedinherited |
◆ _dMdc
template<typename T>
const MaterialProperty<T>& CHBulk< T >::_dMdc |
|
protectedinherited |
Mobility derivative w.r.t. concentration.
Definition at line 50 of file CHBulk.h.
◆ _grad_vars
◆ _M
template<typename T>
const MaterialProperty<T>& CHBulk< T >::_M |
|
protectedinherited |
◆ _nvar
◆ _second_derivatives
template<typename T>
std::vector<const MaterialProperty<Real> *> CahnHilliardBase< T >::_second_derivatives |
|
private |
◆ _third_cross_derivatives
template<typename T>
std::vector<std::vector<const MaterialProperty<Real> *> > CahnHilliardBase< T >::_third_cross_derivatives |
|
private |
◆ _third_derivatives
template<typename T>
std::vector<const MaterialProperty<Real> *> CahnHilliardBase< T >::_third_derivatives |
|
private |
The documentation for this class was generated from the following file: