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

This is the base class for kernels that calculate the residual for grain growth. More...

#include <ADGrainGrowthBase.h>

Inheritance diagram for ADGrainGrowthBase:
[legend]

Public Types

typedef DerivativeMaterialPropertyNameInterface::SymbolName SymbolName
 

Public Member Functions

 ADGrainGrowthBase (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 ADReal precomputeQpResidual ()
 
virtual ADReal computeDFDOP ()=0
 Compute the derivative of the bulk free energy w.r.t the order parameter. More...
 

Protected Attributes

const unsigned int _op_num
 
const std::vector< const ADVariableValue * > _vals
 
const ADMaterialProperty< Real > & _mu
 
const ADMaterialProperty< Real > & _prop_L
 Mobility. More...
 

Detailed Description

This is the base class for kernels that calculate the residual for grain growth.

It calculates the residual of the ith order parameter, and the values of all other order parameters are coupled variables and are stored in vals. This is the AD equivalent of the ADGrainGrowthBase class.

Definition at line 20 of file ADGrainGrowthBase.h.

Constructor & Destructor Documentation

◆ ADGrainGrowthBase()

ADGrainGrowthBase::ADGrainGrowthBase ( const InputParameters parameters)

Definition at line 21 of file ADGrainGrowthBase.C.

22  : ADAllenCahnBase<Real>(parameters),
23  _op_num(coupledComponents("v")),
24  _vals(adCoupledValues("v")),
25  _mu(getADMaterialProperty<Real>("mu"))
26 {
27 }
const ADMaterialProperty< Real > & _mu
const std::vector< const ADVariableValue * > _vals
const unsigned int _op_num

Member Function Documentation

◆ computeDFDOP()

virtual ADReal ADAllenCahnBase< Real >::computeDFDOP ( )
protectedpure virtualinherited

Compute the derivative of the bulk free energy w.r.t the order parameter.

Implemented in ADGrainGrowth, and ADAllenCahn.

◆ precomputeQpResidual()

ADReal ADAllenCahnBase< Real >::precomputeQpResidual ( )
protectedvirtualinherited

Definition at line 61 of file ADAllenCahnBase.h.

62 {
63  return _prop_L[_qp] * computeDFDOP();
64 }
const ADMaterialProperty< Real > & _prop_L
Mobility.
virtual ADReal computeDFDOP()=0
Compute the derivative of the bulk free energy w.r.t the order parameter.

◆ validParams()

InputParameters ADGrainGrowthBase::validParams ( )
static

Definition at line 13 of file ADGrainGrowthBase.C.

Referenced by ADGrainGrowth::validParams().

14 {
16  params.addRequiredCoupledVar("v",
17  "Array of coupled order parameter names for other order parameters");
18  return params;
19 }
void addRequiredCoupledVar(const std::string &name, const std::string &doc_string)
static InputParameters validParams()

Member Data Documentation

◆ _mu

const ADMaterialProperty<Real>& ADGrainGrowthBase::_mu
protected

Definition at line 30 of file ADGrainGrowthBase.h.

Referenced by ADGrainGrowth::computeDFDOP().

◆ _op_num

const unsigned int ADGrainGrowthBase::_op_num
protected

Definition at line 28 of file ADGrainGrowthBase.h.

Referenced by ADGrainGrowth::computeDFDOP().

◆ _prop_L

const ADMaterialProperty<Real >& ADAllenCahnBase< Real >::_prop_L
protectedinherited

Mobility.

Definition at line 38 of file ADAllenCahnBase.h.

◆ _vals

const std::vector<const ADVariableValue *> ADGrainGrowthBase::_vals
protected

Definition at line 29 of file ADGrainGrowthBase.h.

Referenced by ADGrainGrowth::computeDFDOP().


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