{"id":843,"date":"2011-01-12T04:22:29","date_gmt":"2011-01-12T02:22:29","guid":{"rendered":"http:\/\/142.93.241.207\/?p=843"},"modified":"2011-12-22T18:44:40","modified_gmt":"2011-12-22T16:44:40","slug":"euler-euler-solver-for-gas-particle-flows-based-on-openfoam","status":"publish","type":"post","link":"https:\/\/www.albertopassalacqua.com\/?p=843","title":{"rendered":"Euler-Euler gas-solid flow solver for OpenFOAM"},"content":{"rendered":"<p style=\"text-align: justify;\">I have finally completed the implementation and the testing phases of a two-fluid code for the simulation of gas particle flows based on OpenFOAM\u00ae. The code is derived from the existing twoPhaseEulerFoam, with significant differences in the solution algorithm in order to stabilize it, and with the addition of a variety of models. This is the evolution of the twoPhaseEulerPimpleFoam code discussed previously <a href=\"https:\/\/www.albertopassalacqua.com\/?p=772\" target=\"_blank\">here<\/a> and <a href=\"https:\/\/www.albertopassalacqua.com\/?p=797\" target=\"_blank\">here<\/a>.<\/p>\n<p style=\"text-align: justify;\">I decided to change name to the code, and call it <em>fluidParticleTwoPhase4Foam<\/em>, since the implementation has become more and more specific for particulate flows, and future developments will move further in this direction.<\/p>\n<p style=\"text-align: justify;\">A summary of the improvements is reported below:<\/p>\n<ul style=\"text-align: justify;\">\n<li><strong>Solution algorithm <\/strong>\n<ul>\n<li>Adoption of the PIMPLE (PISO\/SIMPLE) algorithm, with under-relaxation to ensure convergence of the coupled set of multiphase equations at each time-step.<\/li>\n<li>Implementation of the phase momentum equation in conservative form, in order to replace the phase-intensive formulation.<\/li>\n<li>Solution of the momentum predictor.<\/li>\n<li>Implementation of improved Rhie-Chow interpolation.<\/li>\n<li>Implementation of the Partial Elimination Algorithm for the drag term in the phase momentum equation, to stabilize the numerical solution when the drag term is strong.<\/li>\n<li>Improved flux-reconstruction approach.<\/li>\n<li>Implicit treatment of the particle pressure in the kinetic theory\/frictional stress model framework.<\/li>\n<li>Stabilization of the code when frictional models with discontinuous functions for the particle pressure.<\/li>\n<li>Stabilization of the k-epsilon turbulence model in cases with phase separation.<\/li>\n<\/ul>\n<\/li>\n<li><strong>New implemented models <\/strong>\n<ul>\n<li>Srivastava and Sundaresan frictional stress model (Princeton model).<\/li>\n<li>Models for the dissipation of the granular energy due to viscous damping, and the production of granular energy due to slip have been implemented made run-time selectable.<\/li>\n<li>Models for viscous damping dissipation: Gidaspow, Koch and Sangani.<\/li>\n<li>Models for production due to slip: Koch, Koch and Sangani.<\/li>\n<li>Johnson and Jackson wall boundary conditions (In cooperation with Juho Peltola) for the particle-phase velocity and granular temperature.<\/li>\n<li>Electrostatic model for the particle phase (In cooperation with Ram Ganesh Rokkam), with various sub-models for the permittivity of the gas-solid mixture.<\/li>\n<li>Modified granular energy collisional dissipation for generality.<\/li>\n<\/ul>\n<\/li>\n<li><strong>Other new features and developments <\/strong>\n<ul>\n<li>Revision of radial distribution models to remove redundancies.<\/li>\n<li style=\"text-align: justify;\">Empty drag model to allow phase decoupling.<\/li>\n<li style=\"text-align: justify;\">Identification of appropriate numerical scheme setup.<\/li>\n<li style=\"text-align: justify;\">Derivation of the <em>n<\/em>-phase algorithm.<\/li>\n<li style=\"text-align: justify;\">Test cases\n<ul>\n<li style=\"text-align: justify;\">Bubbling fluidized bed (hex and tet mesh)<\/li>\n<li style=\"text-align: justify;\">Bubbling fluidized bed with a jet<\/li>\n<li style=\"text-align: justify;\">Settling gas-solid suspension<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<p style=\"text-align: justify;\">Some animations can be found on my <a href=\"http:\/\/www.youtube.com\/user\/albertop78\" target=\"_blank\">YouTube channel<\/a> and is embedded here for convenience. The quality of the preview is not great due to the conversion process, however the animation is a bit better.<\/p>\n\n<div class=\"youtube-embed\" itemprop=\"video\" itemscope itemtype=\"https:\/\/schema.org\/VideoObject\">\n\t<meta itemprop=\"url\" content=\"https:\/\/www.youtube.com\/v\/NE1ToMbGByE\" \/>\n\t<meta itemprop=\"name\" content=\"Euler-Euler gas-solid flow solver for OpenFOAM\" \/>\n\t<meta itemprop=\"description\" content=\"Euler-Euler gas-solid flow solver for OpenFOAM\" \/>\n\t<meta itemprop=\"uploadDate\" content=\"2011-01-12T04:22:29+02:00\" \/>\n\t<meta itemprop=\"thumbnailUrl\" content=\"https:\/\/i.ytimg.com\/vi\/NE1ToMbGByE\/default.jpg\" \/>\n\t<meta itemprop=\"embedUrl\" content=\"https:\/\/www.youtube.com\/embed\/NE1ToMbGByE\" \/>\n\t<meta itemprop=\"height\" content=\"312\" \/>\n\t<meta itemprop=\"width\" content=\"555\" \/>\n\t<iframe loading=\"lazy\" style=\"border: 0;text-align:center\" class=\"youtube-player\" width=\"555\" height=\"312\" src=\"https:\/\/www.youtube.com\/embed\/NE1ToMbGByE?modestbranding=1&fs=0&rel=0\"><\/iframe>\n<\/div>\n\n\n<div class=\"youtube-embed\" itemprop=\"video\" itemscope itemtype=\"https:\/\/schema.org\/VideoObject\">\n\t<meta itemprop=\"url\" content=\"https:\/\/www.youtube.com\/v\/koLj-QL0ZGw\" \/>\n\t<meta itemprop=\"name\" content=\"Euler-Euler gas-solid flow solver for OpenFOAM\" \/>\n\t<meta itemprop=\"description\" content=\"Euler-Euler gas-solid flow solver for OpenFOAM\" \/>\n\t<meta itemprop=\"uploadDate\" content=\"2011-01-12T04:22:29+02:00\" \/>\n\t<meta itemprop=\"thumbnailUrl\" content=\"https:\/\/i.ytimg.com\/vi\/koLj-QL0ZGw\/default.jpg\" \/>\n\t<meta itemprop=\"embedUrl\" content=\"https:\/\/www.youtube.com\/embed\/koLj-QL0ZGw\" \/>\n\t<meta itemprop=\"height\" content=\"312\" \/>\n\t<meta itemprop=\"width\" content=\"555\" \/>\n\t<iframe loading=\"lazy\" style=\"border: 0;text-align:center\" class=\"youtube-player\" width=\"555\" height=\"312\" src=\"https:\/\/www.youtube.com\/embed\/koLj-QL0ZGw?modestbranding=1&fs=0&rel=0\"><\/iframe>\n<\/div>\n\n<p style=\"text-align: justify;\">Now other work has to be done. Currently my focus is on the implementation of quadrature-based moment methods to describe the particle phase, in order to overcome the limitations of the standard kinetic theory closures, as I did in MFIX.<\/p>\n<p style=\"text-align: justify;\"><em>This offering is not approved or endorsed by OpenCFD Limited, the producer of the OpenFOAM software and owner of the OPENFOAM\u00ae \u00a0and OpenCFD\u00ae \u00a0trade marks.<br \/>\n<\/em><\/p>\n","protected":false},"excerpt":{"rendered":"<p>I have finally completed the implementation and the testing phases of a two-fluid code for the simulation of gas particle flows based on OpenFOAM\u00ae. The code is derived from the existing twoPhaseEulerFoam, with significant differences in the solution algorithm in order to stabilize it, and with the addition of a variety of models. This is the evolution of the twoPhaseEulerPimpleFoam code discussed previously here and here. I decided to change name to the code, and call it fluidParticleTwoPhase4Foam, since the implementation has become more and more specific for particulate flows, and future developments will move further in this direction. A summary of the improvements is reported below: Solution algorithm Adoption of the PIMPLE (PISO\/SIMPLE) algorithm, with under-relaxation to ensure convergence of the coupled set of multiphase equations at each time-step. Implementation of the phase momentum equation in conservative form, in order to replace the phase-intensive formulation. Solution of the momentum predictor. Implementation of improved Rhie-Chow interpolation. Implementation of the Partial Elimination Algorithm for the drag term in the phase momentum equation, to stabilize the numerical solution when the drag term is strong. Improved flux-reconstruction approach. Implicit treatment of the particle pressure in the kinetic theory\/frictional stress model framework. Stabilization of the code when frictional models with discontinuous functions for the particle pressure. Stabilization of the k-epsilon turbulence model in cases with phase separation. New implemented models Srivastava and Sundaresan frictional stress model (Princeton model). Models for the dissipation of the granular energy due to viscous damping, and the production of granular energy due to slip have been implemented made run-time selectable. Models for viscous damping dissipation: Gidaspow, Koch and Sangani. Models for production due to slip: Koch, Koch and Sangani. Johnson and Jackson wall boundary conditions (In cooperation with Juho Peltola) for the particle-phase velocity and granular temperature. Electrostatic model for the particle phase (In cooperation with Ram Ganesh Rokkam), with various sub-models for the permittivity of the gas-solid mixture. Modified granular energy collisional dissipation for generality. Other new features and developments Revision of radial distribution models to remove redundancies. Empty drag model to allow phase decoupling. Identification of appropriate numerical scheme setup. Derivation of the n-phase algorithm. Test cases Bubbling fluidized bed (hex and tet mesh) Bubbling fluidized bed with a jet Settling gas-solid suspension Some animations can be found on my YouTube channel and is embedded here for convenience. The quality of the preview is not great due to the conversion process, however the animation is a bit better. Now other work has to be done. Currently my focus is on the implementation of quadrature-based moment methods to describe the particle phase, in order to overcome the limitations of the standard kinetic theory closures, as I did in MFIX. This offering is not approved or endorsed by OpenCFD Limited, the producer of the OpenFOAM software and owner of the OPENFOAM\u00ae \u00a0and OpenCFD\u00ae \u00a0trade marks.<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[5,6],"tags":[],"class_list":["post-843","post","type-post","status-publish","format-standard","hentry","category-cfd","category-openfoam"],"_links":{"self":[{"href":"https:\/\/www.albertopassalacqua.com\/index.php?rest_route=\/wp\/v2\/posts\/843","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.albertopassalacqua.com\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.albertopassalacqua.com\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.albertopassalacqua.com\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.albertopassalacqua.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=843"}],"version-history":[{"count":38,"href":"https:\/\/www.albertopassalacqua.com\/index.php?rest_route=\/wp\/v2\/posts\/843\/revisions"}],"predecessor-version":[{"id":847,"href":"https:\/\/www.albertopassalacqua.com\/index.php?rest_route=\/wp\/v2\/posts\/843\/revisions\/847"}],"wp:attachment":[{"href":"https:\/\/www.albertopassalacqua.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=843"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.albertopassalacqua.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=843"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.albertopassalacqua.com\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=843"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}