List of Changes for Multiphase Code Repository by HZDR
[Latest Release]
Bugfix
- Make potential force insensitive against phase order
- Fix name of linked addon fvModel library
- Make oversizedToContinuous robust against phase order
Deployment
- Restructure stages to get user environment also in dev image
- Enforce use of Python virtual environment to install additional pip packages in Docker & Apptainer containers
- Make image compatible with Singularity
Documentation
- Fix sprint cycle version in INSTALLATION.md
- Fix sprint cycle version in hemera sample sbatch scripts
- Point to installation instructions of multiphasepy rather than repeating the commands here
- update INSTALLATION.md
- Move files to copier template in infrastructure project
Misc
- Correct spaces in test case according to pre-commit rules
- Enable code style checks with pre-commit hooks
- Add heuristic to reference update script
MultiMorph Model
- Volume fraction filtering procedure for over-resolved scenarios
- remove deprecated detrainment phase transfer model
OpenFOAM
- Sprint Cycle Upgrade 12-s.1
Physical Modelling
- Implementation of turbulent dispersion force revised
Test
- Added single-cell test case for simulating desorption with a population balance model
- add shockTube case for addonMultiphaseEuler with compressibilty
[11-s.1-hzdr.1] - 2024-08-22
Bugfix
- Suppress warning for not declared variables from hadolint
- Separate docker build for current sprint cycle release and dev release
- Specify positional dummy argument for runCommand
Deployment
- Remove env files and update sprint cycle instructions
- Rename docker images according to docker naming conventions
- Update release procedure
- Use a default python venv to install multiphasepy
Documentation
- Fix image path in section on using Apptainer
- Update release template and docker build arguments
- Source tutorial run functions -> Source run functions
- Fix wrong order for applying patches
- Fix sprint cycle version in INSTALLATION.md
- Add information on installing and using Apptainer
MultiMorph Model
- Raise compactness requirements for cluster tracking
OpenFOAM
- foamDictionary is now able to edit files in-place with new output option
- Sprint Cycle Upgrade 11-s.1
Post-Processing
- Generally turn on ./createGraphs in all tutorials and test cases to test post-processing also in single timestep mode
- remove whitespace from variable in phaseStucture functionObjects
- Generally use Gnuplot terminal pngcairo for proper handling of postscript symbols and enhanced text
- remove converToCSV and reformatHeader, use mpyconv from multiphasepy package instead
- Move tool to multiphasepy package
[multiphase-code-repository-by-hzdr-10-s.2-hzdr.3] - 2024-07-16
Baseline
- Introduce upper limiter for EoH in Hessenkemper lift model
Bugfix
- Remove conflicting python packages installed via pip
Deployment
- Update to Ubuntu 24.04 and backport of configuration file changes from OpenFOAM-dev
- Fix unbound variable error in runParallel.sh
- Refactor runParallel RunFunction w.r.t. handling of option array
- Add all tests and tutorials to release
Misc
- add instant and refresh options to progressBar
Post-Processing
- Move foamTimeAverageData to multiphasepy python package
Test
- Added test for assessing performance of containerized MPI on foreign HPC systems
[multiphase-code-repository-by-hzdr-10-s.2-hzdr.2] - 2024-06-14
Baseline
- Optional clipping of lift coefficient for Hessenkemper
Bugfix
- Remove chown for files in home directory from entrypoint
- Fix log file output logic with respect to cluster tracking
- Ensure correct configuration and for home directory in docker image
- Restore .env-dev for OpenFOAM-dev builds
- fix wrong results due to optimisation level with g++11
- make constantAttachment work independent from phase order
- make disintegrationToDisperse work independent from phase order
- funcName --> name
Deployment
- Use PMI2 interface only for multi-node simulations
- Remove UCX communication middleware
- Rely on UCX as communication middleware for Open MPI
- Make runParallel RunFunction compatible with Singularity
- Make the sprint cycle version the default in Dockerfile instead of dev
- Avoid unbound variable warnings when using new runParallel function for Apptainer in bash strict mode, e.g. within a workflow
- Fix unbound variable error when running Snakemake workflow with Apptainer containers
- Adjusted RunFunctions to allow for running distributed MPI Jobs with Apptainer and Slurm on the basis of a fully containerized MPI implementation using the runParallel function
- Merge NVIDIAGL image into our docker image
- Remove docker compose and user management in docker images
- Force pseudo-termional allocation in runParallelApptainer function
- Added specialized run function for starting OpenFOAM MPI jobs with Apptainer
- Merge Nvidia and Linux Docker images
- Add bsdmainutils package to Debian package dependencies
- Revise handling for ccache in docker image
- Enable caching and slim down dockerfile
- Moved Python dependencies to new Python repository which provides a the multiphasepy package that is installed in the final stage of the Docker build process
- Fix application of sprint patches for Hemera cluster installation
- Lift scipy version 1.9.0 required by testAddon/postProcessing/foamFourierTransform
- Snakemake 7.25 requires toposort>=1.10
- Upgrade Docker images to Ubuntu 22.04 LTS Jammy Jellyfish
- Add new stage for multiphase python module and add compile options to scotch library
- Remove ThirdParty from docker images
- Fix bug for kaniko with major version detection
- Fix Paraview variables and build args for linuxArm64
- Use hard-coded environment variables for OpenFOAM in docker image
- Update numpy and scipy version
- Fix bug in path to foamExec
- Use foamExec as entry point for docker image
- Remove arm64 from codemeta as it crashed debian build
Documentation
- Improved documentation on setting Apptainer as default module upon login on HPC cluster
- Mark OpenFOAM directories for git as safe directories
- Add image specification examples to hemeraApptainer template batch script
- Add mpy prefix to tools from multiphasepy package
- Minor follow-up for generalized source code header
- Introduce FILES.md to specify new, modified and copied files from OpenFOAM Foundation Software
- Introduce new generalized source code header
- Sorting command with duplicates removal for configuration files
- Revise some minor left overs from renaming of the repository
Misc
- Use RunFunctions from $WM_PROJECT_SITE for compatibility with Apptainer
- Add docker as recommended VS Code extension
- Add live-server as recommended VS Code extension
- Add model to control integral mass of selected phases
- Fix etc/vscode/settings.json with respect to error squiggles
- Create a default user in docker image
- Add option to launch jupyter lab server in docker image with foamDockerRun.sh
- Backport OpenFOAM-dev commit eb8e221f
- Singularity is now Apptainer
- Remove setCaseNumberOrDefault from casesFunctions.sh following new convention that default case should be set in a case-level
caseSettings.orig
file
- Update VS Code tasks to absolute path
- Allow foamDockerRun.sh to mount single files
- Addon code is now compiled into $WM_PROJECT_SITE/$WM_PROJECT_VERSION for all installation options
- Fix ending of patch file enabling the HZDR header
- Add helper scripts to reformat dat files and update reference data
- setCaseNumberOrDefault for templated cases
- Fix ssh setting in docker-compose for Mac OS
- Add writeAtFile FO to allow result writing during running simulations
- use writeTime() rather than deprecated outputTime()
MultiMorph Model
- Optimize oversizedToContinuous logic for serial processing of multiple cluster tracking pairs
- Number-conservative conversion of large disperse fluid particles to resolved state
- Allow continuous phase with actual diameter model
OpenFOAM
- Fix HZDR banner for case files
Physical Modelling
- add phaseTransferModel BhutaniBritoParada
Population Balance
- There is no need for the phaseChange driftModel to read the specie-specific mass transfer rate from the InterfaceCompositionPhaseChangePhaseSystem as the entire mass transfer rate is what drives drift
- Allow for specie-specific mass transfer between velocity groups triggered e.g. by absorption or desorption processes
Post-Processing
- add filmThickness functionObject
- Plot script for Courant number and time step size
- Introduce new collection for bash functions in cases repository
Test
- Add test for new runParallel RunFunction to use OpenFOAM with Apptainer in distributed parallel runs
tutorials/Allrun
now checks success of Gnuplot scripts executed as part of OpenFOAM job scripts
- Add another heuristic to reference data update script
- Remove redundant fieldAverage caseDict from repo which was only used to allow single time-step tests of cases with field-averaging, but is not necessary anymore due to improvements of the Alltest script in commit 2042998044aa1e78cd07e739b0b545f79e429c70
- Remove naming of temporary controlDict file within Alltest script
- Temporarily deactivate selected LES model tests (wrong results if addon is compiled with g++-11, which is the default in Ubuntu 22.04)
- Use mktemp instead of tempfile for creating temporary controlDict file, since tempfile is deprecated
- Enhance robustness of Alltest
- Expand controlDict and set timeStart to zero
[Multiphase-Code-Repository-10-s.2-hzdr.1] - 2023-06-02
Bugfix
Deployment
- Remove arm64 from codemeta as it crashed debian build
- Fix a issue with OpenMPI and shared memory
- Enable ARM64 images and separate Paraview into own docker stage
- Build customized OpenMPI and libfabric
- Enable ccache for clang compiler
- Update REGISTRY variable in .env
- Merge cuda and nvidia images
Documentation
- Rename to Multiphase Code Repository by HZDR for OpenFOAM Foundation Software
- Minor fix to INSTALLATION.md
- More straigtforward commands for release management
Misc
- Further generalization to facilitate maintenance of other addon code repositories
- Adjust Alltest for cases with time-averaging starting later than time zero
- Add debugging options to pvserver SLURM script
- Update list of partitions in SLURM script templates
- Several modifications and bugfixes
OpenFOAM
- Sprint Cycle Upgrade 10-s.2
Post-Processing
- write blending fields, fG, fS, f1D2 and f2D1, on debug
- Update ParaView server SLURM script
- ParaView server SLURM script
- Use pngcairo instead of png terminal for plotting with Gnuplot to enable dashed lines
- Made profiling functionality use standard C++ such that it can be used outside of OpenFOAM
[HZDR-Multiphase-Addon-10-s.1-hzdr.3] - 2023-03-21
Bugfix
- Sort out QT dependencies for addon and Paraview
- fix post processing of dropletEntrainmentByShear test case
- Fix path to online repository for Doxygen
- alphaMax moved to phaseProperties for flotation tutorials
- Allow control dict update when using HZDRCourantNo
Deployment
- Fix GitLab instance URL in docker-compose.override.yml sample
- Simplify some header and descriptions for easier sync with RCS
- Install rsync in Docker container images
- Simplify dockerfile and reduce layers
- Make ssh for container deployment optional
- Free deploy job for OpenFOAM installations on hemera from deploying site directory
- Fix application of sprint patches to cluster installation for OpenFOAM-versions > 9
Documentation
- Update QT dependencies
- More descriptive merge request template for releases
- Installation instructions for Mac OS
- Modify command for running megalinter locally such that container is removed upon exit
- Update domain to GitLab instance
- beautify shortcut table
Misc
- Remove configuration files for flotation cases and switch to SchillerNaumann drag model
- Replaced prefix "HZDR" for libraries and exucutables by the more general "addon"
- Make display support for docker images optional
- Correct sprint cycle bash script to make linter happy
- Fixed formatting of blockMeshDictCylinder template
- Update Snakemake version for new workflow design
- Adapt VS Code instructions
- Provide VS Code settings as files and add instructions to CONTRIBUTING.md
- Remove checkbox for template repository
MultiMorph Model
- Rename OpenFOAM-Hybrid to MultiMorph Model
OpenFOAM
OpenFOAM-Hybrid
- add description of addon specific changes to header of ...
- write shear based under-resolution indicator at start time
Physical Modelling
- Added drag models of Tomiyama et al. (1998) for pure and slightly contaminated systems
- Entrainment model revision
- Remove not working freeSurface mesh motion solver
- Make degassingPhases fvModel compatible with blending framework
Population Balance
- Added GPU-accelerated version of the coalescence model of Lehr et al. (2002) that works with the GPU-accelerated source term assembly
- Enabled runtime selection of GPU-accelerated binary breakup models in combination with CUDApopulationBalance
- Enabled runtime selection of GPU-accelerated coalescence models in combination with CUDApopulationBalance
- Introduced automatic assignment of MPI ranks to one or more GPU devices
- Added GPU-accelerated source term assembly for breakup, binary breakup and drift
- Some improvements to GPU-accelerated coalescence source term assembly
- Add test cases for (binary)Breakup and drift for testing the GPU-accelerated source term assembly
- First working GPU-accelerated coalescence source term assembly
- Added basic code structure for implementing the GPU-acceleration of the source term assembly using NVIDIA CUDA
Post-Processing
Test
- revise Ma entrainment test case to be more standard OF-Hybrid
- Added HZDR header to Alltest script to mark it as an extension of the original script supplied by OpenFOAM
- Add -configure option to Alltest that only prepares setups to run a single time step but skips execution
Tutorial
- sync hybrid cases among repositories
[HZDR-Multiphase-Addon-10-s.1-hzdr.2] - 2022-10-19
Documentation
- Clarify that Debian, Docker and compiling from sources are exclusive installation options
- Add references to README.md
[HZDR-Multiphase-Addon-10-s.1-hzdr.1] - 2022-10-14
Bugfix
- use unquoted value to allow for proper command line argumens generation
- functionObject deviation now properly writes out deviation as field as well as in log file
- wrong apt command in dockerfile
- define arguments of foamShellRunner with '--' preventing abbreviations
- for degassingPhases fvModel add sink terms for transported variables
- qt5-default package is not available in Ubuntu 21 and newer
Deployment
- remove unnecessary patch tgz files from OpenFOAM directory
- Do not commit changes to etc/bashrc or etc/cshrc if there aren't any
- Adjust regular expressions for detecting sprint cycles to match also beyond one digit, i.e. 10-s.10
- Check for existence of patch files before applying them
- Changes to WM_PROJECT_VERSION, _COMPILER and _COMPILE_OPTION in basic are now committed to git
- Fix updateSprintCycle.sh to also consider the WM_PROJECT_VERSION entry in codemeta.json
- Add patches for OpenFOAM installation to code publication
- bin directory in WM_PROJECT_USER_DIR has highest priority in docker images
- Add Paraview to debian package
Documentation
- Make sure to remove all hyphens from docker compose commands
- Source OpenFOAM environment before applying sprint cycle patches
- Fix typo in installation instructions
- Re-structure file headers with better information about copyright
- Modified header with improved copyright
- Refer to nightly build addon Debian package in installation instructions
- correct latex formulas and remove problematic extra package to fix Doxygen formula rendering
- Automatically generate changelog file based on git commits
- align keywords in Gitlab, Rodare, codemeta.json and HIFIS Software Spotlight
- Correct Email address of Mazen Draw in codemeta.json
- add position information to contact details
- Add milestone information to support request issue template
- New issue template for internal and external support requests
- Fix broken links in doxygen
- correct typo in installation instruction
- add information to installation instructions that adding the local ssh key to the gitlab account is required for cloning the repository
- Correct non-compliant file headers
- Correct statement on supported Ubuntu versions
- Add Tingting Zhang as contributor
Misc
- Add words to spell checker list
- Refine gitignore rules with respect to postProcessing folders
- Refine gitignore rules related to postProcessing folders
- Enable various models and utilities for release
- Adapt VS Code configuration script to meet linter requirements
- Include recommended VS Code extensions in configuration script
- Fix typo in VS Code settings
- Let VS Code classify C and H files as C++ independently from any extension
- update VS Code settings to disable recommendations and clean-up
- Do not hide .git* in VS Code file explorer (.git folder is hidden anyway)
- Remove tar.gz and tgz from gitignore
- minor corrections in createVSCodeProject.sh
- writeCellCoords functionObject to print the cell-centre coodinates for a given cell id
- Removed duplicate category from .gitignore
- allow tracking of folders with leading digits, only ignore names consisting exclusively of digits and decimal points
OpenFOAM
- Sprint Cycle Upgrade 10-s.1
OpenFOAM-Hybrid
- protect dominant continuous phase from disintegration
- simplify user access to curvature
- prevent disintegration of dominant continuous phase
Physical Modelling
- add kOmegaSSTSatoIt turbulence model
- Implement droplet entrainment model
- Add low-Re correction to Shi wallLubrication model
- Write mass rate only once for master
Post-Processing
- Added multiphaseEulerFoam-specific functionObject for extracting dimensionless numbers
Test
- Counter-current test for resolved interface drag
- Correct exit code of foamShellRunner.py upon failure
- add test and demo case for disintegrationToDisperse morphology transfer
- Simplified commands for obtaining directory basename in Allrun scripts
- Refactor functionObject deviation
[HZDR-Multiphase-Addon-9-s.1-hzdr.2] - 2022-06-21
Bugfix
- Add output to doxygen to check sprint version detection
- correct path for cleaning bot
- Fix wrong variable name in gitlab deploy job for debian package
- fix deployment pipeline for openfoam debian packages
Deployment
- add bot for cleaning up package files
- enhance fabric for deployment of debian packages on local machines
- remove custom aliases for FOAM_USER_DIR from docker images
- create a latest release badge based on releases
- Add QT dependencies for graphical functionObjects
- remove cleanup for nightly packages
- minor fixes due to wrong variable names
- fix bug in version numbering
- remove dublicated job for release pipeline
- Enhance documentation and bug fixes for debian packaging
- Ensure that sprint related patches of OpenFOAM release are applied for Hemera
- Enable packaging for Debian nightly and stable packages
Documentation
- Substituted remaining apt-get in installation instructions
- added missing QtCharts package to installation instructions
- fix headers of HZDR dictionary files
Misc
- replaced m4-based template blockMesh dictionaries using #calc and #codeStream
- update and unify gitignore
OpenFOAM-Hybrid
- Write mass transfer rates for all morphology transfer phaseTransfer models
- re-formulation of turbulent dispersion force to make it consistent and more stable
- unify default hybrid setups with caseDicts
Physical Modelling
- Updated SaffmanMei lift model implementation following its contribution to OpenFOAM-dev
- Updated Kusters breakup model implementation following its contribution to OpenFOAM-dev
- Updated AdachiStuartFokkink agglomeration model implementation following its contribution to OpenFOAM-dev
- Added basic infrastructure for an iterative drag and non-drag force correction
Post-Processing
- generally use CSV as output format
Test
- added -from and -to options to Alltest
- Fix and simplify some cases regarding post-processing and plotting
Tutorial
- Added case simulating solid particle agglomeration and breakage
HZDR-Multiphase-Addon-9-s.1-hzdr.1 - 2022-04-26
Baseline
- swarm correction model to blend out drag and lift model
- breakup and coalescence case dictionaries and degassing boundary condition for bubble columns
Bugfix
- Update sizeDistribution caseDict to British English
- Cross-project pipeline is now allowed to fail
- patch does not contain any data
Deployment
- fix missing environment variable for username
- add templates from WM_PROJECT_USER_DIR to ~/.OpenFOAM
- Enable profiling images for docker-compose
Documentation
- update license information to GPL v3 or later
- add information about clone for docker compose
- correct sprint cycle commit sha for OpenFOAM-dev and ThirdParty-dev
- add links for further information about syntax of Compose files
- add missing docker login registry.hzdr.de
- Correct installation instructions with respect to WM_PROJECT_SITE_DIR
- Added information on git-lfs to installation instructions
- Add doi to codemeta and openfoam website link to Readme.md
- Split command line commands into blocks for efficient use of "copy" button from the browser
- reference to OpenFOAM code quality guide
- New checklist for merge requests containing a possible release contribution
- Modify cite us as for processing with pandoc to pdf
- New installation instructions
- Centred the Class Declaration comment
OpenFOAM
- Rationalized the naming of scalar limits
Physical Modelling
- Shi et al (2021) wall lubrication model for rigid spheres
Population Balance
- functionObject for computing integral and mean properties of a size distribution
- Cleanup of unnecessary includes files
- Prepare coalescence and breakup models of Liao et al. (2015) for contribution
- Correct Ceff coefficient in Liao coalescence model implementation
- CUDA CoulaloglouTavlarides kernel
- Configurable number of CUDA streams
- add reference solution to test cases
- Cuda Test for LehrMilliesMewes kernel
- CUDA LehrMilliesMewes binary breakup model
Post-Processing
- Python script for calculating time derivative of time series
Test
- set terminal to color in createGraph scripts of population balance tests
automatically generated with git-chglog