From 3fd40b25a9e2589edc1ea69b33aa6dacb79cbdb5 Mon Sep 17 00:00:00 2001 From: Kilian Volmer <13285635+kilianvolmer@users.noreply.github.com> Date: Fri, 1 Aug 2025 15:51:22 +0200 Subject: [PATCH 01/18] FIX: typos --- docs/source/cpp/interfaces.rst | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) 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:** From 7739369a5dd61c8a930379d884404fcb00e3faf9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?K=C3=BChn?= Date: Fri, 1 Aug 2025 19:51:12 +0200 Subject: [PATCH 02/18] . --- docs/source/team.rst | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/docs/source/team.rst b/docs/source/team.rst index cfae96b289..5e80d501d5 100644 --- a/docs/source/team.rst +++ b/docs/source/team.rst @@ -264,10 +264,16 @@ He is interested in the development of agent-based models for infectious disease * `ORCID Profile: 0009-0007-9109-096X `_ + +.. _former_core_developers: + +Former Core Developers +---------------------- + .. _contributors: -Contributors ------------- +Further Active or Former Contributors +-------------------------------------- We thank all contributors, who have contributed to MEmilio. For a complete list of contributors, please see our `GitHub Contributors page `_. From 7ca453816ce7ccf071f9401e173b2bca3a1d4912 Mon Sep 17 00:00:00 2001 From: Kilian Volmer <13285635+kilianvolmer@users.noreply.github.com> Date: Tue, 5 Aug 2025 13:16:31 +0200 Subject: [PATCH 03/18] FIX: some typos --- docs/source/cpp/lct.rst | 2 +- docs/source/getting_started.rst | 2 +- docs/source/python/m-simulation_common_patterns.rst | 2 +- docs/source/references.rst | 4 ++-- 4 files changed, 5 insertions(+), 5 deletions(-) diff --git a/docs/source/cpp/lct.rst b/docs/source/cpp/lct.rst index 56cf4a8a98..d1c9d3c7ba 100644 --- a/docs/source/cpp/lct.rst +++ b/docs/source/cpp/lct.rst @@ -45,7 +45,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/getting_started.rst b/docs/source/getting_started.rst index 076a6c93cd..99161fe24b 100644 --- a/docs/source/getting_started.rst +++ b/docs/source/getting_started.rst @@ -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/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/references.rst b/docs/source/references.rst index 79fa35e2f2..4848e63691 100644 --- a/docs/source/references.rst +++ b/docs/source/references.rst @@ -6,7 +6,7 @@ The following gives an overview on (peer-reviewed) publications extending or usi 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 `_ +- 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 `_ @@ -15,7 +15,7 @@ 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 `_ +- 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 `_ **2025** From 69bb05b788b383fa48f2d8e68ba04251cc7a2357 Mon Sep 17 00:00:00 2001 From: Kilian Volmer <13285635+kilianvolmer@users.noreply.github.com> Date: Thu, 7 Aug 2025 15:27:54 +0200 Subject: [PATCH 04/18] FIX: wrong documentation link --- cpp/models/smm/README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) 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 From ccca0d408c62787e00b7a72b50a8a8b5bd3927e2 Mon Sep 17 00:00:00 2001 From: AgathaSchmidt <62878663+AgathaSchmidt@users.noreply.github.com> Date: Thu, 7 Aug 2025 15:51:41 +0200 Subject: [PATCH 05/18] Update team.rst Agatha --- docs/source/team.rst | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) diff --git a/docs/source/team.rst b/docs/source/team.rst index 5e80d501d5..bd1fd9d458 100644 --- a/docs/source/team.rst +++ b/docs/source/team.rst @@ -272,6 +272,23 @@ Former Core Developers .. _contributors: +Agatha Schmidt +^^^^^^^^^^^^^ + +**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 + + * **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 `_ + +.. dropdown:: Links + :animate: fade-in-slide-down + + * `ORCID Profile: 0009-0006-5766-8804 `_ + Further Active or Former Contributors -------------------------------------- From 66b9b93228612e7512ce8d50916a6ad3740e7b23 Mon Sep 17 00:00:00 2001 From: "Abele, Daniel" Date: Fri, 8 Aug 2025 12:00:25 +0200 Subject: [PATCH 06/18] update team.rst Daniel --- docs/source/team.rst | 21 ++++++++++++++++++++- 1 file changed, 20 insertions(+), 1 deletion(-) diff --git a/docs/source/team.rst b/docs/source/team.rst index bd1fd9d458..3235a05a7a 100644 --- a/docs/source/team.rst +++ b/docs/source/team.rst @@ -270,7 +270,23 @@ He is interested in the development of agent-based models for infectious disease Former Core Developers ---------------------- -.. _contributors: +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 + + * 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*. https://doi.org/10.1016/j.mbs.2021.108648 + +.. dropdown:: Links + :animate: fade-in-slide-down + + * `ORCID Profile: 0000-0001-7021-1573 `_ + Agatha Schmidt ^^^^^^^^^^^^^ @@ -289,6 +305,9 @@ Agatha Schmidt completed her Master's degree at the University of Cologne in col * `ORCID Profile: 0009-0006-5766-8804 `_ + +.. _contributors: + Further Active or Former Contributors -------------------------------------- From d3504377b3166bfc5305220740b47c53d9ddc06f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?K=C3=BChn?= Date: Mon, 11 Aug 2025 16:29:28 +0200 Subject: [PATCH 07/18] photo agatha --- docs/source/team.rst | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/docs/source/team.rst b/docs/source/team.rst index 3235a05a7a..e6850307cc 100644 --- a/docs/source/team.rst +++ b/docs/source/team.rst @@ -291,6 +291,12 @@ Daniel Abele is a research software engineer at the Institute of Software Techno 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. From 18e4ab309107f96c50e7b52874be72f583d8ee04 Mon Sep 17 00:00:00 2001 From: Kilian Volmer <13285635+kilianvolmer@users.noreply.github.com> Date: Tue, 12 Aug 2025 14:33:54 +0200 Subject: [PATCH 08/18] FIX: broken link in references --- docs/source/references.rst | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/source/references.rst b/docs/source/references.rst index 4848e63691..27175d8233 100644 --- a/docs/source/references.rst +++ b/docs/source/references.rst @@ -1,7 +1,7 @@ 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 -------------------------------------- From c9d1e2d0b29d53d669496402342c7fc80bd9d958 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?K=C3=BChn?= Date: Wed, 13 Aug 2025 10:21:34 +0200 Subject: [PATCH 09/18] paul --- docs/source/team.rst | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/docs/source/team.rst b/docs/source/team.rst index e6850307cc..6f2090ad34 100644 --- a/docs/source/team.rst +++ b/docs/source/team.rst @@ -317,6 +317,14 @@ Agatha Schmidt completed her Master's degree at the University of Cologne in col 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 `_. .. _collaboration: From 4549237a745315324bef2c1b8406a706d69b52d9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?K=C3=BChn?= Date: Wed, 13 Aug 2025 10:22:30 +0200 Subject: [PATCH 10/18] paul --- docs/source/team.rst | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/source/team.rst b/docs/source/team.rst index 6f2090ad34..38be814c2f 100644 --- a/docs/source/team.rst +++ b/docs/source/team.rst @@ -322,7 +322,7 @@ 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 +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 `_. From 69cb3f84fdeb69bd2519d7829d4f7b17eb3bb2f3 Mon Sep 17 00:00:00 2001 From: Kilian Volmer <13285635+kilianvolmer@users.noreply.github.com> Date: Wed, 13 Aug 2025 15:40:37 +0200 Subject: [PATCH 11/18] FIX: typos --- cpp/models/lct_secir/README.md | 2 +- docs/source/cpp/model_creation.rst | 2 +- docs/source/python/m-simulation_model_usage.rst | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) 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/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/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 `_. From 820ff35911df62f34575132b745ecdb61ff4ba34 Mon Sep 17 00:00:00 2001 From: Kilian Volmer <13285635+kilianvolmer@users.noreply.github.com> Date: Wed, 13 Aug 2025 16:59:11 +0200 Subject: [PATCH 12/18] FIX: some typos/errors --- cpp/models/ode_sir/README.md | 2 +- cpp/models/sde_sirs/README.md | 2 +- docs/source/cpp/models/osir.rst | 4 ++-- docs/source/cpp/models/ssirs.rst | 2 +- 4 files changed, 5 insertions(+), 5 deletions(-) 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/docs/source/cpp/models/osir.rst b/docs/source/cpp/models/osir.rst index 5ed0531050..b45283321e 100644 --- a/docs/source/cpp/models/osir.rst +++ b/docs/source/cpp/models/osir.rst @@ -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/ssirs.rst b/docs/source/cpp/models/ssirs.rst index be9e8f4dbd..8337acb875 100644 --- a/docs/source/cpp/models/ssirs.rst +++ b/docs/source/cpp/models/ssirs.rst @@ -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: From 2fb9e6f8ad1b95b599fab80957cd68902edc357e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?K=C3=BChn?= Date: Fri, 15 Aug 2025 11:21:25 +0200 Subject: [PATCH 13/18] margrit --- docs/source/team.rst | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) diff --git a/docs/source/team.rst b/docs/source/team.rst index 38be814c2f..d2e8c79aa6 100644 --- a/docs/source/team.rst +++ b/docs/source/team.rst @@ -288,6 +288,26 @@ Daniel Abele is a research software engineer at the Institute of Software Techno * `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 2024, 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 ^^^^^^^^^^^^^ From f67d126cb99f423abdffb45ce22465210765ed79 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?K=C3=BChn?= Date: Fri, 15 Aug 2025 11:27:42 +0200 Subject: [PATCH 14/18] . --- docs/source/team.rst | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/source/team.rst b/docs/source/team.rst index d2e8c79aa6..036c58d74d 100644 --- a/docs/source/team.rst +++ b/docs/source/team.rst @@ -299,7 +299,7 @@ Margrit Klitz **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 2024, 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. +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 From a2f8e372a1212fc65edf91d6c0c94e52548a0294 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?K=C3=BChn?= Date: Fri, 15 Aug 2025 14:32:07 +0200 Subject: [PATCH 15/18] bmftr --- docs/source/_static/funder/bmftr.jpg | Bin 0 -> 71259 bytes docs/source/team.rst | 4 ++++ 2 files changed, 4 insertions(+) create mode 100644 docs/source/_static/funder/bmftr.jpg diff --git a/docs/source/_static/funder/bmftr.jpg b/docs/source/_static/funder/bmftr.jpg new file mode 100644 index 0000000000000000000000000000000000000000..94727069bbe29228aad1567f8399c3a89b714e64 GIT binary patch literal 71259 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≤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 Date: Tue, 19 Aug 2025 12:12:04 +0200 Subject: [PATCH 16/18] Add employee of the year --- docs/source/team.rst | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/source/team.rst b/docs/source/team.rst index 205a9f3dba..4367f193f6 100644 --- a/docs/source/team.rst +++ b/docs/source/team.rst @@ -48,7 +48,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 From 322c415bcff1dc4884f33ba14860eff84b89acd5 Mon Sep 17 00:00:00 2001 From: Carlotta Gerstein Date: Thu, 28 Aug 2025 13:00:34 +0200 Subject: [PATCH 17/18] correct setting of autopep8 --- docs/source/development.rst | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/source/development.rst b/docs/source/development.rst index a28df8d2d2..d8ab0e3d5e 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``. From 8e0ae886d0f2d43c1dee8168c501cb60e9fa0238 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?K=C3=BChn?= Date: Thu, 18 Sep 2025 11:07:05 +0200 Subject: [PATCH 18/18] refs2 --- docs/source/citation.rst | 2 +- docs/source/references.rst | 6 +++++- 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/docs/source/citation.rst b/docs/source/citation.rst index 674774dffe..7717955554 100644 --- a/docs/source/citation.rst +++ b/docs/source/citation.rst @@ -12,6 +12,6 @@ and, in particular, for - **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 `_ +- **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*. Mathematics and Computers in Simulation 239, pp. 823-844 (2026). `DOI:10.1016/j.matcom.2025.07.045 `_ - **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 `_ diff --git a/docs/source/references.rst b/docs/source/references.rst index 27175d8233..dbc983612d 100644 --- a/docs/source/references.rst +++ b/docs/source/references.rst @@ -6,8 +6,10 @@ The following gives an overview on (peer-reviewed) publications extending or usi Recently submitted publications -------------------------------------- +- Kerkouche R, Zunker H, Fritz M, Kühn MJ. (2025) *Differentially private federated learning for localized control of infectious disease dynamics*. arXiv. `arXiv:2509.14024v1 `_ + - 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 `_ + Peer-reviewed publications @@ -15,6 +17,8 @@ Peer-reviewed publications **2026** +- 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). `DOI:10.1016/j.matcom.2025.07.045 `_ + - 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 `_ **2025**