www.mooseframework.org
Public Types | Public Member Functions | Static Public Member Functions | Protected Member Functions | Protected Attributes | List of all members
CoupledConvectionReactionSub Class Reference

Convection of primary species in given equilibrium species. More...

#include <CoupledConvectionReactionSub.h>

Inheritance diagram for CoupledConvectionReactionSub:
[legend]

Public Types

typedef DerivativeMaterialPropertyNameInterface::SymbolName SymbolName
 

Public Member Functions

 CoupledConvectionReactionSub (const InputParameters &parameters)
 
const GenericMaterialProperty< U, is_ad > & getDefaultMaterialProperty (const std::string &name)
 
const GenericMaterialProperty< U, is_ad > & getDefaultMaterialPropertyByName (const std::string &name)
 
void validateDerivativeMaterialPropertyBase (const std::string &base)
 
const MaterialPropertyName derivativePropertyName (const MaterialPropertyName &base, const std::vector< SymbolName > &c) const
 
const MaterialPropertyName derivativePropertyNameFirst (const MaterialPropertyName &base, const SymbolName &c1) const
 
const MaterialPropertyName derivativePropertyNameSecond (const MaterialPropertyName &base, const SymbolName &c1, const SymbolName &c2) const
 
const MaterialPropertyName derivativePropertyNameThird (const MaterialPropertyName &base, const SymbolName &c1, const SymbolName &c2, const SymbolName &c3) const
 
GenericMaterialProperty< U, is_ad > & declarePropertyDerivative (const std::string &base, const std::vector< VariableName > &c)
 
GenericMaterialProperty< U, is_ad > & declarePropertyDerivative (const std::string &base, const std::vector< SymbolName > &c)
 
GenericMaterialProperty< U, is_ad > & declarePropertyDerivative (const std::string &base, const SymbolName &c1, const SymbolName &c2="", const SymbolName &c3="")
 
GenericMaterialProperty< U, is_ad > & declarePropertyDerivative (const std::string &base, const std::vector< VariableName > &c)
 
GenericMaterialProperty< U, is_ad > & declarePropertyDerivative (const std::string &base, const std::vector< SymbolName > &c)
 
GenericMaterialProperty< U, is_ad > & declarePropertyDerivative (const std::string &base, const SymbolName &c1, const SymbolName &c2="", const SymbolName &c3="")
 
const GenericMaterialProperty< U, is_ad > & getMaterialPropertyDerivative (const std::string &base, const std::vector< VariableName > &c)
 
const GenericMaterialProperty< U, is_ad > & getMaterialPropertyDerivative (const std::string &base, const std::vector< SymbolName > &c)
 
const GenericMaterialProperty< U, is_ad > & getMaterialPropertyDerivative (const std::string &base, const SymbolName &c1, const SymbolName &c2="", const SymbolName &c3="")
 
const GenericMaterialProperty< U, is_ad > & getMaterialPropertyDerivative (const std::string &base, const SymbolName &c1, unsigned int v2, unsigned int v3=libMesh::invalid_uint)
 
const GenericMaterialProperty< U, is_ad > & getMaterialPropertyDerivative (const std::string &base, unsigned int v1, unsigned int v2=libMesh::invalid_uint, unsigned int v3=libMesh::invalid_uint)
 
const GenericMaterialProperty< U, is_ad > & getMaterialPropertyDerivative (const std::string &base, const std::vector< VariableName > &c)
 
const GenericMaterialProperty< U, is_ad > & getMaterialPropertyDerivative (const std::string &base, const std::vector< SymbolName > &c)
 
const GenericMaterialProperty< U, is_ad > & getMaterialPropertyDerivative (const std::string &base, const SymbolName &c1, const SymbolName &c2="", const SymbolName &c3="")
 
const GenericMaterialProperty< U, is_ad > & getMaterialPropertyDerivative (const std::string &base, const SymbolName &c1, unsigned int v2, unsigned int v3=libMesh::invalid_uint)
 
