Gelöste Aufgaben/COVI

Aus numpedia
Zur Navigation springen Zur Suche springen


Aufgabenstellung

Als Ingenieure können wir die COVID-19-Epidemie genauso modellieren, wie technische Systeme.

Wir brauchen dazu "Koordinaten" - also Messgrößen - die die Anzahl der Individuen erfassen, die

  • ansteckbar "a",
  • infiziert "i" - mit und ohne Sympthome - und
  • genesen "r"

sind. Für jede dieser Koordinaten müssen wir nun "Bewegungsgleichungen" - also z.B. Differentialbeziehungen in der Zeit - hinschreiben.

Das nennen wir "Modellbildung".

🧨 Dies ist kein zuverlässiges Prognosewerkzweug:
Hier geht es um die Modellierung
  • der zeitlichen Zusammenhänge,
  • die Interpretation der Zustandsgrößen des Systems und
  • das Verständnis der Abläufe bei der Verbreitung des Virus in Abhängigkeit von zentralen Systemparametern.
Das Modell ist nicht dafür gemacht, um daraus quantitative Schlussfolgerungen zu ziehen.

Diese algebraischen und Differentialgleichungen sind dabei nicht das Ergebnis von Gleichgewichtsbeziehungen wie in der Technischen Mechanik. Wir begnügen uns statt dessen damit, Phänomene der Epidemie mit unserer Mathematik zu erfassen.

Numerische Lösung der COVID-19 Pandemmie als Anfangswertproblem.

Und so gehen wir vor:

Wir modellieren eine Grundgesamtheit von n0 = 80 Millionen Individuen.

Die Pandemie soll bei einer Durchseuchung von α=50% zum Stillstand kommen - die Individuen sind dann so weit voneinander entfernt, dass eine Ansteckung unwahrscheinlich ist.

Zum Zeitpunkt t0=0 seien von insgesamt i0 Individuen mit

infiziert.

Header

Wir lösen hier das Anfangswertproblem zu nichtlinearen Bewegungsgleichungen. Diese Gleichungen haben wir nicht - wir entwickeln sie ad-hoc und achten nur darauf, zentrale Phänomene abzubilden. Eine Abbildung der realen Zahlen ist nicht beabsichtigt.


1+1+=2





Lösung mit Maxima

Header
/*******************************************************/
/* declare variational variables */
declare("δW", alphabetic); /* virtual work */
declare("δA", alphabetic); /* virtual work of implied external forces */
declare("δΠ", alphabetic); /* virtual strain energy */
declare("δu", alphabetic); /* variation of u */
declare("δw", alphabetic);
declare("δφ", alphabetic);
declare("δη", alphabetic);
declare("δθ", alphabetic);
declare("λ" , alphabetic); /* otherwise, this is the lambda fct. */
declare("μ" , alphabetic);
declare("Δr", alphabetic); /*displacement of material point [x,y,z] */
declare("δΔr",alphabetic); /* variation of Δr */
declare("δZ", alphabetic); /* variation of strain */
 
/*******************************************************/
/* parameters */
/* abbreviate: */
geometry  : [h^3 = 12*I[y]/b, b^3 = 12*I[z]/h, b = A/h];
/* Lame's Constants                                */
/* see https://en.wikipedia.org/wiki/Hooke%27s_law */
lameConst : [λ = e*nu/((1+nu)*(1-2*nu)), μ = e/(2*(1+nu))];
 
/* relation: hook's law, modulus of elasticity     */
/* see https://en.wikipedia.org/wiki/Hooke%27s_law */
E :  matrix([2*μ+λ,     λ,     λ,  0,  0,  0],
            [    λ, 2*μ+λ,     λ,  0,  0,  0],
            [    λ,     λ, 2*μ+λ,  0,  0,  0],
            [    0,     0,     0,  μ,  0,  0],
            [    0,     0,     0,  0,  μ,  0],
            [    0,     0,     0,  0,  0,  μ]);
 
/* Strain Displacement Relation */
/* see https://en.wikipedia.org/wiki/Hooke%27s_law */
StrainDispl(arg) := [epsilon[x,x] =      diff(arg[1],x),
                     epsilon[y,y] =      diff(arg[2],y),
                     epsilon[z,z] =      diff(arg[3],z),
                     epsilon[x,y] = 1/2*(diff(arg[1],y) + diff(arg[2],x)),
                     epsilon[x,z] = 1/2*(diff(arg[1],z) + diff(arg[3],x)),
                     epsilon[y,z] = 1/2*(diff(arg[2],z) + diff(arg[3],y))];