Skip to content

Latest commit

 

History

History
81 lines (59 loc) · 3.4 KB

README.md

File metadata and controls

81 lines (59 loc) · 3.4 KB

SIR Model Simulation

Java JavaFX Maven

Description

This project implements a simulation of the SIR (Susceptible, Infected, Recovered) epidemiological model using Java and JavaFX for the graphical interface. The main objective is to provide a visual and interactive tool to observe how different transmission and recovery rates affect the spread of a disease within a population.

The simulation allows adjusting key parameters such as grid size, transmission rate, and recovery rate, showing in real-time the number of susceptible, infected, and recovered individuals over time through dynamic charts.

SIR Model Simulation

Features

  • Intuitive Graphical Interface: The application uses JavaFX to provide a user-friendly and visually appealing experience.
  • Dynamic Parameter Configuration: Users can adjust the transmission rate, recovery rate, and grid size to see how these factors influence the simulation.
  • Real-Time Visualization: A dynamic chart displays changes in the number of susceptible, infected, and recovered individuals as the simulation progresses.
  • Complete Simulation Control: The application allows starting, stopping, and stepping through the simulation, providing detailed control over the process.

Project Structure

src/
│
├── main/
│   ├── java/
│   │   └── dir/
│   │       ├── controller/   # Controllers to handle the logic of the interface and simulation
│   │       ├── model/        # Model defining the rules of the SIR model
│   │       └── view/         # FXML and CSS files for the graphical interface
│   └── resources/            # Resource files such as FXML and stylesheets
└── test/                     # Unit tests for the model and controllers

Installation

  • Clone the repository:
git clone https://github.com/JkVely/SIR-Model.git
cd SIR-Model-Simulation
  • Build the project:
mvn clean install
  • Run the application:
mvn javafx:run

Usage

  • Start the Simulation: Click the "Start" button in the main menu.
  • Configure Parameters: Adjust the sliders and text fields in the right panel to set the transmission rate, recovery rate, and grid size.
  • Control the Simulation: Use the buttons to start, stop, and step through the simulation.

Screenshots

Application Main Menu

Application Main Menu

Simulation Panel (Initial State)

Simulation Panel (Initial State)

Simulation Panel (Grid Generated)

Simulation Panel (Grid Generated)

Simulation Panel (During Simulation)

Simulation Panel (During Simulation)

Simulation Panel (Simulation Completed)

Simulation Panel (Simulation Completed)

Contact

Juan Carlos Quintero - @JkVely - jkquinteror@gmail.com