Pogona – Macroscopic Molecular Communication
The Pogona simulator was built to efficiently simulate the movement of particles through macroscopic fluid environments. Our project partners in Erlangen built a testbed based on tubes with a diameter of 1.52 mm and magnetic nanoparticles (superparamagnetic iron oxide nanoparticles, SPIONs). This testbed acted as our ground truth and basis for validation. Conceptually, the Pogona simulator uses pre-comptued vector fields simulated with the CFD simulator OpenFOAM. Since we assume laminar flow, we can reuse the same vector field for each tube segment depending on the current flow rate. To simulate the movement of particles, we then let them follow the direction of the vector fields.
My Contributions
Among others:
- A YAML-based configuration system that supports nested simulation components, validation, and inheritance from other configuration files.
- A Blender add-on for configuring scenes that can be exported to compatible YAML files, as well as for progressively visualizing simulation outputs as they happen.
- Implementation of several sensor models, modulation schemes, and numerical integration methods
- The documentation
- Translation of the openfoamparser Python package to Rust → crates.io. This served as the basis for first a student semester project of three members and then a bachelor's and a master's thesis migrating the Pogona concept to Rust. They named their Simulator Rogona.
Links:
Technologies used:
- Python
- Rust
- Blender