I came across a behemoth fan spanning metres in diameter swirling above me at an airport. This fan was unusual not only in its size, but the vibrant green protuberances…
ANSYS Fluent uses an Algebraic Multigrid (AMG) solver, OpenFOAM has a range of solvers which includes Generalised geometric-Algebraic Multigrid (GAMG). The common thread among multigrid methods is the requirement of…
Environments where customizations are encouraged and fit in well with the overall solver ecosystem are a big pull. I like going back to this even as a developer as it…
Built in operators (+, - and everything else in between) are designed to allow overloading - you can create functions for a user-defined type with an operator is their name…
I came across Sourcetrail a few days ago - and I'm sold. I've often been asked the best way to start navigating a seemingly daunting codebase . Sourcetrail will make…
Most of the data manipulation in OpenFOAM happens on fields - more specifically, tensor fields. These are matrices of data - velocity, pressure, etc. There are three element types manipulated…
I was playing around with IOobject when I realized there was a lot of useful information still uncompiled for those who wish to read from dictionaries - a new turbulence…
The example above is an example of an orthogonal arragement of cells. This means that the face normal is along the same direction as the direction of the vector connecting…
This article is an explanation of the Courant–Friedrichs–Lewy (or CFL) criteria when setting up numerical simulations. I've not used the formula itself - this article dives into a more intuitive…
This article goes through some basic facets of the lduMatrix class in OpenFOAM. Discretization - the division of the domain into discrete parts in order to generate a system of…
You often see IOobject in OpenFOAM code. As the name suggests, this can read in and write out data - read and write fields, read from dictionaries, the whole thing.…
The k-Omega SST is a hybrid model combining the Wilcox k-omega and the k-epsilon models. There was a need for switching between the k-epsilon model for freestream and k-omega that would resolve down to the wall without any damping functions. The goal was to reduce sensitivity to free stream conditions (flow outside the boundary layer) as compared to the…
Rhie-Chow interpolation is a correction applied to collocated grids to avoid checkerboard oscillations. This doc-article explains the applicability of this to OpenFOAM. Check out other articles in my blog here.
This document summarizes some interpolation schemes present in OpenFOAM. I've not covered this, but additionally, TVD schemes are best represented for their flux limiters with the aid of a Sweby…
These are some notes on the components of the memory management system in OpenFOAM. I would expect to find these building blocks in any code that involves large chunks of…
Before diving into what a wall function is, lets discuss some concepts surrounding it. Firstly, lets establish that there’s no way around turbulence modelling. When George Box famously said “All…
I spent a summer with a research group specializing in a variety of topics in non-linear dynamics, one of them being the Fluid Structure Interaction (FSI) of flapping wings. It…
The previous articles in this series took on debugging the simpleFoam solver through a VSCode debugger. SIMPLEC, a “consistent” implementation of the SIMPLE algorithm can be toggled on and off…
Tip — This is not meant to be a standalone article. It’s much more useful walking along this like a tutorial and not just reading through . So I highly recommend catching up…
This is a the second article in a series exploring utilities of OpenFOAM for viewers beginning with CFD — geared towards OpenFOAM beginners. The toolbox has a steep learning curve, but a…