Skip to content

Source code for the paper "Geometric Deep Learning for Statics-Aware Grid Shells"

License

Notifications You must be signed in to change notification settings

cnr-isti-vclab/GeomDL4GridShell

Repository files navigation

Geometric deep learning for statics aware grid shells

Andrea Favillia,b, Francesco Lacconea, Paolo Cignonia, Luigi Malomoa, Daniela Giorgia
aInstitute of Information Science and Technologies "A. Faedo" (ISTI), National Research Council of Italy (CNR)
bUniversity of Pisa (Italy)

Paper: link

image

Installation

This code has been tested on Windows® 10 Pro and Ubuntu 22.04. The Windows® machine has an Intel i7-6700K CPU, 32 GB of RAM, a NVIDIA GeForce GTX 1080 GPU with 8 GB of dedicated memory. The Ubuntu machine has an AMD Epyc 7413 CPU, 128 GB of RAM, a NVIDIA GeForce RTX 3080 GPU with 10 GB of dedicated memory. The code runs on Python 3.11.5 with PyTorch 2.1.1, CUDA 11.8, and PyTorch Geometric 2.4.0.

Installing dependencies on Anaconda

We employed Anaconda, a popular Python distribution for data science and machine learning. After that Anaconda is installed, we can use an Anaconda shell to create virtual environments and run the code. From an Anaconda prompt, we move to the repository root directory and enter the command

conda env create --file environment.yml

to create an envirorment named GeomDL4GridShell that contains all the needed dependencies. We can then activate GeomDL4GridShell by typing

conda activate GeomDL4GridShell

To ensure that CUDA 11.8 works correctly, check for latest NVIDIA card driver update. Now we are ready to run the code.

Code usage

Into the environment GeomDL4GridShell, the command

python optimization_task.py --meshpath 'meshes/<modelname>.ply' --device 'cuda' --savelabel <modelname>

performs shape optimization on a single input structure, encoded in the file <modelname>.ply. By omitting --device 'cuda' (or writing --device 'cpu') we make computations run on CPU instead of GPU.

Execution on the whole batch of examples models/ is performed using the command

python batch_exec.py

We can set batch execution on CPU by setting device = 'cpu' on line 21 of batch_exec.py.

About

Source code for the paper "Geometric Deep Learning for Statics-Aware Grid Shells"

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages