FEniCS-preCICE adapter is a preCICE adapter for the open source computing platform FEniCS.
Project description
FEniCS-preCICE adapter
experimental preCICE-adapter for the open source computing platform FEniCS
Note: This adapter is currently purely expermental and limited in functionality. If you are interested in using it or you want to contribute, feel free to contact us via the preCICE mailing list.
currently only supports 2D simulations in FEniCS
This adapter was developed by Benjamin Rüth during his research stay at Lund University in the group for Numerical Analysis in close collaboration with Peter Meisrimel.
Installing the package
Using pip3 to install from PyPI
It is recommended to install fenicsprecice from PyPI via
$ pip3 install --user fenicsprecice
This should work out of the box, if all dependencies are installed correctly. If you face problems during installation or you want to run the tests, see below for a list of dependencies and alternative installation procedures
Clone this repository and use pip3
Required dependencies
Make sure to install the following dependencies:
- preCICE
- python3 (this adapter only supports python3)
- the python language bindings for preCICE
- FEniCS (with python interface, installed by default)
- and scipy (
pip3 install scipy
)
Build and install the adapter
After cloning this repository and switching to the root directory (fenics-adapter
), run pip3 install --user .
from your shell.
Test the adapter
As a first test, try to import the adapter via python3 -c "import fenicsprecice"
.
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
Use the adapter
Add from fenicsprecice import Adapter
in your FEniCS code. Please refer to the examples in the tutorials repository for usage examples:
The adapter is configured via a json
configuration file. For example configuration files and usage refer to the tutorials (fenics-fenics).
Packaging
To create and install the fenicsprecice
python package the following instructions were used: https://python-packaging.readthedocs.io/en/latest/index.html.
Citing
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 FEniCS, please also consider the information on https://fenicsproject.org/citing/.
Disclaimer
This offering is not approved or endorsed by the FEniCS Project, producer and distributor of the FEniCS software via https://fenicsproject.org/.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.