Skip to main content

The toolbox for the generative design of physical objects

Project description

Logo of GEFEST framework

tests

Build Status

docs

Documentation Status

license

Supported Python Versions

support

Telegram Chat

gitlab

GitLab mirror for this repository

funding

Acknowledgement to ITMO Acknowledgement to NCCR

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

Supported by

National Center for Cognitive Research of ITMO University

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}}

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

gefest-0.1.0.tar.gz (3.9 MB view hashes)

Uploaded Source

Built Distribution

gefest-0.1.0-py3-none-any.whl (3.9 MB view hashes)

Uploaded Python 3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page