const GenericMaterialProperty< U, is_ad > & getMaterialPropertyDerivative (const std::string &base, unsigned int v1, unsigned int v2=libMesh::invalid_uint, unsigned int v3=libMesh::invalid_uint)
 
const GenericMaterialProperty< U, is_ad > & getMaterialPropertyDerivativeByName (const MaterialPropertyName &base, const std::vector< VariableName > &c)
 
const GenericMaterialProperty< U, is_ad > & getMaterialPropertyDerivativeByName (const MaterialPropertyName &base, const std::vector< SymbolName > &c)
 
const GenericMaterialProperty< U, is_ad > & getMaterialPropertyDerivativeByName (const MaterialPropertyName &base, const SymbolName &c1, const SymbolName &c2="", const SymbolName &c3="")
 
const GenericMaterialProperty< U, is_ad > & getMaterialPropertyDerivativeByName (const MaterialPropertyName &base, const std::vector< VariableName > &c)
 
const GenericMaterialProperty< U, is_ad > & getMaterialPropertyDerivativeByName (const MaterialPropertyName &base, const std::vector< SymbolName > &c)
 
const GenericMaterialProperty< U, is_ad > & getMaterialPropertyDerivativeByName (const MaterialPropertyName &base, const SymbolName &c1, const SymbolName &c2="", const SymbolName &c3="")
 
void validateCoupling (const MaterialPropertyName &base, const std::vector< VariableName > &c, bool validate_aux=true)
 
void validateCoupling (const MaterialPropertyName &base, const VariableName &c1="", const VariableName &c2="", const VariableName &c3="")
 
void validateCoupling (const MaterialPropertyName &base, const std::vector< VariableName > &c, bool validate_aux=true)
 
void validateCoupling (const MaterialPropertyName &base, const VariableName &c1="", const VariableName &c2="", const VariableName &c3="")
 
void validateNonlinearCoupling (const MaterialPropertyName &base, const VariableName &c1="", const VariableName &c2="", const VariableName &c3="")
 
void validateNonlinearCoupling (const MaterialPropertyName &base, const VariableName &c1="", const VariableName &c2="", const VariableName &c3="")
 
const MaterialPropertyName propertyName (const MaterialPropertyName &base, const std::vector< SymbolName > &c) const
 
const MaterialPropertyName propertyName (const MaterialPropertyName &base, const std::vector< SymbolName > &c) const
 
const MaterialPropertyName propertyNameFirst (const MaterialPropertyName &base, const SymbolName &c1) const
 
const MaterialPropertyName propertyNameFirst (const MaterialPropertyName &base, const SymbolName &c1) const
 
const MaterialPropertyName propertyNameSecond (const MaterialPropertyName &base, const SymbolName &c1, const SymbolName &c2) const
 
const MaterialPropertyName propertyNameSecond (const MaterialPropertyName &base, const SymbolName &c1, const SymbolName &c2) const
 
const MaterialPropertyName propertyNameThird (const MaterialPropertyName &base, const SymbolName &c1, const SymbolName &c2, const SymbolName &c3) const
 
const MaterialPropertyName propertyNameThird (const MaterialPropertyName &base, const SymbolName &c1, const SymbolName &c2, const SymbolName &c3) const
 

Static Public Member Functions

static InputParameters validParams ()
 

Protected Member Functions

virtual Real computeQpResidual () override
 
virtual Real computeQpJacobian () override
 
virtual Real computeQpOffDiagJacobian (unsigned int jvar) override
 

Protected Attributes

const Real _weight
 Weight of the equilibrium species concentration in the total primary species concentration. More...
 
const VariableValue_log_k
 Equilibrium constant for the equilibrium species in association form. More...
 
const Real _sto_u
 Stoichiometric coefficient of the primary species. More...
 
const std::vector< Real_sto_v
 Stoichiometric coefficients of the coupled primary species. More...
 
const MaterialProperty< Real > & _cond
 Hydraulic conductivity. More...
 
const RealVectorValue _gravity
 Gravity. More...
 
