A new population balance equation solver for OpenFOAM
Dear Foamers,
Multiphase system can be simulated by the Eulerian-Eulerian (E-E) method and Eulerian-Lagrangian (E-L) method. The drawback of the traditional two-fluid method is that only one velocity can be employed for both phases (although a multi-fluid method can be constructed). Another promising method is to use Eulerian method for the continuous phase and a generalized population balance equation (GPBE) for the dispersed phase. The GPBE should be solved numerically by existing method, such as the quadrature-based moments method (QBMM). Therefore, we call this method as E-QBMM, although strictly speaking it is based on Euler framework. Recently, we implemented such solver in OpenFOAM and make it open-sourced [1]. This solver was also validated by several gas-liquid test cases [2]. On the other hand, I am very interested into the algorithm. Therefore, I wrote it down and hope it can help others to understand the theory of QBMM [3]. All equations can be found there. I also would like to share some other interesting works, because the QBMM algorithm was extensively investigated/developed by the research group in Iowa State University, Ecole Polytechnique and others. For example, Alberto Passalacqua also developed his own PBM solver: OpenQBMM [4]. He also started a forum for QBMM users, which looks quite professional..http://openqbmm.freeforums.net/ [1] twoWayGPBEFoam: An open-source Eulerian QBMM solver for monokinetic bubbly flows: https://www.sciencedirect.com/scienc...10465519303728 [2] Comparison of Eulerian QBMM and classical Eulerian–Eulerian method for the simulation of polydisperse bubbly flows: https://aiche.onlinelibrary.wiley.co...1002/aic.16732 [3] Quadrature-based moment methods for the population balance equation: an algorithm review https://www.jianguoyun.com/p/DQwBtyMQ9s3ZBhjDrKYC [4] https://github.com/OpenQBMM |
Thank you sharonyue,
I think OpenQBMM is now part of OpenFOAM-v1912 as a submodule. Does your code come as a submodule of OpenFOAM as well? Is it inside OpenQBMM? Or do we need to compile it separately? |
Hello Herpes,
Our code is not based on OpenQBMM. We implemented it from scratch and it should be compiled separately. I mentioned OpenQBMM is because 1) all of our algorithm belongs to QBMM. 2) I admire their effort to make it open source as well. |
Hi Sharonyue
Thank you for your information. What is the advantage of E-QBMM methods in comparison with two-phase euler-euler method (multi-fluid method) like twophaseeulerfoam? |
Population balance in Openfoam 4.1
I am a new user of Openfoam and currently using reactingmultiphaseEulerfoam 4.1. I want to add Population Balance. How can I do that? Any lead would be appreciated.
|
Quote:
|
Quote:
Hello there, sorry for my late reply. The latest OpenFOAM provides a sectional method. U can have a look. |
We also implemented the QBMM for gas-particle flow, please see the following link:
https://authors.elsevier.com/c/1e8bP7QGmEkfF [Implementation of CHyQMOM in OpenFOAM for the simulation of non-equilibrium gas-particle flows under one-way and two-way coupling] |
Quote:
How much overlap would this have with OpenQBMM? Where possible it would make sense to combine efforts. |
plotting the population of bubbles
Quote:
some sources said that to plot the population i can use the NDF plot but i have no idea to do it with openfoam output data |
Quote:
|
Regarding the solver OF version compatibility
Quote:
Can the twoWayGPBEfoam be compiled in open foam version 9? is it for openfoam.org or openfoam.com software? |
Quote:
I am getting an error when I tried to complile the code in OpenFoam v7. In file included from oneWayGPBEFoam.C:64:0: pEqn.H: In function ‘int main(int, char**)’: pEqn.H:29:21: error: ‘class Foam::fvMesh’ has no member named ‘solver’; did you mean ‘solvers_’? pEqn.solve(mesh.solver(p.select(piso.finalInnerIte r()))); ^~~~~~ solvers_ /opt/openfoam7/wmake/rules/General/transform:25: recipe for target 'Make/linux64GccDPInt32Opt/oneWayGPBEFoam.o' failed make[1]: *** [Make/linux64GccDPInt32Opt/oneWayGPBEFoam.o] Error 1 make[1]: Leaving directory '/mnt/d/solver/twoWayGPBEFoam/solvers/oneWayGPBEFoam' /opt/openfoam7/wmake/makefiles/apps:39: recipe for target 'oneWayGPBEFoam' failed make: *** [oneWayGPBEFoam] Error 2 I tried to compile this in /mnt/d/customsolver Was this the issue? Should I take this folder in the solver directory and then run ./Allwmake |
Problem Sorted
Quote:
|
All times are GMT -4. The time now is 11:08. |