Skip to content

Commit b7f220f

Browse files
kilianvolmerreneSchmmknaranjaHenrZu
authored
Updates and Fixes in the documentation (#1481)
- Doxyfile was updated to newer version of doxygen - Citations were updated - Fixes to layout and content of documentation Co-authored-by: reneSchm <[email protected]> Co-authored-by: Kühn <[email protected]> Co-authored-by: Henrik Zunker <[email protected]>
1 parent 290368d commit b7f220f

22 files changed

Lines changed: 1010 additions & 700 deletions

CITATION.cff

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
11
cff-version: "1.2.0"
22
message: "If you use this software, please cite it using the metadata below."
3-
title: "MEmilio v2.1.0 - A high performance Modular EpideMIcs simuLatIOn software"
4-
version: "2.1.0"
5-
date-released: "2025-08"
3+
title: "MEmilio v2.2.0 - A high performance Modular EpideMIcs simuLatIOn software"
4+
version: "2.2.0"
5+
date-released: "2025-11"
66
authors:
77
- given-names: "Julia"
88
family-names: "Bicker"
@@ -59,5 +59,5 @@ keywords:
5959
- agent-based modeling
6060
- metapopulation models
6161
- mobility
62-
url: "https://elib.dlr.de/213614/"
62+
url: "https://elib.dlr.de/219141/"
6363
abstract: "MEmilio implements various models for infectious disease dynamics, from simple compartmental (ODE) models through Integro-Differential equation-based (IDE) models (sometimes also denoted 'age of infection models') to agent- or individual-based models (ABMs). Its modular design allows the combination of different models with different mobility patterns. Through efficient implementation and parallelization, MEmilio brings cutting edge and compute intensive epidemiological models to a large scale, enabling a precise and high-resolution spatiotemporal infectious disease dynamics."

README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ MEmilio implements various models for infectious disease dynamics, from simple c
99

1010
If you use MEmilio, please cite our work
1111

12-
- Bicker J, Kerkmann D, Korf S, Plötzke 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/ .
12+
- Bicker J, Kerkmann D, Korf S, Plötzke 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/219141/ .
1313

1414
and, in particular, for
1515

cpp/memilio/io/README.md

Lines changed: 3 additions & 245 deletions
Large diffs are not rendered by default.

cpp/models/sde_seirvv/README.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
# SDE-based SEIR-type model with two variants
22

33
This directory contains a model implementation based on an SDE formulation.
4-
To get started, check out the [official documentation](https://memilio.readthedocs.io/en/latest/cpp/models/sseirvv.html)
5-
or the [code example](../../examples/sde_seirvv.cpp).
4+
To get started, check out the [official documentation](https://memilio.readthedocs.io/en/latest/cpp/models/sseir.html)
5+
or the [code example](../../examples/sde_seir.cpp).

docs/Doxyfile

Lines changed: 882 additions & 358 deletions
Large diffs are not rendered by default.

docs/source/cpp/graph_abm.rst

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ as nodes in a directed graph. One local model represents a geographical region.
99
and via the graph edges follows the same mobility rules that can be handed as argument to ``mio::GraphABModel``.
1010
Therefore this graph-based agent-based (graph-ABM) model can be reduced to a single mobility-based agent-based model if
1111
simulation time steps within the whole graph, i.e. the step size of each node and the step size of the edge exchange, are equal.
12-
Preimplemented mobility rules can be found in `<https://github.com/SciCompMod/memilio/blob/main/cpp/models/abm/mobility_rules.h>`_.
12+
Preimplemented mobility rules can be found in `cpp/models/abm/mobility_rules.h <https://github.com/SciCompMod/memilio/blob/main/cpp/models/abm/mobility_rules.h>`_.
1313
The motivation behind the graph-ABM is to have multiple ABMs run independently from each other in parallel for different regions and only synchronize,
1414
i.e. exchange agents via edges, in fixed time intervals. The synchronization time steps should be bigger than the internal
1515
ABM time steps to reduce communication between nodes as much as possible.
@@ -148,8 +148,8 @@ Below, ``mio::abm::LogInfectionState`` is used as logger.
148148
graph.add_edge(model1.get_id(), model2.get_id());
149149
graph.add_edge(model2.get_id(), model1.get_id());
150150
151-
To simulate the model from `start_date` to `end_date` with given graph step size `exchange_time_span`, a GraphSimulation has to be created.
152-
The step size is used to regularly exchange agents via the graph edges. Advancing the simulation until `end_date` is done as follows:
151+
To simulate the model from ``start_date`` to ``end_date`` with given graph step size ``exchange_time_span``, a GraphSimulation has to be created.
152+
The step size is used to regularly exchange agents via the graph edges. Advancing the simulation until ``end_date`` is done as follows:
153153

154154
.. code-block:: cpp
155155

docs/source/cpp/graph_metapop.rst

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -205,7 +205,7 @@ The following steps detail how to configure and execute a graph simulation:
205205
builder.add_edge(0, 1, 100);
206206
builder.add_edge(1, 0, 100);
207207
builder.add_edge(0, 1, 200);
208-
auto graph = builder.build(true);
208+
auto graph = std::move(builder).build(true); // Builder can not be reused
209209
// graph contains the edges (0, 1, 100) and (1, 0, 100)
210210
211211

docs/source/cpp/models/lsecir2d.rst

Lines changed: 12 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,10 @@
1-
2 Diseases in LCT-based SECIR-type model
1+
Two diseases in LCT-based SECIR-type model
22
==========================
33

4-
| The LCT-SECIR-2-DISEASES model is an extension of the :doc:`model with one disease <lsecir>`.
5-
| The model is ODE-based and uses the Linear Chain Trick to allow for more general Erlang distributed stay times in each compartment instead of just exponentially distributed stay times induced by basic ODE-based models.
6-
| With the SECIR structure the model is particularly suited for pathogens with pre- or asymptomatic infection states and when severe or critical states are possible.
7-
| For the two diseases or variants of one disease :math:`a` and :math:`b` the model assumes no co-infection, a certain independence in the sense that prior infection with one disease does not affect the infection with the other disease (e.g. probability to get infected, time spend in each state, chances of recovery etc.), and perfect immunity after recovery for both diseases.
4+
The LCT-SECIR-2-DISEASES model is an extension of the :doc:`model with one disease <lsecir>`.
5+
The model is ODE-based and uses the Linear Chain Trick to allow for more general Erlang distributed stay times in each compartment instead of just exponentially distributed stay times induced by basic ODE-based models.
6+
With the SECIR structure the model is particularly suited for pathogens with pre- or asymptomatic infection states and when severe or critical states are possible.
7+
For the two diseases or variants of one disease :math:`a` and :math:`b` the model assumes no co-infection, a certain independence in the sense that prior infection with one disease does not affect the infection with the other disease (e.g. probability to get infected, time spend in each state, chances of recovery etc.), and perfect immunity after recovery for both diseases.
88

99

1010
There are two possibilities for a susceptible individual (since we assume no co-infection):
@@ -16,7 +16,7 @@ so the full model is given by the combination of infections :math:`1a`, :math:`2
1616

1717
Below is a visualization of the infection states split into LCT-states and transitions without a stratification according to sociodemographic groups.
1818

19-
.. image:: ""
19+
.. image:: "http://martinkuehn.eu/research/images/lct_2d.png"
2020
:alt: tikz_lct-2d
2121

2222
With infection states for :math:`i \in \{1,2\}, x \in \{a,b\}`:
@@ -98,12 +98,12 @@ The model contains the following list of **InfectionState**\s:
9898
9999
`Recovered_ab`
100100
101-
| It is possible to include subcompartments for the states `E`, `C`, `I`, `H`, and `U`, so compartments
102-
| Exposed_1a, Exposed_2a, Exposed_1b, Exposed_2b,
103-
| InfectedNoSymptoms_1a, InfectedNoSymptoms_2a, InfectedNoSymptoms_1b, InfectedNoSymptoms_2b,
104-
| InfectedSymptoms_1a , InfectedSymptoms_2a, InfectedSymptoms_1b , InfectedSymptoms_2b,
105-
| InfectedSevere_1a, InfectedSevere_2a , InfectedSevere_1b , InfectedSevere_2b,
106-
| InfectedCritical_1a, InfectedCritical_2a, InfectedCritical_1b, and InfectedCritical_2b.
101+
It is possible to include subcompartments for the states `E`, `C`, `I`, `H`, and `U`, so compartments
102+
Exposed_1a, Exposed_2a, Exposed_1b, Exposed_2b,
103+
InfectedNoSymptoms_1a, InfectedNoSymptoms_2a, InfectedNoSymptoms_1b, InfectedNoSymptoms_2b,
104+
InfectedSymptoms_1a , InfectedSymptoms_2a, InfectedSymptoms_1b , InfectedSymptoms_2b,
105+
InfectedSevere_1a, InfectedSevere_2a , InfectedSevere_1b , InfectedSevere_2b,
106+
InfectedCritical_1a, InfectedCritical_2a, InfectedCritical_1b, and InfectedCritical_2b.
107107

108108
The number of subcompartments can be set individually for each compartment.
109109

docs/source/cpp/models/osecirts.rst

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -317,7 +317,7 @@ The model also supports dynamic NPIs based on epidemic thresholds:
317317
dynamic_npis.set_base_value(100'000); // Per 100,000 population
318318
dynamic_npis.set_threshold(200.0, dampings); // Trigger at 200 cases per 100,000
319319
320-
For more complex scenarios, such as real-world venue closures or lockdown modeling, detailed NPIs with location-specific dampings can be implemented. For further details, see the documentation of the :doc:`ODE-SECIR model <cpp/osecir>`
320+
For more complex scenarios, such as real-world venue closures or lockdown modeling, detailed NPIs with location-specific dampings can be implemented. For further details, see the documentation of the :doc:`ODE-SECIR model <osecir>`
321321

322322
Simulation
323323
----------

docs/source/cpp/models/osecirvvs.rst

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
ODE-based SECIR-type model with COVID-19 variants and vaccinations
22
====================================================================
33

4-
This model extends the basic :doc:`ODE-SECIR model <cpp/osecir>`. by adding vaccinations and allowing the implicit modeling of a newly arriving variant that takes hold.
4+
This model extends the basic :doc:`ODE-SECIR model <osecir>`. by adding vaccinations and different immunity levels. Also, this model allows the implicit modeling of a newly arriving variant that takes hold.
55

66
Vaccinations are modeled by adding compartments for partially and fully vaccinated persons. **Partially** and **fully vaccinated** is to be understood in this context as the person having received a first and second vaccine shot as in 2021. Persons that have recovered from the disease are treated as fully vaccinated from that time forward. Vaccinated persons are added on every day of simulation, see parameters ``DailyPartialVaccinations`` and ``DailyFullVaccinations``. All groups can get an infection or get reinfected. Vaccinated persons are less likely to develop symptoms. For example, the probability to develop symptoms when carrying the virus is the base probability from the ODE-SECIR model multiplied with the ``ReducInfectedSymptomsPartialImmunity`` parameter.
77

@@ -277,7 +277,8 @@ After setting the initial populations, you also need to set the vaccination para
277277
num_vaccinations;
278278
}
279279
280-
.. _Nonpharmaceutical Interventions:
280+
.. _Nonpharmaceutical Interventions OSECIRVVS:
281+
281282
Nonpharmaceutical Interventions
282283
-------------------------------
283284

0 commit comments

Comments
 (0)