Skip to content

Latest commit

Β 

History

63 Commits

Folders and files

NameName
Last commit message
Last commit date
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

Nonlinear mechanical metamaterial cloaks

Made with Python Paper arXiv Data GitHub license Badge

Inverse-design of nonlinear mechanical metamaterial cloaks

cloaked_spaghetto.mp4

πŸŒ… Why nonlinear mechanical metamaterial cloaks?

We propose a design strategy that extends mechanical cloaking to the nonlinear regime, bypassing the limitations of traditional methods. By framing cloaking as a behavior-mimicking optimization problemβ€”matching the nonlinear mechanical response of a reference systemβ€”we eliminate the need for explicit analytical solutions or transformation-based approaches. We solve this optimization using the differentiable simulation framework DifFlexMM, specialized here for cloaking applications. Besides accounting for large deformations and contact interactions, our approach brings different design challenges under the same behavior-mimicking formulation, such as shielding against external excitations and creating stress-free target regions.

🚁 Overview

This repository contains the full pipeline used in the paper to design and validate nonlinear mechanical cloaks with rigid units and elastic couplings. Key building blocks include:

Problem definitions live in problems and are paired with notebooks that reproduce each cloaking task and experimental dataset.

πŸ“œ Paper

This repository contains all the code developed for the paper:

G. Bordiga, J.-G. Argaud, A. A. Watkins, V. Tournat, K. Bertoldi. Nonlinear Mechanical Metamaterial Cloaks. Advanced Functional Materials (2025).

Preprint: https://doi.org/10.48550/arXiv.2508.21277

🎯 Solved design problems

Task description Notebooks Data πŸ’Ύ Experiments πŸ§ͺ Video πŸŽ₯
πŸ›‘οΈ Blocking unwanted excitations (dynamic shielding) Shielding
Cloak size sweep
Cloaked
Reference
Cloaked
Reference
adfm73203-sup-0002-movies1.mp4
πŸ«₯ Stress-free regions Stress-free circle Stress-free Stress-free
adfm73203-sup-0003-movies2.mp4
πŸ•³οΈ Static cloaking of voids Heart
Cat
Dolphin
Shamrock
Smile
Kagome
Quads
Reference
Kagome
Reference
Smile void
adfm73203-sup-0004-movies3.mp4
🧱 Static cloaking of rigid inclusions Rigid inclusion Rigid inclusion
heart_shaped_rigid_inclusion.mp4
🌊 Dynamic cloaking of voids Quads Quads
adfm73203-sup-0005-movies4.mp4

πŸ’Ύ Optimization and experimental data

Important

Install the package along with the examples to visualize the data and notebooks.

All data generated or used for the paper can be downloaded from DOI. To access and visualize the data:

  • Download the archive from Zenodo.
  • Extract the contents into the root directory of the repository.
  • Use the notebooks to load and visualize optimization results.
  • Explore experimental results under exp.

Once the data is in place, the folder tree should look like this:

MechanicalMetamaterialCloaks/
β”œβ”€β”€ data/
β”œβ”€β”€ exp/
β”œβ”€β”€ mechanicalmetamaterialcloaks/
β”œβ”€β”€ notebooks/
β”œβ”€β”€ out/
β”œβ”€β”€ problems/
...

⬇️ Installation

MechanicalMetamaterialCloaks only

Assuming you have access to the repo and ssh keys are set up in your GitHub account, you can install the package with

pip install git+ssh://git@github.com/bertoldi-collab/MechanicalMetamaterialCloaks.git

MechanicalMetamaterialCloaks with examples

Clone the repository, cd into the root folder, and install with

pip install -e .

The code has been tested with Python 3.10–3.11 but may work with other versions once the proper dependencies are installed.

🀝 Contributing

Expand here

The dependency management of the project is done via poetry.

To get started:

  • Install poetry.
  • Clone the repository.
  • cd into the root directory and run poetry install. This will create the poetry environment with all the necessary dependencies.
  • If you are using VS Code, search for venv path in the settings and paste ~/.cache/pypoetry/virtualenvs in the venv path field. Then select the poetry environment as the Python environment for the project.

πŸ‘₯ Contributors

Contributor Affiliation Contributions
Giovanni Bordiga Harvard University Research design, simulation & optimization code, data analysis
Jean-Gabriel Argaud MINES Paris – PSL UniversitΓ© / Harvard University Simulation & optimization code, fabrication, experiments, data analysis
Audrey A. Watkins Harvard University Fabrication, experiments, data analysis
Vincent Tournat Harvard University / Le Mans UniversitΓ© Research design, experiments, data analysis
Katia Bertoldi Harvard University Research design, data analysis

πŸ“ Citation

If you use this code in your research or anywhere, please cite the paper:

@article{bordiga2025nonlinear,
		title   = {Nonlinear Mechanical Metamaterial Cloaks},
		author  = {Bordiga, Giovanni and Argaud, Jean-Gabriel and Watkins, Audrey A. and Tournat, Vincent and Bertoldi, Katia},
		year    = {2025},
		journal = {Advanced Functional Materials},
		volume  = {36},
		number  = {28},
		pages   = {e22895},
		doi     = {10.1002/adfm.202522895},
}