Crates.io | tsunami_simulation |
lib.rs | tsunami_simulation |
version | 0.1.1 |
source | src |
created_at | 2025-02-26 04:50:38.37789+00 |
updated_at | 2025-02-26 05:57:32.819531+00 |
description | A tsunami evacuation simulation library |
homepage | |
repository | https://github.com/fabhiansan/tsunami_simulation |
max_upload_size | |
id | 1570028 |
size | 83,285,560 |
A Rust library for simulating tsunami evacuation scenarios with multiple agent types and behaviors.
Add this to your Cargo.toml
:
[dependencies]
tsunami_simulation = "0.1.0"
Basic example:
rust
use tsunami_simulation::Simulation;
use std::path::Path;
fn main() -> std::io::Result<()> {
// Initialize simulation with grid and population data
let mut simulation = Simulation::new(
"data/grids/default_grid.asc",
"data/population/default_population.asc"
)?;
// Run simulation steps
while simulation.step() {
println!(
"Step: {} Tsunami Index: {}",
simulation.current_step,
simulation.tsunami_index
);
}
// Export results
std::fs::create_dir_all("output")?;
export_agents_to_geojson(
&simulation.agent_data_collector,
"output/step.geojson"
)?;
Ok(())
}
The simulation requires two ASCII grid files:
The simulation generates:
This project is licensed under the MIT License - see the LICENSE file for details.
Fabhianto Maoludyo (fabhianto.maoludyo@gmail.com)