20 "one_over_desorption_time_const",
21 "Time constant for Langmuir desorption (gas moving from matrix to porespace). Units [s]");
23 "one_over_adsorption_time_const",
24 "Time constant for Langmuir adsorption (gas moving from porespace to matrix). Units [s].");
26 "This is (Langmuir volume)*(density of gas at standard temp and "
27 "pressure). Langmuir volume is measured in (gas volume)/(matrix "
28 "volume). (Methane density(101kPa, 20degC) = 0.655kg/m^3. "
29 "Methane density(101kPa, 0degC) = 0.715kg/m^3.) Units [kg/m^3]");
30 params.
addRequiredParam<Real>(
"langmuir_pressure",
"Langmuir pressure. Units Pa");
36 "The reciprocal of time constants will be "
37 "one_over_time_const*tanh( |conc_var - "
38 "equilib_conc|/(mollifier*langmuir_density)). So for "
39 "mollifier very small you will get a stepchange between "
40 "desorption and adsorption, but for mollifier bigger you "
41 "will be a gradual change");
42 params.
addClassDescription(
"Material type that holds info regarding MollifiedLangmuir desorption "
43 "from matrix to porespace and viceversa");
51 _one_over_de_time_const(coupledValue(
"one_over_desorption_time_const")),
52 _one_over_ad_time_const(coupledValue(
"one_over_adsorption_time_const")),
54 _langmuir_dens(getParam<Real>(
"langmuir_density")),
55 _langmuir_p(getParam<Real>(
"langmuir_pressure")),
57 _conc(coupledValue(
"conc_var")),
58 _pressure(coupledValue(
"pressure_var")),
60 _mollifier(getParam<Real>(
"mollifier")),
62 _mass_rate_from_matrix(declareProperty<Real>(
"mass_rate_from_matrix")),
63 _dmass_rate_from_matrix_dC(declareProperty<Real>(
"dmass_rate_from_matrix_dC")),
64 _dmass_rate_from_matrix_dp(declareProperty<Real>(
"dmass_rate_from_matrix_dp"))
72 Real dequilib_conc_dp =
82 Real dmol_dp = -dmol_dC * dequilib_conc_dp;
registerMooseObject("ChemicalReactionsApp", MollifiedLangmuirMaterial)
static InputParameters validParams()
Holds Langmuir parameters associated with desorption Calculates mass-flow rates and derivatives there...
const Real _langmuir_dens
langmuir density
const VariableValue & _pressure
porespace pressure (or partial pressure if multiphase flow scenario)
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
MaterialProperty< Real > & _mass_rate_from_matrix
mass flow rate from the matrix = mass flow rate to the porespace
MollifiedLangmuirMaterial(const InputParameters ¶meters)
virtual void computeQpProperties() override
const VariableValue & _one_over_ad_time_const
reciprocal of adsorption time constant
static InputParameters validParams()
const Real _mollifier
mollifying parameter.
const Real _langmuir_p
langmuir pressure
const VariableValue & _conc
concentration of adsorbed fluid in matrix
MaterialProperty< Real > & _dmass_rate_from_matrix_dC
derivative of mass flow rate wrt concentration