An end-to-end computational framework and interactive web suite for designing, simulating, and optimizing Four-Stage Passive Microfluidic Blood Cell Filters using Deterministic Lateral Displacement (DLD) and Deep Learning Surrogate Models.
By replacing hours of computationally expensive Navier-Stokes Computational Fluid Dynamics (CFD) simulations with sub-millisecond neural surrogate inference, this system performs multi-objective design space exploration to yield purified plasma and enriched cellular hematocrit fractions for downstream disease screening pipelines.
Blood plasma separation is a foundational step in point-of-care diagnostics (POCT) and personalized medicine. Passive microfluidic devices filter red blood cells (RBCs), white blood cells (WBCs), and platelets from whole blood without external pumps or centrifuges by exploiting micro-hydrodynamic phenomena such as the Zweifach-Kung effect, hydrodynamic filtration, and Deterministic Lateral Displacement (DLD).
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ 4-Stage Microfluidic DLD โ
Whole Blood โ โโโโโโโโโโโ โโโโโโโโโโโ โโโโโโโโโโโ โโโโโโโโโโโ โ Purified Plasma
===========> โ โ Stage 1 โ==>โ Stage 2 โ==>โ Stage 3 โ==>โ Stage 4 โ===> =================>
(20 mL) โ โโโโโโโโโโโ โโโโโโโโโโโ โโโโโโโโโโโ โโโโโโโโโโโ โ (Sub-2 Min)
โโโโโโโโโโโโโโโโโโโโโโโฌโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ
โผ Enriched Hematocrit
โโโโโโโโโโโโโโโโโโโโโโโ
โ Diagnostic Screeningโ
โโโโโโโโโโโโโโโโโโโโโโโ
While traditional microfluidic optimization requires full 3D CAD modeling and iterative finite-volume meshing in OpenFOAM (taking 4โ12 hours per evaluation), Part 2 introduces:
- Real CFD Training Data Integration: Replaces synthetic/mock physics models with OpenFOAM CFD velocity fields and particle trajectory datasets.
-
Four-Stage DLD Architecture: Features multi-tiered pillar arrays with progressive pillar diameters, row offsets (
$\Delta \lambda$ ), and critical cutoff sizes ($D_c$ ). - Sub-2-Minute Whole Blood Processing: Achieves 84.74% plasma purity and 72.67% plasma recovery for a 20 mL sample in under two minutes.
-
Dual Diagnostic Pipeline:
- Cellular Hematocrit Fraction: Direct feed into diagnostic ML models for predicting anemia, sickle cell disease, leukemia, and malaria.
- Purified Plasma Fraction: Direct feed into proteomic and pharmacokinetic profiling models for drug dosage determination across 7 target conditions.
graph TD
subgraph Client Suite [React 19 Interactive Dashboard]
UI[Interactive 2D/3D Visualizer]
OptEngine[Client-Side Surrogate & Random Search]
Gemini[Gemini AI Engineering Rationale]
PerfCharts[Recharts Performance Analytics]
end
subgraph Machine Learning Pipeline [Surrogate Trainer]
Notebook[Jupyter Optimization Notebook]
Optuna[Optuna Hyperparameter Tuner]
SurrModel[XGBoost / LightGBM / Neural Net]
end
subgraph Data & Physical Verification [CFD Engine]
OpenFOAM[OpenFOAM Multi-Phase CFD Solvers]
Datasets[CSV Feature Datasets]
Plots[Flow & Mesh Field Snapshots]
end
UI -->|Adjust Parameters| OptEngine
OptEngine -->|Sub-ms Predictions| UI
UI -->|Telemetry & Metrics| Gemini
Gemini -->|Physics Rationale| UI
OpenFOAM -->|CFD Simulation Data| Datasets
Datasets -->|Train & Validate| Notebook
Notebook -->|Hyperparameter Search| Optuna
Optuna -->|Optimal Weights| SurrModel
SurrModel -->|Model Exports| OptEngine
microfluidic_device_part_2/
โโโ .gitignore # Excludes manuscripts, binaries, and temporary files
โโโ LICENSE # MIT License (Freely available contribution license)
โโโ README.md # Project documentation
โโโ requirements.txt # Python machine learning & data science dependencies
โโโ data/ # OpenFOAM CFD datasets & surrogate training metrics
โ โโโ comprehensive_field_dataset.csv
โ โโโ microfluidics_field_dataset.csv
โ โโโ plasma_ml_dataset.csv
โโโ designer/ # Web Application (React 19 + TypeScript + Vite 6)
โ โโโ index.html # Main entry HTML
โ โโโ package.json # NPM dependencies & scripts
โ โโโ tsconfig.json # TypeScript configuration
โ โโโ vite.config.ts # Vite build configuration
โ โโโ App.tsx # Dashboard layout & state orchestrator
โ โโโ types.ts # Type definitions for geometry & surrogate metrics
โ โโโ components/ # UI Components
โ โ โโโ DeviceVisualizer.tsx # Canvas/SVG microfluidic pillar geometry renderer
โ โ โโโ GeminiAnalysis.tsx # AI-driven physics rationale & diagnostic agent
โ โ โโโ InteractiveSimulation.tsx # Dynamic fluid flow & particle trajectory simulator
โ โ โโโ OptimizerControl.tsx # Multi-parameter slider & search control panel
โ โ โโโ PerformanceCharts.tsx # Purity, recovery, and pressure drop visualization
โ โ โโโ ResultsDisplay.tsx # Optimization summary metrics & diagnostic panel
โ โ โโโ common/ # Shared UI components
โ โโโ services/ # Application Services
โ โโโ geminiService.ts # Google Gemini API integration for physics reasoning
โ โโโ optimizationService.ts # Client-side surrogate modeling & search algorithms
โโโ docs/ # Project visual documentation & schematics
โ โโโ flowcharts/ # Flowcharts detailing 4-stage DLD pipeline & ML workflow
โ โโโ simulations/ # OpenFOAM CFD velocity fields & pillar displacement plots
โโโ notebooks/ # Jupyter Notebooks
โโโ ml_surrogate_optimization.ipynb # Model training, Optuna tuning, and evaluationNote: Scientific manuscript PDFs and LaTeX source drafts are intentionally excluded from this source distribution to maintain a clean, code-focused repository.
In a pillar array with pillar gap
where
The optimization engine evaluates design candidates across 3,000 iterations using the multi-objective objective function:
-
$w_1 = 0.50$ (Plasma Purity weight) -
$w_2 = 0.30$ (Plasma Recovery weight) -
$w_3 = 0.20$ (Normalized Pressure Drop penalty)
| Parameter / Metric | Initial Design (Part 1 Base) | Optimized 4-Stage DLD (Part 2) | Unit |
|---|---|---|---|
| Separation Stages | 1 Stage | 4 Progressive Stages | - |
| Pillar Diameter ( |
|||
| Channel Width ( |
|||
| Plasma Purity | 76.2% | 84.74% | % |
| Plasma Recovery | 61.5% | 72.67% | % |
| Processed Volume | 5 mL | 20.0 mL | mL |
| Processing Time | 12.5 min | < 1.95 min | min |
| Pressure Drop ( |
kPa | ||
| Evaluation Time | 4.5 hours (CFD) | 0.82 ms (Surrogate) | per run |
Ensure your system meets the following prerequisites before running the project:
- Python:
v3.10or higher - Node.js:
v18.0.0or higher - npm:
v9.0.0or higher - Jupyter Notebook / JupyterLab
# 1. Clone the repository
git clone https://github.com/Runtime-Slayers/ai-microfluidic-plasma-separator.git
cd ai-microfluidic-plasma-separator
# 2. Create and activate a virtual environment
python3 -m venv venv
source venv/bin/activate # On Windows use: venv\Scripts\activate
# 3. Install required Python packages
pip install -r requirements.txt
# 4. Launch Jupyter Notebook
jupyter notebook notebooks/ml_surrogate_optimization.ipynb# Navigate to the web application folder
cd designer
# Install NPM packages
npm install
# (Optional) Create .env.local to enable Gemini AI Rationale Engine
echo "VITE_GEMINI_API_KEY=your_api_key_here" > .env.local
# Launch local development server
npm run devOpen your browser and navigate to http://localhost:5173.
The microfluidic device separates whole blood into two streams:
- Hematocrit Fraction Channel:
- Evaluates RBC morphology, cell counts, and deformation.
- Screened Diseases: Anemia, Sickle Cell Disease, Leukemia, Malaria.
- Purified Plasma Fraction Channel:
- Evaluates protein concentrations, enzymatic assays, and metabolic markers.
- Screened Diseases: Chronic Kidney Disease (CKD), Sepsis, Cardiac Disease / Troponin-I, Diabetes Mellitus.
- Pharmacokinetic & Pharmacodynamic dosing recommendation models.
This repository is released under the MIT License, making it freely available for academic research, industrial prototyping, and open-source contributions.
Contributions are welcomed! Suggested areas for contribution:
- Additional OpenFOAM mesh geometries and particle transport CFD solver scripts.
- Deep Learning model architectures (e.g., Graph Neural Networks / Physics-Informed Neural Networks).
- UI component extensions in the React application (
designer/).
To contribute:
- Fork the Repository.
- Create a feature branch (
git checkout -b feature/AmazingFeature). - Commit your changes (
git commit -m 'Add AmazingFeature'). - Push to the branch (
git push origin feature/AmazingFeature). - Open a Pull Request.
- Bhavanam Rajendra
- Boddu Saran (saran.boddu777@gmail.com)
- Muthu Raman Ramanathan
- Palakurthi K S S S S Srihari Likith
Amrita School of Artificial Intelligence, Coimbatore
Amrita Vishwa Vidyapeetham, India