31#include <nonstd/expected.hpp>
32#include <protocol.hpp>
37using nonstd::expected;
97 -> expected<void, ProtocolError>
override;
106 -> expected<void, ProtocolError>
override;
134 -> expected<void, ProtocolError>
override;
Definition protocol.hpp:110
Definition mass_balance.hpp:53
nsel_NODISCARD auto check_support(const ModelPtr &model) -> expected< void, ProtocolError > override
Check if the mass balance protocol is supported by the model.
Definition mass_balance.cpp:97
auto run(const ModelPtr &model, const Context &ctx) const -> expected< void, ProtocolError > override
Run the mass balance protocol.
Definition mass_balance.cpp:47
bool is_fatal
Definition mass_balance.hpp:152
bool supported
Definition mass_balance.hpp:149
double tolerance
Definition mass_balance.hpp:145
bool check
Definition mass_balance.hpp:151
virtual ~NgenMassBalance() override
bool is_supported() const override final
Whether the protocol is supported by the model.
Definition mass_balance.cpp:193
NgenMassBalance()
Construct a new, default Ngen Mass Balance object.
Definition mass_balance.cpp:41
int frequency
Definition mass_balance.hpp:147
auto initialize(const ModelPtr &model, const Properties &properties) -> expected< void, ProtocolError > override
Check the model for support and initialize the mass balance protocol from the given properties.
Definition mass_balance.cpp:141
Definition deserialization.hpp:40
constexpr const char *const FREQUENCY_KEY
Definition mass_balance.hpp:51
constexpr const char *const CHECK_KEY
Definition mass_balance.hpp:50
constexpr const char *const STORED_MASS_NAME
Definition mass_balance.hpp:41
constexpr const char *const LEAKED_MASS_NAME
Definition mass_balance.hpp:42
std::shared_ptr< models::bmi::Bmi_Adapter > ModelPtr
Definition protocol.hpp:107
geojson::PropertyMap Properties
Definition protocol.hpp:108
constexpr const char *const OUTPUT_MASS_NAME
Definition mass_balance.hpp:40
constexpr const char *const FATAL_KEY
Definition mass_balance.hpp:49
constexpr const char *const CONFIGURATION_KEY
Configuration keys for defining configurable properties of the protocol.
Definition mass_balance.hpp:46
constexpr const char *const INPUT_MASS_NAME
Mass balance variable names.
Definition mass_balance.hpp:39
constexpr const char *const TOLERANCE_KEY
Definition mass_balance.hpp:48
Definition AbstractCLibBmiAdapter.hpp:6
Definition protocol.hpp:100