Skip to content
/ GEFEST Public

Toolbox for the generative design of geometrically-encoded physical objects using numerical modelling and evolutionary optimization

License

Notifications You must be signed in to change notification settings

aimclub/GEFEST

Repository files navigation

Logo of GEFEST framework

package
tests
Build Status
docs Documentation Status
license
Supported Python Versions
support
gitlab
GitLab mirror for this repository
funding

GEFEST (Generative Evolution For Encoded STructures) is a toolbox for the generative design of physical objects.

In core it uses: 1. Numerical modelling to simulate the interaction between object and environment 2. Evolutionary optimization to produce new variants of geometrically-encoded structures

The basic abstractions in GEFEST are Point, Polygon, Structure and Domain. Architecture of the GEFEST can be described as:

/docs/img/workflow.png

The evolutionary workflow of the generative design is the following:

/docs/img/evo.png

The dynamics of the optimisation can be visualized as (breakwaters optimisation case):

/docs/img/breakwaters.gif

How to use

All details about first steps with GEFEST might be found in the quick start guide.

Tutorals for more spicific use cases can be found tutorial section of docs.

Project Structure

The latest stable release of GEFEST is on the main branch.

The repository includes the following directories:

  • Package core contains the main classes and scripts. It is the core of GEFEST framework;
  • Package cases includes several how-to-use-cases where you can start to discover how GEFEST works;
  • All unit and integration tests can be observed in the test directory;
  • The sources of the documentation are in the docs.
  • Weights of pretrained DL models can be downloaded from this repository.

Cases and examples

Note: To run the examples below, the old kernel gefest version, which can be installed on python 3.7 with:

pip install git+https://github.com/aimclub/GEFEST.git@4f9c34c449c0eb65d264476e5145f09b4839cd70
  • Experiments with various real and synthetic cases
  • Case devoted to the red blood cell traps design.

Migrated examples can be found in cases folder of the main branch.

Current R&D and future plans

Currently, we are working on integration of new types of physical objects with consideration of their internal structure.n

The major ongoing tasks:

  • to integrate three dimensional physical objects
  • to implement gradient based approaches for optimization of physical objects

Documentation

Detailed information and description of GEFEST framework is available in the Read the Docs

Contribution guide

The contribution guide is available in the page

Acknowledgments

We acknowledge the contributors for their important impact and the participants of the numerous scientific conferences and workshops for their valuable advice and suggestions.

Contacts

Funding

This research is financially supported by the Foundation for National Technology Initiative's Projects Support as a part of the roadmap implementation for the development of the high-tech field of Artificial Intelligence for the period up to 2030 (agreement 70-2021-00187).

Citation

@article{starodubcev2023generative,
title={Generative design of physical objects using modular framework}, author={Starodubcev, Nikita O and Nikitin, Nikolay O and Andronova, Elizaveta A and Gavaza, Konstantin G and Sidorenko, Denis O and Kalyuzhnaya, Anna V}, journal={Engineering Applications of Artificial Intelligence}, volume={119}, pages={105715}, year={2023}, publisher={Elsevier}}
@inproceedings{solovev2023ai,
title={AI Framework for Generative Design of Computational Experiments with Structures in Physical Environment}, author={Solovev, Gleb Vitalevich and Kalyuzhnaya, Anna and Hvatov, Alexander and Starodubcev, Nikita and Petrov, Oleg and Nikitin, Nikolay}, booktitle={NeurIPS 2023 AI for Science Workshop}, year={2023}}