This Python application simulates the Desorption Electrospray Ionization (DESI) solvent flow over various fingerprint ridge patterns using the Lattice Boltzmann Method (LBM). It provides a graphical user interface (GUI) for users to adjust simulation parameters and visualise the solvent flow in real-time. The current model is taking into account the fluid properties of the 95:5,Methanol:Water as the solvent system.
- Interactive GUI for adjusting DESI setup and fingerprint surface parameters
- Real-time visualization of solvent flow over the fingerprint surface
- Multiple ridge patterns: parallel lines, wavy lines, and whorls
- Adjustable parameters: spray angle, tip-to-surface distance, spray width, and more
- DESI schematic visualisation
- Wetting factor control for surface interaction simulation
- Added roughness to the fingerprint ridges to simulate real-life fingerprint morphology (NEW FEATURE)
- Added Tau slider to chnage the viscosity of solvents (NEW FEATURE)
- NumPy
- Matplotlib
- PIL (Python Imaging Library)
- Tkinter
- SciPy
- Ensure you have Python 3.x installed on your system.
- Install the required dependencies:
pip install numpy matplotlib pillow scipy
- Clone this repository:
git clone https://github.com/thealchemist26/desi-solvent-flow-simulator.git cd desi-solvent-flow-simulator
Run the script:
python desi_solvent_flow_simulator.py- The main application window and a schematic window will appear.
- Adjust the simulation parameters using the sliders and dropdown menus.
- Click "Initialize Simulation" to start or reset the simulation.
- Use the "Flow Time Step" slider to advance the simulation and observe the flow patterns.
- Fingerprint Ridge Type: Choose between parallel lines, wavy lines, arhc, loop or whorl patterns
- Ridge Pattern Rotation Angle: -180° to 180°
- DESI Sprayer Angle: 1° to 179°
- Tip to Surface Distance: 1mm to 10mm
- Spray Width Factor: 0.5 to 2.0
- Spray Profile Type: Gaussian or uniform
- Wetting Factor: 0.0 to 1.0
- Main window: Color-coded representation of solvent flow velocity
- Optional ridge pattern overlay
- Separate window: DESI emitter setup schematic
- D2Q9 LBM model
- 2D grid (300x100)
- 9 velocity directions
- Relaxation time (tau) = 1.0
- Collision and streaming steps for fluid dynamics
- Simplified wetting model
- Potential performance optimizations for larger simulations
- Opportunity for custom pattern import
Contributions to improve the simulation accuracy, add features, or optimize performance are welcome. Please submit pull requests or open issues for any bugs or suggestions.
[MIT License]
Copyright (c) 2025 Rohith Krishna
Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
Examples:
The GUI of the simulation software

The simulation of DESI sovent flow over a whorl shape ridge pattern of fingerprint

The simulation of DESI sovent flow over a parallel shape ridge pattern of fingerprint

The simulation of DESI sovent flow over a arch shape ridge pattern of fingerprint
The simulation of DESI sovent flow over a loop shape ridge pattern of fingerprint
The simulation of DESI sovent flow over a whorl shape ridge pattern of fingerprint (with roughness enabled) and a spray width of 2 vs 0.5



