• CFD,  General,  OpenFOAM,  Research

    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…

  • CFD,  Development,  OpenFOAM

    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…

  • CFD,  Development,  Linux,  Personal projects

    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…

  • CFD,  Education,  OpenFOAM

    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.

  • CFD,  Development,  Linux,  Personal projects

    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…