I have recently used Azure Batch to do CFD simulations using OpenFOAM®, and I summarize my experience and the procedure I followed below. Before entering the details, it is worth saying what Azure Batch is. Azure Batch is a compute management service that lets users to rapidly deploy batch processes either by running multiple tasks on individual nodes, or a single task on multiple nodes, with high-performance communication (Infiniband or, as it is called in the service, RDMA). While Azure Batch is not a full replacement for an HPC cluster with standard queue systems, it is a convenient option for projects that require a defined number of simulations that need…
-
-
Extended second-order moment advection scheme
I made the OpenQBMM implementation of the second-order realizable zeta scheme for moment advection more general. The previous implementation [2] was specific for moments of distributions supported over the positive real line, making the implementation of the scheme not suitable for moments of distributions with compact support, such as the PDF of the mixture fraction used in turbulent mixing and combustion models. However, the original paper of Nguyen and Laurent [1] proposes a straightforward extension to the case of compact support, which is now made available in OpenQBMM. For simplicity, the implementation considers only the support [0, 1], without loss of generality. The implementation is currently available in the development-openfoam.com…
-
Dynamic Smagorinsky model updated
Almost eleven years ago, I implemented a version of the dynamic Smagorinsky model of Lilly (1992) into OpenFOAM® and I still receive many requests of a reference where this code has been used, which is quite interesting because I have not implemented the model to do any specific research work, but because back then OpenFOAM used to have a quite strange implementation of the dynamic Smagorinsky model, whose coefficient was averaged on the entire domain volume. This implementation was stuck until now to OpenFOAM 2.x until now. Today I have ported it to OpenFOAM v2012, and the code is available on GitHub. As soon as it is better tested, a…
-
A basic geometry module
It is time for another update about my hobby project. I have been working on a module to perform basic operations on the geometry used to perform CFD simulations. Originally my application did this inside the module used to configure meshing with snappyHexMesh. However, this directly linked the geometry assembly to the mesh. I wanted to separate the two tasks for two reasons: Allow the same geometry assembly to be reused in multiple simulations. This also allows to reduce the number of times the same geometry information is stored, which is good side effect. Reduce the complexity of the mesh configuration tool. Focus of this update is the part of…
-
Thank you Another Fine Mesh for the mention!
Many thanks to John Chawner for the mention in Another Fine Mesh (Reading section).
-
P. 3. The structure of dictionaries (Ep. 2)
In the last post of this series the general structure of a dictionary was introduced. We will now see the basic structure of entries. The first point to make is that entries in OpenFOAM® dictionaries can be of several types but they all follow the key/value format, at least in a broad sense.
-
Some updates on my hobby project
Some time ago I tweeted about working on a web-based UI for our codes (and snappyHexMesh) to facilitate working with students and also to make the process less tedious for me, which does not hurt. I have never done development with web technologies until two years ago: most of my focus has been on implementing numerical algorithms. I have written UI code in the past using GTK and Qt, but I was quite far from anything web-related, aside from basic HTML. Saying the learning curve was steep is an understatement, but with the help of a very good friend (with the patience of a saint 😀 ) I have slowly…
-
P. 2. The structure of dictionaries (Ep. 1)
Dictionaries are what OpenFOAM® uses as input files, but the same name is used to indicate some of the structures inside such files. In this part a general overview of their structure is provided.
-
P. 1. Dimensional units in OpenFOAM
One of the first OpenFOAM features users encounter when they start learning how to set simulations up is that the code verifies the dimensional consistency of the variables involved in operations. Some details about this feature will be discussed in this post.
-
A new series of blog posts
The new year brings some novelty and one of them is that I am starting a series of blog posts on various technical aspects in OpenFOAM®.