Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Appearance settings

lizy20/VPVT_shared

Open more actions menu

Repository files navigation

VPVT Bio_inspired Densign (Optimization)

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.

Requirements

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.

Quick Start

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.

Features

Parallelization

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).

Workflow

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:

ABAQU Comptutaion scripts

% 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)

Citation

Please cite this code as:

Releases

Packages

Contributors

Languages

Morty Proxy This is a proxified and sanitized view of the page, visit original site.