const MaterialProperty< Real > & _density
 Fluid density. More...
 
const VariableGradient_grad_p
 Pressure gradient. More...
 
const unsigned int _pvar
 Pressure variable number. More...
 
const std::vector< unsigned int_vars
 Coupled primary species variable numbers. More...
 
const std::vector< const VariableValue * > _vals
 Coupled primary species concentrations. More...
 
const std::vector< const VariableGradient * > _grad_vals
 Coupled gradients of primary species concentrations. More...
 
const VariableValue_gamma_u
 Activity coefficient of primary species in the equilibrium species. More...
 
const std::vector< const VariableValue * > _gamma_v
 Activity coefficients of coupled primary species in the equilibrium species. More...
 
const VariableValue_gamma_eq
 Activity coefficient of equilibrium species. More...
 

Detailed Description

Convection of primary species in given equilibrium species.

Definition at line 18 of file CoupledConvectionReactionSub.h.

Constructor & Destructor Documentation

◆ CoupledConvectionReactionSub()

CoupledConvectionReactionSub::CoupledConvectionReactionSub ( const InputParameters parameters)

Definition at line 40 of file CoupledConvectionReactionSub.C.

42  _weight(getParam<Real>("weight")),
43  _log_k(coupledValue("log_k")),
44  _sto_u(getParam<Real>("sto_u")),
45  _sto_v(getParam<std::vector<Real>>("sto_v")),
46  _cond(getMaterialProperty<Real>("conductivity")),
47  _gravity(getParam<RealVectorValue>("gravity")),
48  _density(getDefaultMaterialProperty<Real>("density")),
49  _grad_p(coupledGradient("p")),
50  _pvar(coupled("p")),
51  _vars(coupledIndices("v")),
52  _vals(coupledValues("v")),
53  _grad_vals(coupledGradients("v")),
54  _gamma_u(coupledValue("gamma_u")),
55  _gamma_v(isCoupled("gamma_v")
56  ? coupledValues("gamma_v") // have value
57  : std::vector<const VariableValue *>(coupledComponents("v"),
58  &coupledValue("gamma_v"))), // default
59  _gamma_eq(coupledValue("gamma_eq"))
60 {
61  const unsigned int n = coupledComponents("v");
62 
63  // Check that the correct number of coupled values have been provided
64  if (_sto_v.size() != n)
65  mooseError("The number of stoichiometric coefficients in sto_v is not equal to the number of "
66  "coupled species in ",
67  _name);
68 
69  if (isCoupled("gamma_v"))
70  if (coupledComponents("gamma_v") != n)
71  mooseError("The number of activity coefficients in gamma_v is not equal to the number of "
72  "coupled species in ",
73  _name);
74 }
const VariableValue & _gamma_eq
Activity coefficient of equilibrium species.
void mooseError(Args &&... args)
const std::vector< unsigned int > _vars
Coupled primary species variable numbers.
const MaterialProperty< Real > & _density
Fluid density.
const std::vector< Real > _sto_v
Stoichiometric coefficients of the coupled primary species.
const VariableGradient & _grad_p
Pressure gradient.
const unsigned int _pvar
Pressure variable number.
const VariableValue & _log_k
Equilibrium constant for the equilibrium species in association form.
const std::vector< const VariableValue * > _gamma_v
Activity coefficients of coupled primary species in the equilibrium species.
const Real _weight
Weight of the equilibrium species concentration in the total primary species concentration.
const RealVectorValue _gravity
Gravity.
const std::vector< const VariableGradient * > _grad_vals
Coupled gradients of primary species concentrations.
OutputTools< Real >::VariableValue VariableValue
const Real _sto_u
Stoichiometric coefficient of the primary species.
const MaterialProperty< Real > & _cond
Hydraulic conductivity.
const VariableValue & _gamma_u
Activity coefficient of primary species in the equilibrium species.
const std::vector< const VariableValue * > _vals
Coupled primary species concentrations.

Member Function Documentation

◆ computeQpJacobian()

