preCICE-adapter for the open source computing platform FEniCSx.
Notes:
- This adapter is a fork from the original FEniCS-preCICE adapter. Based on v1.2.0.
- This adapter is currently under development and experimental.
- Target version: dolfinx v0.5.2. Other version that have been tested and might also work: v0.4.1
It is recommended to install fenicsxprecice from PyPI (TODO link to https://pypi.org/project/fenicsxprecice/
as soon as released) via
pip3 install --user fenicsxprecice
This should work out of the box, if all dependencies are installed correctly and if your FEniCSx installation version matches the one supported by the adapter. If you face problems during installation or you want to run the tests, see below for a list of dependencies and alternative installation procedures
Make sure to install the following dependencies:
- preCICE
- python3 (this adapter only supports python3)
- the python language bindings for preCICE
- 🚧 FEniCSx (with python interface, installed by default) (under construction refer to notes on FEniCSx below) 🚧
- and scipy (
pip3 install scipy
)
After cloning this repository and switching to the root directory (fenicsx-adapter
), run pip3 install --user .
from your shell.
As a first test, try to import the adapter via python3 -c "import fenicsxprecice"
.
You can run the other tests via python3 setup.py test
.
Single tests can be also be run. For example the test test_vector_write
in the file test_write_read.py
can be run as follows:
python3 -m unittest tests.test_write_read.TestWriteandReadData.test_vector_write
Please refer to our website 🚧 Refers to the FEniCS version of the adapter 🚧.
To create and install the fenicsxprecice
python package the following instructions were used: How To Package Your Python Code from python-packaging.readthedocs.io.
If you are using this adapter, please refer to the citing information on the FEniCS adapter.
preCICE is an academic project, developed at the Technical University of Munich and at the University of Stuttgart. If you use preCICE, please cite us:
H.-J. Bungartz, F. Lindner, B. Gatzhammer, M. Mehl, K. Scheufele, A. Shukaev, and B. Uekermann: preCICE - A Fully Parallel Library for Multi-Physics Surface Coupling. Computers and Fluids, 141, 250–258, 2016.
If you are using FEniCSx, please also consider the information on the official FEniCS website on citing.
2018: The initial version of the fenics-adapter was developed by Benjamin Rodenberg during his research stay at Lund University in the group for Numerical Analysis in close collaboration with Peter Meisrimel.
2019: Richard Hertrich contributed the possibility to perform FSI simulations using the adapter in his Bachelor thesis.
2020: Ishaan Desai improved the user interface and extended the adapter to also allow for parallel FEniCS computations.
2021: For development of FEniCSx support, precice/fenics-adapter@v1.2.0
was forked as precice/fenicsx-adapter
. The required modifications were carried out by Benjamin Rodenberg and Ishaan Desai.
2023: Philip Hildebrand updated the adapter to a first minimal working version (#15) and contributed a first tutorial (precice/tutorials#317) in the scope of his Bachelor's thesis "Extending the FEniCSx Adapter for the Coupling Library preCICE" under supervision of Benjamin Rodenberg and Ishaan Desai.