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 22 of file LangmuirMaterial.h.

Constructor & Destructor Documentation

LangmuirMaterial::LangmuirMaterial ( const InputParameters &  parameters)

Definition at line 35 of file LangmuirMaterial.C.

36  : Material(parameters),
37  // coupledValue returns a reference (an alias) to a VariableValue, and the & turns it into a
38  // pointer
39  _one_over_de_time_const(&coupledValue("one_over_desorption_time_const")),
40  _one_over_ad_time_const(&coupledValue("one_over_adsorption_time_const")),
41 
42  _langmuir_dens(getParam<Real>("langmuir_density")),
43  _langmuir_p(getParam<Real>("langmuir_pressure")),
44 
45  _conc(&coupledValue("conc_var")),
46  _pressure(&coupledValue("pressure_var")),
47 
48  _mass_rate_from_matrix(declareProperty<Real>("mass_rate_from_matrix")),
49  _dmass_rate_from_matrix_dC(declareProperty<Real>("dmass_rate_from_matrix_dC")),
50  _dmass_rate_from_matrix_dp(declareProperty<Real>("dmass_rate_from_matrix_dp"))
51 {
52 }
const Real _langmuir_p
langmuir pressure
const VariableValue * _pressure
porespace pressure (or partial pressure if multiphase flow scenario)
MaterialProperty< Real > & _mass_rate_from_matrix
mass flow rate from the matrix = mass flow rate to the porespace
const Real _langmuir_dens
langmuir density
const VariableValue * _one_over_ad_time_const
reciprocal of adsorption time constant
const VariableValue * _one_over_de_time_const
reciprocal of desorption time constant
MaterialProperty< Real > & _dmass_rate_from_matrix_dp
derivative of mass flow rate wrt pressure
const VariableValue * _conc
concentration of adsorbed fluid in matrix
MaterialProperty< Real > & _dmass_rate_from_matrix_dC
derivative of mass flow rate wrt concentration

Member Function Documentation

void LangmuirMaterial::computeQpProperties ( )
overrideprotectedvirtual

Definition at line 55 of file LangmuirMaterial.C.

56 {
57  Real equilib_conc = _langmuir_dens * ((*_pressure)[_qp]) / (_langmuir_p + (*_pressure)[_qp]);
58  Real dequilib_conc_dp =
59  _langmuir_dens / (_langmuir_p + (*_pressure)[_qp]) -
60  _langmuir_dens * ((*_pressure)[_qp]) / Utility::pow<2>(_langmuir_p + (*_pressure)[_qp]);
61 
62  // form the base rate and derivs without the appropriate time const
63  _mass_rate_from_matrix[_qp] = (*_conc)[_qp] - equilib_conc;
64  _dmass_rate_from_matrix_dC[_qp] = 1.0;
65  _dmass_rate_from_matrix_dp[_qp] = -dequilib_conc_dp;
66 
67  // multiply by the appropriate time const
68  if ((*_conc)[_qp] > equilib_conc)
69  {
70  _mass_rate_from_matrix[_qp] *= (*_one_over_de_time_const)[_qp];
71  _dmass_rate_from_matrix_dC[_qp] *= (*_one_over_de_time_const)[_qp];
72  _dmass_rate_from_matrix_dp[_qp] *= (*_one_over_de_time_const)[_qp];
73  }
74  else
75  {
76  _mass_rate_from_matrix[_qp] *= (*_one_over_ad_time_const)[_qp];
77  _dmass_rate_from_matrix_dC[_qp] *= (*_one_over_ad_time_const)[_qp];
78  _dmass_rate_from_matrix_dp[_qp] *= (*_one_over_ad_time_const)[_qp];
79  }
80 }
const Real _langmuir_p
langmuir pressure
const VariableValue * _pressure
porespace pressure (or partial pressure if multiphase flow scenario)
MaterialProperty< Real > & _mass_rate_from_matrix
mass flow rate from the matrix = mass flow rate to the porespace
const Real _langmuir_dens
langmuir density
MaterialProperty< Real > & _dmass_rate_from_matrix_dp
derivative of mass flow rate wrt pressure
const VariableValue * _conc
concentration of adsorbed fluid in matrix
MaterialProperty< Real > & _dmass_rate_from_matrix_dC
derivative of mass flow rate wrt concentration

Member Data Documentation

const VariableValue* LangmuirMaterial::_conc
private

concentration of adsorbed fluid in matrix

Definition at line 44 of file LangmuirMaterial.h.

Referenced by computeQpProperties().

MaterialProperty<Real>& LangmuirMaterial::_dmass_rate_from_matrix_dC
private

derivative of mass flow rate wrt concentration

Definition at line 53 of file LangmuirMaterial.h.

Referenced by computeQpProperties().

MaterialProperty<Real>& LangmuirMaterial::_dmass_rate_from_matrix_dp
private

derivative of mass flow rate wrt pressure

Definition at line 56 of file LangmuirMaterial.h.

Referenced by computeQpProperties().

const Real LangmuirMaterial::_langmuir_dens
private

langmuir density

Definition at line 38 of file LangmuirMaterial.h.

Referenced by computeQpProperties().

const Real LangmuirMaterial::_langmuir_p
private

langmuir pressure

Definition at line 41 of file LangmuirMaterial.h.

Referenced by computeQpProperties().

MaterialProperty<Real>& LangmuirMaterial::_mass_rate_from_matrix
private

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

Definition at line 50 of file LangmuirMaterial.h.

Referenced by computeQpProperties().

const VariableValue* LangmuirMaterial::_one_over_ad_time_const
private

reciprocal of adsorption time constant

Definition at line 35 of file LangmuirMaterial.h.

const VariableValue* LangmuirMaterial::_one_over_de_time_const
private

reciprocal of desorption time constant

Definition at line 32 of file LangmuirMaterial.h.

const VariableValue* LangmuirMaterial::_pressure
private

porespace pressure (or partial pressure if multiphase flow scenario)

Definition at line 47 of file LangmuirMaterial.h.

Referenced by computeQpProperties().


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