This repository contains the ongoing development of ParaSiF new feature on Conjugate Heat Transfer between FEniCSx and OpenFOAM that to be integrated into the ParaSiF Parallel Partitioned Simulation Framework once mature. It is maintained as a submodule of the main ParaSiF repository: ParaSiF Main Repository. Please note that all dev-submodules will not be shown in the main ParaSiF repository for users.
Ongoing development of ParaSiF new feature on Conjugate Heat Transfer between FEniCSx and OpenFOAM via the MUI coupling library.
Key features to be developed:
- Thermal conduction in solid domain
- Conjugate Heat Transfer between fluid and structure domain
- Conjugate Heat Transfer between two solid domains
- Thermal expension in solid domain
This solver has been tested and is compatible with FEniCSx v0.9.0 and OpenFOAM v2506.
Users are recommended to use this version to ensure full compatibility with ParaSiF FEniCSx solvers.
ParaSiF/dev/CHT/
ParaSiF/dev/CHT/
├── fluid/                # fluid OpenFOAM solvers folder
│ ├── src/                # ParaSiF-specific OpenFOAM source code folder
│ │ ├── solvers/          # ParaSiF-specific OpenFOAM solvers
│ │ └── libs/             # Libs used by OpenFOAM solvers
│ └── test/               # OpenFOAM unit test folder
├── structure/            # structure FEniCSx solvers folder
│ ├── src/                # ParaSiF-specific FEniCSx source code folder
│ └── test/               # FEniCSx unit test folder
└── example/              # example and integrated test folder
Note: This new feature will be a part of ParaSiF. Follow the main ParaSiF repository instructions to initialise submodules and install global dependencies.
- 
Obtain and install the codebase - Initialise the FEniCSx and OpenFOAM submodules from the main ParaSiF repository.
- Ensure the FEniCSx and OpenFOAM submodules in the main ParaSiF repository are correctly installed by following their instructions.
 
- 
Install the OpenFOAM solver in this repository To Be developed 
Benchmark cases are located in the test/ folder:
- Navigate to the desired benchmark folder:
cd XXX/test/XXX- Run the simulation:
./Allrun.sh- (Optional) Clean up previous results before rerunning:
./Allclean.sh- Check results:
ParaSiF, including this repository, is an open-source project, and contributions from the community are warmly welcomed.
There are many ways you can help improve this submodule, including:
- Adding new features, libs or solvers
- Improving documentation, tests and examples
- Fixing bugs or refining existing functionality
- Sharing feedback and suggestions for enhancements
Your contributions, whether large or small, are highly valued and help make ParaSiF a stronger resource for the research community.
For detailed guidance on contributing, please see the CONTRIBUTING.md in the main ParaSiF repository.
Copyright (C) 2021–2025 The ParaSiF Development Team.
Licensed under the GNU General Public License v3 (GPL-3.0).
For questions or contributions, please contact the ParaSiF Development Team