Real CoupledConvectionReactionSub::computeQpJacobian ( )
overrideprotectedvirtual

Definition at line 106 of file CoupledConvectionReactionSub.C.

107 {
108  RealVectorValue darcy_vel = -_cond[_qp] * (_grad_p[_qp] - _density[_qp] * _gravity);
109 
110  RealGradient d_u_1 =
111  _sto_u * _gamma_u[_qp] * std::pow(_gamma_u[_qp] * _u[_qp], _sto_u - 1.0) * _grad_phi[_j][_qp];
112  RealGradient d_u_2 = _phi[_j][_qp] * _sto_u * (_sto_u - 1.0) * _gamma_u[_qp] * _gamma_u[_qp] *
113  std::pow(_gamma_u[_qp] * _u[_qp], _sto_u - 2.0) * _grad_u[_qp];
114 
115  RealGradient d_var_sum(0.0, 0.0, 0.0);
116  const Real d_v_u =
117  _sto_u * _gamma_u[_qp] * std::pow(_gamma_u[_qp] * _u[_qp], _sto_u - 1.0) * _phi[_j][_qp];
118 
119  for (unsigned int i = 0; i < _vals.size(); ++i)
120  {
121  d_u_1 *= std::pow((*_gamma_v[i])[_qp] * (*_vals[i])[_qp], _sto_v[i]);
122  d_u_2 *= std::pow((*_gamma_v[i])[_qp] * (*_vals[i])[_qp], _sto_v[i]);
123 
124  RealGradient d_var = d_v_u * _sto_v[i] * (*_gamma_v[i])[_qp] *
125  std::pow((*_gamma_v[i])[_qp] * (*_vals[i])[_qp], _sto_v[i] - 1.0) *
126  (*_grad_vals[i])[_qp];
127  for (unsigned int j = 0; j < _vals.size(); ++j)
128  if (j != i)
129  d_var *= std::pow((*_gamma_v[i])[_qp] * (*_vals[j])[_qp], _sto_v[j]);
130 
131  d_var_sum += d_var;
132  }
133 
134  RealGradient d_u_j = d_u_1 + d_u_2;
135  return _weight * std::pow(10.0, _log_k[_qp]) * _test[_i][_qp] * darcy_vel * (d_u_j + d_var_sum) /
136  _gamma_eq[_qp];
137 }
const VariableValue & _gamma_eq
Activity coefficient of equilibrium species.
const MaterialProperty< Real > & _density
Fluid density.
const std::vector< Real > _sto_v
Stoichiometric coefficients of the coupled primary species.
const VariableGradient & _grad_p
Pressure gradient.
const VariableValue & _log_k
Equilibrium constant for the equilibrium species in association form.
const std::vector< const VariableValue * > _gamma_v
Activity coefficients of coupled primary species in the equilibrium species.
const Real _weight
Weight of the equilibrium species concentration in the total primary species concentration.
const RealVectorValue _gravity
Gravity.
const std::vector< const VariableGradient * > _grad_vals
Coupled gradients of primary species concentrations.
DIE A HORRIBLE DEATH HERE typedef LIBMESH_DEFAULT_SCALAR_TYPE Real
const Real _sto_u
Stoichiometric coefficient of the primary species.
const MaterialProperty< Real > & _cond
Hydraulic conductivity.
const VariableValue & _gamma_u
Activity coefficient of primary species in the equilibrium species.
static const std::complex< double > j(0, 1)
Complex number "j" (also known as "i")
MooseUnits pow(const MooseUnits &, int)
const std::vector< const VariableValue * > _vals
Coupled primary species concentrations.

◆ computeQpOffDiagJacobian()

Real CoupledConvectionReactionSub::computeQpOffDiagJacobian ( unsigned int  jvar)
overrideprotectedvirtual

Definition at line 140 of file CoupledConvectionReactionSub.C.

