18 params.
addCoupledVar(
"log_k", 0.0,
"The equilibrium constant in dissociation form");
20 "The stoichiometric coefficient of reactants");
22 "v",
"The list of primary species participating in this equilibrium species");
23 params.
addCoupledVar(
"gamma", 1.0,
"Activity coefficient of this secondary equilibrium species");
24 params.
addCoupledVar(
"gamma_v", 1.0,
"Activity coefficients of coupled primary species");
31 _log_k(coupledValue(
"log_k")),
32 _sto_v(getParam<
std::vector<
Real>>(
"sto_v")),
33 _gamma_eq(coupledValue(
"gamma")),
34 _vals(coupledValues(
"v")),
35 _gamma_v(isCoupled(
"gamma_v")
36 ? coupledValues(
"gamma_v")
38 &coupledValue(
"gamma_v")))
44 mooseError(
"The number of stoichiometric coefficients in sto_v is not equal to the number of " 45 "coupled species in ",
51 mooseError(
"The number of activity coefficients in gamma_v is not equal to the number of " 52 "coupled species in ",
59 Real conc_product = 1.0;
61 for (
unsigned int i = 0; i <
_vals.size(); ++i)
64 mooseAssert(
_gamma_eq[
_qp] > 0.0,
"Activity coefficient must be greater than zero");
virtual bool isCoupled(const std::string &var_name, unsigned int i=0) const
const std::vector< Real > _sto_v
Stoichiometric coefficients of coupled primary species.
const std::vector< const VariableValue * > _vals
Coupled primary species.
AqueousEquilibriumRxnAux(const InputParameters ¶meters)
const VariableValue & _gamma_eq
Activity coefficient of equilibrium species.
registerMooseObject("ChemicalReactionsApp", AqueousEquilibriumRxnAux)
const std::vector< const VariableValue * > _gamma_v
Activity coefficients of coupled primary species.
OutputTools< Real >::VariableValue VariableValue
unsigned int coupledComponents(const std::string &var_name) const
DIE A HORRIBLE DEATH HERE typedef LIBMESH_DEFAULT_SCALAR_TYPE Real
Calculates equilibrium species concentration according to the mass action law.
virtual Real computeValue() override
void mooseError(Args &&... args) const
static InputParameters validParams()
static InputParameters validParams()
const VariableValue & _log_k
Equilibrium constant.
MooseUnits pow(const MooseUnits &, int)