Skip to content

Merging fmuni branch: OpenFOAM-13 - #156

Merged
malihass merged 96 commits into
mainfrom
fmuni
Jul 31, 2026
Merged

malihass merged 96 commits into
mainfrom
fmuni

Conversation

@fmuni

@fmuni fmuni commented Jun 1, 2026

Copy link
Copy Markdown
Collaborator

Merging OpenFOAM-13 developments into main

This adds the new OpenFOAM-13 solver to the main, including tutorial with rotating mesh.

  • OFsolvers directory restructured for separating versions.
  • tutorial_cases directory restructured for separating versions.
  • experimental_cases directory restructured for separating versions.

fmuni added 30 commits December 30, 2024 15:12
* BubbleColumnLES test works with the new of12 module. Uses populationBalance and mass transfer.
* mesh_500mL generates a STR mesh using snappyHexMesh
* The old solver is updated as well as some stuff was missing
* The new solver also checks for anisotropy in the variations to discard local maxima/minima from the interface
* Removed critical point check for interface tracking. I have to think it through a bit more.
* Updated rotating mesh STR with correct patch creation
* Added compression and interface tracking to rotating mesh STR tutorial
* Rotating mesh STR has been succesfully tested for air/water in Earth, Moon, and space gravity
This can be used to compute the kLA. First compute mdoti = Su + Sp*Yi (no matter the phase). Then kLA = mdoti / ( Yi,g - Yi,l ) with sign depending on the phase chosen for computing mdoti.
* New geometry and properties
* Added switch for disabling energy solution
* This model is an alternative to the reactingPhase model that adds an uptake rate to a specie.
  The DCW should be provided as a scalarField.
fmuni added 5 commits May 27, 2026 14:59
@fmuni
fmuni requested review from hsitaram, malihass and mjrahimi June 1, 2026 20:51
@fmuni fmuni self-assigned this Jun 1, 2026
@fmuni fmuni added the enhancement New feature or request label Jun 1, 2026
@fmuni

fmuni commented Jun 1, 2026

Copy link
Copy Markdown
Collaborator Author

NOTE @malihass : the unit test should be updated to point to the new directories.

@malihass malihass left a comment •

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks for fixing the CI tests!

I have a few other extra requests:

  • Experimental case
    • I’d prefer if we had just the base case, not the “generateCases.py” and “simParameters.py”
    • The post_processing folder should be either integrated into base_case or removed. In general, we just want each folder to be a different configuration. The outer loop manipulation (parametric study and post process) would be up to the user.
    • It would be good to add a small readme that explains what is the configuration. If you have a small image, that would be even better
  • Tutorial case
    • Can you make sure that there is one folder per case. I see that bubble_column and STR* are cases. But could you move data and geometry to the right tutorial case?
    • It would be good if you could run the tutorial cases of OF13 as part of the CI. You can probably follow what I did for OF9 and it seems like https://github.com/gerlero/setup-openfoam supports open foam 13 too. When you add the regression test, you would need to make the tutorial case small, add a run.sh and make sure they run over 1 timestep only.
    • Same as the experimental case, can you add a small readme that explains what is the bubble column case?
  • Docs
    • Can you also add modifs to index.rst ( I think it still says OF 9 everywhere)
    • It might be good to add a subsection to Multiphase flow model that explains the capabilities of OF13 vs OF9. In particular, you have the interface compression stuff that would be good to explain there.

fmuni added 8 commits July 29, 2026 22:58
* Added --test option to Allrun scripts that allows to run one step on one core and reports the test success
* Added missing Allclean scripts
* ci file modified accordingly
* Added README.md to bubble_column tutorial
* Update to index.rst to include OpenFOAM-13
* Update to multiphase.rst with newer models in multiphaseEuler
@fmuni

fmuni commented Jul 30, 2026

Copy link
Copy Markdown
Collaborator Author

I updated the branch as requested:

  • I removed the experimental case for OpenFOAM-13 as it didn't add much
  • I restructured the OF13 tutorials and added them to the unit test. I modified the Allrun script to take the --test argument and all scripts return a success or failure message upon completion.
  • The documentation has been updated as well.

@malihass malihass left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks for adding the changes!

@malihass
malihass merged commit 28aa3d8 into main Jul 31, 2026
15 checks passed
github-actions Bot pushed a commit that referenced this pull request Jul 31, 2026
* Update to disengagement tutorial

* Added pressure difference option to disengagement functionObject

* Added proper reading of limiter parameters to coalescence and breakup models

* Fixed debug code wrongfully added to commit

* Added case for kestrel

* Added new test case

* Added interface capture method

* added moon case

* added switches for interface algorithms

* Added openfoam12 solver
* BubbleColumnLES test works with the new of12 module. Uses populationBalance and mass transfer.
* mesh_500mL generates a STR mesh using snappyHexMesh

