Revision a693ee05711713372bdaf79f125973e9b4b7f52b authored by Dmitry Yu. Naumov on 05 February 2021, 10:48:58 UTC, committed by Dmitry Yu. Naumov on 05 February 2021, 10:48:58 UTC
[NL] Local Newton. Add increment tolerance. See merge request ogs/ogs!3431
EquilibriumReactants.h
/**
* \file
* \copyright
* Copyright (c) 2012-2021, OpenGeoSys Community (http://www.opengeosys.org)
* Distributed under a Modified BSD License.
* See accompanying file LICENSE.txt or
* http://www.opengeosys.org/project/license
*
*/
#pragma once
#include <set>
#include <string>
#include <vector>
#include <iphreeqc/src/src/phreeqcpp/PPassemblage.h>
namespace ChemistryLib
{
namespace PhreeqcKernelData
{
class PhaseComponent final : private cxxPPassemblageComp
{
public:
PhaseComponent(std::string&& name_, double const initial_amount,
double const saturation_index);
cxxPPassemblageComp const* castToBaseClass() const
{
return static_cast<cxxPPassemblageComp const*>(this);
}
std::string const& getName() const { return Get_name(); }
};
class EquilibriumReactants final : private cxxPPassemblage
{
public:
explicit EquilibriumReactants(
std::vector<PhaseComponent> const& phase_components);
void setChemicalSystemID(std::size_t const chemical_system_id)
{
Set_n_user_both(chemical_system_id);
}
cxxPPassemblage const* castToBaseClass() const
{
return static_cast<cxxPPassemblage const*>(this);
}
std::map<std::string, cxxPPassemblageComp> const& getPhaseComponents() const
{
return castToBaseClass()->Get_pp_assemblage_comps();
}
};
} // namespace PhreeqcKernelData
} // namespace ChemistryLib
![swh spinner](/static/img/swh-spinner.gif)
Computing file changes ...