top of page

Explore our GitLab repository to learn about our latest results in developing surrogate models

As part of Work Package 3, Task 3.2, we aim to share our progress in developing surrogate models by publishing the scripts we use for data set creation and neural network training, and the theoretical concepts and results already obtained on the public Git repository located at The repository is continuously updating and will continue to do so as we obtain new results.


In relation to the surrogate models, the primary concept is to substitute the high-resolution mesh around obstacles with a low-resolution mesh defined by a permeability region, as illustrated in the following figure.


high resolution meshes

low resolution mesh

Why? Because reducing the number of elements in the mesh and decreasing the resolution of mesh elements could drastically reduce calculation time, especially when considering much more complex meshes than these shown here.

Inside the repository, in the wiki section at various cases of increasing complexity, for which we want to apply surrogate substitution, are presented. For each case, the intended procedure consists of:

  1. Analysis of CFD simulations to be performed.

  2. Data Set generation.

  3. NN definition and training.

  4. Results analysis.

The main objectives and conclusions are also summarized for the cases that have been completed.

The CFD simulations are executed using the Alya system. Alya is an in-house multi-physics simulation code developed by BSC, specifically designed to efficiently run on parallel supercomputers, addressing coupled problems. For more information, please visit

The neural network models are implemented in Python using the PyTorch Lightning and Ray libraries.

bottom of page