diff --git a/cpp/examples/d_abm.cpp b/cpp/examples/d_abm.cpp index 09ffa04d5c..4f91f65de0 100644 --- a/cpp/examples/d_abm.cpp +++ b/cpp/examples/d_abm.cpp @@ -1,5 +1,5 @@ /* -* Copyright (C) 2020-2024 German Aerospace Center (DLR-SC) +* Copyright (C) 2020-2025 MEmilio * * Authors: Julia Bicker, René Schmieding * diff --git a/cpp/examples/graph_abm.cpp b/cpp/examples/graph_abm.cpp index 3e7443fbc9..dedc28b60e 100644 --- a/cpp/examples/graph_abm.cpp +++ b/cpp/examples/graph_abm.cpp @@ -1,5 +1,5 @@ /* -* Copyright (C) 2020-2024 MEmilio +* Copyright (C) 2020-2025 MEmilio * * Authors: Julia Bicker * diff --git a/cpp/examples/smm.cpp b/cpp/examples/smm.cpp index a55785e130..570ce17c6b 100644 --- a/cpp/examples/smm.cpp +++ b/cpp/examples/smm.cpp @@ -1,5 +1,5 @@ /* -* Copyright (C) 2020-2024 German Aerospace Center (DLR-SC) +* Copyright (C) 2020-2025 MEmilio * * Authors: Julia Bicker, René Schmieding * diff --git a/cpp/memilio/geography/regions.h b/cpp/memilio/geography/regions.h index 2ef7d84c80..6901d15f22 100644 --- a/cpp/memilio/geography/regions.h +++ b/cpp/memilio/geography/regions.h @@ -38,7 +38,7 @@ namespace mio namespace regions { -/// @biref Index for enumerating subregions (cities, counties, etc.) of the modelled area. +/// @brief Index for enumerating subregions (cities, counties, etc.) of the modelled area. struct Region : public mio::Index { Region(const size_t num_regions) : mio::Index(num_regions) diff --git a/cpp/models/d_abm/model.cpp b/cpp/models/d_abm/model.cpp index f52bd1c298..528fa1a4f4 100644 --- a/cpp/models/d_abm/model.cpp +++ b/cpp/models/d_abm/model.cpp @@ -1,5 +1,5 @@ /* -* Copyright (C) 2020-2025 German Aerospace Center (DLR-SC) +* Copyright (C) 2020-2025 MEmilio * * Authors: René Schmieding * diff --git a/cpp/models/d_abm/model.h b/cpp/models/d_abm/model.h index b0983c5496..5b858a4efa 100644 --- a/cpp/models/d_abm/model.h +++ b/cpp/models/d_abm/model.h @@ -1,5 +1,5 @@ /* -* Copyright (C) 2020-2025 German Aerospace Center (DLR-SC) +* Copyright (C) 2020-2025 MEmilio * * Authors: René Schmieding, Julia Bicker * diff --git a/cpp/models/d_abm/parameters.h b/cpp/models/d_abm/parameters.h index bd02befd9b..5b16eb433f 100644 --- a/cpp/models/d_abm/parameters.h +++ b/cpp/models/d_abm/parameters.h @@ -1,5 +1,5 @@ /* -* Copyright (C) 2020-2024 German Aerospace Center (DLR-SC) +* Copyright (C) 2020-2025 MEmilio * * Authors: René Schmieding, Julia Bicker * diff --git a/cpp/models/d_abm/quad_well.h b/cpp/models/d_abm/quad_well.h index 305617304e..ef1d0e021e 100644 --- a/cpp/models/d_abm/quad_well.h +++ b/cpp/models/d_abm/quad_well.h @@ -1,5 +1,5 @@ /* -* Copyright (C) 2020-2025 German Aerospace Center (DLR-SC) +* Copyright (C) 2020-2025 MEmilio * * Authors: René Schmieding, Julia Bicker * diff --git a/cpp/models/d_abm/simulation.cpp b/cpp/models/d_abm/simulation.cpp index 3b538490b8..3915b84300 100644 --- a/cpp/models/d_abm/simulation.cpp +++ b/cpp/models/d_abm/simulation.cpp @@ -1,5 +1,5 @@ /* -* Copyright (C) 2020-2024 MEmilio +* Copyright (C) 2020-2025 MEmilio * * Authors: René Schmieding, Julia Bicker * diff --git a/cpp/models/d_abm/simulation.h b/cpp/models/d_abm/simulation.h index 54ccad8b65..e20f40f595 100644 --- a/cpp/models/d_abm/simulation.h +++ b/cpp/models/d_abm/simulation.h @@ -1,5 +1,5 @@ /* -* Copyright (C) 2020-2025 German Aerospace Center (DLR-SC) +* Copyright (C) 2020-2025 MEmilio * * Authors: René Schmieding, Julia Bicker * diff --git a/cpp/models/d_abm/single_well.h b/cpp/models/d_abm/single_well.h index 62ef7671c6..7bd8cb82e1 100644 --- a/cpp/models/d_abm/single_well.h +++ b/cpp/models/d_abm/single_well.h @@ -1,5 +1,5 @@ /* -* Copyright (C) 2020-2025 German Aerospace Center (DLR-SC) +* Copyright (C) 2020-2025 MEmilio * * Authors: Julia Bicker, René Schmieding * diff --git a/cpp/models/graph_abm/graph_abm_mobility.cpp b/cpp/models/graph_abm/graph_abm_mobility.cpp index af3fae0c89..c8482f2e48 100644 --- a/cpp/models/graph_abm/graph_abm_mobility.cpp +++ b/cpp/models/graph_abm/graph_abm_mobility.cpp @@ -1,5 +1,5 @@ /* -* Copyright (C) 2020-2024 MEmilio +* Copyright (C) 2020-2025 MEmilio * * Authors: Julia Bicker * diff --git a/cpp/models/graph_abm/graph_abm_mobility.h b/cpp/models/graph_abm/graph_abm_mobility.h index 2d7a749edf..1af88d311a 100644 --- a/cpp/models/graph_abm/graph_abm_mobility.h +++ b/cpp/models/graph_abm/graph_abm_mobility.h @@ -1,5 +1,5 @@ /* -* Copyright (C) 2020-2024 MEmilio +* Copyright (C) 2020-2025 MEmilio * * Authors: Julia Bicker * diff --git a/cpp/models/graph_abm/graph_abmodel.h b/cpp/models/graph_abm/graph_abmodel.h index 0be1a7f222..040cd8c2da 100644 --- a/cpp/models/graph_abm/graph_abmodel.h +++ b/cpp/models/graph_abm/graph_abmodel.h @@ -1,5 +1,5 @@ /* -* Copyright (C) 2020-2024 MEmilio +* Copyright (C) 2020-2025 MEmilio * * Authors: Julia Bicker * diff --git a/cpp/models/hybrid/temporal_hybrid_model.cpp b/cpp/models/hybrid/temporal_hybrid_model.cpp index f356bd2321..337b8da3de 100644 --- a/cpp/models/hybrid/temporal_hybrid_model.cpp +++ b/cpp/models/hybrid/temporal_hybrid_model.cpp @@ -1,5 +1,5 @@ /* -* Copyright (C) 2020-2025 German Aerospace Center (DLR-SC) +* Copyright (C) 2020-2025 MEmilio * * Authors: Julia Bicker, René Schmieding * diff --git a/cpp/models/hybrid/temporal_hybrid_model.h b/cpp/models/hybrid/temporal_hybrid_model.h index 25ea35d8d0..3ba096c115 100644 --- a/cpp/models/hybrid/temporal_hybrid_model.h +++ b/cpp/models/hybrid/temporal_hybrid_model.h @@ -1,5 +1,5 @@ /* -* Copyright (C) 2020-2025 German Aerospace Center (DLR-SC) +* Copyright (C) 2020-2025 MEmilio * * Authors: Julia Bicker, René Schmieding * diff --git a/cpp/models/lct_secir/README.md b/cpp/models/lct_secir/README.md index 4c6b599418..155948877c 100644 --- a/cpp/models/lct_secir/README.md +++ b/cpp/models/lct_secir/README.md @@ -1,5 +1,5 @@ # LCT SECIR model This directory contains a model implementation based on an ODE formulation using the linear chain trick. -To get started, check out the [official documentation](https://memilio.readthedocs.io/en/latest/cpp/models/lctsecir.html) +To get started, check out the [official documentation](https://memilio.readthedocs.io/en/latest/cpp/models/lsecir.html) or the [code example](../../examples/lct_secir.cpp). \ No newline at end of file diff --git a/cpp/models/ode_sir/README.md b/cpp/models/ode_sir/README.md index cddbed7b5e..1cdfb3a402 100644 --- a/cpp/models/ode_sir/README.md +++ b/cpp/models/ode_sir/README.md @@ -2,4 +2,4 @@ This directory contains a model implementation based on an ODE formulation. To get started, check out the [official documentation](https://memilio.readthedocs.io/en/latest/cpp/models/osir.html) -or the [code example](../../examples/sde_sir.cpp). \ No newline at end of file +or the [code example](../../examples/ode_sir.cpp). \ No newline at end of file diff --git a/cpp/models/sde_sirs/README.md b/cpp/models/sde_sirs/README.md index 3c2fb95558..5509510ca4 100644 --- a/cpp/models/sde_sirs/README.md +++ b/cpp/models/sde_sirs/README.md @@ -3,4 +3,4 @@ This directory contains a model implementation based on an SDE formulation. To get started, check out the [official documentation](https://memilio.readthedocs.io/en/latest/cpp/models/ssirs.html) -or the [code example](../../examples/ode_sir.cpp). +or the [code example](../../examples/sde_sirs.cpp). diff --git a/cpp/models/smm/README.md b/cpp/models/smm/README.md index 653bf36e97..c86ff11e38 100644 --- a/cpp/models/smm/README.md +++ b/cpp/models/smm/README.md @@ -1,5 +1,5 @@ # Stochastic Metapopulation Model This directory contains a model implementation based on a stochastic metapopulation model formulation. -To get started, check out the [official documentation](https://memilio.readthedocs.io/en/latest/cpp/models/isecir.html) +To get started, check out the [official documentation](https://memilio.readthedocs.io/en/latest/cpp/smm.html) or the [code example](../../examples/smm.cpp). \ No newline at end of file diff --git a/cpp/models/smm/model.cpp b/cpp/models/smm/model.cpp index af0d58eb73..d613003ac2 100644 --- a/cpp/models/smm/model.cpp +++ b/cpp/models/smm/model.cpp @@ -1,5 +1,5 @@ /* -* Copyright (C) 2020-2025 German Aerospace Center (DLR-SC) +* Copyright (C) 2020-2025 MEmilio * * Authors: René Schmieding * diff --git a/cpp/models/smm/model.h b/cpp/models/smm/model.h index a30a6f365e..56d9b56251 100644 --- a/cpp/models/smm/model.h +++ b/cpp/models/smm/model.h @@ -1,5 +1,5 @@ /* -* Copyright (C) 2020-2025 German Aerospace Center (DLR-SC) +* Copyright (C) 2020-2025 MEmilio * * Authors: René Schmieding, Julia Bicker * diff --git a/cpp/models/smm/parameters.h b/cpp/models/smm/parameters.h index 4cc54ebb5b..d0a6011f6e 100644 --- a/cpp/models/smm/parameters.h +++ b/cpp/models/smm/parameters.h @@ -1,5 +1,5 @@ /* -* Copyright (C) 2020-2025 German Aerospace Center (DLR-SC) +* Copyright (C) 2020-2025 MEmilio * * Authors: René Schmieding, Julia Bicker * diff --git a/cpp/models/smm/simulation.h b/cpp/models/smm/simulation.h index 4231f76a05..29c4aeda24 100644 --- a/cpp/models/smm/simulation.h +++ b/cpp/models/smm/simulation.h @@ -1,5 +1,5 @@ /* -* Copyright (C) 2020-2025 German Aerospace Center (DLR-SC) +* Copyright (C) 2020-2025 MEmilio * * Authors: René Schmieding, Julia Bicker * diff --git a/cpp/tests/test_d_abm_model.cpp b/cpp/tests/test_d_abm_model.cpp index c31b4aa5e4..79397d8e65 100644 --- a/cpp/tests/test_d_abm_model.cpp +++ b/cpp/tests/test_d_abm_model.cpp @@ -1,5 +1,5 @@ /* -* Copyright (C) 2020-2024 German Aerospace Center (DLR-SC) +* Copyright (C) 2020-2025 MEmilio * * Authors: Julia Bicker * diff --git a/cpp/tests/test_smm_model.cpp b/cpp/tests/test_smm_model.cpp index 30ba70e0b5..b671cfa2d0 100644 --- a/cpp/tests/test_smm_model.cpp +++ b/cpp/tests/test_smm_model.cpp @@ -1,5 +1,5 @@ /* -* Copyright (C) 2020-2024 German Aerospace Center (DLR-SC) +* Copyright (C) 2020-2025 MEmilio * * Authors: Julia Bicker * diff --git a/docs/source/_static/custom.css b/docs/source/_static/custom.css index d6198044dd..7b33d9366e 100644 --- a/docs/source/_static/custom.css +++ b/docs/source/_static/custom.css @@ -4,13 +4,13 @@ white-space: pre; } -/* Newline after the last parameter (so the closing bracket is on a new line) +/* Newline after the last parameter (so the closing bracket is on a new line) dt em.sig-param:last-of-type::after { content: "\a"; white-space: pre; } -/* To have blue background of width of the block (instead of width of content) +/* To have blue background of width of the block (instead of width of content) dl.class > dt:first-of-type { display: block !important; } */ @@ -86,3 +86,10 @@ dl.class > dt:first-of-type { text-align: justify; line-height: 1.6; } + +.page-white-images { + background: #fff; + color: #111; + padding: 1rem; + border-radius: 6px; +} diff --git a/docs/source/_static/funder/bmftr.jpg b/docs/source/_static/funder/bmftr.jpg new file mode 100644 index 0000000000..94727069bb Binary files /dev/null and b/docs/source/_static/funder/bmftr.jpg differ diff --git a/docs/source/citation.rst b/docs/source/citation.rst index 674774dffe..836f9c071f 100644 --- a/docs/source/citation.rst +++ b/docs/source/citation.rst @@ -1,17 +1,18 @@ +.. include:: literature.rst + Citing MEmilio =============== - + If you use MEmilio, please cite our work -- Bicker J, Kerkmann D, Korf S, Ploetzke L, Schmieding R, Wendler A, Zunker H et al. (2025). *MEmilio - a High Performance Modular Epidemics Simulation Software*. Available at `https://github.com/SciCompMod/memilio `_ and `https://elib.dlr.de/213614/ `_. +- |MEmilio_citation| and, in particular, for -- **Ordinary differential equation-based (ODE) and Graph-ODE models**: Zunker H, Schmieding R, Kerkmann D, Schengen A, Diexer S, et al. (2024). *Novel travel time aware metapopulation models and multi-layer waning immunity for late-phase epidemic and endemic scenarios*. *PLOS Computational Biology* 20(12): e1012630. `DOI:10.1371/journal.pcbi.1012630 `_ -- **Integro-differential equation-based (IDE) models**: Wendler A, Plötzke L, Tritzschak H, Kühn MJ. (2026). *A nonstandard numerical scheme for a novel SECIR integro differential equation-based model with nonexponentially distributed stay times*. *Applied Mathematics and Computation* 509: 129636. `DOI:10.1016/j.amc.2025.129636 `_ -- **Agent-based models (ABMs)**: Kerkmann D, Korf S, Nguyen K, Abele D, Schengen A, et al. (2025). *Agent-based modeling for realistic reproduction of human mobility and contact behavior to evaluate test and isolation strategies in epidemic infectious disease spread*. *Computers in Biology and Medicine* 193: 110269. `DOI:10.1016/j.compbiomed.2025.110269 `_ -- **Hybrid agent-metapopulation-based models**: Bicker J, Schmieding R, Meyer-Hermann M, Kühn MJ. (2025). *Hybrid metapopulation agent-based epidemiological models for efficient insight on the individual scale: A contribution to green computing*. *Infectious Disease Modelling* 10(2): 571-590. `DOI:10.1016/j.idm.2024.12.015 `_ -- **Graph Neural Networks**: Schmidt A, Zunker H, Heinlein A, Kühn MJ. (2025). *Graph Neural Network Surrogates to leverage Mechanistic Expert Knowledge towards Reliable and Immediate Pandemic Response*. Submitted for publication. `arXiv:2411.06500 `_ -- **ODE-based models with Linear Chain Trick**: Plötzke L, Wendler A, Schmieding R, Kühn MJ. (2024). *Revisiting the Linear Chain Trick in epidemiological models: Implications of underlying assumptions for numerical solutions*. Accepted for publication. `DOI:10.48550/arXiv.2412.09140 `_ -- **Behavior-based ODE models**: Zunker H, Dönges P, Lenz P, Contreras S, Kühn MJ. (2025). *Risk-mediated dynamic regulation of effective contacts de-synchronizes outbreaks in metapopulation epidemic models*. *Chaos, Solitons & Fractals* 199:116782. `DOI:10.1016/j.chaos.2025.116782 `_ - +- **Ordinary differential equation-based (ODE) and Graph-ODE models**: |Novel_travel_time_aware_metapopulation_models| +- **Integro-differential equation-based (IDE) models**: |A_nonstandard_numerical_scheme| +- **Agent-based models (ABMs)**: |Agent-based_modeling_for| +- **Hybrid agent-metapopulation-based models**: |Hybrid_metapopulation_agent-based| +- **Graph Neural Networks**: |Graph_Neural_Network_Surrogates| +- **ODE-based models with Linear Chain Trick**: |Revisiting_the_Linear_Chain| +- **Behavior-based ODE models**: |Risk-mediated_dynamic_regulation| \ No newline at end of file diff --git a/docs/source/cpp/diffusive_abm.rst b/docs/source/cpp/diffusive_abm.rst index eec7238630..6df63ef139 100644 --- a/docs/source/cpp/diffusive_abm.rst +++ b/docs/source/cpp/diffusive_abm.rst @@ -1,3 +1,5 @@ +.. include:: ../literature.rst + Diffusive agent-based model =========================== @@ -148,7 +150,7 @@ To simulate the model from `t0` to `tmax` with given step size `dt`, a **Simulat For a detailed description and application of the model, see: -- Bicker J, Schmieding R, et al. (2025) Hybrid metapopulation agent-based epidemiological models for efficient insight on the individual scale: A contribution to green computing. Infectious Disease Modelling, Volume 10, Issue 2. https://doi.org/10.1016/j.idm.2024.12.015 +- |Hybrid_metapopulation_agent-based| Output ------ diff --git a/docs/source/cpp/glct.rst b/docs/source/cpp/glct.rst index 39ef4abf2c..47d019ad35 100644 --- a/docs/source/cpp/glct.rst +++ b/docs/source/cpp/glct.rst @@ -11,7 +11,7 @@ An overview of nonstandard but often used data types can be found under :doc:`da Infection states ---------------- -The model contains a list of **InfectionState**s that define particular features of the subpopulations in the particular state. +The model contains a list of **InfectionState**\s that define particular features of the subpopulations in the particular state. .. code-block:: RST @@ -20,11 +20,14 @@ The model contains a list of **InfectionState**s that define particular features `...` To make use of the GLCT, we additionally need to define the numbers of subcompartments for each **InfectionState**. +This is done by creating an **LctInfectionState** object for each group. These objects are then passed as template +parameter to the model. -.. code-block:: RST - `Number of subcompartments of State1` - `Number of subcompartments of State2` - `...` +.. code-block:: cpp + + using LctStateGroup1 = mio::LctInfectionState; The model is implemented as **CompartmentalModel**. diff --git a/docs/source/cpp/graph_metapop.rst b/docs/source/cpp/graph_metapop.rst index a7df8d2275..1662d91246 100644 --- a/docs/source/cpp/graph_metapop.rst +++ b/docs/source/cpp/graph_metapop.rst @@ -1,3 +1,5 @@ +.. include:: ../literature.rst + Graph-based metapopulation model ================================ @@ -31,8 +33,8 @@ Since all regions exchange commuters simultaneously, this scheme offers great pr For further details, please refer to: -- Kühn MJ, Abele D, Mitra T, Koslow W, Abedi M, et al. (2021). *Assessment of effective mitigation and prediction of the spread of SARS-CoV-2 in Germany using demographic information and spatial resolution*. *Mathematical Biosciences* 108648. ``_ -- Kühn MJ, Abele D, Binder S, Rack K, Klitz M, et al. (2022). *Regional opening strategies with commuter testing and containment of new SARS-CoV-2 variants in Germany*. *BMC Infectious Diseases* 22(1): 333. `DOI:10.1186/s12879-022-07302-9 `_ +- |Assessment_of_effective_mitigation| +- |Regional_opening_strategies_with| **Detailed mobility approach** @@ -45,7 +47,7 @@ Commuters move along these paths and pass through various mobility models during For further details, please refer to: -- Zunker H, Schmieding R, Kerkmann D, Schengen A, Diexer S, et al. (2024). *Novel travel time aware metapopulation models and multi-layer waning immunity for late-phase epidemic and endemic scenarios*. *PLOS Computational Biology* 20(12): e1012630. ``_ +- |Novel_travel_time_aware_metapopulation_models| **Stochastic mobility approach** @@ -60,7 +62,7 @@ This allows for modeling behavioral changes in response to the epidemiological s The extension and inclusion of regional and global information is based on the following paper: -- Zunker H, Dönges P, Lenz P, Contreras S, Kühn MJ. (2025). *Risk-mediated dynamic regulation of effective contacts de-synchronizes outbreaks in metapopulation epidemic models*. Chaos, Solitons & Fractals. `https://doi.org/10.1016/j.chaos.2025.116782` +- |Risk-mediated_dynamic_regulation| How to: Set up a graph and run a graph simulation diff --git a/docs/source/cpp/interfaces.rst b/docs/source/cpp/interfaces.rst index d4ca67d3ef..338f6e4ef8 100644 --- a/docs/source/cpp/interfaces.rst +++ b/docs/source/cpp/interfaces.rst @@ -3,7 +3,7 @@ Extensions MEmilio provides several extensions to interact with external data structures or software. -- :doc:The `Systems Biology Markup Language `_ (`SBML `) can be used to semi-automatically create (or load) models in MEmilio from a given model description in SBML format. +- The :doc:`SBML importer ` can be used to semi-automatically create (or load) models in MEmilio from a given model description in `Systems Biology Markup Language `_ (SBML) format. **Further advice:** diff --git a/docs/source/cpp/lct.rst b/docs/source/cpp/lct.rst index 56cf4a8a98..fbba3d2acb 100644 --- a/docs/source/cpp/lct.rst +++ b/docs/source/cpp/lct.rst @@ -11,7 +11,7 @@ An overview of nonstandard but often used data types can be found under :doc:`da Infection states ---------------- -The model contains a list of **InfectionState**s that define particular features of the subpopulations in the particular state. +The model contains a list of **InfectionState**\s that define particular features of the subpopulations in the particular state. .. code-block:: RST @@ -20,11 +20,14 @@ The model contains a list of **InfectionState**s that define particular features `...` To make use of the LCT, we additionally need to define the numbers of subcompartments for each **InfectionState**. +This is done by creating an **LctInfectionState** object for each group. These objects are then passed as template +parameter to the model. -.. code-block:: RST - `Number of subcompartments of State1` - `Number of subcompartments of State2` - `...` +.. code-block:: cpp + + using LctStateGroup1 = mio::LctInfectionState; The model is implemented as **CompartmentalModel**. @@ -45,7 +48,7 @@ We use different types of parameters to represent epidemiological parameters suc compartment or the contact rates between different age groups. Most model parameters are constants that describe pathogen-specific characteristics (possibly resolved by sociodemographic groups) and are represented by a vector with a value for each sociodemographic group. To model different contact rates between different sociodemographic groups, we use a parameter denoted **ContactPatterns** of type **UncertainContactMatrix**. -The **UncertainContactMatrix** contains anmarbitrary large set of contact matrices which can represent the different contact locations in the model like +The **UncertainContactMatrix** contains an arbitrary large set of contact matrices which can represent the different contact locations in the model like schools, workplaces, or homes. The matrices can be loaded or stored in the particular example. In the **ContactPatterns**, each matrix element stores baseline contact rates :math:`c_{i,j}` between sociodemographic group :math:`i` to group :math:`j`. The dimension of the matrix is automatically defined by the model initialization and is reduced to one value if no stratification is used. diff --git a/docs/source/cpp/mobility_based_abm.rst b/docs/source/cpp/mobility_based_abm.rst index 6f357a7cc5..621f366d5d 100644 --- a/docs/source/cpp/mobility_based_abm.rst +++ b/docs/source/cpp/mobility_based_abm.rst @@ -1,3 +1,5 @@ +.. include:: ../literature.rst + Agent-based model ================= @@ -74,7 +76,8 @@ Stochastic Transitions: 4. **Disease spread**: During interactions, agents can infect each other. The viral shed is used in combination with further personal information and contact details to feed into a stochastic process that determines if the virus is transmitted and a new agent becomes infected. The chosen time step of the model has no impact on the expected amount of transmissions per time. For details on the mathematical modeling of viral shed and disease spread, we refer to -- Kerkmann D, Korf S, Nguyen K, Abele D, Schengen A, et al. (2025). *Agent-based modeling for realistic reproduction of human mobility and contact behavior to evaluate test and isolation strategies in epidemic infectious disease spread*. *Computers in Biology and Medicine* 193: 110269. `DOI:10.1016/j.compbiomed.2025.110269 `_ + +- |Agent-based_modeling_for| Data extraction ~~~~~~~~~~~~~~~ diff --git a/docs/source/cpp/model_creation.rst b/docs/source/cpp/model_creation.rst index 7fd2907130..9eb3b7735e 100644 --- a/docs/source/cpp/model_creation.rst +++ b/docs/source/cpp/model_creation.rst @@ -1,7 +1,7 @@ Model creation ============== -While MEmilio already preimplements many different models, it is possible to create new models. This section describes how to create a new model in MEmilio. All of MEmilio's models have been designed to share a maximum of structure and functionality, however, the creation of a new aggregated model differs fundamentally from the creation of a new inidividual-based model. New metapopulation models are generally created by implementing an aggregated model in a graph structure. +While MEmilio already preimplements many different models, it is possible to create new models. This section describes how to create a new model in MEmilio. All of MEmilio's models have been designed to share a maximum of structure and functionality, however, the creation of a new aggregated model differs fundamentally from the creation of a new individual-based model. New metapopulation models are generally created by implementing an aggregated model in a graph structure. In addition, MEmilio also provides an :doc:`extension` to create models from `Systems Biology Markup Language (SBML) `_ files. .. toctree:: diff --git a/docs/source/cpp/models/isecir.rst b/docs/source/cpp/models/isecir.rst index b3779191e6..0337701db8 100644 --- a/docs/source/cpp/models/isecir.rst +++ b/docs/source/cpp/models/isecir.rst @@ -1,3 +1,5 @@ +.. include:: ../../literature.rst + IDE-based SECIR-type model ========================== @@ -17,9 +19,7 @@ The simulation runs in discrete time steps using a non-standard numerical scheme Messina E, Pezzella M. (2022). *A non-standard numerical scheme for an age-of-infection epidemic model*. Journal of Computational Dynamics. `https://doi.org/10.3934/jcd.2021029 `_ -A detailed investigation of the IDE-SECIR model and numerical experiments can be found in -Wendler A, Plötzke L, Tritzschak H, Kühn MJ. (2026). *A nonstandard numerical scheme for a novel SECIR integro differential equation-based model with nonexponentially distributed stay times*. *Applied Mathematics and Computation* 509: 129636. `DOI:10.1016/j.amc.2025.129636 `_ - +A detailed investigation of the IDE-SECIR model and numerical experiments can be found in |A_nonstandard_numerical_scheme| Infection States ---------------- diff --git a/docs/source/cpp/models/lsecir.rst b/docs/source/cpp/models/lsecir.rst index c2ccb60075..28177ceaf4 100644 --- a/docs/source/cpp/models/lsecir.rst +++ b/docs/source/cpp/models/lsecir.rst @@ -1,3 +1,5 @@ +.. include:: ../../literature.rst + LCT-based SECIR-type model ========================== @@ -13,7 +15,7 @@ Below is a visualization of the infection states and transitions without a strat For a detailed description and application of the model, see: -- Plötzke L, Wendler A, Schmieding R, Kühn MJ. (2024). *Revisiting the Linear Chain Trick in epidemiological models: Implications of underlying assumptions for numerical solutions*. Under review. `https://doi.org/10.48550/arXiv.2412.09140 `_ +- |Revisiting_the_Linear_Chain| - Plötzke L. (2023). *Der Linear Chain Trick in der epidemiologischen Modellierung als Kompromiss zwischen gewöhnlichen und Integro-Differentialgleichungen*. Master's thesis, University of Cologne. `https://elib.dlr.de/200381/ `_ - Hurtado PJ, Kirosingh AS. (2019). *Generalizations of the ‘Linear Chain Trick’: incorporating more flexible dwell time distributions into mean field ODE models*. Journal of Mathematical Biology. `https://doi.org/10.1007/s00285-019-01412-w `_ diff --git a/docs/source/cpp/models/omseirs4.rst b/docs/source/cpp/models/omseirs4.rst index dc6be8e818..937e04b559 100644 --- a/docs/source/cpp/models/omseirs4.rst +++ b/docs/source/cpp/models/omseirs4.rst @@ -1,4 +1,4 @@ -MSEIRS4 model (ODE) +ODE-based MSEIRS4 model (ODE) =================== The ODE-MSEIRS4 module models a pathogen with partial and waning immunity across multiple infection episodes, @@ -39,7 +39,8 @@ All infectious classes (I1..I4) contribute equally to transmission in the basic Infection State Transitions --------------------------- -The model is implemented as a standard CompartmentalModel. The following transitions occur: +The model is implemented as a **CompartmentalModel**, which defines the derivative of the aggregated compartment +values in time. The following transitions occur: - Births enter M and some enter S1 - M → S1 (loss of maternal immunity) diff --git a/docs/source/cpp/models/osecir.rst b/docs/source/cpp/models/osecir.rst index d8a45709c0..993e52b0c0 100644 --- a/docs/source/cpp/models/osecir.rst +++ b/docs/source/cpp/models/osecir.rst @@ -34,9 +34,9 @@ current implementation and detection is only modeled implicitly through detectio Infection State Transitions --------------------------- -The ODE-SECIR model is implemented as **FlowModel**. With just minimal overhead, the **FlowModel** computes the new -transmissions, infections, and hospitalizations explicitly in every time step instead of only computing the aggregated -compartment values. The defined transitions `FromState, ToState` are: +The ODE-SECIR model is implemented as a **FlowModel**, which defines the derivatives of each flow between compartments. +This allows for explicit computation of new transmissions, infections, and hospitalizations. Additionally, the aggregated +compartment values can be computed with minimal overhead. The defined transitions `FromState, ToState` are: .. code-block:: RST diff --git a/docs/source/cpp/models/osecirts.rst b/docs/source/cpp/models/osecirts.rst index 539bff4a16..e9d2b4776c 100644 --- a/docs/source/cpp/models/osecirts.rst +++ b/docs/source/cpp/models/osecirts.rst @@ -1,3 +1,5 @@ +.. include:: ../../literature.rst + ODE-based SECIRTS-type model including multi-layer waning immunity ================================================================== @@ -6,7 +8,9 @@ Like the ODE-SECIRVVS model, the ODE-SECIRTS model has three layers of immunity: Additionally, waning immunity is defined by the parameters ``TimeWaningPartialImmunity``, ``TimeWaningImprovedImmunity``, ``TimeTemporaryImmunityPI``, and ``TimeTemporaryImmunityII``. The parameters ``TimeWaningPartialImmunity`` and ``TimeWaningImprovedImmunity`` represent the (mean) duration after which an individual transitions from one immunity layer to the next weaker one due to waning immunity, assuming no vaccination or recovery from infection has occurred during this period. Similarly, the parameters ``TimeTemporaryImmunityPI`` and ``TimeTemporaryImmunityII`` denote the (mean) duration of temporary immunity following exposure to the virus, either through vaccination or recovery. During this state of temporary immunity, individuals are protected from reinfection and are incapable of transmitting the virus to others. Should individuals previously reside in the naive or partial immunity layer, their stay in the temporary immunity state results in a transition to the next stronger immunity layer. -For more details about the model, we refer to `1 `_. +For more details about the model, we refer to |Novel_travel_time_aware_metapopulation_models|. + +The complete system of equations can be found in the supplementary material: `doi:10.1371/journal.pcbi.1012630.s001 `_. Below is an overview of the model architecture and its compartments. @@ -62,7 +66,7 @@ The model extends the ODE-SECIRVVS model by adding temporary immunity states and Infection State Transitions --------------------------- -The ODE-SECIRTS model is implemented as a **FlowModel**, which computes the flows between compartments explicitly. A key difference from the ODE-SECIRVVS model is that vaccinations in the ODE-SECIRTS model are implemented as flows within the ODE system rather than discrete events. +The ODE-SECIRTS model is implemented as a **FlowModel**, which defines the derivatives of each flow between compartments. A key difference from the ODE-SECIRVVS model is that vaccinations in the ODE-SECIRTS model are implemented as flows within the ODE system rather than discrete events. The model has the following state trnsitions: diff --git a/docs/source/cpp/models/osecirvvs.rst b/docs/source/cpp/models/osecirvvs.rst index c009c6e185..f7ddc7ad12 100644 --- a/docs/source/cpp/models/osecirvvs.rst +++ b/docs/source/cpp/models/osecirvvs.rst @@ -57,7 +57,7 @@ All compartments with the same base state (e.g., ExposedNaive, ExposedPartialImm Infection State Transitions --------------------------- -The ODE-SECIRVVS model is implemented as a **FlowModel**, which computes the flows between compartments explicitly. The model follows the same flow pattern as the basic ODE-SECIR model but with three parallel sets of compartments representing different immunity levels. +The ODE-SECIRVVS model is implemented as a **FlowModel**, which defines the derivatives of each flow between compartments. The model follows the same flow pattern as the basic ODE-SECIR model but with three parallel sets of compartments representing different immunity levels. The key characteristic of this model is that recovered individuals always end up in the improved immunity level, regardless of their starting immunity level. This represents the immunity gained after infection. diff --git a/docs/source/cpp/models/oseir.rst b/docs/source/cpp/models/oseir.rst index 553829504a..77e848231f 100644 --- a/docs/source/cpp/models/oseir.rst +++ b/docs/source/cpp/models/oseir.rst @@ -26,9 +26,9 @@ The model contains the following list of **InfectionState**\s: Infection State Transitions --------------------------- -The ODE-SEIR model is implemented as **FlowModel**. With just minimal overhead, the **FlowModel** computes the new -transmissions, infections, and recoveries explicitly in every time step instead of only computing the aggregated -compartment values. The defined transitions `FromState, ToState` are: +The ODE-SEIR model is implemented as a **FlowModel**, which defines the derivatives of each flow between compartments. +This allows for explicit computation of new transmissions, infections, and recoveries. Additionally, the aggregated +compartment values can be computed with minimal overhead. The defined transitions `FromState, ToState` are: .. code-block:: RST @@ -229,6 +229,7 @@ Additionally, you can export the results to a CSV file: The ODE-SEIR model also provides utility functions to extract specific measures, such as the reproduction number: .. code-block:: cpp + // Calculate R value at a specific time index auto r_at_index = mio::oseir::get_reproduction_number(time_idx, result_sim); diff --git a/docs/source/cpp/models/osir.rst b/docs/source/cpp/models/osir.rst index a98440ec8c..d797e34e92 100644 --- a/docs/source/cpp/models/osir.rst +++ b/docs/source/cpp/models/osir.rst @@ -27,8 +27,8 @@ The model contains the following list of **InfectionState**\s: Infection State transitions --------------------------- -The ODE-SIR model is implemented as a **CompartmentalModel**. In each time step, the model computes the aggregated -compartment values. +The ODE-SIR model is implemented as a **CompartmentalModel**, which defines the derivative of the aggregated compartment +values in time. Sociodemographic Stratification @@ -97,7 +97,7 @@ and all other compartments. .. code-block:: cpp for (auto i = mio::AgeGroup(0); i < nb_groups; i++){ - model.populations[{i, mio::osir::InfectionState::Exposed}] = 1/nb_groups * nb_exp_t0; + model.populations[{i, mio::osir::InfectionState::Infected}] = 1/nb_groups * nb_inf_t0; model.populations[{i, mio::osir::InfectionState::Recovered}] = 1/nb_groups * nb_rec_t0; model.populations.set_difference_from_group_total( @@ -117,7 +117,7 @@ Basic dampings can be added to the ContactPatterns as follows: contact_matrix[0] = mio::ContactMatrix(Eigen::MatrixXd::Constant(nb_groups, nb_groups, 1/nb_groups * cont_freq)); - // Add a uniform damping acress all age groups + // Add a uniform damping across all age groups contact_matrix.add_damping(Eigen::MatrixXd::Constant(nb_groups, nb_groups, 0.7), mio::SimulationTime(30.)); diff --git a/docs/source/cpp/models/ssir.rst b/docs/source/cpp/models/ssir.rst index 4846ae835c..b4b2031cbf 100644 --- a/docs/source/cpp/models/ssir.rst +++ b/docs/source/cpp/models/ssir.rst @@ -14,7 +14,7 @@ Important note on the solution: The numerical integration method is a Euler-Maru Below is an overview of the model architecture and its compartments. -.. image:: https://github.com/SciCompMod/memilio/assets/69154294/8da7f468-4561-45ae-8034-4b54ebf8efa5 +.. image:: https://martinkuehn.eu/research/images/sir.png :alt: SIR_model ===================== ==================================== ===================================================================== diff --git a/docs/source/cpp/models/ssirs.rst b/docs/source/cpp/models/ssirs.rst index be9e8f4dbd..a3c1e28b84 100644 --- a/docs/source/cpp/models/ssirs.rst +++ b/docs/source/cpp/models/ssirs.rst @@ -13,7 +13,7 @@ Important note on the solution: The numerical integration method is an Euler-Mar Below is an overview of the model architecture and its compartments. -.. image:: https://github.com/SciCompMod/memilio/assets/69154294/bdde5ca3-cd7d-4695-8704-03a712c92ff7 +.. image:: https://martinkuehn.eu/research/images/sirs.png :alt: SIR_model +-------------------------------+-----------------------------------------------+--------------------------------------------------------------------------------------------------+ @@ -31,7 +31,7 @@ Below is an overview of the model architecture and its compartments. +-------------------------------+-----------------------------------------------+--------------------------------------------------------------------------------------------------+ An example can be found in the -`examples/ode_sir.cpp `_. +`examples/ode_sir.cpp `_. Overview of the ``ssirs`` namespace: diff --git a/docs/source/cpp/smm.rst b/docs/source/cpp/smm.rst index 2c2b1964a4..e2fb413f75 100644 --- a/docs/source/cpp/smm.rst +++ b/docs/source/cpp/smm.rst @@ -92,7 +92,13 @@ The model has the following parameters: The adoption rate :math:`\gamma^{(k)}_{i,j}` at time :math:`t` is given by -:math:`\gamma^{(k)}_{i,j}(t) = c_{i,j}\frac{i^{(k)}}{N}\cdot\sum_{\tau \in \Psi}\tau_{factor} \cdot \tau_{state}(t)` +.. math:: + + \gamma^{(k)}_{i,j}(t) = + \begin{cases} + c_{i,j}\frac{i^{(k)}}{N}\cdot\sum_{\tau \in \Psi}\tau_{factor} \cdot \tau_{state}(t) & \text{if } \Psi \neq \emptyset\\ + c_{i,j}i^{(k)} & \text{if } \text{otherwise} + \end{cases} and the spatial transition rate at time :math:`t` by diff --git a/docs/source/development.rst b/docs/source/development.rst index a28df8d2d2..c405e3db40 100644 --- a/docs/source/development.rst +++ b/docs/source/development.rst @@ -230,7 +230,7 @@ If using autopep8, e.g., of the Python plugin for Visual Studio Code or VSCodium .. code:: - "python.formatting.autopep8Args": ["--max-line-length", "79", "--experimental"] + "autopep8.args": ["--max-line-length", "79", "--experimental"] to your corresponding ``settings.json``. @@ -354,7 +354,8 @@ The documentation uses `Sphinx `_ and is slightly different syntax than Markdown. A documentation can be found `here `_. This online documentation is generated using `ReadTheDocs `_ and is automatically updated when a pull request is merged into the main branch. Thus, we require you to build the documentation locally to test changes. - +Literature is centrally collected in `literature.rst` and `substitutions `_ +are used to print it wherever needed. Please make sure to have a working python environment with a python version that is compatible with our :doc:`memilio-python packages ` as well as diff --git a/docs/source/faq.rst b/docs/source/faq.rst index 8c0830c4f6..033305917f 100644 --- a/docs/source/faq.rst +++ b/docs/source/faq.rst @@ -1,10 +1,12 @@ FAQ ==== -.. _model-faq: +.. _contact: If your question is not answered in this documentation, feel free to contact martin.kuehn@dlr.de. Alternatively, you can also ask your question in the GitHub repository under the `Discussions `_ section. +.. _model-faq: + What do you mean when talking about a *model* (implementation)? -------------------------------------------------------------------- diff --git a/docs/source/getting_started.rst b/docs/source/getting_started.rst index 076a6c93cd..8f89431976 100644 --- a/docs/source/getting_started.rst +++ b/docs/source/getting_started.rst @@ -63,7 +63,7 @@ Before you can install MEmilio, you need to install some common development tool * **Python:** Required for the Python packages. - * MEmilio is tested daily with Python 3.8 and 3.11. While other versions might also work, we recommend installing the latest version tested daily from the official website `python.org `_. + * MEmilio is tested daily with Python 3.8 and 3.11. While other versions may also work, we recommend using the latest release of either of these. You can download it from the official website `python.org `_. * **C++ Compiler and CMake:** @@ -207,4 +207,4 @@ For the latter, no regular testing is conducted. If you encounter errors, please Further questions ~~~~~~~~~~~~~~~~~~~~~ -If you have any further questions, please take a look at our :doc:`faq` and feel free to contact us via `e-mail `_ or open an issue or discusion on `github `_. +If you have any further questions, please take a look at our :doc:`faq` and feel free to contact us via `e-mail `_ or open an issue or discussion on `github `_. diff --git a/docs/source/index.rst b/docs/source/index.rst index 5f2f90a240..a8dff2648b 100644 --- a/docs/source/index.rst +++ b/docs/source/index.rst @@ -22,7 +22,7 @@ If you use MEmilio, please :doc:`cite our work`. .. note:: - This framework is under active development, as is this documentation. + This framework is under active development, and, thus, obtains constantly new features or models. If you encounter a feature not yet documented, please :ref:`contact us directly `. diff --git a/docs/source/literature.rst b/docs/source/literature.rst new file mode 100644 index 0000000000..30c78b399e --- /dev/null +++ b/docs/source/literature.rst @@ -0,0 +1,65 @@ +.. |MEmilio_citation| replace:: Bicker J, Kerkmann D, Korf S, Ploetzke L, Schmieding R, Wendler AC, Zunker H, Nguyen K, Abele D, Gerstein C, Lenz P, Betz M, Schmidt A, Hannemann-Tamas R, Volmer K, Waßmuth N, Tritzschak H, Richter D, Heger M, Basermann A, Meyer-Hermann M, Hasenauer J, Kühn MJ. (2025). *MEmilio - a High Performance Modular Epidemics Simulation Software*. Available at |MEmilio_github|_ and |MEmilio_elib|_. +.. |MEmilio_github| replace:: https://github.com/SciCompMod/memilio +.. _MEmilio_github: https://github.com/SciCompMod/memilio +.. |MEmilio_elib| replace:: https://elib.dlr.de/213614/ +.. _MEmilio_elib: https://elib.dlr.de/213614/ + +.. |Novel_travel_time_aware_metapopulation_models| replace:: Zunker H, Schmieding R, Kerkmann D, Schengen A, Diexer S, Mikolajczyk R, Meyer-Hermann M, Kühn MJ. (2024). *Novel travel time aware metapopulation models and multi-layer waning immunity for late-phase epidemic and endemic scenarios*. *PLOS Computational Biology* 20(12): e1012630. |Novel_travel_time_aware_metapopulation_models_DOI|_ +.. |Novel_travel_time_aware_metapopulation_models_DOI| replace:: DOI:10.1371/journal.pcbi.1012630 +.. _Novel_travel_time_aware_metapopulation_models_DOI: https://doi.org/10.1371/journal.pcbi.1012630 + +.. |A_nonstandard_numerical_scheme| replace:: Wendler A, Plötzke L, Tritzschak H, Kühn MJ. (2026). *A nonstandard numerical scheme for a novel SECIR integro differential equation-based model with nonexponentially distributed stay times*. *Applied Mathematics and Computation* 509: 129636. |A_nonstandard_numerical_scheme_DOI|_ +.. |A_nonstandard_numerical_scheme_DOI| replace:: DOI:10.1016/j.amc.2025.129636 +.. _A_nonstandard_numerical_scheme_DOI: https://doi.org/10.1016/j.amc.2025.129636 + +.. |Agent-based_modeling_for| replace:: Kerkmann D, Korf S, Nguyen K, Abele D, Schengen A, Gerstein C, Göbbert JH, Basermann A, Kühn MJ, Meyer-Hermann M. (2025). *Agent-based modeling for realistic reproduction of human mobility and contact behavior to evaluate test and isolation strategies in epidemic infectious disease spread*. *Computers in Biology and Medicine* 193: 110269. |Agent-based_modeling_for_DOI|_ +.. |Agent-based_modeling_for_DOI| replace:: DOI:10.1016/j.compbiomed.2025.110269 +.. _Agent-based_modeling_for_DOI: https://doi.org/10.1016/j.compbiomed.2025.110269 + +.. |Hybrid_metapopulation_agent-based| replace:: Bicker J, Schmieding R, Meyer-Hermann M, Kühn MJ. (2025). *Hybrid metapopulation agent-based epidemiological models for efficient insight on the individual scale: A contribution to green computing*. *Infectious Disease Modelling* 10(2): 571-590. |Hybrid_metapopulation_agent-based_DOI|_ +.. |Hybrid_metapopulation_agent-based_DOI| replace:: DOI:10.1016/j.idm.2024.12.015 +.. _Hybrid_metapopulation_agent-based_DOI: https://doi.org/10.1016/j.idm.2024.12.015 + +.. |Graph_Neural_Network_Surrogates| replace:: Schmidt A, Zunker H, Heinlein A, Kühn MJ. (2025). *Graph Neural Network Surrogates to leverage Mechanistic Expert Knowledge towards Reliable and Immediate Pandemic Response*. Submitted for publication. |Graph_Neural_Network_Surrogates_DOI|_ +.. |Graph_Neural_Network_Surrogates_DOI| replace:: arXiv:2411.06500 +.. _Graph_Neural_Network_Surrogates_DOI: https://arxiv.org/abs/2411.06500 + +.. |Revisiting_the_Linear_Chain| replace:: Plötzke L, Wendler A, Schmieding R, Kühn MJ. (2024). *Revisiting the Linear Chain Trick in epidemiological models: Implications of underlying assumptions for numerical solutions*. Mathematics and Computers in Simulation 239, pp. 823-844 (2026). |Revisiting_the_Linear_Chain_DOI|_ +.. |Revisiting_the_Linear_Chain_DOI| replace:: DOI:10.1016/j.matcom.2025.07.045 +.. _Revisiting_the_Linear_Chain_DOI: https://doi.org/10.1016/j.matcom.2025.07.045 + +.. |Risk-mediated_dynamic_regulation| replace:: Zunker H, Dönges P, Lenz P, Contreras S, Kühn MJ. (2025). *Risk-mediated dynamic regulation of effective contacts de-synchronizes outbreaks in metapopulation epidemic models*. *Chaos, Solitons & Fractals* 199:116782. |Risk-mediated_dynamic_regulation_DOI|_ +.. |Risk-mediated_dynamic_regulation_DOI| replace:: DOI:10.1016/j.chaos.2025.116782 +.. _Risk-mediated_dynamic_regulation_DOI: https://doi.org/10.1016/j.chaos.2025.116782 + +.. |Differentially_private_federated_learning| replace:: Kerkouche R, Zunker H, Fritz M, Kühn MJ. (2025) *Differentially private federated learning for localized control of infectious disease dynamics*. arXiv. |Differentially_private_federated_learning_DOI|_ +.. |Differentially_private_federated_learning_DOI| replace:: arXiv:2509.14024v1 +.. _Differentially_private_federated_learning_DOI: https://doi.org/10.48550/arXiv.2509.14024 + +.. |Integrative_Modeling_of_the| replace:: Schmid N, Bicker J , Hofmann AF, Wallrafen-Sam K, Kerkmann D, Wieser A, Kühn MJ, Hasenauer J (2025). *Integrative Modeling of the Spread of Serious Infectious Diseases and Corresponding Wastewater Dynamics*. *Epidemics* 51:100836. |Integrative_Modeling_of_the_DOI|_ +.. |Integrative_Modeling_of_the_DOI| replace:: DOI:10.1016/j.epidem.2025.100836 +.. _Integrative_Modeling_of_the_DOI: https://doi.org/10.1016/j.epidem.2025.100836 + +.. |Integrating_Human_Mobility_Models| replace:: Diallo D, Schoenfeld J, Schmieding R, Korf S, Kühn MJ, Hecking T (2025). *Integrating Human Mobility Models with Epidemic Modeling: A Framework for Generating Synthetic Temporal Contact Networks*. *Entropy* 27(5), 507. |Integrating_Human_Mobility_Models_DOI|_ +.. |Integrating_Human_Mobility_Models_DOI| replace:: DOI:10.3390/e27050507 +.. _Integrating_Human_Mobility_Models_DOI: https://doi.org/10.3390/e27050507 + +.. |Automated_Processing_of_Pipelines| replace:: Memon S, Jadebeck JF, Osthege M, Wendler A, Kerkmann D, et al. (2024). *Automated Processing of Pipelines Managing Now- and Forecasting of Infectious Diseases*. In: 2024 47th MIPRO ICT and Electronics Convention (MIPRO), Opatija, Croatia. IEEE. pp. 1157-1162. |Automated_Processing_of_Pipelines_DOI|_ +.. |Automated_Processing_of_Pipelines_DOI| replace:: DOI:10.1109/MIPRO60963.2024.10569336 +.. _Automated_Processing_of_Pipelines_DOI: https://doi.org/10.1109/MIPRO60963.2024.10569336 + +.. |Regional_opening_strategies_with| replace:: Kühn MJ, Abele D, Binder S, Rack K, Klitz M, et al. (2022). *Regional opening strategies with commuter testing and containment of new SARS-CoV-2 variants in Germany*. *BMC Infectious Diseases* 22(1): 333. |Regional_opening_strategies_with_DOI|_ +.. |Regional_opening_strategies_with_DOI| replace:: DOI:10.1186/s12879-022-07302-9 +.. _Regional_opening_strategies_with_DOI: https://doi.org/10.1186/s12879-022-07302-9 + +.. |Appropriate_relaxation_of_non| replace:: Koslow W, Kühn MJ, Binder S, Klitz M, Abele D, et al. (2022). *Appropriate relaxation of non-pharmaceutical interventions minimizes the risk of a resurgence in SARS-CoV-2 infections in spite of the Delta variant*. *PLOS Computational Biology* 18(5): e1010054. |Appropriate_relaxation_of_non_DOI|_ +.. |Appropriate_relaxation_of_non_DOI| replace:: DOI:10.1371/journal.pcbi.1010054 +.. _Appropriate_relaxation_of_non_DOI: https://doi.org/10.1371/journal.pcbi.1010054 + +.. |Assessment_of_effective_mitigation| replace:: Kühn MJ, Abele D, Mitra T, Koslow W, Abedi M, et al. (2021). *Assessment of effective mitigation and prediction of the spread of SARS-CoV-2 in Germany using demographic information and spatial resolution*. *Mathematical Biosciences* 108648. |Assessment_of_effective_mitigation_DOI|_ +.. |Assessment_of_effective_mitigation_DOI| replace:: DOI:10.1016/j.mbs.2021.108648 +.. _Assessment_of_effective_mitigation_DOI: https://doi.org/10.1016/j.mbs.2021.108648 + +.. |Coupled_Epidemiological_and_Wastewater| replace:: Bicker J, Tomza N, Wallrafen-Sam K, Schmid N, Hofmann A., et al. (2025). *Coupled Epidemiological and Wastwater Modeling at the Urban Scale: A Case Study for Munich*. medRxiv. |Coupled_Epidemiological_and_Wastewater_DOI|_ +.. |Coupled_Epidemiological_and_Wastewater_DOI| replace:: DOI:10.1101/2025.09.25.25336633 +.. _Coupled_Epidemiological_and_Wastewater_DOI: https://doi.org/10.1101/2025.09.25.25336633 diff --git a/docs/source/python/coupling_sbi.rst b/docs/source/python/coupling_sbi.rst index f305b62e5c..d9b5878198 100644 --- a/docs/source/python/coupling_sbi.rst +++ b/docs/source/python/coupling_sbi.rst @@ -8,6 +8,7 @@ and even further enable online training, i.e. generating training data on the sp Most of the important includes for BayesFlow: .. code-block:: python + import numpy as np # ensure the backend is set @@ -21,6 +22,7 @@ Most of the important includes for BayesFlow: import pandas as pd .. code-block:: python + def prior(): """Generates a random draw from the joint prior.""" @@ -34,6 +36,7 @@ Most of the important includes for BayesFlow: Define the simulator function with the MEmilio python model. We will use a simple ODE SIR model for this example. .. code-block:: python + import memilio.simulation as mio import memilio.simulation.osir as osir @@ -118,6 +121,7 @@ Define the simulator function with the MEmilio python model. We will use a simpl test .. code-block:: python + simulator = bf.make_simulator([prior, stationary_SIR]) adapter = ( @@ -132,10 +136,12 @@ Define the simulator function with the MEmilio python model. We will use a simpl ) .. code-block:: python + summary_network = bf.networks.TimeSeriesNetwork(summary_dim=4) inference_network = bf.networks.CouplingFlow() .. code-block:: python + workflow = bf.BasicWorkflow( simulator=simulator, adapter=adapter, @@ -144,11 +150,13 @@ Define the simulator function with the MEmilio python model. We will use a simpl ) .. code-block:: python + history = workflow.fit_online(epochs=100, batch_size=64) Load data, first need to download them using epidata .. code-block:: python + def load_observation_data(date_data_begin: datetime.date, T: int, data_path: str) -> np.ndarray: """Helper function to load cumulative cases and transform them to new cases.""" diff --git a/docs/source/python/m-simulation_common_patterns.rst b/docs/source/python/m-simulation_common_patterns.rst index eeaabf4e9b..8bb10cf38c 100644 --- a/docs/source/python/m-simulation_common_patterns.rst +++ b/docs/source/python/m-simulation_common_patterns.rst @@ -1,4 +1,4 @@ -How to: Common patterns and guidlines +How to: Common patterns and guidelines ========================================== We want to look at some common patterns developers will encounter when extending the ``memilio.simulation`` package and explain how to handle them. diff --git a/docs/source/python/m-simulation_model_usage.rst b/docs/source/python/m-simulation_model_usage.rst index fab7c600d8..00f8b8eb8b 100755 --- a/docs/source/python/m-simulation_model_usage.rst +++ b/docs/source/python/m-simulation_model_usage.rst @@ -144,7 +144,7 @@ pythonic interface. Now you can use the usual data handling options and make use of the easy visualization tools that are part of Python. Some plotting functions specific to MEmilio and created as part of the project are combined in the :doc:`MEmilio Plot Package `. -Additional ressources +Additional resources --------------------- Further examples are provided at `examples/simulation `_. diff --git a/docs/source/python/m-surrogate.rst b/docs/source/python/m-surrogate.rst index 927746f9ca..3ea9e9782d 100644 --- a/docs/source/python/m-surrogate.rst +++ b/docs/source/python/m-surrogate.rst @@ -45,7 +45,7 @@ The package currently provides the following modules: - `tests`: This file contains all tests. ODE-SECIR Simple Model ------------------ +---------------------- The `ode_secir_simple` module provides surrogate models for the basic ODE-SECIR epidemiological model. This model is not stratified by age groups and simulates disease progression through the following compartments: @@ -61,7 +61,7 @@ The `ode_secir_simple` module provides surrogate models for the basic ODE-SECIR For more details on the model structure and parameters, we refer to the ODE-SECIR model documentation. Data Generation -~~~~~~~~~~~~~~ +~~~~~~~~~~~~~~~ The `data_generation.py` module provides functionality to generate training data for the surrogate models by running multiple simulations of the basic ODE-SECIR model with randomized initial conditions. The data generation process involves: @@ -87,7 +87,7 @@ The data generation process can be summarized as follows: 5. Saves the dataset as a pickle file for later use. Network Architectures -~~~~~~~~~~~~~~~~~~~~ +~~~~~~~~~~~~~~~~~~~~~ The `network_architectures.py` module provides different neural network architectures for time series prediction: @@ -107,7 +107,7 @@ The `network_architectures.py` module provides different neural network architec - Particularly efficient for capturing local temporal patterns Model Training and Evaluation -~~~~~~~~~~~~~~~~~~~~~~~~~~~ +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ The `model.py` module provides functionality for: @@ -144,7 +144,7 @@ Example usage: modeltype, model, 'InfectedSymptoms') Hyperparameter Optimization -~~~~~~~~~~~~~~~~~~~~~~~~~ +~~~~~~~~~~~~~~~~~~~~~~~~~~~ The `grid_search.py` and `hyperparameter_tuning.py` modules provide tools for systematic hyperparameter optimization: @@ -164,6 +164,6 @@ The `grid_search.py` and `hyperparameter_tuning.py` modules provide tools for sy - Selection of optimal model configurations SECIR Groups Model ------------------ +------------------ To be added... diff --git a/docs/source/python/python_packages.rst b/docs/source/python/python_packages.rst index 00b345ef84..e9c703a429 100644 --- a/docs/source/python/python_packages.rst +++ b/docs/source/python/python_packages.rst @@ -112,6 +112,7 @@ Installation ------------ Each package provides a `setup.py` script that installs the package and its dependencies. +The dependencies of the individual packages are denoted in their documentation. The installation can be run with the following command (from the directory containing the `setup.py`) .. code-block:: console @@ -127,7 +128,6 @@ For development of code use this command instead pip install -e .[dev] This command allows you to work on the code without having to reinstall the package after a change. It also installs all additional dependencies required for development and maintenance. -The dependencies are denoted in the documentation of each package. Testing ------- diff --git a/docs/source/references.rst b/docs/source/references.rst index 79fa35e2f2..73b37bb1e7 100644 --- a/docs/source/references.rst +++ b/docs/source/references.rst @@ -1,13 +1,19 @@ +.. include:: literature.rst + References =========== -The following gives an overview on (peer-reviewed) publications extending or using MEmilio. If you would like to add a publication, `contact us `. +The following gives an overview on (peer-reviewed) publications extending or using MEmilio. If you would like to add a publication, `contact us `_. Recently submitted publications -------------------------------------- -- Schmidt A, Zunker H, Heinlein A, Kühn MJ. (2025). *Graph Neural Network Surrogates to leverage Mechanistic Expert Knowledge towards Reliable and Immediate Pandemic Response*. arXiv. `arXiv:2411.06500 `_ -- Plötzke L, Wendler A, Schmieding R, Kühn MJ. (2024). *Revisiting the Linear Chain Trick in epidemiological models: Implications of underlying assumptions for numerical solutions*. Accepted for publication. `DOI:10.48550/arXiv.2412.09140 `_ +- |Coupled_Epidemiological_and_Wastewater| + +- |Differentially_private_federated_learning| + +- |Graph_Neural_Network_Surrogates| + Peer-reviewed publications @@ -15,30 +21,32 @@ Peer-reviewed publications **2026** -- Wendler A, Plötzke L, Tritzschak H, Kühn MJ. (2026). *A nonstandard numerical scheme for a novel SECIR integro differential equation-based model with nonexponentially distributed stay times*. *Applied Mathematics and Cmputation* 509: 129636. `DOI:10.1016/j.amc.2025.129636 `_ +- |Revisiting_the_Linear_Chain| + +- |A_nonstandard_numerical_scheme| **2025** -- Zunker H, Dönges P, Lenz P, Contreras S, Kühn MJ. (2025). *Risk-mediated dynamic regulation of effective contacts de-synchronizes outbreaks in metapopulation epidemic models*. *Chaos, Solitons & Fractals* 199:116782. `DOI:10.1016/j.chaos.2025.116782 `_ +- |Risk-mediated_dynamic_regulation| -- Schmid N, Bicker J , Hofmann AF, Wallrafen-Sam K, Kerkmann D, Wieser A, Kühn MJ, Hasenauer J (2025). *Integrative Modeling of the Spread of Serious Infectious Diseases and Corresponding Wastewater Dynamics*. *Epidemics* 51:100836. `DOI:10.1016/j.epidem.2025.100836 `_ +- |Integrative_Modeling_of_the| -- Kerkmann D, Korf S, Nguyen K, Abele D, Schengen A, Gerstein C, Göbbert JH, Basermann A, Kühn MJ, Meyer-Hermann M (2025). *Agent-based modeling for realistic reproduction of human mobility and contact behavior to evaluate test and isolation strategies in epidemic infectious disease spread*. *Computers in Biology and Medicine* 193:110269. `DOI:10.1016/j.compbiomed.2025.110269 `_ +- |Agent-based_modeling_for| -- Diallo D, Schoenfeld J, Schmieding R, Korf S, Kühn MJ, Hecking T (2025). *Integrating Human Mobility Models with Epidemic Modeling: A Framework for Generating Synthetic Temporal Contact Networks*. *Entropy* 27(5), 507. `DOI:10.3390/e27050507 `_ +- |Integrating_Human_Mobility_Models| -- Bicker J, Schmieding R, Meyer-Hermann M, Kühn MJ. (2025). *Hybrid metapopulation agent-based epidemiological models for efficient insight on the individual scale: A contribution to green computing*. *Infectious Disease Modelling* 10(2): 571-590. `DOI:10.1016/j.idm.2024.12.015 `_ +- |Hybrid_metapopulation_agent-based| **2024** -- Zunker H, Schmieding R, Kerkmann D, Schengen A, Diexer S, et al. (2024). *Novel travel time aware metapopulation models and multi-layer waning immunity for late-phase epidemic and endemic scenarios*. *PLOS Computational Biology* 20(12): e1012630. `DOI:10.1371/journal.pcbi.1012630 `_ -- Memon S, Jadebeck JF, Osthege M, Wendler A, Kerkmann D, et al. (2024). *Automated Processing of Pipelines Managing Now- and Forecasting of Infectious Diseases*. In: 2024 47th MIPRO ICT and Electronics Convention (MIPRO), Opatija, Croatia. IEEE. pp. 1157-1162. `DOI:10.1109/MIPRO60963.2024.10569336 `_ +- |Novel_travel_time_aware_metapopulation_models| +- |Automated_Processing_of_Pipelines| **2022** -- Kühn MJ, Abele D, Binder S, Rack K, Klitz M, et al. (2022). *Regional opening strategies with commuter testing and containment of new SARS-CoV-2 variants in Germany*. *BMC Infectious Diseases* 22(1): 333. `DOI:10.1186/s12879-022-07302-9 `_ -- Koslow W, Kühn MJ, Binder S, Klitz M, Abele D, et al. (2022). *Appropriate relaxation of non-pharmaceutical interventions minimizes the risk of a resurgence in SARS-CoV-2 infections in spite of the Delta variant*. *PLOS Computational Biology* 18(5): e1010054. `DOI:10.1371/journal.pcbi.1010054 `_ +- |Regional_opening_strategies_with| +- |Appropriate_relaxation_of_non| **2021** -- Kühn MJ, Abele D, Mitra T, Koslow W, Abedi M, et al. (2021). *Assessment of effective mitigation and prediction of the spread of SARS-CoV-2 in Germany using demographic information and spatial resolution*. *Mathematical Biosciences* 108648. `DOI:10.1016/j.mbs.2021.108648 `_ +- |Assessment_of_effective_mitigation| diff --git a/docs/source/team.rst b/docs/source/team.rst index cfae96b289..3f0f22fc60 100644 --- a/docs/source/team.rst +++ b/docs/source/team.rst @@ -1,3 +1,6 @@ +.. include:: literature.rst + + Team ==== @@ -26,14 +29,14 @@ Martin Kühn studied at University of Cologne, Germany, and Université de Montr .. dropdown:: Selected Publications :animate: fade-in-slide-down - * Schmidt A, Zunker H, Heinlein A, **Kühn MJ**. (2025). *Graph Neural Network Surrogates to leverage Mechanistic Expert Knowledge towards Reliable and Immediate Pandemic Response*. Submitted for publication. `arXiv:2411.06500 `_ - * Wendler AC, Plötzke L, Tritzschak H, **Kühn MJ**. (2025). *A nonstandard numerical scheme for a novel SECIR integro differential equation-based model with nonexponentially distributed stay times*. Accepted for publication. `arXiv:2408.12228 `_ - * Plötzke L, Wendler A, Schmieding R, **Kühn MJ**. (2025). *Revisiting the Linear Chain Trick in epidemiological models: Implications of underlying assumptions for numerical solutions*. Accepted for publication. `DOI:10.48550/arXiv.2412.09140 `_ - * Zunker H, Dönges P, Lenz P, Contreras S, **Kühn MJ**. (2025). Risk-mediated dynamic regulation of effective contacts de-synchronizes outbreaks in metapopulation epidemic models. Chaos, Solitons & Fractals. `DOI:10.1371/journal.pcbi.1012630 `_ - * Schmid N, Bicker J , Hofmann AF, Wallrafen-Sam K, Kerkmann D, Wieser A, **Kühn MJ**, Hasenauer J (2025). *Integrative Modeling of the Spread of Serious Infectious Diseases and Corresponding Wastewater Dynamics*. *Epidemics* 51:100836. `DOI:10.1016/j.epidem.2025.100836 `_ - * Kerkmann D, Korf S, Nguyen K, Abele D, Schengen A, Gerstein C, Göbbert JH, Basermann A, **Kühn MJ**, Meyer-Hermann M (2025). *Agent-based modeling for realistic reproduction of human mobility and contact behavior to evaluate test and isolation strategies in epidemic infectious disease spread*. *Computers in Biology and Medicine* 193:110269. `DOI:10.1016/j.compbiomed.2025.110269 `_ - * Bicker J, Schmieding R, Meyer-Hermann M, **Kühn MJ**. (2025). *Hybrid metapopulation agent-based epidemiological models for efficient insight on the individual scale: A contribution to green computing*. *Infectious Disease Modelling* 10(2): 571-590. `DOI:10.1016/j.idm.2024.12.015 `_ - * Zunker H, Schmieding R, Kerkmann D, Schengen A, Diexer S, ..., **Kühn MJ** (2024). *Novel travel time aware metapopulation models and multi-layer waning immunity for late-phase epidemic and endemic scenarios*. *PLOS Computational Biology* 20(12): e1012630. `DOI:10.1371/journal.pcbi.1012630 `_ + * |Graph_Neural_Network_Surrogates| + * |A_nonstandard_numerical_scheme| + * |Revisiting_the_Linear_Chain| + * |Risk-mediated_dynamic_regulation| + * |Integrative_Modeling_of_the| + * |Agent-based_modeling_for| + * |Hybrid_metapopulation_agent-based| + * |Novel_travel_time_aware_metapopulation_models| .. dropdown:: Links @@ -48,7 +51,7 @@ Martin Kühn studied at University of Cologne, Germany, and Université de Montr Henrik Zunker ^^^^^^^^^^^^^ -.. image:: _static/team/max_mustermann.jpg +.. image:: https://martinkuehn.eu/research/images/henrik.png :alt: Henrik Zunker :width: 150px :align: left @@ -61,9 +64,9 @@ Henrik Zunker is a PhD student at the Institute of Software Technology at the Ge .. dropdown:: Selected Publications :animate: fade-in-slide-down - * **Zunker H**, Dönges P, Lenz P, Contreras S, Kühn MJ. (2025). Risk-mediated dynamic regulation of effective contacts de-synchronizes outbreaks in metapopulation epidemic models. Chaos, Solitons & Fractals. https://doi.org/10.1016/j.chaos.2025.116782 - * Schmidt A, **Zunker H**, Heinlein A, Kühn MJ. (2025). *Graph Neural Network Surrogates to leverage Mechanistic Expert Knowledge towards Reliable and Immediate Pandemic Response*. Submitted for publication. `arXiv:2411.06500 `_ - * **Zunker H**, Schmieding R, Kerkmann D, Schengen A, Diexer S, et al. (2024). *Novel travel time aware metapopulation models and multi-layer waning immunity for late-phase epidemic and endemic scenarios*. *PLOS Computational Biology* 20(12): e1012630. https://doi.org/10.1371/journal.pcbi.1012630 + * |Risk-mediated_dynamic_regulation| + * |Graph_Neural_Network_Surrogates| + * |Novel_travel_time_aware_metapopulation_models| .. dropdown:: Links :animate: fade-in-slide-down @@ -91,8 +94,8 @@ His background is in numerical mathematics, where he studied at the University o .. dropdown:: Selected Publications :animate: fade-in-slide-down - * Kerkmann D, **Korf S**, Nguyen K, Abele D, Schengen A, Gerstein C, Göbbert JH, Basermann A, Kühn MJ, Meyer-Hermann M (2025). *Agent-based modeling for realistic reproduction of human mobility and contact behavior to evaluate test and isolation strategies in epidemic infectious disease spread*. *Computers in Biology and Medicine* 193:110269. `DOI:10.1016/j.compbiomed.2025.110269 `_ - * Diallo D, Schoenfeld J, Schmieding R, **Korf S**, Kühn MJ, Hecking T. (2025). *Integrating Human Mobility Models with Epidemic Modeling: A Framework for Generating Synthetic Temporal Contact Networks*. *Entropy (Basel)* 27(5):507. `DOI:10.3390/e27050507 `_ + * |Agent-based_modeling_for| + * |Integrating_Human_Mobility_Models| .. dropdown:: Links :animate: fade-in-slide-down @@ -117,8 +120,8 @@ Julia Bicker is a PhD student at the Institute of Software Technology at the Ger .. dropdown:: Selected Publications :animate: fade-in-slide-down - * **Bicker J**, Schmieding R, Meyer-Hermann M, Kühn MJ. (2025). *Hybrid metapopulation agent-based epidemiological models for efficient insight on the individual scale: A contribution to green computing*. *Infectious Disease Modelling* 10(2): 571-590. `DOI:10.1016/j.idm.2024.12.015 `_ - * Schmid N, **Bicker J** , Hofmann AF, Wallrafen-Sam K, Kerkmann D, Wieser A, Kühn MJ, Hasenauer J (2025). *Integrative Modeling of the Spread of Serious Infectious Diseases and Corresponding Wastewater Dynamics*. *Epidemics* 51:100836. `DOI:10.1016/j.epidem.2025.100836 `_ + * |Hybrid_metapopulation_agent-based| + * |Integrative_Modeling_of_the| .. dropdown:: Links :animate: fade-in-slide-down @@ -142,8 +145,8 @@ Anna Wendler is a PhD student at the Institute of Software Technology at the Ger .. dropdown:: Selected Publications :animate: fade-in-slide-down - * **Wendler A**, Plötzke L, Tritzschak H, Kühn MJ. (2025). *A nonstandard numerical scheme for a novel SECIR integro differential equation-based model with nonexponentially distributed stay times*. Accepted for publication. `arXiv:2408.12228 `_ - * Plötzke L, **Wendler A**, Schmieding R, Kühn MJ. (2025). *Revisiting the Linear Chain Trick in epidemiological models: Implications of underlying assumptions for numerical solutions*. Accepted for publication. `DOI:10.48550/arXiv.2412.09140 `_ + * |A_nonstandard_numerical_scheme| + * |Revisiting_the_Linear_Chain| .. dropdown:: Links :animate: fade-in-slide-down @@ -169,7 +172,7 @@ Carlotta Gerstein completed her Bachelor's degree in Mathematics at the Universi .. dropdown:: Selected Publications :animate: fade-in-slide-down - * Kerkmann D, Korf S, Nguyen K, Abele D, Schengen A, **Gerstein C**, Göbbert JH, Basermann A, Kühn MJ, Meyer-Hermann M (2025). *Agent-based modeling for realistic reproduction of human mobility and contact behavior to evaluate test and isolation strategies in epidemic infectious disease spread*. *Computers in Biology and Medicine* 193:110269. `DOI:10.1016/j.compbiomed.2025.110269 `_ + * |Agent-based_modeling_for| .. dropdown:: Links :animate: fade-in-slide-down @@ -227,10 +230,10 @@ equation-based models. .. dropdown:: Selected Publications :animate: fade-in-slide-down - * Zunker H, **Schmieding R**, Kerkmann D, Schengen A, Diexer S, et al. (2024). *Novel travel time aware metapopulation models and multi-layer waning immunity for late-phase epidemic and endemic scenarios*. *PLOS Computational Biology* 20(12): e1012630. https://doi.org/10.1371/journal.pcbi.1012630 - * Bicker J, **Schmieding R**, Meyer-Hermann M, Kühn MJ. (2025). *Hybrid metapopulation agent-based epidemiological models for efficient insight on the individual scale: A contribution to green computing*. *Infectious Disease Modelling* 10(2): 571-590. `DOI:10.1016/j.idm.2024.12.015 `_ - * Diallo D, Schoenfeld J, **Schmieding R**, Korf S, Kühn MJ, Hecking T. (2025). *Integrating Human Mobility Models with Epidemic Modeling: A Framework for Generating Synthetic Temporal Contact Networks*. *Entropy (Basel)* 27(5):507. `DOI:10.3390/e27050507 `_ - * Plötzke L, Wendler A, **Schmieding R**, Kühn MJ. (2025). *Revisiting the Linear Chain Trick in epidemiological models: Implications of underlying assumptions for numerical solutions*. Accepted for publication. `DOI:10.48550/arXiv.2412.09140 `_ + * |Novel_travel_time_aware_metapopulation_models| + * |Hybrid_metapopulation_agent-based| + * |Integrating_Human_Mobility_Models| + * |Revisiting_the_Linear_Chain| .. dropdown:: Links :animate: fade-in-slide-down @@ -239,7 +242,7 @@ equation-based models. David Kerkmann -^^^^^^^^^^^^^ +^^^^^^^^^^^^^^ .. image:: _static/team/max_mustermann.jpg :alt: David Kerkmann @@ -255,19 +258,95 @@ He is interested in the development of agent-based models for infectious disease .. dropdown:: Selected Publications :animate: fade-in-slide-down - * **Kerkmann D**, Korf S, Nguyen K, Abele D, Schengen A, Gerstein C, Göbbert JH, Basermann A, Kühn MJ, Meyer-Hermann M (2025). *Agent-based modeling for realistic reproduction of human mobility and contact behavior to evaluate test and isolation strategies in epidemic infectious disease spread*. *Computers in Biology and Medicine* 193:110269. `DOI:10.1016/j.compbiomed.2025.110269 `_ - * Zunker H, Schmieding R, **Kerkmann D**, Schengen A, Diexer S, et al. (2024). *Novel travel time aware metapopulation models and multi-layer waning immunity for late-phase epidemic and endemic scenarios*. *PLOS Computational Biology* 20(12): e1012630. https://doi.org/10.1371/journal.pcbi.1012630 - * Schmid N, Bicker J , Hofmann AF, Wallrafen-Sam K, **Kerkmann D**, Wieser A, Kühn MJ, Hasenauer J (2025). *Integrative Modeling of the Spread of Serious Infectious Diseases and Corresponding Wastewater Dynamics*. *Epidemics* 51:100836. `DOI:10.1016/j.epidem.2025.100836 `_ + * |Agent-based_modeling_for| + * |Novel_travel_time_aware_metapopulation_models| + * |Integrative_Modeling_of_the| .. dropdown:: Links :animate: fade-in-slide-down * `ORCID Profile: 0009-0007-9109-096X `_ + +.. _former_core_developers: + +Former Core Developers +---------------------- + +Daniel Abele +^^^^^^^^^^^^ + +**Research Focus:** Scientific Computing, Software Architecture, Ordinary and Partial Differential Equations + +Daniel Abele is a research software engineer at the Institute of Software Technology at the German Aerospace Center (DLR) and was part of the MEmilio team from its beginnings in 2020 until 2024. As one of its leading software engineers, he contributed to the early architecture of the code, including ODE and agent based models, as well as to the development processes and infrastructure. He left the project to focus on his PhD in numerical simulation of continental ice sheets. + +.. dropdown:: Selected Publications + :animate: fade-in-slide-down + + * |Assessment_of_effective_mitigation| + +.. dropdown:: Links + :animate: fade-in-slide-down + + * `ORCID Profile: 0000-0001-7021-1573 `_ + + +Margrit Klitz +^^^^^^^^^^^^^^ + +.. image:: https://martinkuehn.eu/research/images/margrit.png + :alt: Margrit Klitz + :width: 150px + :align: left + :class: developer-photo + +**Research Focus:** High-Performance Computing, Data Management, Digitalization, Software Development + +Margrit Klitz holds a PhD in mathematics from the University of Bonn. She worked in the High-Performance Computing department at the German Aerospace Center (DLR) before joining the German Center for Neurodegenerative Diseases (DZNE), where she led IT and data management for the Rhineland Study. Since 2025, she heads the group “Digitalisation, Software, and AI” at the Space Agency at DLR. In the MEmilio project, she made the very first commit and supported the team through project coordination, scientific writing, and proposal development for PANDEMOS and LOKI-Pandemics. + +.. dropdown:: Links + :animate: fade-in-slide-down + + * `ORCID Profile: 0000-0003-3657-4180 `_ + + + +Agatha Schmidt +^^^^^^^^^^^^^^ + +.. image:: https://martinkuehn.eu/research/images/agatha.png + :alt: Agatha Schmidt + :width: 150px + :align: left + :class: developer-photo + +**Research Focus:** Machine Learning, Surrogate Modelling, Graph Neural Networks, High-Performance Computing + +Agatha Schmidt completed her Master's degree at the University of Cologne in collaboration with the German Aerospace Center (DLR), where she worked on machine learning-based surrogate models for ODE-based systems. After graduating, she continued her research by writing a paper focused on the application of graph neural networks as surrogate models. She was part of the team from May 2022 to December 2024. + +.. dropdown:: Selected Publications + :animate: fade-in-slide-down + + * |Graph_Neural_Network_Surrogates| + +.. dropdown:: Links + :animate: fade-in-slide-down + + * `ORCID Profile: 0009-0006-5766-8804 `_ + + .. _contributors: -Contributors ------------- +Further Active or Former Contributors +-------------------------------------- + +Paul Johannssen +^^^^^^^^^^^^^^^ + +**Research Focus:** ODE models, Runge-Kutta methods, reproduction numbers. + +Paul Johannssen studied mathematics at the University of Bonn. He worked on the MEmilio project from March 2023 to March 2024 as a working student. In this time, he manually derived and implemented formulas in closed form for the computation of reproduction numbers in the ODE-based SEIR, SECIR, and SECIRVVS models. + We thank all contributors, who have contributed to MEmilio. For a complete list of contributors, please see our `GitHub Contributors page `_. @@ -284,6 +363,7 @@ MEmilio has been developed by and in collaboration with various research institu * **Forschungszentrum Jülich (FZJ)** - Institute of Climate and Energy Systems (ICE-1) and Institute of Bio- und Geosciences: Biotechnology (IBG-1) + .. _acknowledgments: Acknowledgments @@ -298,6 +378,16 @@ MEmilio has been supported by various project grants. Since 2020, MEmilio has be * by the Deutsche Forschungsgemeinschaft (DFG, German Research Foundation) under grant agreement 528702961, * by German Federal Ministry of Education and Research under grant agreement 031L0319A and 031L0319B (Project AIMS). + +.. raw:: html + +
+ + +.. |bmftr| image:: _static/funder/bmftr.jpg + :width: 200px + :alt: Bundesministerium für Forschung, Technologie und Raumfahrt + .. |helmholtz| image:: _static/funder/helmholtz.jpg :width: 200px :alt: Helmholtz Association @@ -318,4 +408,8 @@ MEmilio has been supported by various project grants. Since 2020, MEmilio has be :width: 150px :alt: mFUND -|helmholtz| |bmdv| |mfund| |bmbf| |hdslee| +|bmftr| |helmholtz| |bmdv| |mfund| |bmbf| |hdslee| + +.. raw:: html + +
\ No newline at end of file diff --git a/pycode/memilio-epidata/memilio/epidata/getJHData.py b/pycode/memilio-epidata/memilio/epidata/getJHData.py index 19ec2b67f9..dd0a3bb873 100644 --- a/pycode/memilio-epidata/memilio/epidata/getJHData.py +++ b/pycode/memilio-epidata/memilio/epidata/getJHData.py @@ -1,5 +1,5 @@ ############################################################################# -# Copyright (C) 2020-2024 MEmilio +# Copyright (C) 2020-2025 MEmilio # # Authors: Kathrin Rack # diff --git a/pycode/memilio-generation/memilio/generation/template/template_cpp.txt b/pycode/memilio-generation/memilio/generation/template/template_cpp.txt index 28d9f80042..e33668d1ee 100644 --- a/pycode/memilio-generation/memilio/generation/template/template_cpp.txt +++ b/pycode/memilio-generation/memilio/generation/template/template_cpp.txt @@ -1,5 +1,5 @@ /* -* Copyright (C) 2020-2024 MEmilio +* Copyright (C) 2020-2025 MEmilio * * Authors: Martin Siggel, Daniel Abele, Martin J. Kuehn, Jan Kleinert * diff --git a/pycode/memilio-generation/memilio/generation/template/template_py.txt b/pycode/memilio-generation/memilio/generation/template/template_py.txt index 2ae2f78e5a..d1cc9710c7 100644 --- a/pycode/memilio-generation/memilio/generation/template/template_py.txt +++ b/pycode/memilio-generation/memilio/generation/template/template_py.txt @@ -1,5 +1,5 @@ ############################################################################# -# Copyright (C) 2020-2024 MEmilio +# Copyright (C) 2020-2025 MEmilio # # Authors: Daniel Abele # diff --git a/pycode/memilio-generation/memilio/generation_test/test_data/test_oseir.cpp.txt b/pycode/memilio-generation/memilio/generation_test/test_data/test_oseir.cpp.txt index b419020ba3..edacafb623 100644 --- a/pycode/memilio-generation/memilio/generation_test/test_data/test_oseir.cpp.txt +++ b/pycode/memilio-generation/memilio/generation_test/test_data/test_oseir.cpp.txt @@ -1,5 +1,5 @@ /* -* Copyright (C) 2020-2024 MEmilio +* Copyright (C) 2020-2025 MEmilio * * Authors: Martin Siggel, Daniel Abele, Martin J. Kuehn, Jan Kleinert * diff --git a/pycode/memilio-generation/memilio/generation_test/test_data/test_oseir.py.txt b/pycode/memilio-generation/memilio/generation_test/test_data/test_oseir.py.txt index 3f289a1251..1fd1861e46 100644 --- a/pycode/memilio-generation/memilio/generation_test/test_data/test_oseir.py.txt +++ b/pycode/memilio-generation/memilio/generation_test/test_data/test_oseir.py.txt @@ -1,5 +1,5 @@ ############################################################################# -# Copyright (C) 2020-2024 MEmilio +# Copyright (C) 2020-2025 MEmilio # # Authors: Daniel Abele #