1#ifndef __SIMULATION_FEED_DESCRIPTOR_HPP__
2#define __SIMULATION_FEED_DESCRIPTOR_HPP__
10enum class FeedType : std::uint8_t
53 using FeedTypeVariant = std::variant<Constant, Step, Pulse, Custom, DelayedConstant>;
76 void update(
double t,
double d_t)
noexcept;
89 bool set_exit =
true);
96 bool set_exit =
true);
105 bool set_exit =
true);
110 std::optional<std::vector<FeedDescritor>>
liquid;
111 std::optional<std::vector<FeedDescritor>>
gas;
Definition feed_descriptor.hpp:58
void update(double t, double d_t) noexcept
Definition feed_descriptor.cpp:53
bool set_exit
Definition feed_descriptor.hpp:73
FeedTypeVariant props
Definition feed_descriptor.hpp:72
FeedType type
Definition feed_descriptor.hpp:79
feed_value_t value
Definition feed_descriptor.hpp:69
feed_value_t target
Definition feed_descriptor.hpp:80
size_t n_v
Definition feed_descriptor.hpp:74
feed_position_t position
Definition feed_descriptor.hpp:70
feed_species_t species
Definition feed_descriptor.hpp:71
double flow_value
Definition feed_descriptor.hpp:68
Definition feed_descriptor.hpp:20
std::vector< std::size_t > feed_species_t
Definition feed_descriptor.hpp:23
std::vector< double > feed_value_t
Definition feed_descriptor.hpp:21
std::vector< std::size_t > feed_position_t
Definition feed_descriptor.hpp:22
std::variant< Constant, Step, Pulse, Custom, DelayedConstant > FeedTypeVariant
Definition feed_descriptor.hpp:53
FeedType get_type(const FeedTypeVariant &v)
Definition feed_descriptor.cpp:24
Definition feed_descriptor.hpp:26
Definition feed_descriptor.hpp:50
Definition feed_descriptor.hpp:30
double t_end
Definition feed_descriptor.hpp:32
double stored_value
Definition feed_descriptor.hpp:33
double t_init
Definition feed_descriptor.hpp:31
Definition feed_descriptor.hpp:84
static FeedDescritor delayedconstant(double _f, feed_value_t &&_target, feed_position_t &&_position, feed_species_t _species, double t_init, double t_end, bool set_exit=true)
static FeedDescritor pulse(double _f, feed_value_t &&_target, feed_position_t &&_position, feed_species_t _species, double t_init, double t_end, double frequency, bool set_exit=true)
Definition feed_descriptor.cpp:150
static FeedDescritor constant(double _f, feed_value_t &&_target, feed_position_t &&_position, feed_species_t _species, bool set_exit=true)
Definition feed_descriptor.cpp:124
Definition feed_descriptor.hpp:42
double t_init
Definition feed_descriptor.hpp:43
double frequency
Definition feed_descriptor.hpp:45
double stored_value
Definition feed_descriptor.hpp:46
double t_end
Definition feed_descriptor.hpp:44
Definition feed_descriptor.hpp:109
std::optional< std::vector< FeedDescritor > > gas
Definition feed_descriptor.hpp:111
std::optional< std::vector< FeedDescritor > > liquid
Definition feed_descriptor.hpp:110
Definition feed_descriptor.hpp:37
double t_init
Definition feed_descriptor.hpp:38