141 {
142  if (jvar == _pvar)
143  {
144  RealVectorValue ddarcy_vel_dp = -_cond[_qp] * _grad_phi[_j][_qp];
145 
146  RealGradient d_u =
147  _sto_u * _gamma_u[_qp] * std::pow(_gamma_u[_qp] * _u[_qp], _sto_u - 1.0) * _grad_u[_qp];
148  RealGradient d_var_sum(0.0, 0.0, 0.0);
149  const Real d_v_u = std::pow(_gamma_u[_qp] * _u[_qp], _sto_u);
150 
151  for (unsigned int i = 0; i < _vals.size(); ++i)
152  {
153  d_u *= std::pow((*_gamma_v[i])[_qp] * (*_vals[i])[_qp], _sto_v[i]);
154 
155  RealGradient d_var = d_v_u * _sto_v[i] * (*_gamma_v[i])[_qp] *
156  std::pow((*_gamma_v[i])[_qp] * (*_vals[i])[_qp], _sto_v[i] - 1.0) *
157  (*_grad_vals[i])[_qp];
158  for (unsigned int j = 0; j < _vals.size(); ++j)
159  if (j != i)
160  d_var *= std::pow((*_gamma_v[i])[_qp] * (*_vals[j])[_qp], _sto_v[j]);
161 
162  d_var_sum += d_var;
163  }
164  return _weight * std::pow(10.0, _log_k[_qp]) * _test[_i][_qp] * ddarcy_vel_dp *
165  (d_u + d_var_sum) / _gamma_eq[_qp];
166  }
167 
168  if (_vals.size() == 0)
169  return 0.0;
170 
171  RealVectorValue darcy_vel = -_cond[_qp] * (_grad_p[_qp] - _density[_qp] * _gravity);
172  RealGradient diff1 =
173  _sto_u * _gamma_u[_qp] * std::pow(_gamma_u[_qp] * _u[_qp], _sto_u - 1.0) * _grad_u[_qp];
174  for (unsigned int i = 0; i < _vals.size(); ++i)
175  {
176  if (jvar == _vars[i])
177  diff1 *= _sto_v[i] * (*_gamma_v[i])[_qp] *
178  std::pow((*_gamma_v[i])[_qp] * (*_vals[i])[_qp], _sto_v[i] - 1.0) * _phi[_j][_qp];
179  else
180  diff1 *= std::pow((*_gamma_v[i])[_qp] * (*_vals[i])[_qp], _sto_v[i]);
181  }
182 
183  Real val_u = std::pow(_gamma_u[_qp] * _u[_qp], _sto_u);
184  RealGradient diff2_1(1.0, 1.0, 1.0);
185  RealGradient diff2_2(1.0, 1.0, 1.0);
186  for (unsigned int i = 0; i < _vals.size(); ++i)
187  if (jvar == _vars[i])
188  {
189  diff2_1 = _sto_v[i] * (*_gamma_v[i])[_qp] * (*_gamma_v[i])[_qp] * (_sto_v[i] - 1.0) *
190  std::pow((*_gamma_v[i])[_qp] * (*_vals[i])[_qp], _sto_v[i] - 2.0) * _phi[_j][_qp] *
191  (*_grad_vals[i])[_qp];
192  diff2_2 = _sto_v[i] * (*_gamma_v[i])[_qp] *
193  std::pow((*_gamma_v[i])[_qp] * (*_vals[i])[_qp], _sto_v[i] - 1.0) *
194  _grad_phi[_j][_qp];
195  }
196 
197  RealGradient diff2 = val_u * (diff2_1 + diff2_2);
198  for (unsigned int i = 0; i < _vals.size(); ++i)
199  if (jvar != _vars[i])
200  {
201  diff2 *= std::pow((*_gamma_v[i])[_qp] * (*_vals[i])[_qp], _sto_v[i]);
202  }
203 
204  RealGradient diff3;
205  RealGradient diff3_sum(0.0, 0.0, 0.0);
206  Real val_jvar = 0.0;
207  unsigned int var = 0;
208 
209  for (unsigned int i = 0; i < _vals.size(); ++i)
210  if (jvar == _vars[i])
211  {
212  var = i;
213  val_jvar = val_u * _sto_v[i] * (*_gamma_v[i])[_qp] *
214  std::pow((*_gamma_v[i])[_qp] * (*_vals[i])[_qp], _sto_v[i] - 1.0) * _phi[_j][_qp];
215  }
216 
217  for (unsigned int i = 0; i < _vals.size(); ++i)
218  if (i != var)
219  {
220  diff3 = val_jvar * _sto_v[i] * (*_gamma_v[i])[_qp] *
221  std::pow((*_gamma_v[i])[_qp] * (*_vals[i])[_qp], _sto_v[i] - 1.0) *
222  (*_grad_vals[i])[_qp];
223 
224  for (unsigned int j = 0; j < _vals.size(); ++j)
225  if (j != var && j != i)
226  diff3 *= std::pow((*_gamma_v[i])[_qp] * (*_vals[j])[_qp], _sto_v[j]);
227 
228  diff3_sum += diff3;
229  }
230 
231  return _weight * std::pow(10.0, _log_k[_qp]) * _test[_i][_qp] * darcy_vel *
232  (diff1 + diff2 + diff3_sum) / _gamma_eq[_qp];
233 }
const VariableValue & _gamma_eq
Activity coefficient of equilibrium species.
const std::vector< unsigned int > _vars
Coupled primary species variable numbers.
const MaterialProperty< Real > & _density
Fluid density.
const std::vector< Real > _sto_v
Stoichiometric coefficients of the coupled primary species.
const VariableGradient & _grad_p
Pressure gradient.
const unsigned int _pvar
Pressure variable number.
const VariableValue & _log_k
Equilibrium constant for the equilibrium species in association form.
const std::vector< const VariableValue * > _gamma_v
Activity coefficients of coupled primary species in the equilibrium species.
const Real _weight
Weight of the equilibrium species concentration in the total primary species concentration.
const RealVectorValue _gravity
Gravity.
const std::vector< const VariableGradient * > _grad_vals
Coupled gradients of primary species concentrations.
DIE A HORRIBLE DEATH HERE typedef LIBMESH_DEFAULT_SCALAR_TYPE Real
const Real _sto_u
Stoichiometric coefficient of the primary species.
const MaterialProperty< Real > & _cond
Hydraulic conductivity.
const VariableValue & _gamma_u
Activity coefficient of primary species in the equilibrium species.
static const std::complex< double > j(0, 1)
Complex number "j" (also known as "i")
MooseUnits pow(const MooseUnits &, int)
const std::vector< const VariableValue * > _vals
Coupled primary species concentrations.

