Skip to content

MahanVeisi8/Diff-MOBO

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

53 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Diff-MOBO

Creative Diffusion Logo


Paper

Title: Diff-MOBO : Diffusion-Guided Multi-Objective Bayesian Optimization for Creative Engineering Design
Authors: Mahan Veisi, Bardiya Kariminia, Navid Ansari, Kevin Tirta Wijaya, Vahid Babaei

Overview

airfoil_diff_opt

results


Quickstart

Option A — CPU-only (surrogate evaluation):

python -m venv .venv && source .venv/bin/activate  # (Windows) .venv\Scripts\activate
pip install -U pip
pip install -r src/optimization_loop/requirements.txt

python src/optimization_loop/outerloop_creation.py \
  --mode surrogate --n_samples 64 \
  --out artifacts/run_$(date +%Y%m%d_%H%M%S)/results.npy

Option B — Full physics (OpenFOAM in Docker):

  1. Load the prebuilt image airfoil_docker.tar and start a container that mounts the repo.
  2. Inside the container, source OpenFOAM and install Python deps once.
  3. From your host, run the outer loop script (it will docker exec to evaluate shapes).

See full steps: Docker/OpenFOAM setup.


Structure

.
├─ notebooks/                   # Experiments and demos (organized by stage)
│   ├─ 00_overview/             # End-to-end workflows
│   ├─ 10_generation/           # Training & sampling diffusion models
│   ├─ 20_evaluation/           # Evaluation and ablations
│   ├─ 30_openfoam/             # CFD coupling demos
│   └─ 90_archive/              # Legacy or alternate experiments
│
├─ src/
│   ├─ diffusion_core/          # Diffusion model (datasets, model, diffusion, utils)
│   ├─ OpenFoam/                # CFD coupling and runner scripts (keep as-is)
│   ├─ optimization_loop/       # Outer loop orchestrator
│   │   ├─ outerloop_creation.py
│   │   └─ docker_openfoam_setup_tutorial_full.md
│   └─ surrogate_models/        # Surrogate models for fast evaluation
│
├─ artifacts/                   # Run outputs, weights, results (Git LFS)
├─ assets/                      # Figures, logos, diagrams
├─ .gitignore
└─ README.md (this file)

Notebooks

If a Kaggle notebook is not accessible, please contact Mahan to grant access.


Installation

python -m venv .venv && source .venv/bin/activate  # (Windows) .venv\Scripts\activate
pip install -U pip
pip install -r src/optimization_loop/requirements.txt

Usage

Outer loop:

python src/optimization_loop/outerloop_creation.py \
  --container airfoil_mount \
  --n_samples 64 \
  --out artifacts/run_$(date +%Y%m%d_%H%M%S)/results.npy \
  --mode openfoam      # or surrogate

Outputs are saved under artifacts/run_YYYYmmdd_HHMMSS/.


Planned Refactor

  • Package modules under airfoil/
  • CLI: airfoil generate, airfoil simulate, airfoil outer-loop
  • Config via Hydra or pydantic
  • Standardized results under artifacts/
  • Testing (dataset shape checks, surrogate round-trip, diffusion sampling)

License

MIT (see LICENSE).

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 2

  •  
  •