Go to the documentation of this file.
18 InputParameters params = validParams<AuxKernel>();
19 params.addCoupledVar(
"log_k", 0.0,
"The equilibrium constant of the dissolution reaction");
20 params.addRequiredParam<std::vector<Real>>(
"sto_v",
21 "The stoichiometric coefficients of reactant species");
22 params.addParam<Real>(
"r_area", 0.1,
"Specific reactive surface area in m^2/L solution");
23 params.addParam<Real>(
"ref_kconst", 6.456542e-8,
"Kinetic rate constant in mol/m^2 s");
24 params.addParam<Real>(
"e_act", 2.91e4,
"Activation energy, J/mol");
25 params.addParam<Real>(
"gas_const", 8.31434,
"Gas constant, in J/mol K");
26 params.addParam<Real>(
"ref_temp", 298.15,
"Reference temperature, K");
27 params.addCoupledVar(
"sys_temp", 298.15,
"System temperature, K");
28 params.addCoupledVar(
"v",
"The list of reactant species");
29 params.addClassDescription(
"Kinetic rate of secondary kinetic species");
34 : AuxKernel(parameters),
35 _log_k(coupledValue(
"log_k")),
36 _r_area(getParam<Real>(
"r_area")),
37 _ref_kconst(getParam<Real>(
"ref_kconst")),
38 _e_act(getParam<Real>(
"e_act")),
39 _gas_const(getParam<Real>(
"gas_const")),
40 _ref_temp(getParam<Real>(
"ref_temp")),
41 _sys_temp(coupledValue(
"sys_temp")),
42 _sto_v(getParam<std::vector<Real>>(
"sto_v"))
44 const unsigned int n = coupledComponents(
"v");
50 "The number of stoichiometric coefficients in sto_v is not equal to the number of reactant "
55 for (
unsigned int i = 0; i < n; ++i)
56 _vals[i] = &coupledValue(
"v", i);
68 for (
unsigned int i = 0; i <
_vals.size(); ++i)
70 if ((*
_vals[i])[_qp] < 0.0)
78 Real kinetic_rate =
_r_area * kconst * (1.0 - saturation_SI);
80 if (std::abs(kinetic_rate) <= 1.0e-12)
const Real _e_act
Activation energy.
const Real _ref_kconst
Reference kinetic rate constant.
const Real _ref_temp
Reference temperature.
ExpressionBuilder::EBTerm pow(const ExpressionBuilder::EBTerm &left, T exponent)
InputParameters validParams< KineticDisPreRateAux >()
const std::vector< Real > _sto_v
Stoichiometric coefficients for involved primary species.
const VariableValue & _sys_temp
Actual system temperature.
const Real _gas_const
Gas constant, 8.314 J/mol/K.
virtual Real computeValue() override
registerMooseObject("ChemicalReactionsApp", KineticDisPreRateAux)
const VariableValue & _log_k
Equilibrium constant at reference temperature.
const Real _r_area
Specific reactive surface area, m^2/L solution.
Calculate the kinetic mineral species kinetic rate according to transient state theory rate law.
KineticDisPreRateAux(const InputParameters ¶meters)
std::vector< const VariableValue * > _vals
Coupled primary species concentrations.