◆ computeQpResidual()

Real CoupledConvectionReactionSub::computeQpResidual ( )
overrideprotectedvirtual

Definition at line 77 of file CoupledConvectionReactionSub.C.

78 {
79  RealVectorValue darcy_vel = -_cond[_qp] * (_grad_p[_qp] - _density[_qp] * _gravity);
80  RealGradient d_u =
81  _sto_u * _gamma_u[_qp] * std::pow(_gamma_u[_qp] * _u[_qp], _sto_u - 1.0) * _grad_u[_qp];
82  RealGradient d_var_sum(0.0, 0.0, 0.0);
83  const Real d_v_u = std::pow(_gamma_u[_qp] * _u[_qp], _sto_u);
84 
85  for (unsigned int i = 0; i < _vals.size(); ++i)
86  {
87  d_u *= std::pow((*_gamma_v[i])[_qp] * (*_vals[i])[_qp], _sto_v[i]);
88 
89  RealGradient d_var = d_v_u * _sto_v[i] * (*_gamma_v[i])[_qp] *
90  std::pow((*_gamma_v[i])[_qp] * (*_vals[i])[_qp], _sto_v[i] - 1.0) *
91  (*_grad_vals[i])[_qp];
92 
93  for (unsigned int j = 0; j < _vals.size(); ++j)
94  if (j != i)
95  d_var *= std::pow((*_gamma_v[i])[_qp] * (*_vals[j])[_qp], _sto_v[j]);
96 
97  d_var_sum += d_var;
98  }
99 
100  mooseAssert(_gamma_eq[_qp] > 0.0, "Activity coefficient must be greater than zero");
101  return _weight * std::pow(10.0, _log_k[_qp]) * _test[_i][_qp] * darcy_vel * (d_u + d_var_sum) /
102  _gamma_eq[_qp];
103 }
const VariableValue & _gamma_eq
Activity coefficient of equilibrium species.
const MaterialProperty< Real > & _density
Fluid density.
const std::vector< Real > _sto_v
Stoichiometric coefficients of the coupled primary species.
const VariableGradient & _grad_p
Pressure gradient.
const VariableValue & _log_k
Equilibrium constant for the equilibrium species in association form.
const std::vector< const VariableValue * > _gamma_v
Activity coefficients of coupled primary species in the equilibrium species.
const Real _weight
Weight of the equilibrium species concentration in the total primary species concentration.
const RealVectorValue _gravity
Gravity.
const std::vector< const VariableGradient * > _grad_vals
Coupled gradients of primary species concentrations.
DIE A HORRIBLE DEATH HERE typedef LIBMESH_DEFAULT_SCALAR_TYPE Real
const Real _sto_u
Stoichiometric coefficient of the primary species.
const MaterialProperty< Real > & _cond
Hydraulic conductivity.
const VariableValue & _gamma_u
Activity coefficient of primary species in the equilibrium species.
static const std::complex< double > j(0, 1)
Complex number "j" (also known as "i")
MooseUnits pow(const MooseUnits &, int)
const std::vector< const VariableValue * > _vals
Coupled primary species concentrations.

