VPVT (Variable-periodic Voronoi Tessellation) is a novel bio-inspired optimization method driven by functional requirements, aiming to design porous structures with irregular yet efficient patterns observed in nature. It offers excellent topological control, structural connectivity, and modular extensibility, and is integrated into an efficient multi-objective optimization workflow for performance-driven structural design.
MATLAB 2023b or newer. Older versions may be sufficient but have not been tested. ABAQUS 2024 - Python 3.6. Older versions may be sufficient but have not been tested.
Run VPVT_shared_main.m
with default parameters. The example should begin immediately if all files have been installed correctly.
The code provides a basic VPVT modeling function from basic design variables to mechanical performance. Although the original evolutionary optimization algorithm in the paper, i.e., 'Saccde' code, is not shared here, other similar advanced global optimization methods (e.g., neural network-based or genetic algorithm-based ones) are expected to achieve similar effects after DIY code revisions.
This ABAQUS module is only for the automatic modeling and computation workflow in ABAQUS Command via Python script, which is prepared for the global optimization.
Several typical design variable configurations are listed in VPVT_shared_main.m
for reference.
Typical ABAQUS Python scripts are listed in the directory \py
for different mechanical computations (compliance, buckling, vibration, heat (mass) transfer).
The MATLAB code and ABAQUS workflow are fundamentally independent. The MATLAB code prepares the geometry info as .mat
files in the .\1
directory. Then ABAQUS GUI/NOGUI calls the Python code
for the computation. Afterward, the results are returned back to MATLAB (for later optimization). Due to copyright restrictions, the SaCCDE optimization code used is not open-access here. Interested readers may refer to:
- Surrogate-assisted differential evolution for expensive optimization (SaCCDE): https://doi.org/10.1016/j.ins.2019.08.054
- Surrogate-assisted dynamic population optimization algorithm (SDPOA): http://doi.org/10.1007/s40747-024-01745-0
% Interface function to run ABAQUS simulations via Python script for VPVT structures. % The simulation handles multiple physical objectives, while given MATLAB function saves pre-processed structural data into 'predata.mat', % then calls the appropriate ABAQUS Python script depending on the test mode: % testmode == 1: compliance & buckling analysis (pure short bar model) % testmode == 2: vibration & heat/mass transfer analysis (bio-inspired dragonfly model)
Please cite this code as:
- A novel bio-inspired design method for porous structures: Variable-periodic Voronoi tessellation (https://doi.org/10.1016/j.matdes.2024.113055)
- Bio-inspired flapping wing design via a multi-objective optimization approach based on variable periodic Voronoi tessellation (https://doi.org/10.1016/j.ijmecsci.2025.110160)