www.mooseframework.org
Public Member Functions | Protected Member Functions | Protected Attributes | List of all members
PorousFlowDesorpedMassVolumetricExpansion Class Reference

Kernel = desorped_mass * d(volumetric_strain)/dt which is not lumped to the nodes. More...

#include <PorousFlowDesorpedMassVolumetricExpansion.h>

Inheritance diagram for PorousFlowDesorpedMassVolumetricExpansion:
[legend]

Public Member Functions

 PorousFlowDesorpedMassVolumetricExpansion (const InputParameters &parameters)
 

Protected Member Functions

virtual Real computeQpResidual () override
 
virtual Real computeQpJacobian () override
 
virtual Real computeQpOffDiagJacobian (unsigned int jvar) override
 
Real computeQpJac (unsigned int jvar) const
 Derivative of the residual with respect to the Moose variable with variable number jvar. More...
 

Protected Attributes

const PorousFlowDictator_dictator
 PorousFlowDictator UserObject. More...
 
const unsigned int _conc_var_number
 The MOOSE variable number of the concentration variable. More...
 
const VariableValue & _conc
 The concentration variable. More...
 
const MaterialProperty< Real > & _porosity
 Porosity. More...
 
const MaterialProperty< std::vector< Real > > & _dporosity_dvar
 d(porosity)/d(PorousFlow variable) More...
 
const MaterialProperty< std::vector< RealGradient > > & _dporosity_dgradvar
 d(porosity)/d(grad PorousFlow variable) More...
 
const MaterialProperty< Real > & _strain_rate_qp
 strain rate More...
 
const MaterialProperty< std::vector< RealGradient > > & _dstrain_rate_qp_dvar
 d(strain rate)/d(PorousFlow variable) More...
 

Detailed Description

Kernel = desorped_mass * d(volumetric_strain)/dt which is not lumped to the nodes.

Definition at line 24 of file PorousFlowDesorpedMassVolumetricExpansion.h.

Constructor & Destructor Documentation

◆ PorousFlowDesorpedMassVolumetricExpansion()

PorousFlowDesorpedMassVolumetricExpansion::PorousFlowDesorpedMassVolumetricExpansion ( const InputParameters &  parameters)

Definition at line 29 of file PorousFlowDesorpedMassVolumetricExpansion.C.

31  : TimeKernel(parameters),
32  _dictator(getUserObject<PorousFlowDictator>("PorousFlowDictator")),
33  _conc_var_number(coupled("conc_var")),
34  _conc(coupledValue("conc_var")),
35  _porosity(getMaterialProperty<Real>("PorousFlow_porosity_qp")),
36  _dporosity_dvar(getMaterialProperty<std::vector<Real>>("dPorousFlow_porosity_qp_dvar")),
38  getMaterialProperty<std::vector<RealGradient>>("dPorousFlow_porosity_qp_dgradvar")),
39  _strain_rate_qp(getMaterialProperty<Real>("PorousFlow_volumetric_strain_rate_qp")),
40  _dstrain_rate_qp_dvar(getMaterialProperty<std::vector<RealGradient>>(
41  "dPorousFlow_volumetric_strain_rate_qp_dvar"))
42 {
43 }

Member Function Documentation

◆ computeQpJac()

Real PorousFlowDesorpedMassVolumetricExpansion::computeQpJac ( unsigned int  jvar) const
protected

Derivative of the residual with respect to the Moose variable with variable number jvar.

Parameters
jvartake the derivative of the mass part of the residual wrt this variable number

Definition at line 64 of file PorousFlowDesorpedMassVolumetricExpansion.C.

65 {
66  Real deriv = 0.0;
67 
68  if (jvar == _conc_var_number)
69  deriv = (1.0 - _porosity[_qp]) * _phi[_j][_qp] * _strain_rate_qp[_qp];
70 
72  return _test[_i][_qp] * deriv;
73  const unsigned int pvar = _dictator.porousFlowVariableNum(jvar);
74 
75  deriv -= _dporosity_dgradvar[_qp][pvar] * _grad_phi[_j][_qp] * _conc[_qp] * _strain_rate_qp[_qp];
76  deriv -= _dporosity_dvar[_qp][pvar] * _phi[_j][_qp] * _conc[_qp] * _strain_rate_qp[_qp];
77  deriv +=
78  (1.0 - _porosity[_qp]) * _conc[_qp] * _dstrain_rate_qp_dvar[_qp][pvar] * _grad_phi[_j][_qp];
79 
80  return _test[_i][_qp] * deriv;
81 }

Referenced by computeQpJacobian(), and computeQpOffDiagJacobian().

◆ computeQpJacobian()

Real PorousFlowDesorpedMassVolumetricExpansion::computeQpJacobian ( )
overrideprotectedvirtual

Definition at line 52 of file PorousFlowDesorpedMassVolumetricExpansion.C.

53 {
54  return computeQpJac(_var.number());
55 }

◆ computeQpOffDiagJacobian()

Real PorousFlowDesorpedMassVolumetricExpansion::computeQpOffDiagJacobian ( unsigned int  jvar)
overrideprotectedvirtual

Definition at line 58 of file PorousFlowDesorpedMassVolumetricExpansion.C.

59 {
60  return computeQpJac(jvar);
61 }

◆ computeQpResidual()

Real PorousFlowDesorpedMassVolumetricExpansion::computeQpResidual ( )
overrideprotectedvirtual

Definition at line 46 of file PorousFlowDesorpedMassVolumetricExpansion.C.