◆ validParams()

InputParameters CoupledConvectionReactionSub::validParams ( )
static

Definition at line 15 of file CoupledConvectionReactionSub.C.

16 {
18  params.addParam<Real>("weight", 1.0, "Weight of the equilibrium species");
19  params.addCoupledVar("log_k", 0.0, "Equilibrium constant of dissociation equilibrium reaction");
20  params.addParam<Real>("sto_u",
21  1.0,
22  "Stoichiometric coef of the primary species the kernel "
23  "operates on in the equilibrium reaction");
24  params.addCoupledVar(
25  "gamma_u", 1.0, "Activity coefficient of primary species that this kernel operates on");
26  params.addParam<std::vector<Real>>(
27  "sto_v",
28  {},
29  "The stoichiometric coefficients of coupled primary species in equilibrium reaction");
30  params.addRequiredCoupledVar("p", "Pressure");
31  params.addCoupledVar("v", "List of coupled primary species");
32  params.addCoupledVar("gamma_v", 1.0, "Activity coefficients of coupled primary species");
33  params.addCoupledVar("gamma_eq", 1.0, "Activity coefficient of this equilibrium species");
34  RealVectorValue g(0, 0, 0);
35  params.addParam<RealVectorValue>("gravity", g, "Gravity vector (default is (0, 0, 0))");
36  params.addClassDescription("Convection of equilibrium species");
37  return params;
38 }
static InputParameters validParams()
void addParam(const std::string &name, const std::initializer_list< typename T::value_type > &value, const std::string &doc_string)
void addCoupledVar(const std::string &name, const std::string &doc_string)
void addRequiredCoupledVar(const std::string &name, const std::string &doc_string)
DIE A HORRIBLE DEATH HERE typedef LIBMESH_DEFAULT_SCALAR_TYPE Real
void addClassDescription(const std::string &doc_string)

Member Data Documentation

◆ _cond

const MaterialProperty<Real>& CoupledConvectionReactionSub::_cond
protected

Hydraulic conductivity.

Definition at line 39 of file CoupledConvectionReactionSub.h.

Referenced by computeQpJacobian(), computeQpOffDiagJacobian(), and computeQpResidual().

◆ _density

const MaterialProperty<Real>& CoupledConvectionReactionSub::_density
protected

