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

This calculates the time derivative for a variable multiplied by a generalized susceptibility. More...

#include <ChangedVariableTimeDerivative.h>

Inheritance diagram for ChangedVariableTimeDerivative:
[legend]

Public Types

typedef DerivativeMaterialPropertyNameInterface::SymbolName SymbolName
 

Public Member Functions

 ChangedVariableTimeDerivative (const InputParameters &parameters)
 
virtual void initialSetup ()
 
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 ()
 
virtual Real computeQpJacobian ()
 
virtual Real computeQpOffDiagJacobian (unsigned int jvar)
 

Protected Attributes

const MaterialProperty< Real > & _dopdu
 Order parameter derivative. More...
 
const MaterialProperty< Real > & _d2opdu2
 2nd order parameter derivative More...
 
std::vector< const MaterialProperty< Real > * > _d2opdudarg
 2nd order parameter derivative w.r.t. coupled variables More...
 

Detailed Description

This calculates the time derivative for a variable multiplied by a generalized susceptibility.

Definition at line 19 of file ChangedVariableTimeDerivative.h.

Constructor & Destructor Documentation

◆ ChangedVariableTimeDerivative()

ChangedVariableTimeDerivative::ChangedVariableTimeDerivative ( const InputParameters parameters)

Definition at line 28 of file ChangedVariableTimeDerivative.C.

30  _dopdu(getMaterialPropertyDerivative<Real>("order_parameter", _var.name())),
31  _d2opdu2(getMaterialPropertyDerivative<Real>("order_parameter", _var.name(), _var.name())),
32  _d2opdudarg(_n_args)
33 {
34  // fetch derivatives
35  for (unsigned int i = 0; i < _n_args; ++i)
36  _d2opdudarg[i] = &getMaterialPropertyDerivative<Real>("order_parameter", _var.name(), i);
37 }
const MaterialProperty< Real > & _d2opdu2
2nd order parameter derivative
const MaterialProperty< Real > & _dopdu
Order parameter derivative.
std::vector< const MaterialProperty< Real > * > _d2opdudarg
2nd order parameter derivative w.r.t. coupled variables

Member Function Documentation

◆ computeQpJacobian()

Real ChangedVariableTimeDerivative::computeQpJacobian ( )
protectedvirtual

Definition at line 52 of file ChangedVariableTimeDerivative.C.

53 {
55  TimeDerivative::computeQpResidual() * _d2opdu2[_qp] * _phi[_j][_qp];
56 }
const MaterialProperty< Real > & _d2opdu2
2nd order parameter derivative
virtual Real computeQpResidual() override
const MaterialProperty< Real > & _dopdu
Order parameter derivative.
virtual Real computeQpJacobian() override

◆ computeQpOffDiagJacobian()

Real ChangedVariableTimeDerivative::computeQpOffDiagJacobian ( unsigned int  jvar)
protectedvirtual

Definition at line 59 of file ChangedVariableTimeDerivative.C.

60 {
61  // get the coupled variable jvar is referring to
62  const unsigned int cvar = mapJvarToCvar(jvar);
63 
64  return TimeDerivative::computeQpResidual() * (*_d2opdudarg[cvar])[_qp] * _phi[_j][_qp];
65 }
virtual Real computeQpResidual() override
std::vector< const MaterialProperty< Real > * > _d2opdudarg
2nd order parameter derivative w.r.t. coupled variables

◆ computeQpResidual()

Real ChangedVariableTimeDerivative::computeQpResidual ( )
protectedvirtual

Definition at line 46 of file ChangedVariableTimeDerivative.C.

47 {
49 }
virtual Real computeQpResidual() override
const MaterialProperty< Real > & _dopdu
Order parameter derivative.

◆ initialSetup()

void ChangedVariableTimeDerivative::initialSetup ( )
virtual

Definition at line 40 of file ChangedVariableTimeDerivative.C.

41 {
42  validateNonlinearCoupling<Real>("order_parameter");
43 }

◆ validParams()

InputParameters ChangedVariableTimeDerivative::validParams ( )
static

Definition at line 15 of file ChangedVariableTimeDerivative.C.

16 {
18  params.addClassDescription(
19  "A modified time derivative Kernel that multiplies the time derivative by"
20  "the derivative of the nonlinear preconditioning function");
21  params.addRequiredParam<MaterialPropertyName>(
22  "order_parameter",
23  "Order parameter material defining the nonlinear preconditioning function");
24  params.addCoupledVar("args", "Vector of additional arguments for order_parameter");
25  return params;
26 }
static InputParameters validParams()
void addRequiredParam(const std::string &name, const std::string &doc_string)
void addCoupledVar(const std::string &name, const std::string &doc_string)
void addClassDescription(const std::string &doc_string)

Member Data Documentation

◆ _d2opdu2

const MaterialProperty<Real>& ChangedVariableTimeDerivative::_d2opdu2
protected

2nd order parameter derivative

Definition at line 37 of file ChangedVariableTimeDerivative.h.

Referenced by computeQpJacobian().

◆ _d2opdudarg

std::vector<const MaterialProperty<Real> *> ChangedVariableTimeDerivative::_d2opdudarg
protected

2nd order parameter derivative w.r.t. coupled variables

Definition at line 40 of file ChangedVariableTimeDerivative.h.

Referenced by ChangedVariableTimeDerivative(), and computeQpOffDiagJacobian().

◆ _dopdu

const MaterialProperty<Real>& ChangedVariableTimeDerivative::_dopdu
protected

Order parameter derivative.

Definition at line 34 of file ChangedVariableTimeDerivative.h.

Referenced by computeQpJacobian(), and computeQpResidual().


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