moorFV is a coupling library for mooring applications in OpenFOAM, with extensions for beam-fluid interaction problems. It provides finite-volume-based tools and examples for coupling floating-body motion, mooring-line dynamics, and beam-fluid interaction workflows.
- OpenFOAM, tested with OpenFOAM.com-style installations.
beamFoam, which is a mandatory submodule for this library.- A working OpenFOAM build environment with
wmakeavailable in the shell.
Initialize the required submodule after cloning:
git submodule update --init --recursiveThe beamFoam submodule is located at:
src/beamFoam
By default, moorFV builds against this bundled submodule. If you want to use
your own beamFoam checkout instead, set BEAMFOAM_DIR before building:
export BEAMFOAM_DIR=/path/to/beamFoamThe selected beamFoam installation must already be compiled, because moorFV uses beamFoam headers from:
$BEAMFOAM_DIR/src/wireBunchingModels/lnInclude
If that directory is missing, compile beamFoam first:
cd "$BEAMFOAM_DIR"
./Allwmake -jLoad your OpenFOAM environment first, then build from the repository root:
./AllwmakeThe root Allwmake delegates to src/Allwmake. The src/Allwmake script
resolves BEAMFOAM_DIR as follows:
- If
BEAMFOAM_DIRis set, it validates and uses that path. - If
BEAMFOAM_DIRis not set, it uses the bundled submodule atsrc/beamFoam. - If the submodule is missing or uninitialized, it prints the required
git submodule update --init --recursive src/beamFoamcommand.
This means both of the following are valid:
./Allwmakecd src
./AllwmakeTo clean generated build files:
./AllwcleanExample cases are provided in:
tutorial/
The current tutorial structure includes mooring cases and beam-fluid interaction cases, including:
tutorial/mooringCase-H12T20tutorial/mooringCase-H15T18tutorial/beamFluidInteractionCases/pitzDailyWithBeam
Each case should be run from its own directory using the local Allrun and Allclean scripts when available.
If you use moorFV or the finite-volume mooring-line method in your work, please cite:
Taran, A., Bali, S., Tukovic, Z., Pakrashi, V., and Cardiff, P. (2025). A finite volume Simo-Reissner beam method for moored floating body dynamics. Applied Ocean Research, 165, 104845. https://doi.org/10.1016/j.apor.2025.104845
For questions, please contact:
- Amirhossein Taran: amirhossein.taran@ucdconnect.ie
- Philip Cardiff: philip.cardiff@ucd.ie
This project is distributed under the GNU General Public License v3.0. See LICENSE for details.

