Skip to content
IDEALLabPublic

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Latest commit

 

History

2 Commits

Folders and files

Repository files navigation

GLUE

Code for "Constraint-Driven Latent Space Merging for Generative Multidisciplinary Design Optimization" (Computer-Aided Design). The test case is a UAV assembled from pretrained wing, airfoil, fuselage and internals models.

Citation: TBD

Setup

Python 3.11. A GPU is optional.

git clone https://github.com/IDEALLab/glue.git
cd glue
python3.11 -m venv venv
source venv/bin/activate
pip install -r requirements.txt
python utils/test_setup.py
python utils/test_functionality.py

The airfoil model cebgan.tar (the airfoil GAN from IDEALLab) is too large for git. utils/test_functionality.py downloads it from https://huggingface.co/IDEALLab/CEB-GAN-airfoil-GLUE into UAV/subsystems/airfoil_model/. All other models and the cached W&B results are in the repo.

W&B is only needed to train models or pull fresh runs. For that, copy utils/config.env.example to config.env in the repo root and fill in WANDB_API_KEY and WANDB_ENTITY.

Layout

  • UAV/I_alm_gd/: ALM-GD optimization baseline.
  • UAV/I_turbo_igd/: TuRBO with inner gradient descent baseline.
  • UAV/II_train_DD_coordination/: data-driven generative baselines trained on ALM-GD results.
  • UAV/III_train_DF_coordination/: data-free coordination model (the paper's method).
  • UAV/subsystems/: pretrained subsystem models and forward/forward.py, the forward pass every method uses.
  • UAV/geometry/: differentiable PyTorch geometry, plus NumPy versions used for plotting and tests (testing/).
  • UAV/opti_params.py: optimization cases, tolerances and latent scales shared by all methods.
  • UAV/experiments_postprocess/: loads and caches W&B runs (wandb_cache/) and holds the plotting functions.
  • UAV/paper_results_scripts/: entry points for the paper figures and tables.
  • UAV/interactive/: matplotlib slider viewers for the geometry, subsystem models and results.
  • UAV/utils/: small shared helpers.
  • inner_opt_scaling/: toy experiment for the inner-optimizer scaling appendix (see its README).
  • cluster/: Slurm scripts for the ETH Euler cluster (see its README).
  • utils/: setup checks and the airfoil model download.

Paper figures and tables

The scripts in UAV/paper_results_scripts/ read the cached runs in UAV/experiments_postprocess/wandb_cache/ and call the plotting code in UAV/experiments_postprocess/. Most take task names (run with --help to list them, or with no task to run all):

python UAV/paper_results_scripts/run_experiment_eval.py --no-show
python UAV/paper_results_scripts/comparison_grid_plots.py --no-show
python UAV/paper_results_scripts/joint_model_ablation_study.py --no-show
python -m UAV.paper_results_scripts.sn_vs_tolerance_combined_figure --no-show

The inner-optimizer scaling figure and table come from inner_opt_scaling/plot_phase.py.

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages