Skip to content

logan14925/RCGAN-MO

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

11 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Paper

This repository is the official implementation of Inverse design of mechanical metamaterials balancing manufacturability and compactness: A case study on lattice cells.

Abstract

Mechanical metamaterials are artificially engineered structures designed to exhibit unique and extraordinary mechanical properties. In recent years, machine learning provides a more efficient and systematic approach enabling inverse design of mechanical metamaterials, which allow for a broader exploration of material properties and support the integration of multifunctionality, significantly speeding up the design process. Despite the many advantages of inverse design, metamaterials often involves a trade-off between competing performance metrics-such as manufacturability and structural compactness. Furthermore, these trade-offs should be dynamically adjusted based on different additive manufacturing conditions. To address this, we proposed a regressional and conditional generative adversarial network based multi-objective (RCGAN-MO) architecture, which simultaneously handles the inverse design and adjustable multi-objective optimization of mechanical metamaterials. The RCGAN-MO includes two trained neural networks: a generator and a predictor, along with a weighted multi-objective optimizer. As a case study, the RCGAN-MO architecture is applied to the inverse design of the relative compressive elastic modulus for a metamaterial, and metamaterials with different weight vector values in the multi-objective optimizer are achieved through 3D printed prototypes. This approach achieves high accuracy and could adjust the importance of manufacturability and compactness, offering a flexible, scalable solution for engineering metamaterials tailored to practical application demands.

File Structure

├── ML/
│   ├── configs/nn.json                     # NN configuration
│   ├── dataset/                            # Training & validation data
│   │   ├── data_for_ml.csv
│   │   └── FEM_val_data.csv
│   └── models/
│       ├── train_config.py                 # Model configuration
│       ├── nn/                             # Forward neural networks
│       │   ├── forward_train.py
│       │   └── forward_eval.py
│       └── gan/                            # RCGAN implementation
│           ├── rcgan_train.py              # GAN training
│           ├── rcgan_eval.py               # GAN evaluation
│           ├── multi-objective_optimizer/  # Multi-objective optimization
│           │   └── gradient_optimization.py
│           └── plot_results/               # Visualization tools
├── Exp_results/output_moduli.csv           # Experimental results
├── figs/gen_img.jpg                        # Generated images
├── PTH_files/                              # Trained models
└── requirements.txt                        # Dependencies

Usage

  1. Training: Run rcgan_train.py for RCGAN model training
  2. Optimization: Use gradient_optimization.py for multi-objective optimization
  3. Evaluation: Execute rcgan_eval.py for model evaluation and visualization

About

Codebase for article:Inverse design of mechanical metamaterials balancing manufacturability and compactness: A case study on lattice cells

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages