• Skip to primary navigation
  • Skip to main content
  • Skip to footer
  • LinkedIn
  • Twitter
OPTIMA

OPTIMA

Optimizing Industrial Applications for Heterogeneous HPC systems

  • The Project
  • Partners
  • Components
    • Applications
    • Programming Environment
  • News and Events
    • News
    • Events
    • Press
  • Publications and Media
    • Publications
    • Deliverables
    • Branding
  • Contact

OPTIMA application focus: CFD  Lattice-Boltzmann particle-based computational fluid dynamics

You are here: Home / News / OPTIMA application focus: CFD  Lattice-Boltzmann particle-based computational fluid dynamics

01/12/2023 by optimahpc

In OPTIMA one of the objectives is to develop the industrial use cases and the libraries using the programming environments of the OPTIMA framework so as to take full advantage of the underlying novel HPC system. The 4 industrial use cases from 3 distinct different application areas are: 

  • Underground analysis using Finite Element Methods (FEM)
  • Lattice-Boltzmann particle-based computational fluid dynamics
  • MESHFREE: particle-based computational fluid dynamics
  • Robotics Simulations

In this post we will explain the application of SAILFISH-CFD – Lattice-Boltzmann particle-based computational fluid dynamics:

Fluid dynamics is a notoriously difficult part in simulation analysis. Only a few problems can be solved analytically.  Computations often are approximated at a first degree of the turbulence models and do not catch the real physics in all space but only as a mean value. Especially when coupling more physics into the same Computational Fluid Dynamics (CFD) problem (for example sound waves, radiation etc.) the behavior can run into secondary order effects (due to oscillating waves that often form vortices). These effects need second degree approximations which require a lot of computational resources. This behavior is inherently nonlinear and difficult to understand quantitatively and it needs a huge quantity of equations and iterations in order to be solved.

As such, LBM-CFD is a free and high-quality CFD solver based on the Lattice Boltzmann method, and was chosen for acceleration on the JUMAX platform. 

In the first part of the project the main work was focused on implementing a hybrid CPU-FPGA version of the solver, mainly based on an SMP (OpenMP) code and a specific lattice pattern: D2Q9. By instrumenting the kernel with run-time performance collecting libraries and running a number of different simulations using D2Q9 lattice, the main computational kernel has been isolated. The kernel has been then re-programmed in order to execute in a single FPGA CU the entire domain of the analysis. The performance results have shown that the speed of the computational kernel was boosted by a factor of 10.0, while the overall time by a 4.7x. All computations were run on the JUMAX host and one FPGA.

Given the initial results we will further focus on parallelizing on multiple FPGAs and refactoring the code in order to better parallelize the CPU related processing of the iterative steps. 

EnginSoft develops vertical applications based on the SAILFISH-CFD code, especially for very complex models (i.e. pressure waves for air-frames) for complex parametrized studies that are infeasible with traditional approaches due to the complexity of communication that causes poor scalability.In the past decades Lattice Boltzmann method (LBM) for CFD applications has received increasing attention and progressed significantly in the fields of multiphase flows and turbulent flows (the two most demanding -in terms of computational resources- CFD problems).

CFD codes nowadays are becoming more and more demanding in computer resources due to the number of equations per cell that needs to be solved for coupled problems.

Lattice Boltzmann methods (LBM) The lattice Boltzmann method (LBM) models fluids with fictive particles performing propagation and collision processes over a discrete lattice mesh. LBM offers  advantages  over traditional Navier-Stokes equation solvers in the form of exceptional scalability, robust treatment of complex boundaries, and the capacity to take greater time steps. 

The LBM code used is a general purpose fluid dynamics solver optimized for modern multi-core processors, especially Graphics Processing Units (GPUs). The solver is based on the Lattice Boltzmann Method, which is conceptually quite simple to understand and which scales very well with increasing computational resources. 

Within the OPTIMA project the code will be ported and deployed in FPGA systems in order to accelerate the solution and benefit from multi FPGAs systems.

Category iconNews Tag iconCFD,  computational fluid,  dynamics,  GPU,  HPC,  simulation

Footer

Tweets by optima_hpc

Cookie Policy

Follow US

  • LinkedIn
  • Twitter

OPTIMA

This project has received funding from the European High-Performance Computing Joint Undertaking Joint Undertaking (JU) under grant agreement No 955739. The JU receives support from the European Union’s Horizon 2020 research and innovation programme and Greece, Germany, Italy, Netherlands, Spain, Switzerland.

Copyright © 2023 OPTIMA. All rights reserved. Return to top

We use cookies on our website to give you the most relevant experience by remembering your preferences and repeat visits. By clicking “Accept”, you consent to the use of ALL the cookies. Read More


Cookie settingsACCEPT ALL

Manage consent

Privacy Overview

This website uses cookies to improve your experience while you navigate through the website. Out of these, the cookies that are categorized as necessary are stored on your browser as they are essential for the working of basic functionalities of the website. We also use third-party cookies that help us analyze and understand how you use this website. These cookies will be stored in your browser only with your consent. You also have the option to opt-out of these cookies. But opting out of some of these cookies may affect your browsing experience.
Necessary
Always Enabled
Necessary cookies are absolutely essential for the website to function properly. These cookies ensure basic functionalities and security features of the website, anonymously.
CookieDurationDescription
cookielawinfo-checbox-analytics11 monthsThis cookie is set by GDPR Cookie Consent plugin. The cookie is used to store the user consent for the cookies in the category "Analytics".
cookielawinfo-checbox-functional11 monthsThe cookie is set by GDPR cookie consent to record the user consent for the cookies in the category "Functional".
cookielawinfo-checbox-others11 monthsThis cookie is set by GDPR Cookie Consent plugin. The cookie is used to store the user consent for the cookies in the category "Other.
cookielawinfo-checkbox-advertisement1 yearThe cookie is set by GDPR cookie consent to record the user consent for the cookies in the category "Advertisement".
cookielawinfo-checkbox-necessary11 monthsThis cookie is set by GDPR Cookie Consent plugin. The cookies is used to store the user consent for the cookies in the category "Necessary".
cookielawinfo-checkbox-performance11 monthsThis cookie is set by GDPR Cookie Consent plugin. The cookie is used to store the user consent for the cookies in the category "Performance".
viewed_cookie_policy11 monthsThe cookie is set by the GDPR Cookie Consent plugin and is used to store whether or not user has consented to the use of cookies. It does not store any personal data.
Analytics
Analytical cookies are used to understand how visitors interact with the website. These cookies help provide information on metrics the number of visitors, bounce rate, traffic source, etc.
CookieDurationDescription
_ga2 yearsThis cookie is installed by Google Analytics. The cookie is used to calculate visitor, session, campaign data and keep track of site usage for the site's analytics report. The cookies store information anonymously and assign a randomly generated number to identify unique visitors.
_gid1 dayThis cookie is installed by Google Analytics. The cookie is used to store information of how visitors use a website and helps in creating an analytics report of how the website is doing. The data collected including the number visitors, the source where they have come from, and the pages visted in an anonymous form.
SAVE & ACCEPT
Powered by CookieYes Logo