Class SEIRSModel
java.lang.Object
org.episteme.natural.medicine.epidemiology.SEIRSModel
- All Implemented Interfaces:
UniversalDataModel
SEIRS (Susceptible-Exposed-Infected-Recovered-Susceptible) epidemic model.
Extends SEIR model by allowing loss of immunity, causing recovered individuals to return to the susceptible pool over time.
S → E → I → R → S dS/dt = -βSI/N + ξR dE/dt = βSI/N - ÃÂÆ’E dI/dt = ÃÂÆ’E - γI dR/dt = γI - ξR*
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 SEIRSModelcommonCold(int population, int initialCases) Common cold: ~2 week immunitystatic SEIRSModelcovidWaning(int population, int initialCases) COVID-19 variant with waning immunity (~1 year)getBeta()getGamma()doubleAverage immunity duration 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()getXi()voidreset()static SEIRSModelseasonalFlu(int population, int initialCases) Seasonal flu: ~6 month immunityReal[][]Run simulation for durationvoidAdvance simulation by dttoString()Methods inherited from class Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, waitMethods inherited from interface UniversalDataModel
getMetadata, validate
-
Constructor Details
-
SEIRSModel
public SEIRSModel(int population, int initialExposed, int initialInfected, Quantity<Frequency> transmissionRate, Quantity<Frequency> incubationRate, Quantity<Frequency> recoveryRate, Quantity<Frequency> immunityLossRate) Creates a SEIRS model.- Parameters:
population- total populationinitialExposed- initial exposed individualsinitialInfected- initial infectious individualstransmissionRate- βincubationRate- ÃÂÆ’ (1/latent period)recoveryRate- γ (1/infectious period)immunityLossRate- ξ (1/immunity duration)
-
-
Method Details
-
getR0
Basic reproduction number R₀ = β/γ -
getImmunityDuration
public double getImmunityDuration()Average immunity duration in days -
step
-
simulate
-
reset
public void reset() -
getSusceptible
-
getExposed
-
getInfected
-
getRecovered
-
getTime
-
getPopulation
public int getPopulation() -
getBeta
-
getSigma
-
getGamma
-
getXi
-
toString
-
seasonalFlu
Seasonal flu: ~6 month immunity -
commonCold
Common cold: ~2 week immunity -
covidWaning
COVID-19 variant with waning immunity (~1 year) -
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
-