Skip to content

Commit 28aa3d8

Browse files
authored
Merging fmuni branch: OpenFOAM-13 (#156)
* 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
1 parent ac55f2e commit 28aa3d8

1,946 files changed

Lines changed: 96395 additions & 40 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

‎.github/workflows/ci.yml‎

Lines changed: 88 additions & 28 deletions
Original file line numberDiff line numberDiff line change
@@ -162,8 +162,8 @@ jobs:
162162
- name: Test
163163
run: nox -s tests -- no-reports
164164

165-
Regression-Test-OF:
166-
name: Regression-Test-OF (${{ matrix.python-version }}, ${{ matrix.os }})
165+
Regression-Test-OF9:
166+
name: Regression-Test-OF9 (${{ matrix.python-version }}, ${{ matrix.os }})
167167
runs-on: ${{ matrix.os }}
168168
strategy:
169169
fail-fast: false
@@ -202,61 +202,121 @@ jobs:
202202
203203
- name: Compile solver
204204
run: |
205-
cd OFsolvers/birdmultiphaseEulerFoam
205+
cd OFsolvers/OF9/birdmultiphaseEulerFoam
206206
export WM_COMPILE_OPTION=Debug
207207
./Allwmake
208-
cd ../../
208+
cd ../../../
209209
- name: Run deckwer17 PBE
210210
run: |
211-
cd experimental_cases/deckwer17
211+
cd experimental_cases/OF9/deckwer17
212212
bash run.sh
213-
cd ../../
213+
cd ../../../
214214
- name: Run deckwer17 constantD
215215
run: |
216-
cd experimental_cases/deckwer17
216+
cd experimental_cases/OF9/deckwer17
217217
cp constant/phaseProperties_constantd constant/phaseProperties
218218
bash run.sh
219-
cd ../../
219+
cd ../../../
220220
- name: Run deckwer19 PBE
221221
run: |
222-
cd experimental_cases/deckwer19
222+
cd experimental_cases/OF9/deckwer19
223223
bash run.sh
224-
cd ../../
224+
cd ../../../
225225
- name: Run side sparger tutorial
226226
run: |
227-
cd tutorial_cases/side_sparger
227+
cd tutorial_cases/OF9/side_sparger
228228
bash run.sh
229-
cd ../../
229+
cd ../../../
230230
- name: Run bubble column tutorial
231231
run: |
232-
cd tutorial_cases/bubble_column_20L
232+
cd tutorial_cases/OF9/bubble_column_20L
233233
bash run.sh
234-
cd ../../
234+
cd ../../../
235235
- name: Run stirred-tank tutorial
236236
run: |
237-
cd tutorial_cases/stirred_tank
237+
cd tutorial_cases/OF9/stirred_tank
238238
bash run.sh
239-
cd ../../
239+
cd ../../../
240240
- name: Run reactive loop reactor tutorial
241241
run: |
242-
cd tutorial_cases/loop_reactor_reacting
242+
cd tutorial_cases/OF9/loop_reactor_reacting
243243
bash run.sh
244-
cd ../../
244+
cd ../../../
245245
- name: Run mixing loop reactor tutorial
246246
run: |
247-
cd tutorial_cases/loop_reactor_mixing
247+
cd tutorial_cases/OF9/loop_reactor_mixing
248248
bash run.sh
249-
cd ../../
249+
cd ../../../
250250
- name: Run airlift reactor tutorial
251251
run: |
252-
cd tutorial_cases/airlift_40m
252+
cd tutorial_cases/OF9/airlift_40m
253253
bash run.sh
254-
cd ../../
254+
cd ../../../
255255
- name: Run flat panel reactor tutorial
256256
run: |
257-
cd tutorial_cases/FlatPanel_250L_ASU
257+
cd tutorial_cases/OF9/FlatPanel_250L_ASU
258258
bash run.sh
259-
cd ../../
259+
cd ../../../
260+
261+
Regression-Test-OF13:
262+
name: Regression-Test-OF13 (${{ matrix.python-version }}, ${{ matrix.os }})
263+
runs-on: ${{ matrix.os }}
264+
strategy:
265+
fail-fast: false
266+
matrix:
267+
python-version: ['3.14']
268+
os: ['ubuntu-22.04']
269+
defaults:
270+
run:
271+
shell: bash -l {0}
272+
working-directory: ${{github.workspace}}
273+
steps:
274+
- uses: actions/checkout@v4
275+
- uses: actions/setup-python@v5
276+
with:
277+
python-version: ${{matrix.python-version}}
278+
- uses: gerlero/setup-openfoam@v1
279+
with:
280+
openfoam-version: 13
281+
282+
- name: Set up micromamba
283+
uses: mamba-org/setup-micromamba@v1
284+
with:
285+
environment-name: test-env
286+
create-args: >-
287+
python=${{ matrix.python-version }}
288+
channels: conda-forge
289+
channel-priority: strict
290+
cache-downloads: true
291+
cache-env: true
292+
293+
- name: Install dependencies
294+
run: |
295+
micromamba install --yes -n test-env -c conda-forge paraview
296+
pip install --upgrade pip
297+
pip install .
298+
299+
- name: Compile solver
300+
run: |
301+
cd OFsolvers/OF13/birdmultiphaseEuler
302+
export WM_COMPILE_OPTION=Debug
303+
./Allwmake
304+
cd ../../../
305+
- name: Run bubble column
306+
run: |
307+
cd tutorial_cases/OF13/bubble_column
308+
./Allrun --test
309+
cd ../../../
310+
- name: STR MRF
311+
run: |
312+
cd tutorial_cases/OF13/STR_MRF
313+
./Allrun --test
314+
cd ../../../
315+
- name: STR rotating mesh
316+
run: |
317+
cd tutorial_cases/OF13/STR_rotatingMesh
318+
./Allrun --test
319+
cd ../../../
260320
261321
Regression-Test-OF-pixi:
262322
name: Regression-Test-OF-pixi (${{ matrix.os }})
@@ -282,13 +342,13 @@ jobs:
282342
cache-write: ${{ github.event_name == 'push' && github.ref == 'refs/heads/main' }}
283343
- name: Compile solver
284344
run: |
285-
cd OFsolvers/birdmultiphaseEulerFoam
345+
cd OFsolvers/OF9/birdmultiphaseEulerFoam
286346
export WM_COMPILE_OPTION=Debug
287347
./Allwmake
288-
cd ../../
348+
cd ../../../
289349
- name: Run bubble column tutorial
290350
run: |
291-
cd tutorial_cases/bubble_column_20L
351+
cd tutorial_cases/OF9/bubble_column_20L
292352
bash run_pixi.sh
293-
cd ../../
353+
cd ../../../
294354
Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
#!/bin/sh
2+
cd ${0%/*} || exit 1 # Run from this directory
3+
4+
wclean libso phaseSystem
5+
wclean libso populationBalance
6+
wclean libso thermophysicalTransportModels
7+
wclean libso reactions
8+
wclean libso momentumTransportModels
9+
wclean
10+
11+
wclean libso fvModels
12+
wclean libso functionObjects
13+
14+
#------------------------------------------------------------------------------
Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
#!/bin/sh
2+
cd ${0%/*} || exit 1 # Run from this directory
3+
4+
# Parse arguments for library compilation
5+
. $WM_PROJECT_DIR/wmake/scripts/AllwmakeParseArguments
6+
7+
wmake -j 20 $targetType phaseSystem
8+
wmake -j 20 $targetType populationBalance
9+
wmake -j 20 $targetType thermophysicalTransportModels
10+
wmake -j 20 $targetType reactions
11+
wmake -j 20 $targetType momentumTransportModels
12+
wmake $targetType
13+
14+
wmake -j 20 $targetType fvModels
15+
wmake -j 20 $targetType functionObjects
16+
17+
#------------------------------------------------------------------------------
Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
setRDeltaT.C
2+
moveMesh.C
3+
momentumPredictor.C
4+
thermophysicalPredictor.C
5+
compressibilityEqns.C
6+
facePressureCorrector.C
7+
cellPressureCorrector.C
8+
pressureCorrector.C
9+
birdmultiphaseEuler.C
10+
11+
LIB = $(FOAM_USER_LIBBIN)/libbirdmultiphaseEuler
Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,24 @@
1+
EXE_INC = \
2+
-I$(FOAM_MODULES)/fluidSolver/lnInclude \
3+
-IphaseSystem/lnInclude \
4+
-IpopulationBalance/lnInclude \
5+
-I$(LIB_SRC)/meshTools/lnInclude \
6+
-I$(LIB_SRC)/finiteVolume/lnInclude \
7+
-I$(LIB_SRC)/sampling/lnInclude \
8+
-I$(LIB_SRC)/physicalProperties/lnInclude \
9+
-I$(LIB_SRC)/thermophysicalModels/basic/lnInclude \
10+
-I$(LIB_SRC)/twoPhaseModels/twoPhaseMixture/lnInclude \
11+
-I$(LIB_SRC)/twoPhaseModels/compressibleTwoPhases/lnInclude \
12+
-I$(LIB_SRC)/MomentumTransportModels/momentumTransportModels/lnInclude \
13+
-I$(LIB_SRC)/MomentumTransportModels/compressible/lnInclude \
14+
-I$(LIB_SRC)/MomentumTransportModels/phaseCompressible/lnInclude
15+
16+
LIB_LIBS = \
17+
-L$(FOAM_USER_LIBBIN) \
18+
-lfluidSolver \
19+
-lbirdpopulationBalance \
20+
-lbirdmultiphaseEulerThermophysicalTransportModels \
21+
-lbirdmultiphaseEulerMomentumTransportModels \
22+
-lbirdmultiphaseEulerReactions \
23+
-lfvModels \
24+
-lfvConstraints

0 commit comments

Comments
 (0)