OpenFOAM (Open Field Operation And Manipulation) is a widely-used open source computational fluid dynamics (CFD) software that has evolved into several distinct variants over its development history. There...
Refactoring SU2 code taught me that nested std::vector<std::vector<double>> scatters data across memory, leading to cache misses, while a flat std::vector<double> creates a predictable layout that lets hardware prefetchers...
Integrating optional third-party libraries into large C++ projects can be tricky. This post outlines a clean, maintainable approach using conditional compilation, with a case study based on adding...
In this blog post, I explore integrating Tracy Profiler with SU2 for my Google Summer of Code project. I detail the setup of Tracy’s client and server, instrumenting...
This post explores how I used gprof, valgrind, and kcachegrind to identify and analyze performance bottlenecks in SU2, focusing on the neural network module. The approach is generalizable...
A step-by-step guide for beginners to set up a modern development environment for contributing to large open-source C++ projects using GitHub, VS Code, GDB, and gprof.
Setting up proxy servers in Ubuntu can be done through multiple approaches, each serving different purposes and affecting different parts of the system. In this guide, we’ll explore...
This guide provides a step-by-step approach to installing AMGX on your system. The installation has been tested on: Ubuntu 20.04.5 LTS CentOS Linux 7 (Core)
When developing Computational Fluid Dynamics (CFD) solvers, one frequently encounters the pressure Poisson equation. This equation typically results in a large sparse system of linear equations (Ax=b) that...
When working with Computational Fluid Dynamics (CFD), we often need to focus on specific regions of our mesh for detailed analysis. OpenFOAM provides powerful tools for this purpose,...
If you’ve forked the Academic Pages template for your GitHub Pages website and want to add a commenting system, Giscus is an excellent choice. This guide will walk...
ParaView is a powerful visualization tool, but working with remote data requires careful consideration. Here are the main approaches ranked by efficiency and usability:
When trying to install OpenFOAM on Ubuntu/Debian systems behind a proxy server (especially institutional proxies), users often encounter SSL connection issues. This guide provides a step-by-step solution to...