https://mooseframework.inl.gov
GeochemistryIonicStrength.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 
18 {
19 public:
34  GeochemistryIonicStrength(Real max_ionic_strength,
35  Real max_stoichiometric_ionic_strength,
36  bool use_only_basis_molality,
37  bool use_only_Cl_molality);
38 
39  bool operator==(const GeochemistryIonicStrength & rhs) const
40  {
41  return (_max_ionic_strength == rhs._max_ionic_strength) &&
45  };
46 
56  const std::vector<Real> & basis_species_molality,
57  const std::vector<Real> & eqm_species_molality,
58  const std::vector<Real> & kin_species_molality) const;
59 
69  const std::vector<Real> & basis_species_molality,
70  const std::vector<Real> & eqm_species_molality,
71  const std::vector<Real> & kin_species_molality) const;
72 
74  void setMaxIonicStrength(Real max_ionic_strength);
75 
77  Real getMaxIonicStrength() const;
78 
80  void setMaxStoichiometricIonicStrength(Real max_stoichiometric_ionic_strength);
81 
84 
86  void setUseOnlyBasisMolality(bool use_only_basis_molality);
87 
90 
92  void setUseOnlyClMolality(bool use_only_Cl_molality);
93 
95  Real getUseOnlyClMolality() const;
96 
97 private:
100 
103 
106 
109 };
Real getMaxStoichiometricIonicStrength() const
Return the value of maximum stoichiometric ionic strength.
GeochemistryIonicStrength(Real max_ionic_strength, Real max_stoichiometric_ionic_strength, bool use_only_basis_molality, bool use_only_Cl_molality)
Real getUseOnlyBasisMolality() const
Return the value of use_only_basis_molality.
Real getUseOnlyClMolality() const
Return the value of use_only_Cl_molality.
Real _max_ionic_strength
maximum ionic strength
const ModelGeochemicalDatabase mgd
void setMaxIonicStrength(Real max_ionic_strength)
Set the maximum ionic strength.
Real ionicStrength(const ModelGeochemicalDatabase &mgd, const std::vector< Real > &basis_species_molality, const std::vector< Real > &eqm_species_molality, const std::vector< Real > &kin_species_molality) const
Compute ionic strength.
void setUseOnlyBasisMolality(bool use_only_basis_molality)
Set the value of use_only_basis_molality.
Calculators to compute ionic strength and stoichiometric ionic strength.
void setUseOnlyClMolality(bool use_only_Cl_molality)
Set the value of use_only_Cl_molality.
Real getMaxIonicStrength() const
Return the value of maximum ionic strength.
Real _max_stoichiometric_ionic_strength
maximum stoichiometric ionic strength
DIE A HORRIBLE DEATH HERE typedef LIBMESH_DEFAULT_SCALAR_TYPE Real
void setMaxStoichiometricIonicStrength(Real max_stoichiometric_ionic_strength)
Set the maximum stoichiometric ionic strength.
Real stoichiometricIonicStrength(const ModelGeochemicalDatabase &mgd, const std::vector< Real > &basis_species_molality, const std::vector< Real > &eqm_species_molality, const std::vector< Real > &kin_species_molality) const
Compute stoichiometric ionic strength.
bool _use_only_basis_molality
use only basis molality in the ionic strength calculations
Data structure to hold all relevant information from the database file.
bool operator==(const GeochemistryIonicStrength &rhs) const
bool _use_only_Cl_molality
set the stoichiometric ionic strength to the Cl- molality