https://mooseframework.inl.gov
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 42 of file CoupledConvectionReactionSub.C.

44  _weight(getParam<Real>("weight")),
45  _log_k(coupledValue("log_k")),
46  _sto_u(getParam<Real>("sto_u")),
47  _sto_v(getParam<std::vector<Real>>("sto_v")),
48  _cond(getMaterialProperty<Real>("conductivity")),
49  _gravity(getParam<RealVectorValue>("gravity")),
50  _density(getDefaultMaterialProperty<Real>("density")),
51  _grad_p(coupledGradient("p")),
52  _pvar(coupled("p")),
53  _vars(coupledIndices("v")),
54  _vals(coupledValues("v")),
55  _grad_vals(coupledGradients("v")),
56  _gamma_u(coupledValue("gamma_u")),
57  _gamma_v(isCoupled("gamma_v")
58  ? coupledValues("gamma_v") // have value
59  : std::vector<const VariableValue *>(coupledComponents("v"),
60  &coupledValue("gamma_v"))), // default
61  _gamma_eq(coupledValue("gamma_eq"))
62 {
63  const unsigned int n = coupledComponents("v");
64 
65  // Check that the correct number of coupled values have been provided
66  if (_sto_v.size() != n)
67  mooseError("The number of stoichiometric coefficients in sto_v is not equal to the number of "
68  "coupled species in ",
69  _name);
70 
71  if (isCoupled("gamma_v"))
72  if (coupledComponents("gamma_v") != n)
73  mooseError("The number of activity coefficients in gamma_v is not equal to the number of "
74  "coupled species in ",
75  _name);
76 }
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 108 of file CoupledConvectionReactionSub.C.

109 {
110  RealVectorValue darcy_vel = -_cond[_qp] * (_grad_p[_qp] - _density[_qp] * _gravity);
111 
112  RealGradient d_u_1 =
113  _sto_u * _gamma_u[_qp] * std::pow(_gamma_u[_qp] * _u[_qp], _sto_u - 1.0) * _grad_phi[_j][_qp];
114  RealGradient d_u_2 = _phi[_j][_qp] * _sto_u * (_sto_u - 1.0) * _gamma_u[_qp] * _gamma_u[_qp] *
115  std::pow(_gamma_u[_qp] * _u[_qp], _sto_u - 2.0) * _grad_u[_qp];
116 
117  RealGradient d_var_sum(0.0, 0.0, 0.0);
118  const Real d_v_u =
119  _sto_u * _gamma_u[_qp] * std::pow(_gamma_u[_qp] * _u[_qp], _sto_u - 1.0) * _phi[_j][_qp];
120 
121  for (unsigned int i = 0; i < _vals.size(); ++i)
122  {
123  d_u_1 *= std::pow((*_gamma_v[i])[_qp] * (*_vals[i])[_qp], _sto_v[i]);
124  d_u_2 *= std::pow((*_gamma_v[i])[_qp] * (*_vals[i])[_qp], _sto_v[i]);
125 
126  RealGradient d_var = d_v_u * _sto_v[i] * (*_gamma_v[i])[_qp] *
127  std::pow((*_gamma_v[i])[_qp] * (*_vals[i])[_qp], _sto_v[i] - 1.0) *
128  (*_grad_vals[i])[_qp];
129  for (unsigned int j = 0; j < _vals.size(); ++j)
130  if (j != i)
131  d_var *= std::pow((*_gamma_v[i])[_qp] * (*_vals[j])[_qp], _sto_v[j]);
132 
133  d_var_sum += d_var;
134  }
135 
136  RealGradient d_u_j = d_u_1 + d_u_2;
137  return _weight * std::pow(10.0, _log_k[_qp]) * _test[_i][_qp] * darcy_vel * (d_u_j + d_var_sum) /
138  _gamma_eq[_qp];
139 }
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 142 of file CoupledConvectionReactionSub.C.

