model.h Source File
|
CPP API
|
ode_mseirs4/model.h
Go to the documentation of this file.
36 class Model : public mio::CompartmentalModel<FP, InfectionState, mio::Populations<FP, InfectionState>, Parameters<FP>>
38 using Base = mio::CompartmentalModel<FP, InfectionState, mio::Populations<FP, InfectionState>, Parameters<FP>>;
54 void get_derivatives(Eigen::Ref<const Eigen::VectorX<FP>> pop, Eigen::Ref<const Eigen::VectorX<FP>> y, FP t,
80 const FP I_total = y[idx(InfectionState::I1)] + y[idx(InfectionState::I2)] + y[idx(InfectionState::I3)] +
82 const FP R_total = y[idx(InfectionState::R1)] + y[idx(InfectionState::R2)] + y[idx(InfectionState::R3)] +
94 dydt[idx(InfectionState::MaternalImmune)] = mu * R_total - (xi + mu) * y[idx(InfectionState::MaternalImmune)];
97 dydt[idx(InfectionState::S1)] = mu * (N - R_total) + xi * y[idx(InfectionState::MaternalImmune)] -
111 dydt[idx(InfectionState::I1)] = sigma * y[idx(InfectionState::E1)] - (nu + mu) * y[idx(InfectionState::I1)];
112 dydt[idx(InfectionState::I2)] = sigma * y[idx(InfectionState::E2)] - (nu + mu) * y[idx(InfectionState::I2)];
113 dydt[idx(InfectionState::I3)] = sigma * y[idx(InfectionState::E3)] - (nu + mu) * y[idx(InfectionState::I3)];
114 dydt[idx(InfectionState::I4)] = sigma * y[idx(InfectionState::E4)] - (nu + mu) * y[idx(InfectionState::I4)];
117 dydt[idx(InfectionState::R1)] = nu * y[idx(InfectionState::I1)] - (mu + gamma) * y[idx(InfectionState::R1)];
118 dydt[idx(InfectionState::R2)] = nu * y[idx(InfectionState::I2)] - (mu + gamma) * y[idx(InfectionState::R2)];
119 dydt[idx(InfectionState::R3)] = nu * y[idx(InfectionState::I3)] - (mu + gamma) * y[idx(InfectionState::R3)];
120 dydt[idx(InfectionState::R4)] = nu * y[idx(InfectionState::I4)] - (mu + gamma) * y[idx(InfectionState::R4)];
124 gamma * y[idx(InfectionState::R1)] - mu * y[idx(InfectionState::S2)] - lambda2 * y[idx(InfectionState::S2)];
126 gamma * y[idx(InfectionState::R2)] - mu * y[idx(InfectionState::S3)] - lambda3 * y[idx(InfectionState::S3)];
127 dydt[idx(InfectionState::S4)] = gamma * (y[idx(InfectionState::R3)] + y[idx(InfectionState::R4)]) -
Parameters of the simulation that are the same everywhere within the Model.
Definition: abm/parameters.h:764
Definition: ode_mseirs4/model.h:37
void get_derivatives(Eigen::Ref< const Eigen::VectorX< FP >> pop, Eigen::Ref< const Eigen::VectorX< FP >> y, FP t, Eigen::Ref< Eigen::VectorX< FP >> dydt) const override
Definition: ode_mseirs4/model.h:54
static IOResult< Model > deserialize(IOContext &io)
deserialize an object of this class.
Definition: ode_mseirs4/model.h:148
Model(const Populations &pop, const ParameterSet ¶ms)
Definition: ode_mseirs4/model.h:44
void serialize(IOContext &io) const
serialize this.
Definition: ode_mseirs4/model.h:136
Definition: ode_mseirs4/parameters.h:183
ad::internal::unary_intermediate< AD_TAPE_REAL, ad::internal::active_type< AD_TAPE_REAL, DATA_HANDLER_1 >, ad::operations::ad_cos< AD_TAPE_REAL > > cos(const ad::internal::active_type< AD_TAPE_REAL, DATA_HANDLER_1 > &x1)
Definition: ad.hpp:924
@ MaternalImmune
A collection of classes to simplify handling of matrix shapes in meta programming.
Definition: models/abm/analyze_result.h:30
boost::outcome_v2::in_place_type_t< T > Tag
Type that is used for overload resolution.
Definition: io.h:407
details::ApplyResultT< F, T... > apply(IOContext &io, F f, const IOResult< T > &... rs)
Evaluate a function with zero or more unpacked IOResults as arguments.
Definition: io.h:481
boost::outcome_v2::unchecked< T, IOStatus > IOResult
Value-or-error type for operations that return a value but can fail.
Definition: io.h:353
CompartmentalModel is a template for a compartmental model for an array of initial populations and a ...
Definition: compartmental_model.h:59
Populations populations
Definition: compartmental_model.h:156
mio::Populations< FP, InfectionState > Populations
Definition: compartmental_model.h:62
Parameters< FP > ParameterSet
Definition: compartmental_model.h:63
ParameterSet parameters
Definition: compartmental_model.h:157
static constexpr FP zero_tolerance()=delete
Generated by