/** * \file * \copyright * Copyright (c) 2012-2020, 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 namespace BaseLib { class ConfigTree; } namespace Adsorption { class Reaction { public: static std::unique_ptr newInstance( BaseLib::ConfigTree const& conf); virtual double getEnthalpy(const double p_Ads, const double T_Ads, const double M_Ads) const = 0; virtual double getReactionRate(const double p_Ads, const double T_Ads, const double M_Ads, const double loading) const = 0; // TODO get rid of virtual double getEquilibriumLoading(const double /*unused*/, const double /*unused*/, const double /*unused*/) const { return -1.0; } virtual ~Reaction() = default; }; } // namespace Adsorption