143 {
144  if (jvar == _pvar)
145  {
146  RealVectorValue ddarcy_vel_dp = -_cond[_qp] * _grad_phi[_j][_qp];
147 
148  RealGradient d_u =
149  _sto_u * _gamma_u[_qp] * std::pow(_gamma_u[_qp] * _u[_qp], _sto_u - 1.0) * _grad_u[_qp];
150  RealGradient d_var_sum(0.0, 0.0, 0.0);
151  const Real d_v_u = std::pow(_gamma_u[_qp] * _u[_qp], _sto_u);
152 
153  for (unsigned int i = 0; i < _vals.size(); ++i)
154  {
155  d_u *= std::pow((*_gamma_v[i])[_qp] * (*_vals[i])[_qp], _sto_v[i]);
156 
157  RealGradient d_var = d_v_u * _sto_v[i] * (*_gamma_v[i])[_qp] *
158  std::pow((*_gamma_v[i])[_qp] * (*_vals[i])[_qp], _sto_v[i] - 1.0) *
159  (*_grad_vals[i])[_qp];
160  for (unsigned int j = 0; j < _vals.size(); ++j)
161  if (j != i)
162  d_var *= std::pow((*_gamma_v[i])[_qp] * (*_vals[j])[_qp], _sto_v[j]);
163 
164  d_var_sum += d_var;
165  }
166  return _weight * std::pow(10.0, _log_k[_qp]) * _test[_i][_qp] * ddarcy_vel_dp *
167  (d_u + d_var_sum) / _gamma_eq[_qp];
168  }
169 
170  if (_vals.size() == 0)
171  return 0.0;
172 
173  RealVectorValue darcy_vel = -_cond[_qp] * (_grad_p[_qp] - _density[_qp] * _gravity);
174  RealGradient diff1 =
175  _sto_u * _gamma_u[_qp] * std::pow(_gamma_u[_qp] * _u[_qp], _sto_u - 1.0) * _grad_u[_qp];
176  for (unsigned int i = 0; i < _vals.size(); ++i)
177  {
178  if (jvar == _vars[i])
179  diff1 *= _sto_v[i] * (*_gamma_v[i])[_qp] *
180  std::pow((*_gamma_v[i])[_qp] * (*_vals[i])[_qp], _sto_v[i] - 1.0) * _phi[_j][_qp];
181  else
182  diff1 *= std::pow((*_gamma_v[i])[_qp] * (*_vals[i])[_qp], _sto_v[i]);
183  }
184 
185  Real val_u = std::pow(_gamma_u[_qp] * _u[_qp], _sto_u);
186  RealGradient diff2_1(1.0, 1.0, 1.0);
187  RealGradient diff2_2(1.0, 1.0, 1.0);
188  for (unsigned int i = 0; i < _vals.size(); ++i)
189  if (jvar == _vars[i])
190  {
191  diff2_1 = _sto_v[i] * (*_gamma_v[i])[_qp] * (*_gamma_v[i])[_qp] * (_sto_v[i] - 1.0) *
192  std::pow((*_gamma_v[i])[_qp] * (*_vals[i])[_qp], _sto_v[i] - 2.0) * _phi[_j][_qp] *
193  (*_grad_vals[i])[_qp];
194  diff2_2 = _sto_v[i] * (*_gamma_v[i])[_qp] *
195  std::pow((*_gamma_v[i])[_qp] * (*_vals[i])[_qp], _sto_v[i] - 1.0) *
196  _grad_phi[_j][_qp];
197  }
198 
199  RealGradient diff2 = val_u * (diff2_1 + diff2_2);
200  for (unsigned int i = 0; i < _vals.size(); ++i)
201  if (jvar != _vars[i])
202  {
203  diff2 *= std::pow((*_gamma_v[i])[_qp] * (*_vals[i])[_qp], _sto_v[i]);
204  }
205 
206  RealGradient diff3;
207  RealGradient diff3_sum(0.0, 0.0, 0.0);
208  Real val_jvar = 0.0;
209  unsigned int var = 0;
210 
211  for (unsigned int i = 0; i < _vals.size(); ++i)
212  if (jvar == _vars[i])
213  {
214  var = i;
215  val_jvar = val_u * _sto_v[i] * (*_gamma_v[i])[_qp] *
216  std::pow((*_gamma_v[i])[_qp] * (*_vals[i])[_qp], _sto_v[i] - 1.0) * _phi[_j][_qp];
217  }
218 
219  for (unsigned int i = 0; i < _vals.size(); ++i)
220  if (i != var)
221  {
222  diff3 = val_jvar * _sto_v[i] * (*_gamma_v[i])[_qp] *
223  std::pow((*_gamma_v[i])[_qp] * (*_vals[i])[_qp], _sto_v[i] - 1.0) *
224  (*_grad_vals[i])[_qp];
225 
226  for (unsigned int j = 0; j < _vals.size(); ++j)
227  if (j != var && j != i)
228  diff3 *= std::pow((*_gamma_v[i])[_qp] * (*_vals[j])[_qp], _sto_v[j]);
229 
230  diff3_sum += diff3;
231  }
232 
233  return _weight * std::pow(10.0, _log_k[_qp]) * _test[_i][_qp] * darcy_vel *
234  (diff1 + diff2 + diff3_sum) / _gamma_eq[_qp];
235 }
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 79 of file CoupledConvectionReactionSub.C.

