Skip to main content

FEniCS-preCICE adapter is a preCICE adapter for the open source computing platform FEniCS.

Project description

FEniCS-preCICE adapter

GNU LGPL license Build and Test Run preCICE Tutorials Upload Python Package

preCICE-adapter for the open source computing platform FEniCS

currently only supports 2D simulations in FEniCS

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:

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

Troubleshooting

FEniCS is suddenly broken: There are two known issues with preCICE, fenicsprecice and FEniCS:

  • If you see ImportError: cannot import name 'sub_forms_by_domain' run pip3 uninstall -y fenics-ufl. For details, refer to issue #103.
  • If you see ModuleNotFoundError: No module named 'dolfin' and have installed PETSc from source, refer to this forum post. Short version: Try to use the PETSc that comes with your system, if possible. Note that you can also compile preCICE without PETSc, if necessary.

If this does not help, you can contact us on gitter or open an issue.

Use the adapter

Please refer to our website.

Packaging

To create and install the fenicsprecice python package the following instructions were used: https://python-packaging.readthedocs.io/en/latest/index.html.

Citing

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 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/.

Development history

The initial version of this 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.

Richard Hertrich contributed the possibility to perform FSI simulations using the adapter in his Bachelor thesis.

Ishaan Desai improved the user interface and extended the adapter to also allow for parallel FEniCS computations.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

fenicsprecice-1.1.0.tar.gz (38.1 kB view details)

Uploaded Source

File details

Details for the file fenicsprecice-1.1.0.tar.gz.

File metadata

  • Download URL: fenicsprecice-1.1.0.tar.gz
  • Upload date:
  • Size: 38.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.2.0 pkginfo/1.6.1 requests/2.22.0 setuptools/45.2.0 requests-toolbelt/0.9.1 tqdm/4.52.0 CPython/3.8.5

File hashes

Hashes for fenicsprecice-1.1.0.tar.gz
Algorithm Hash digest
SHA256 5e81e5c6562e72a2c27094ec23e650f0e1e5b314303f5248ee1580043947e6c0
MD5 42ddf49c2a9802c9e71ecd360d6d2ff5
BLAKE2b-256 c2885f6ce48a8b9178656b30ccdc9a16afe43601f5b8adcc348a7e96bbb817e0

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page