https://mooseframework.inl.gov
Loading...
Searching...
No Matches
Public Types | Public Member Functions | Static Public Member Functions | Protected Member Functions | Protected Attributes | Private Member Functions | Private Attributes | List of all members
SusceptibilityTimeDerivative Class Reference

#include <SusceptibilityTimeDerivative.h>

Inheritance diagram for SusceptibilityTimeDerivative:
[legend]

Public Types

typedef DerivativeMaterialPropertyNameInterface::SymbolName SymbolName
 

Public Member Functions

 SusceptibilityTimeDerivative (const InputParameters &parameters)
 
virtual void initialSetup () override
 
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 MaterialProperty< Real > & _dChidu
 susceptibility derivative w.r.t. the kernel variable
 
std::vector< const MaterialProperty< Real > * > _dChidarg
 susceptibility derivatives w.r.t. coupled variables
 
const GenericMaterialProperty< Real, is_ad > & _Chi
 susceptibility
 

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
 

Detailed Description

Definition at line 40 of file SusceptibilityTimeDerivative.h.

Constructor & Destructor Documentation

◆ SusceptibilityTimeDerivative()

SusceptibilityTimeDerivative::SusceptibilityTimeDerivative ( const InputParameters parameters)

Definition at line 38 of file SusceptibilityTimeDerivative.C.

40 _dChidu(getMaterialPropertyDerivative<Real>("f_name", _var.name())),
41 _dChidarg(_n_args)
42{
43 // fetch derivatives
44 for (unsigned int i = 0; i < _n_args; ++i)
45 _dChidarg[i] = &getMaterialPropertyDerivative<Real>("f_name", i);
46}
std::vector< const MaterialProperty< Real > * > _dChidarg
susceptibility derivatives w.r.t. coupled variables
const MaterialProperty< Real > & _dChidu
susceptibility derivative w.r.t. the kernel variable

Member Function Documentation

◆ computeQpJacobian()

Real SusceptibilityTimeDerivative::computeQpJacobian ( )
overrideprotectedvirtual

Definition at line 67 of file SusceptibilityTimeDerivative.C.

68{
70 TimeDerivative::computeQpResidual() * _dChidu[_qp] * _phi[_j][_qp];
71}
const GenericMaterialProperty< Real, is_ad > & _Chi
susceptibility
virtual Real computeQpResidual() override
virtual Real computeQpJacobian() override

◆ computeQpOffDiagJacobian()

Real SusceptibilityTimeDerivative::computeQpOffDiagJacobian ( unsigned int  jvar)
overrideprotectedvirtual

Definition at line 74 of file SusceptibilityTimeDerivative.C.

75{
76 // get the coupled variable jvar is referring to
77 const unsigned int cvar = mapJvarToCvar(jvar);
78
79 return TimeDerivative::computeQpResidual() * (*_dChidarg[cvar])[_qp] * _phi[_j][_qp];
80}

◆ computeQpResidual()

Real SusceptibilityTimeDerivative::computeQpResidual ( )
overrideprotectedvirtual

Definition at line 55 of file SusceptibilityTimeDerivative.C.

56{
58}

◆ initialSetup()

void SusceptibilityTimeDerivative::initialSetup ( )
overridevirtual

Definition at line 49 of file SusceptibilityTimeDerivative.C.

50{
51 validateNonlinearCoupling<Real>("f_name");
52}

◆ validParams()

InputParameters SusceptibilityTimeDerivativeTempl< is_ad >::validParams ( )
staticinherited

Definition at line 31 of file SusceptibilityTimeDerivative.C.

18{
21 "A modified time derivative Kernel that multiplies the time derivative "
22 "of a variable by a generalized susceptibility");
23 params.addRequiredParam<MaterialPropertyName>(
24 "f_name", "Susceptibility function F defined in a FunctionMaterial");
25 params.addCoupledVar("coupled_variables", "Vector of variable arguments of the susceptibility");
26 return params;
27}
typename std::conditional< is_ad, ADTimeDerivative, TimeDerivative >::type SusceptibilityTimeDerivativeBase
This calculates the time derivative for a variable multiplied by a generalized susceptibility.
void addRequiredParam(const std::string &name, const std::string &doc_string)
void addClassDescription(const std::string &doc_string)
void addCoupledVar(const std::string &name, const std::string &doc_string)

Member Data Documentation

◆ _Chi

const GenericMaterialProperty<Real, is_ad>& SusceptibilityTimeDerivativeTempl< is_ad >::_Chi
protectedinherited

susceptibility

Definition at line 37 of file SusceptibilityTimeDerivative.h.

◆ _dChidarg

std::vector<const MaterialProperty<Real> *> SusceptibilityTimeDerivative::_dChidarg
protected

susceptibility derivatives w.r.t. coupled variables

Definition at line 55 of file SusceptibilityTimeDerivative.h.

Referenced by computeQpOffDiagJacobian(), and SusceptibilityTimeDerivative().

◆ _dChidu

const MaterialProperty<Real>& SusceptibilityTimeDerivative::_dChidu
protected

susceptibility derivative w.r.t. the kernel variable

Definition at line 52 of file SusceptibilityTimeDerivative.h.

Referenced by computeQpJacobian().


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