sciwork 2023

Integrate computation and analysis for one-dimensional Sod's shock tube problem
2023-12-10, 09:30–10:00 (Asia/Taipei), NYCU

Numerical codes require visualization for effective debugging and analysis due to the complexity of the problems involved. The coding errors cannot be easily revealed without visualization. We'll demonstrate how to integrate the system for calculation and analysis using Python, C++ and Qt.


Code development for numerical calculations requires a lot of knowledge in mathematics, physics and software development. Visualization is necessary for the implementation iteration. For numerical calculations, it's a useful tool for both debugging and analysis.

General-purpose or commercial visualizers are powerful but need laborious setup to provide insight into the problems. With proper GUI skills, developing an ad hoc visualizer may require less effort than configuring a general-purpose visualizer. We'll demonstrate how to achieve this by using Python, C++ and Qt.

The demonstration will use Sod's shock tube problem, which is governed by the Euler equation. The problem is solved by using the space-time conservation element solution element (CESE) method. The 1-D solver is developed from scratch in C++ for better performance and wrapped into Python for visualization. The visualization uses matplotlib. The whole system is embedded in Qt. Both pybind11 and PySide6 are used.

The 1-D problem is simple in setup. It shows the software structure for coupling calculations and visualization. We'll cover how to efficiently share data between the solver and visualizer and put everything in an integrated environment.

Ask questions at slido


Prior Knowledge Expected?

Yes, previous knowledge expected

Language

Mandarin talk w. English slides

See also: Slides

I'm a WiFi firmware engineer but very interesting in numerical software.