simulation.h Source File
|
CPP API
|
models/smm/simulation.h
Go to the documentation of this file.
90 // If the next event happens further in the future than the next stored time point, add a new one.
122 m_tp_next_event[next_event] += mio::ExponentialDistribution<FP>::get_instance()(m_model->get_rng(), 1.0);
168 inline constexpr const typename smm::TransitionRates<FP, Status, Region>::Type& transition_rates()
209 return std::distance(m_waiting_times.begin(), std::min_element(m_waiting_times.begin(), m_waiting_times.end()));
mio::Index< Tag > size() const
returns the size along the dimension provided as template parameter
Definition: custom_index_array.h:204
stores vectors of values at time points (or some other abstract variable) the value at each time poin...
Definition: time_series.h:58
A specialized Simulation for mio::smm::Model.
Definition: models/smm/simulation.h:41
mio::TimeSeries< FP > m_result
Result time series.
Definition: models/smm/simulation.h:214
std::vector< FP > m_internal_time
Internal times of all poisson processes (aka T_k).
Definition: models/smm/simulation.h:216
std::vector< FP > m_waiting_times
External times between m_internal_time and m_tp_next_event.
Definition: models/smm/simulation.h:218
constexpr const smm::TransitionRates< FP, Status, Region >::Type & transition_rates()
Returns the model's transition rates.
Definition: models/smm/simulation.h:168
Eigen::Ref< Eigen::VectorX< FP > > advance(FP tmax)
Advance simulation to tmax.
Definition: models/smm/simulation.h:81
Simulation(Model const &model, FP t0=0., FP dt=1.)
Set up the simulation for a Stochastic Metapopulation Model.
Definition: models/smm/simulation.h:51
const TimeSeries< FP > & get_result() const
Definition: models/smm/simulation.h:147
std::unique_ptr< Model > m_model
Pointer to the model used in the simulation.
Definition: models/smm/simulation.h:213
void update_current_rates_and_waiting_times()
Calculate current values for m_current_rates and m_waiting_times.
Definition: models/smm/simulation.h:184
const Model & get_model() const
Returns the model used in the simulation.
Definition: models/smm/simulation.h:155
constexpr const smm::AdoptionRates< FP, Status, Region >::Type & adoption_rates()
Returns the model's adoption rates.
Definition: models/smm/simulation.h:176
std::vector< FP > m_current_rates
Current values of both types of rates i.e. adoption and transition rates.
Definition: models/smm/simulation.h:219
TimeSeries< FP > & get_result()
Returns the final simulation result.
Definition: models/smm/simulation.h:143
std::vector< FP > m_tp_next_event
Internal time points of next event i after m_internal[i] (aka P_k).
Definition: models/smm/simulation.h:217
size_t determine_next_event()
Get next event i.e.
Definition: models/smm/simulation.h:207
static min_max_return_type< ad::internal::active_type< AD_TAPE_REAL, DATA_HANDLER_1 >, ad::internal::active_type< AD_TAPE_REAL, DATA_HANDLER_1 > >::type min(const ad::internal::active_type< AD_TAPE_REAL, DATA_HANDLER_1 > &a, const ad::internal::active_type< AD_TAPE_REAL, DATA_HANDLER_1 > &b)
Definition: ad.hpp:2599
static min_max_return_type< ad::internal::active_type< AD_TAPE_REAL, DATA_HANDLER_1 >, ad::internal::active_type< AD_TAPE_REAL, DATA_HANDLER_1 > >::type max(const ad::internal::active_type< AD_TAPE_REAL, DATA_HANDLER_1 > &a, const ad::internal::active_type< AD_TAPE_REAL, DATA_HANDLER_1 > &b)
Definition: ad.hpp:2596
static double ceil(const ad::internal::active_type< AD_TAPE_REAL, DATA_HANDLER_1 > &x)
Definition: ad.hpp:2449
int size(Comm comm)
Return the size of the given communicator.
Definition: miompi.cpp:75
A collection of classes to simplify handling of matrix shapes in meta programming.
Definition: models/abm/analyze_result.h:30
requires details::IsElementReference< M > RowMajorIterator< M, false > end(M &m)
create a non-const end iterator for the matrix m.
Definition: eigen_util.h:449
requires details::IsElementReference< M > RowMajorIterator< M, false > begin(M &m)
create a non-const iterator to first element of the matrix m.
Definition: eigen_util.h:421
Definition: io.h:94
std::vector< AdoptionRate< FP, Status, Region > > Type
Definition: smm/parameters.h:42
std::vector< TransitionRate< FP, Status, Region > > Type
Definition: smm/parameters.h:71
Generated by