Developed by the Computational Multiphase Flow research group.
Unified framework for solving multiphysics problems of the multi-region coupling type within OpenFOAM (FOAM-extend). This framework is intended to supersede the existing solver with the same name. The design of the new framework is modular, allowing users to assemble a multiphysics problem region-by-region and coupling conditions interface-by-interface. The present approach allows users to choose between deploying either monolithic or partitioned interface coupling for each individual transport equation. The formulation of boundary conditions is generalised in the sense that their implementation is based on the mathematical jump/transmission conditions in the most general form for tensors of any rank.
FOAM-extend was chosen as the foundation of this framework as it utilises, among others, the GGI mapping for non-conformal interfaces and the coupledFvMatrices for the block coupled solution of monolithically coupled regions.
- Working installation of foam-extend 4.1: For installing foam-extend 4.1 please refer to and follow the installation instructions step-by-step!
With a sourced working foam-extend 4.1 installation, clone the repository and build the library and solvers:
./Allwmake
The tutorials
directory has tutorials to showcase the library's functionality.
Please take a look there for examples of usage. There are Allrun
scripts
demonstrating the proper usage.
We invite everyone in the FOAM community to collaborate with us and jointly develop multiRegionFoam. For this, the follwoing steps need to be carried out
- Fork this repository to your own account.
- Clone the forked repository to your local machine:
git clone <URL_of_your_fork>
- Also add the original multiRegionFoam as a remote to be able to regularly
pull updates from the original repository:
git remote add OriginalMultiRegionFoam [email protected]:hmarschall/multiregionfoam.git
- To pull changes from the
dev
branch of the original multiRegionFoam repo run:
git pull OriginalMultiRegionFoam dev
- To pull changes from the
- Create a new branch (The
dev
branch is the corner stone of the development, please branch all of your feature/bugFix branches off of it):
git checkout -b <name_of_your_new_branch>
- Push your new branch to your forked remote repo:
git push -u origin <name_of_your_new_branch>
- Make the necessary modifications and commit them to your branch while
providing descriptive commit messages (see this
Link
on how to work with git).
- Try to keep your branch up to date with the new developments and bug fixes
in the original multiRegionFoam repo. For this, do the following
- Switch from your branch back to the
dev
branch:
git checkout dev
- Pull the updates from the original repository:
git pull OriginalMultiRegionFoam dev
- Switch back to your branch:
git checkout <name_of_your_new_branch>
- Merge the updated
dev
branch into your branch:
git merge dev
- Switch from your branch back to the
- Try to keep your branch up to date with the new developments and bug fixes
in the original multiRegionFoam repo. For this, do the following
- Push your changes regularly to your forked repo on bitbuket:
git push origin <name_of_your_new_branch>
- If you are satisfied with your new developments and all your changes are
pushed to your remote repository yoou can finally create a pull request from
your branch in your remote repository on bitbucket to the original
multiRegionFoam reposity, while providing a clear description of your changes
(see this Link
on how to create a pull request on bibucket). Collaborate with reviewers, address
feedback, and once approved, your contributions can be merged.
- Make sure your branch is up to date with the most recent changes in the original multiRegionFoam repo before creating the pull request
- When your branch gets merged, it's considered a "best-practice" to delete your feature branch and start a fresh one.
Released under the GNU Public License - see code headers for details.
The devopment of this project has been partly funded by
- Hessian Ministry of Higher Education, Research, Science and the Arts,
- National High Performance Computing Center for Computational Engineering Science (NHR4CES)