www.mooseframework.org
CoupledDiffusionReactionSub.h
Go to the documentation of this file.
1 //* This file is part of the MOOSE framework
2 //* https://www.mooseframework.org
3 //*
4 //* All rights reserved, see COPYRIGHT for full restrictions
5 //* https://github.com/idaholab/moose/blob/master/COPYRIGHT
6 //*
7 //* Licensed under LGPL 2.1, please see LICENSE for details
8 //* https://www.gnu.org/licenses/lgpl-2.1.html
9 
10 #pragma once
11 
12 #include "Kernel.h"
13 
15 
16 template <>
18 
22 class CoupledDiffusionReactionSub : public Kernel
23 {
24 public:
25  CoupledDiffusionReactionSub(const InputParameters & parameters);
26 
27 protected:
28  virtual Real computeQpResidual() override;
29  virtual Real computeQpJacobian() override;
30  virtual Real computeQpOffDiagJacobian(unsigned int jvar) override;
31 
32 private:
34  const MaterialProperty<Real> & _diffusivity;
36  const Real _weight;
38  const VariableValue & _log_k;
40  const Real _sto_u;
42  const std::vector<Real> _sto_v;
44  std::vector<unsigned int> _vars;
46  std::vector<const VariableValue *> _vals;
48  std::vector<const VariableGradient *> _grad_vals;
50  const VariableValue & _gamma_u;
52  std::vector<const VariableValue *> _gamma_v;
54  const VariableValue & _gamma_eq;
55 };
56 
CoupledDiffusionReactionSub::_sto_v
const std::vector< Real > _sto_v
Stoichiometric coefficients of the coupled primary species.
Definition: CoupledDiffusionReactionSub.h:42
CoupledDiffusionReactionSub
Diffusion of primary species in given equilibrium species.
Definition: CoupledDiffusionReactionSub.h:22
validParams< CoupledDiffusionReactionSub >
InputParameters validParams< CoupledDiffusionReactionSub >()
Definition: CoupledDiffusionReactionSub.C:16
CoupledDiffusionReactionSub::_grad_vals
std::vector< const VariableGradient * > _grad_vals
Coupled gradients of primary species concentrations.
Definition: CoupledDiffusionReactionSub.h:48
CoupledDiffusionReactionSub::_vals
std::vector< const VariableValue * > _vals
Coupled primary species concentrations.
Definition: CoupledDiffusionReactionSub.h:46
CoupledDiffusionReactionSub::computeQpJacobian
virtual Real computeQpJacobian() override
Definition: CoupledDiffusionReactionSub.C:109
CoupledDiffusionReactionSub::computeQpOffDiagJacobian
virtual Real computeQpOffDiagJacobian(unsigned int jvar) override
Definition: CoupledDiffusionReactionSub.C:142
CoupledDiffusionReactionSub::_sto_u
const Real _sto_u
Stoichiometric coefficient of the primary species.
Definition: CoupledDiffusionReactionSub.h:40
CoupledDiffusionReactionSub::_gamma_eq
const VariableValue & _gamma_eq
Activity coefficient of equilibrium species.
Definition: CoupledDiffusionReactionSub.h:54
CoupledDiffusionReactionSub::_weight
const Real _weight
Weight of the equilibrium species concentration in the total primary species concentration.
Definition: CoupledDiffusionReactionSub.h:36
CoupledDiffusionReactionSub::computeQpResidual
virtual Real computeQpResidual() override
Definition: CoupledDiffusionReactionSub.C:80
CoupledDiffusionReactionSub::_gamma_v
std::vector< const VariableValue * > _gamma_v
Activity coefficients of coupled primary species in the equilibrium species.
Definition: CoupledDiffusionReactionSub.h:52
CoupledDiffusionReactionSub::CoupledDiffusionReactionSub
CoupledDiffusionReactionSub(const InputParameters &parameters)
Definition: CoupledDiffusionReactionSub.C:40
CoupledDiffusionReactionSub::_diffusivity
const MaterialProperty< Real > & _diffusivity
Material property of dispersion-diffusion coefficient.
Definition: CoupledDiffusionReactionSub.h:34
CoupledDiffusionReactionSub::_vars
std::vector< unsigned int > _vars
Coupled primary species variable numbers.
Definition: CoupledDiffusionReactionSub.h:44
CoupledDiffusionReactionSub::_gamma_u
const VariableValue & _gamma_u
Activity coefficient of primary species in the equilibrium species.
Definition: CoupledDiffusionReactionSub.h:50
CoupledDiffusionReactionSub::_log_k
const VariableValue & _log_k
Equilibrium constant for the equilibrium species in association form.
Definition: CoupledDiffusionReactionSub.h:38