Source Code for a custom solver, based von OpenFOAM v2106 solver icoReactingMultiphaseInterFoam
. Its main intended purpose is to model surface tension dependent interface flows, hence the name.
This solver was created due to the lack of a universal formulation for surface tension in the standard solvers. It has been shown however that marangoni stresses influence e.g. melt pools during laser melting considerably. This aims to provide a formulation that resolves those stresses in an explicit manner.
- Multiphase, VoF-based solver for n incompressible phases
- Multi-species phase formulations
- Melting, solidification and evaporation models
- Heat input using
laserDTRM
- Fluid surface tension forces
- Marangoni force
- Adaptive Mesh refinement
- High order WENO stencils for spatial discretization
The numerical implementation of capillary physics uses the capillary stress tensor formulation:
Which in a finite volume framework translates to:
The gradient of the surface tension coefficient is computed explicitly in the code. Therefore, the model can account for Marangoni forces due to temperature gradients (as long as the coefficient itself is being modelled as a function of temperature using temperatureDependent
) and concentration gradients, using the species modelling capabilities.
The thory is based on the following references:
[1] B. Lafaurie, C. Nardone, R. Scardovelli, S. Zaleski, und G. Zanetti, „Modelling Merging and Fragmentation in Multiphase Flows with SURFER“, Journal of Computational Physics, Bd. 113, Nr. 1, S. 134–147, Juli 1994, doi: 10.1006/jcph.1994.1123.
[2] D. Gueyffier, J. Li, A. Nadim, R. Scardovelli, und S. Zaleski, „Volume-of-Fluid Interface Tracking with Smoothed Surface Stress Methods for Three-Dimensional Flows“, Journal of Computational Physics, Bd. 152, Nr. 2, S. 423–456, Juli 1999, doi: 10.1006/jcph.1998.6168.
This solver uses a set of proprietary models that come with it. For the original compilation, OpenFOAM ESI in Version 2106 was used. Upwards and downwards compatibility can not be ensured, but should likely be possible with few modifications to the Makefiles.
I will continue to support v2106 and not migrate to later versions as icoReactingMultiphaseInterFoam
is partly dependent on the global libraries packaged in src
but also comes with own implementations. In versions after 2106, the dependencies have changed and thus compatibility cannot be guaranteed.
Clone the repo (using --recurse-submodules
to also fetch external libraries) and compile the source code using the Allwmake
script. Requires the standard set of compilers used by standard OpenFOAM installations as well as CMake for WENOEXT
(WENO stencils). After that, you can call the solver in the standard OpenFOAM way from the terminal with the command thermocapillaryInterFoam
.
Please cite this code when using it in your projects:
@INPROCEEDINGS{
9988504,
author={Zimbrod, Patrick and Schreter, Magdalena and Schilp, Johannes},
booktitle={2022 International Conference on Electrical, Computer, Communications and Mechatronics Engineering (ICECCME)},
title={Efficient Simulation of Complex Capillary Effects in Advanced Manufacturing Processes using the Finite Volume Method},
year={2022},
volume={},
number={},
pages={1-6},
doi={10.1109/ICECCME55909.2022.9988504}
}