https://mooseframework.inl.gov
Loading...
Searching...
No Matches
AqueousReactionsEquilibriumPhysics.h
Go to the documentation of this file.
1//* This file is part of the MOOSE framework
2//* https://mooseframework.inl.gov
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
13
19{
20public:
22
24
25protected:
26 virtual void addAuxiliaryKernels() override;
27 virtual void addFEKernels() override;
28
30 std::vector<std::vector<Real>> _stos;
32 std::vector<std::vector<Real>> _sto_u;
34 std::vector<std::vector<std::vector<Real>>> _sto_v;
36 std::vector<std::vector<Real>> _weights;
38 std::vector<Real> _log_eq_const;
40 std::vector<VariableName> _eq_species;
42 std::vector<std::vector<bool>> _primary_participation;
45 std::vector<std::vector<std::vector<VariableName>>> _coupled_v;
47 std::vector<std::vector<VariableName>> _solver_species_involved;
48
50 const std::vector<VariableName> & _pressure_var;
52 const RealVectorValue _gravity;
53};
Creates all the objects needed to solve a reaction network of chemical reactions at equilibrium in an...
const std::vector< VariableName > & _pressure_var
Name of the pressure variable.
std::vector< std::vector< bool > > _primary_participation
Vector of vectors, indexed by (i, j), of whether primary solver species 'i' is present in reaction 'j...
std::vector< std::vector< Real > > _stos
Stoichiometric coefficients for each primary species (outer indexing) in each reaction.
std::vector< std::vector< Real > > _sto_u
Stoichiometric coefficients of primary/solver variables (outer indexing) in each reaction.
std::vector< std::vector< std::vector< VariableName > > > _coupled_v
Coupled primary species for each reaction (outer indexing is primary species, then reactions then inn...
const RealVectorValue _gravity
Gravity vector.
std::vector< VariableName > _eq_species
Equilibrium species: only one per reaction. This is a restriction of this implementation.
std::vector< std::vector< VariableName > > _solver_species_involved
Primary species involved in the ith equilibrium reaction (outer indexing)
std::vector< std::vector< Real > > _weights
Weight of each primary species (outer indexing) in each reaction.
std::vector< Real > _log_eq_const
log10(Equilibrium constants) for each reaction
std::vector< std::vector< std::vector< Real > > > _sto_v
Stoichiometric coefficients of coupled primary variables (outer indexing) in each reaction.
const InputParameters & parameters() const
Base class to host all common parameters and attributes of Physics actions to solve equations for mul...