Class SEIRModel
java.lang.Object
org.episteme.natural.medicine.epidemiology.SEIRModel
- All Implemented Interfaces:
UniversalDataModel
SEIR (Susceptible-Exposed-Infected-Recovered) epidemic model.
Extends SIR model by adding an Exposed compartment representing individuals who are infected but not yet infectious (latent period).
S → E → I → R dS/dt = -βSI/N dE/dt = βSI/N - ÃÂÆ’E dI/dt = ÃÂÆ’E - γI dR/dt = γI*
Reference:
Zeigler, B. P., Praehofer, H., invalid input: '&' Kim, T. G. (2000). Theory of Modeling and Simulation. Academic Press.
- Since:
- 1.0
- Author:
- Silvere Martin-Michiellot, Gemini AI (Google DeepMind)
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionstatic SEIRModelcovid19Like(int population, int initialCases) COVID-19 like: R0≈2.5, latent ~5d, infectious ~10dgetBeta()Effective reproduction number Râ‚‘ = Râ‚€ Ã S/NgetGamma()doubleInfectious period (1/γ) in daysdoubleLatent period (1/ÃÂÆ’) in daysReturns a unique identifier for the type of data model.intReturns the primary physical values associated with this model.getR0()Basic reproduction number Râ‚€ = β/γgetSigma()getTime()static SEIRModelinfluenzaLike(int population, int initialCases) Influenza like: R0≈1.5, latent ~2d, infectious ~5dstatic SEIRModelmeaslesLike(int population, int initialCases) Measles like: R0≈15, latent ~10d, infectious ~8dvoidreset()Real[][]Run simulation for durationvoidAdvance simulation by dt using Euler methodtoString()Methods inherited from class Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, waitMethods inherited from interface UniversalDataModel
getMetadata, validate
-
Constructor Details
-
SEIRModel
public SEIRModel(int population, int initialExposed, int initialInfected, Quantity<Frequency> transmissionRate, Quantity<Frequency> incubationRate, Quantity<Frequency> recoveryRate) Creates a SEIR model.- Parameters:
population- total populationinitialExposed- initial exposed individualsinitialInfected- initial infectious individualstransmissionRate- β (contacts/time)incubationRate- ÃÂÆ’ (1/latent period)recoveryRate- γ (1/infectious period)
-
-
Method Details
-
getR0
Basic reproduction number R₀ = β/γ -
getEffectiveR
Effective reproduction number Râ‚‘ = Râ‚€ Ã S/N -
getLatentPeriod
public double getLatentPeriod()Latent period (1/ÃÂÆ’) in days -
getInfectiousPeriod
public double getInfectiousPeriod()Infectious period (1/γ) in days -
step
-
simulate
-
reset
public void reset() -
getSusceptible
-
getExposed
-
getInfected
-
getRecovered
-
getTime
-
getPopulation
public int getPopulation() -
getBeta
-
getSigma
-
getGamma
-
toString
-
covid19Like
COVID-19 like: R0≈2.5, latent ~5d, infectious ~10d -
influenzaLike
Influenza like: R0≈1.5, latent ~2d, infectious ~5d -
measlesLike
Measles like: R0≈15, latent ~10d, infectious ~8d -
getModelType
Description copied from interface:UniversalDataModelReturns a unique identifier for the type of data model. Examples: "SPATIAL_GEOMETRY", "ECONOMIC_PORTFOLIO", "ARCHITECTURAL_PLAN".- Specified by:
getModelTypein interfaceUniversalDataModel
-
getQuantities
Description copied from interface:UniversalDataModelReturns the primary physical values associated with this model. This allows generic tools to extract and convert measurements.- Specified by:
getQuantitiesin interfaceUniversalDataModel
-