Fluid density.

Definition at line 43 of file CoupledConvectionReactionSub.h.

Referenced by computeQpJacobian(), computeQpOffDiagJacobian(), and computeQpResidual().

◆ _gamma_eq

const VariableValue& CoupledConvectionReactionSub::_gamma_eq
protected

Activity coefficient of equilibrium species.

Definition at line 59 of file CoupledConvectionReactionSub.h.

Referenced by computeQpJacobian(), computeQpOffDiagJacobian(), and computeQpResidual().

◆ _gamma_u

const VariableValue& CoupledConvectionReactionSub::_gamma_u
protected

Activity coefficient of primary species in the equilibrium species.

Definition at line 55 of file CoupledConvectionReactionSub.h.

Referenced by computeQpJacobian(), computeQpOffDiagJacobian(), and computeQpResidual().

◆ _gamma_v

const std::vector<const VariableValue *> CoupledConvectionReactionSub::_gamma_v
protected

Activity coefficients of coupled primary species in the equilibrium species.

Definition at line 57 of file CoupledConvectionReactionSub.h.

Referenced by computeQpJacobian(), computeQpOffDiagJacobian(), and computeQpResidual().

◆ _grad_p

const VariableGradient& CoupledConvectionReactionSub::_grad_p
protected

◆ _grad_vals

const std::vector<const VariableGradient *> CoupledConvectionReactionSub::_grad_vals
protected

Coupled gradients of primary species concentrations.

Definition at line 53 of file CoupledConvectionReactionSub.h.

Referenced by computeQpJacobian(), computeQpOffDiagJacobian(), and computeQpResidual().

◆ _gravity

const RealVectorValue CoupledConvectionReactionSub::_gravity
protected

Gravity.

Definition at line 41 of file CoupledConvectionReactionSub.h.

Referenced by computeQpJacobian(), computeQpOffDiagJacobian(), and computeQpResidual().

◆ _log_k

const VariableValue& CoupledConvectionReactionSub::_log_k
protected

Equilibrium constant for the equilibrium species in association form.

Definition at line 33 of file CoupledConvectionReactionSub.h.

Referenced by computeQpJacobian(), computeQpOffDiagJacobian(), and computeQpResidual().

◆ _pvar

const unsigned int CoupledConvectionReactionSub::_pvar
protected

Pressure variable number.

Definition at line 47 of file CoupledConvectionReactionSub.h.

Referenced by computeQpOffDiagJacobian().

◆ _sto_u

const Real CoupledConvectionReactionSub::_sto_u
protected

Stoichiometric coefficient of the primary species.

Definition at line 35 of file CoupledConvectionReactionSub.h.

Referenced by computeQpJacobian(), computeQpOffDiagJacobian(), and computeQpResidual().

◆ _sto_v

const std::vector<Real> CoupledConvectionReactionSub::_sto_v
protected

Stoichiometric coefficients of the coupled primary species.

Definition at line 37 of file CoupledConvectionReactionSub.h.

Referenced by computeQpJacobian(), computeQpOffDiagJacobian(), computeQpResidual(), and CoupledConvectionReactionSub().

◆ _vals

const std::vector<const VariableValue *> CoupledConvectionReactionSub::_vals
protected

Coupled primary species concentrations.

Definition at line 51 of file CoupledConvectionReactionSub.h.

Referenced by computeQpJacobian(), computeQpOffDiagJacobian(), and computeQpResidual().

◆ _vars

const std::vector<unsigned int> CoupledConvectionReactionSub::_vars
protected

Coupled primary species variable numbers.

Definition at line 49 of file CoupledConvectionReactionSub.h.

Referenced by computeQpOffDiagJacobian().

◆ _weight

const Real CoupledConvectionReactionSub::_weight
protected

Weight of the equilibrium species concentration in the total primary species concentration.

Definition at line 31 of file CoupledConvectionReactionSub.h.

Referenced by computeQpJacobian(), computeQpOffDiagJacobian(), and computeQpResidual().


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