1#ifndef __SIMULATION_BUILDER_HPP__
2#define __SIMULATION_BUILDER_HPP__
4#include "simulation/mass_transfer.hpp"
5#include <common/results.hpp>
8#include <mixture/species_descriptor.hpp>
10#include <simulation/feed_descriptor.hpp>
11#include <simulation/scalar_initializer.hpp>
12#include <simulation/simulation_getter.hpp>
59 std::optional<Simulation::MassTransfer::Type::MtrTypeVariant>&&
70 std::unique_ptr<MC::MonteCarloUnit>
m_unit;
74 std::optional<Simulation::MassTransfer::Type::MtrTypeVariant>
81 std::optional<Simulation::Feed::SimulationFeed>
m_feed;
~SimulationUnitBuilder()=default
std::unique_ptr< MC::MonteCarloUnit > m_unit
Definition simulation_builder.hpp:70
SimulationUnitBuilder with_feed(Simulation::Feed::SimulationFeed feed)
Definition simulation_builder.cpp:54
SimulationUnitBuilder with_unit(std::unique_ptr< MC::MonteCarloUnit > &&unit)
Definition simulation_builder.cpp:13
std::shared_ptr< Mixture::SpecieTable > m_specie_table
Definition simulation_builder.hpp:72
std::optional< Simulation::Feed::SimulationFeed > m_feed
Definition simulation_builder.hpp:81
SimulationUnitBuilder & operator=(const SimulationUnitBuilder &)=delete
SimulationUnitBuilder with_params(Simulation::Sparam params)
Definition simulation_builder.cpp:37
SimulationUnitBuilder(const SimulationUnitBuilder &)=delete
SimulationUnitBuilder()=default
Result< std::unique_ptr< Simulation::SimulationUnit >, BuildError > build()
Definition simulation_builder.cpp:61
SimulationUnitBuilder with_specie_table(std::shared_ptr< Mixture::SpecieTable > specie_table)
Definition simulation_builder.cpp:29
SimulationUnitBuilder(SimulationUnitBuilder &&)=default
SimulationUnitBuilder with_mt_model(std::optional< Simulation::MassTransfer::Type::MtrTypeVariant > &&mt_model_variant)
Definition simulation_builder.cpp:44
SimulationUnitBuilder with_scalar(Simulation::ScalarInitializer &&scalar_init)
Definition simulation_builder.cpp:20
std::optional< Simulation::MassTransfer::Type::MtrTypeVariant > m_mt_model_variant
Definition simulation_builder.hpp:75
Simulation::Sparam m_params
Definition simulation_builder.hpp:78
SimulationUnitBuilder & operator=(SimulationUnitBuilder &&)=default
std::optional< Simulation::ScalarInitializer > m_scalar_init
Definition simulation_builder.hpp:71
Definition feed_descriptor.hpp:123
Definition simulation.hpp:46
Core component to perform simulation.
Definition data_exporter.hpp:38
BuildErrorCode
Definition simulation_builder.hpp:23
@ MissingScalarInit
Definition simulation_builder.hpp:25
@ ErrorSimulation
Definition simulation_builder.hpp:27
@ MissingSpecieTable
Definition simulation_builder.hpp:26
@ MissingUnit
Definition simulation_builder.hpp:24
Namespace that contains classes and structures related to simulation handling.
Definition host_specific.hpp:12
Definition simulation_builder.hpp:31
BuildErrorCode code
Definition simulation_builder.hpp:32
std::string message
Definition simulation_builder.hpp:33
Definition results.hpp:12
Definition scalar_initializer.hpp:29
Definition simulation_getter.hpp:19
static Sparam fdefault()
Definition simulation_getter.hpp:23