80 {
81  RealVectorValue darcy_vel = -_cond[_qp] * (_grad_p[_qp] - _density[_qp] * _gravity);
82  RealGradient d_u =
83  _sto_u * _gamma_u[_qp] * std::pow(_gamma_u[_qp] * _u[_qp], _sto_u - 1.0) * _grad_u[_qp];
84  RealGradient d_var_sum(0.0, 0.0, 0.0);
85  const Real d_v_u = std::pow(_gamma_u[_qp] * _u[_qp], _sto_u);
86 
87  for (unsigned int i = 0; i < _vals.size(); ++i)
88  {
89  d_u *= std::pow((*_gamma_v[i])[_qp] * (*_vals[i])[_qp], _sto_v[i]);
90 
91  RealGradient d_var = d_v_u * _sto_v[i] * (*_gamma_v[i])[_qp] *
92  std::pow((*_gamma_v[i])[_qp] * (*_vals[i])[_qp], _sto_v[i] - 1.0) *
93  (*_grad_vals[i])[_qp];
94 
95  for (unsigned int j = 0; j < _vals.size(); ++j)
96  if (j != i)
97  d_var *= std::pow((*_gamma_v[i])[_qp] * (*_vals[j])[_qp], _sto_v[j]);
98 
99  d_var_sum += d_var;
100  }
101 
102  mooseAssert(_gamma_eq[_qp] > 0.0, "Activity coefficient must be greater than zero");
103  return _weight * std::pow(10.0, _log_k[_qp]) * _test[_i][_qp] * darcy_vel * (d_u + d_var_sum) /
104  _gamma_eq[_qp];
105 }
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 17 of file CoupledConvectionReactionSub.C.

18 {
20  params.addParam<Real>("weight", 1.0, "Weight of the equilibrium species");
21  params.addCoupledVar("log_k", 0.0, "Equilibrium constant of dissociation equilibrium reaction");
22  params.addParam<Real>("sto_u",
23  1.0,
24  "Stoichiometric coef of the primary species the kernel "
25  "operates on in the equilibrium reaction");
26  params.addCoupledVar(
27  "gamma_u", 1.0, "Activity coefficient of primary species that this kernel operates on");
28  params.addParam<std::vector<Real>>(
29  "sto_v",
30  {},
31  "The stoichiometric coefficients of coupled primary species in equilibrium reaction");
32  params.addRequiredCoupledVar("p", "Pressure");
33  params.addCoupledVar("v", "List of coupled primary species");
34  params.addCoupledVar("gamma_v", 1.0, "Activity coefficients of coupled primary species");
35  params.addCoupledVar("gamma_eq", 1.0, "Activity coefficient of this equilibrium species");
36  RealVectorValue g(0, 0, 0);
37  params.addParam<RealVectorValue>("gravity", g, "Gravity vector (default is (0, 0, 0))");
38  params.addClassDescription("Convection of equilibrium species");
39  return params;
40 }
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

Pressure gradient.

Definition at line 45 of file CoupledConvectionReactionSub.h.

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

◆ _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: