Alya
Alya is a high performance computational mechanics code to solve engineering coupled problems. The different physics solved by Alya are: incompressible/compressible flow, solid mechanics, chemistry, particle transport, heat transfer, turbulence modeling, electrical propagation, etc. Multiphysics coupling is achieved in a multi-code manner. MPI is used to communicate between the different instances of Alya, where each instance solves a particular physics. This powerful technique enables asynchronous execution of the different physics. Alya was specially designed for massively parallel supercomputers.
Parallelization is hybrid, using both MPI and OpenMP paradigms to take advantage of distributed and shared memory architectures, respectively. Accelerators like GPU are also exploited at the iterative solver levels to further enhance the performance of the code. Recently, dynamic load balance techniques have been introduced as well to better exploit computational resources at the node level. Alya is one of the twelve simulation codes of the Unified European Applications Benchmark Suite (UEABS) and thus complies with the highest standards in HPC.
The code has been tested on the main supercomputers worldwide where it has proven to efficiently scale up to 100K cores for industrial applications.