CFD Online Discussion Forums

CFD Online Discussion Forums (https://www.cfd-online.com/Forums/)
-   OpenFOAM Programming & Development (https://www.cfd-online.com/Forums/openfoam-programming-development/)
-   -   A new population balance equation solver for OpenFOAM (https://www.cfd-online.com/Forums/openfoam-programming-development/224142-new-population-balance-equation-solver-openfoam.html)

sharonyue February 8, 2020 23:00

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

HPE February 9, 2020 11:34

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?

sharonyue February 9, 2020 21:48

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.

masoudbme90 April 19, 2020 06:23

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?

sujata August 28, 2020 10:12

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.

Ahyar July 4, 2021 03:48

Quote:

Originally Posted by sujata (Post 781545)
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.

I have the same plan for my project, have you found out how to set up a case with Population Balance into the openfoam case? thanks in advance

sharonyue November 25, 2021 20:10

Quote:

Originally Posted by sujata (Post 781545)
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.


Hello there, sorry for my late reply. The latest OpenFOAM provides a sectional method. U can have a look.

sharonyue November 25, 2021 20:13

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]

olesen November 26, 2021 06:59

Quote:

Originally Posted by sharonyue (Post 817382)
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]


How much overlap would this have with OpenQBMM? Where possible it would make sense to combine efforts.

Ahyar January 4, 2022 00:50

plotting the population of bubbles
 
Quote:

Originally Posted by sharonyue (Post 817381)
Hello there, sorry for my late reply. The latest OpenFOAM provides a sectional method. U can have a look.

do you know how to plot the bubble population in the new openfoam version? i want to plot the bubble population from the population balance tutorial that mentioned in this article https://openfoam.org/guides/populati...ance-openfoam/

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

Santiago January 24, 2022 06:53

Quote:

Originally Posted by sharonyue (Post 757257)
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

Do you have a repo for your code (github, other)? Would you mind sharing it?

enthusiast January 26, 2022 02:52

Regarding the solver OF version compatibility
 
Quote:

Originally Posted by sharonyue (Post 757257)
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


Can the twoWayGPBEfoam be compiled in open foam version 9?

is it for openfoam.org or openfoam.com software?

enthusiast February 2, 2022 07:23

Quote:

Originally Posted by sharonyue (Post 757257)
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


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

enthusiast February 2, 2022 11:36

Problem Sorted
 
Quote:

Originally Posted by enthusiast (Post 821424)
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

I was trying to compile this in the Windows WSL Linux extension (Ubuntu 18.04 LTS). But it gave me an error, so I switch to OF v6. It compiled successfully.


All times are GMT -4. The time now is 11:08.