/** * \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 */ #include "Reaction.h" #include "BaseLib/StringTools.h" #include "Density100MPa.h" #include "DensityConst.h" #include "DensityCook.h" #include "DensityDubinin.h" #include "DensityHauer.h" #include "DensityLegacy.h" #include "DensityMette.h" #include "DensityNunez.h" #include "ReactionCaOH2.h" #include "ReactionInert.h" #include "ReactionSinusoidal.h" namespace Adsorption { std::unique_ptr Reaction::newInstance(BaseLib::ConfigTree const& conf) { //! \ogs_file_param{material__adsorption__reaction__type} auto const type = conf.getConfigParameter("type"); if (type == "Z13XBF") { return std::make_unique(); } if (type == "Z13XBF_100MPa") { return std::make_unique(); } if (type == "Z13XBF_Const") { return std::make_unique(); } if (type == "Z13XBF_Cook") { return std::make_unique(); } if (type == "Z13XBF_Dubinin") { return std::make_unique(); } if (type == "Z13XBF_Hauer") { return std::make_unique(); } if (type == "Z13XBF_Mette") { return std::make_unique(); } if (type == "Z13XBF_Nunez") { return std::make_unique(); } if (type == "Inert") { return std::make_unique(); } if (type == "Sinusoidal") { return std::make_unique(conf); } if (type == "CaOH2") { return std::make_unique(conf); } OGS_FATAL("Unknown reactive system: {:s}.", type); return nullptr; } } // namespace Adsorption