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

Holds Langmuir parameters associated with desorption Calculates mass-flow rates and derivatives thereof for use by kernels. More...

#include <LangmuirMaterial.h>

Inheritance diagram for LangmuirMaterial:
[legend]

Public Member Functions

 LangmuirMaterial (const InputParameters &parameters)
 

Protected Member Functions

virtual void computeQpProperties () override
 

Private Attributes

const VariableValue * _one_over_de_time_const
 reciprocal of desorption time constant More...
 
const VariableValue * _one_over_ad_time_const
 reciprocal of adsorption time constant More...
 
const Real _langmuir_dens
 langmuir density More...
 
const Real _langmuir_p
 langmuir pressure More...
 
const VariableValue * _conc
 concentration of adsorbed fluid in matrix More...
 
const VariableValue * _pressure
 porespace pressure (or partial pressure if multiphase flow scenario) More...
 
MaterialProperty< Real > & _mass_rate_from_matrix
 mass flow rate from the matrix = mass flow rate to the porespace More...
 
MaterialProperty< Real > & _dmass_rate_from_matrix_dC
 derivative of mass flow rate wrt concentration More...
 
MaterialProperty< Real > & _dmass_rate_from_matrix_dp
 derivative of mass flow rate wrt pressure More...
 

Detailed Description

Holds Langmuir parameters associated with desorption Calculates mass-flow rates and derivatives thereof for use by kernels.

Definition at line 24 of file LangmuirMaterial.h.

Constructor & Destructor Documentation

◆ LangmuirMaterial()

LangmuirMaterial::LangmuirMaterial ( const InputParameters &  parameters)

Definition at line 40 of file LangmuirMaterial.C.

41  : Material(parameters),
42  // coupledValue returns a reference (an alias) to a VariableValue, and the & turns it into a
43  // pointer
44  _one_over_de_time_const(&coupledValue("one_over_desorption_time_const")),
45  _one_over_ad_time_const(&coupledValue("one_over_adsorption_time_const")),
46 
47  _langmuir_dens(getParam<Real>("langmuir_density")),
48  _langmuir_p(getParam<Real>("langmuir_pressure")),
49 
50  _conc(&coupledValue("conc_var")),
51  _pressure(&coupledValue("pressure_var")),
52 
53  _mass_rate_from_matrix(declareProperty<Real>("mass_rate_from_matrix")),
54  _dmass_rate_from_matrix_dC(declareProperty<Real>("dmass_rate_from_matrix_dC")),
55  _dmass_rate_from_matrix_dp(declareProperty<Real>("dmass_rate_from_matrix_dp"))
56 {
57 }

Member Function Documentation

◆ computeQpProperties()

void LangmuirMaterial::computeQpProperties ( )
overrideprotectedvirtual

Definition at line 60 of file LangmuirMaterial.C.

61 {
62  Real equilib_conc = _langmuir_dens * ((*_pressure)[_qp]) / (_langmuir_p + (*_pressure)[_qp]);
63  Real dequilib_conc_dp =
64  _langmuir_dens / (_langmuir_p + (*_pressure)[_qp]) -
65  _langmuir_dens * ((*_pressure)[_qp]) / Utility::pow<2>(_langmuir_p + (*_pressure)[_qp]);
66 
67  // form the base rate and derivs without the appropriate time const
68  _mass_rate_from_matrix[_qp] = (*_conc)[_qp] - equilib_conc;
69  _dmass_rate_from_matrix_dC[_qp] = 1.0;
70  _dmass_rate_from_matrix_dp[_qp] = -dequilib_conc_dp;
71 
72  // multiply by the appropriate time const
73  if ((*_conc)[_qp] > equilib_conc)
74  {
75  _mass_rate_from_matrix[_qp] *= (*_one_over_de_time_const)[_qp];
76  _dmass_rate_from_matrix_dC[_qp] *= (*_one_over_de_time_const)[_qp];
77  _dmass_rate_from_matrix_dp[_qp] *= (*_one_over_de_time_const)[_qp];
78  }
79  else
80  {
81  _mass_rate_from_matrix[_qp] *= (*_one_over_ad_time_const)[_qp];
82  _dmass_rate_from_matrix_dC[_qp] *= (*_one_over_ad_time_const)[_qp];
83  _dmass_rate_from_matrix_dp[_qp] *= (*_one_over_ad_time_const)[_qp];
84  }
85 }