* update to new mesh test

* Added interfaceTracking scheme to oF12 solver
* The old solver is updated as well as some stuff was missing
* The new solver also checks for anisotropy in the variations to discard local maxima/minima from the interface

* Added rotating mesh case

* Added missing stl file

* Update to rotating STR and of12 solver
* Removed critical point check for interface tracking. I have to think it through a bit more.
* Updated rotating mesh STR with correct patch creation
* Added compression and interface tracking to rotating mesh STR tutorial
* Rotating mesh STR has been succesfully tested for air/water in Earth, Moon, and space gravity

* Writes Su and Sp for dmdi

This can be used to compute the kLA. First compute mdoti = Su + Sp*Yi (no matter the phase). Then kLA = mdoti / ( Yi,g - Yi,l ) with sign depending on the phase chosen for computing mdoti.

* It was better to just compute the dmidtf to avoid issues

* Added dmidtf to header file

* Update to rotating mesh experimental case
* New geometry and properties
* Added switch for disabling energy solution

* Added BioReacting phase model
* This model is an alternative to the reactingPhase model that adds an uptake rate to a specie.
  The DCW should be provided as a scalarField.

* update to rotating mesh

* upgrade to OF13

* Added baffles

* Update to bioreacting model for multiple reactions

* Added post for writing kLA

* Added kLA with correlations

* Added modifications to BioReactingPhaseModel

* Update T.liquid

* added study case

* Update case for heat transfer

* Added disengagement function object

* Added Higbie model

* Added function object to write kLA during simulation

* Added multi-step method for solving the energy equations
* In each phase, the interphase heat exchange is computed via an equation for the temperature
* After solving for the phase temperature, the enthalpy is updated based on the temperature difference
* The equation for the enthalpy without the interphase exchange is then solved as usual

* Added Grace drag model

* Added OF13 bubble column test

* Fixed alternative algorithm for energy

* Fixes to disengagement and kLA functionObjects
* disengagement now works with holdup rather than center of mass
* disengagement can now be used properly without disengaging (if one is only interested in the holdup)
* Internal field error fixed in kLA

* Added Kevin case for OpenFOAM 13
* Boilerplate case for mass transfer, bacteria, etc.
* Uses local time stepping.
* Employs kLA and disengagement function objects to assess convergence.
* Can work with higher order schemes and Euler time stepping as well. Corresponding settings are commented.
* Tested at Co = 2 when unsteady.

* Added alternative heat transfer algorithm

* Reverted to old disengagement

* Fixed issues in Grace model

* Added limited Laakkonen and LMM models

* Added efficiency to binary LMM breakup model

* added mesh for Will

* Fixed crash with Grace model

* Holdup-based disengagement. Center of mass wasn't good enough.

* update to kLA function object

* Added 1200RPM case

* Fixed str1200RPM case

* Added geometry for salome

* Added formic acid case

* Added new mesh case

* Added STR350

* Update to STR350

* Added optional turbulence correctors for better coupling and robustness

* Added new case for space bioreactor

* Added missing folder

* Update to rotating case

* Added case with MRF and new mesh

* Added OFtutorials with gas species

* Added new tetra case and geometry

* Add README for tetrahedron tutorial

Added a README file for the tetrahedron unstructured grid tutorial, detailing features, usage, and example results.

* Specify volume in oxygen sparging tutorial

* Fix file copy command for STR.zip

Copy STR.zip to the current directory before unzipping.

* Added switch to disable energy and composition solution

* Tutorials restructuring
* Added tutorial for rotating mesh
* Removed obsolete tutorials
* Data such as figs is in its separate directory
* Renamed MRF tutorial

* Removed old rotating tutorial

* Update to tutorial

* Added python mesh

* Fixed bug on Allwclean and cleaner switches for energy and species

* Fix to Allmesh in rotating tutorial

* Added density stabilization and smoothing to surface tension force

* Restructuring for PR
--------------------

* Organized and separated old OF9 and new OF13 solvers
* Separated tutorials
* Separated experimental cases

* removed unused cases

* Updates for PR

* Update to tests

* Mod to ci.yml

* Update to documentation

* Removed experimental cases for OF13

* cleaned STR_rotating tutorial

* cleaned STR_MRF tutorial

* removed unused data and geometry folders

* Added test workflow for OF13
* Added --test option to Allrun scripts that allows to run one step on one core and reports the test success
* Added missing Allclean scripts
* ci file modified accordingly
* Added README.md to bubble_column tutorial

* Update to documentation
* Update to index.rst to include OpenFOAM-13
* Update to multiphase.rst with newer models in multiphaseEuler

* Fixed typos in doc and workflow
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

enhancement New feature or request

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants