Inverse-design of nonlinear mechanical metamaterial cloaks
cloaked_spaghetto.mp4
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.
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:
- π§© Geometry parametrizations for cloaks and inclusions (mechanicalmetamaterialcloaks/geometry.py).
- π Elastic energy models for ligaments and interactions (mechanicalmetamaterialcloaks/energy.py).
- π₯ Differentiable dynamic solver for forward simulation (mechanicalmetamaterialcloaks/dynamics.py).
- π§ Loading, actuation, and boundary conditions (mechanicalmetamaterialcloaks/loading.py).
- π Visualization utilities (mechanicalmetamaterialcloaks/plotting.py).
Problem definitions live in problems and are paired with notebooks that reproduce each cloaking task and experimental dataset.
This repository contains all the code developed for the paper:
Preprint: https://doi.org/10.48550/arXiv.2508.21277
| 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 |
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
.
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/
...
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.gitClone 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.
Expand here
The dependency management of the project is done via poetry.
To get started:
- Install poetry.
- Clone the repository.
cdinto the root directory and runpoetry install. This will create the poetry environment with all the necessary dependencies.- If you are using VS Code, search for
venv pathin the settings and paste~/.cache/pypoetry/virtualenvsin thevenv pathfield. Then select the poetry environment as the Python environment for the project.
| 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 |
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},
}