Member Data Documentation

◆ _conc

const VariableValue* LangmuirMaterial::_conc
private

concentration of adsorbed fluid in matrix

Definition at line 46 of file LangmuirMaterial.h.

Referenced by computeQpProperties().

◆ _dmass_rate_from_matrix_dC

MaterialProperty<Real>& LangmuirMaterial::_dmass_rate_from_matrix_dC
private

derivative of mass flow rate wrt concentration

Definition at line 55 of file LangmuirMaterial.h.

Referenced by computeQpProperties().

◆ _dmass_rate_from_matrix_dp

MaterialProperty<Real>& LangmuirMaterial::_dmass_rate_from_matrix_dp
private

derivative of mass flow rate wrt pressure

Definition at line 58 of file LangmuirMaterial.h.

Referenced by computeQpProperties().

◆ _langmuir_dens

const Real LangmuirMaterial::_langmuir_dens
private

langmuir density

Definition at line 40 of file LangmuirMaterial.h.

Referenced by computeQpProperties().

◆ _langmuir_p

const Real LangmuirMaterial::_langmuir_p
private

langmuir pressure

Definition at line 43 of file LangmuirMaterial.h.

Referenced by computeQpProperties().

◆ _mass_rate_from_matrix

MaterialProperty<Real>& LangmuirMaterial::_mass_rate_from_matrix
private

mass flow rate from the matrix = mass flow rate to the porespace

Definition at line 52 of file LangmuirMaterial.h.

Referenced by computeQpProperties().

◆ _one_over_ad_time_const

const VariableValue* LangmuirMaterial::_one_over_ad_time_const
private

reciprocal of adsorption time constant

Definition at line 37 of file LangmuirMaterial.h.

◆ _one_over_de_time_const

const VariableValue* LangmuirMaterial::_one_over_de_time_const
private

reciprocal of desorption time constant

Definition at line 34 of file LangmuirMaterial.h.

◆ _pressure

const VariableValue* LangmuirMaterial::_pressure
private

porespace pressure (or partial pressure if multiphase flow scenario)

Definition at line 49 of file LangmuirMaterial.h.

Referenced by computeQpProperties().


The documentation for this class was generated from the following files:
LangmuirMaterial::_pressure
const VariableValue * _pressure
porespace pressure (or partial pressure if multiphase flow scenario)
Definition: LangmuirMaterial.h:49
LangmuirMaterial::_conc
const VariableValue * _conc
concentration of adsorbed fluid in matrix
Definition: LangmuirMaterial.h:46
LangmuirMaterial::_langmuir_dens
const Real _langmuir_dens
langmuir density
Definition: LangmuirMaterial.h:40
LangmuirMaterial::_one_over_de_time_const
const VariableValue * _one_over_de_time_const
reciprocal of desorption time constant
Definition: LangmuirMaterial.h:34
LangmuirMaterial::_mass_rate_from_matrix
MaterialProperty< Real > & _mass_rate_from_matrix
mass flow rate from the matrix = mass flow rate to the porespace
Definition: LangmuirMaterial.h:52
LangmuirMaterial::_dmass_rate_from_matrix_dC
MaterialProperty< Real > & _dmass_rate_from_matrix_dC
derivative of mass flow rate wrt concentration
Definition: LangmuirMaterial.h:55
LangmuirMaterial::_one_over_ad_time_const
const VariableValue * _one_over_ad_time_const
reciprocal of adsorption time constant
Definition: LangmuirMaterial.h:37
LangmuirMaterial::_langmuir_p
const Real _langmuir_p
langmuir pressure
Definition: LangmuirMaterial.h:43
LangmuirMaterial::_dmass_rate_from_matrix_dp
MaterialProperty< Real > & _dmass_rate_from_matrix_dp
derivative of mass flow rate wrt pressure
Definition: LangmuirMaterial.h:58