47 {
48  return _test[_i][_qp] * (1.0 - _porosity[_qp]) * _conc[_qp] * _strain_rate_qp[_qp];
49 }

Member Data Documentation

◆ _conc

const VariableValue& PorousFlowDesorpedMassVolumetricExpansion::_conc
protected

The concentration variable.

Definition at line 41 of file PorousFlowDesorpedMassVolumetricExpansion.h.

Referenced by computeQpJac(), and computeQpResidual().

◆ _conc_var_number

const unsigned int PorousFlowDesorpedMassVolumetricExpansion::_conc_var_number
protected

The MOOSE variable number of the concentration variable.

Definition at line 38 of file PorousFlowDesorpedMassVolumetricExpansion.h.

Referenced by computeQpJac().

◆ _dictator

const PorousFlowDictator& PorousFlowDesorpedMassVolumetricExpansion::_dictator
protected

PorousFlowDictator UserObject.

Definition at line 35 of file PorousFlowDesorpedMassVolumetricExpansion.h.

Referenced by computeQpJac().

◆ _dporosity_dgradvar

const MaterialProperty<std::vector<RealGradient> >& PorousFlowDesorpedMassVolumetricExpansion::_dporosity_dgradvar
protected

d(porosity)/d(grad PorousFlow variable)

Definition at line 50 of file PorousFlowDesorpedMassVolumetricExpansion.h.

Referenced by computeQpJac().

◆ _dporosity_dvar

const MaterialProperty<std::vector<Real> >& PorousFlowDesorpedMassVolumetricExpansion::_dporosity_dvar
protected

d(porosity)/d(PorousFlow variable)

Definition at line 47 of file PorousFlowDesorpedMassVolumetricExpansion.h.

Referenced by computeQpJac().

◆ _dstrain_rate_qp_dvar

const MaterialProperty<std::vector<RealGradient> >& PorousFlowDesorpedMassVolumetricExpansion::_dstrain_rate_qp_dvar
protected

d(strain rate)/d(PorousFlow variable)

Definition at line 56 of file PorousFlowDesorpedMassVolumetricExpansion.h.

Referenced by computeQpJac().

◆ _porosity

const MaterialProperty<Real>& PorousFlowDesorpedMassVolumetricExpansion::_porosity
protected

Porosity.

Definition at line 44 of file PorousFlowDesorpedMassVolumetricExpansion.h.

Referenced by computeQpJac(), and computeQpResidual().

◆ _strain_rate_qp

const MaterialProperty<Real>& PorousFlowDesorpedMassVolumetricExpansion::_strain_rate_qp
protected

strain rate

Definition at line 53 of file PorousFlowDesorpedMassVolumetricExpansion.h.

Referenced by computeQpJac(), and computeQpResidual().


The documentation for this class was generated from the following files:
PorousFlowDesorpedMassVolumetricExpansion::_dporosity_dgradvar
const MaterialProperty< std::vector< RealGradient > > & _dporosity_dgradvar
d(porosity)/d(grad PorousFlow variable)
Definition: PorousFlowDesorpedMassVolumetricExpansion.h:50
PorousFlowDesorpedMassVolumetricExpansion::_strain_rate_qp
const MaterialProperty< Real > & _strain_rate_qp
strain rate
Definition: PorousFlowDesorpedMassVolumetricExpansion.h:53
PorousFlowDictator::notPorousFlowVariable
bool notPorousFlowVariable(unsigned int moose_var_num) const
Returns true if moose_var_num is not a porous flow variabe.
Definition: PorousFlowDictator.C:161
PorousFlowDesorpedMassVolumetricExpansion::computeQpJac
Real computeQpJac(unsigned int jvar) const
Derivative of the residual with respect to the Moose variable with variable number jvar.
Definition: PorousFlowDesorpedMassVolumetricExpansion.C:64
PorousFlowDesorpedMassVolumetricExpansion::_dictator
const PorousFlowDictator & _dictator
PorousFlowDictator UserObject.
Definition: PorousFlowDesorpedMassVolumetricExpansion.h:35
PorousFlowDictator::porousFlowVariableNum
unsigned int porousFlowVariableNum(unsigned int moose_var_num) const
The PorousFlow variable number.
Definition: PorousFlowDictator.C:135
PorousFlowDesorpedMassVolumetricExpansion::_conc_var_number
const unsigned int _conc_var_number
The MOOSE variable number of the concentration variable.
Definition: PorousFlowDesorpedMassVolumetricExpansion.h:38
PorousFlowDesorpedMassVolumetricExpansion::_dporosity_dvar
const MaterialProperty< std::vector< Real > > & _dporosity_dvar
d(porosity)/d(PorousFlow variable)
Definition: PorousFlowDesorpedMassVolumetricExpansion.h:47
PorousFlowDesorpedMassVolumetricExpansion::_dstrain_rate_qp_dvar
const MaterialProperty< std::vector< RealGradient > > & _dstrain_rate_qp_dvar
d(strain rate)/d(PorousFlow variable)
Definition: PorousFlowDesorpedMassVolumetricExpansion.h:56
PorousFlowDesorpedMassVolumetricExpansion::_porosity
const MaterialProperty< Real > & _porosity
Porosity.
Definition: PorousFlowDesorpedMassVolumetricExpansion.h:44
PorousFlowDesorpedMassVolumetricExpansion::_conc
const VariableValue & _conc
The concentration variable.
Definition: PorousFlowDesorpedMassVolumetricExpansion.h:41