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 DOI Build and Test Run preCICE Tutorials Upload Package

preCICE-adapter for the open source computing platform FEniCS.

Installing the package

Generally, we recommend to create a virtual environment and install the package there. The following commands will create the virtual environment .venv:

python3 -m venv --system-site-packages .venv
. .venv/bin/activate

You can replace .venv with path/of/your/venv/venv_name if you want to create the virtual environment somewhere else. The command --system-site-packages will allow the virtual environment to access the FEniCS installation on your system. Refer to the Python documentation for further details on virtual environments.

If you do not want to use a virtual environment, you might encounter the error: externally-managed-environment during installation of the adapter; this depends on your pip version and operating system. You can read why this error shows up in the documentation.

Using pip to install from PyPI

It is recommended to install fenicsprecice from PyPI via

pip install 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 pip

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 pip install . 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 tox. If you want to run them separately, use tox -e unit and tox -e integration respectively.

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:

tox -e all -- tests/integration/test_write_read.py::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 ImportError: cannot import name 'cellname2facetname' from 'ufl.cell', refer to issue #154.
  • 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: "How To Package Your Python Code" from python-packaging.readthedocs.io.

Citing

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 (Philipp Birken) 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 allow for parallel FEniCS computations and 3D cases in certain scenarios.

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-2.3.0.tar.gz (29.1 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

fenicsprecice-2.3.0-py3-none-any.whl (29.4 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: fenicsprecice-2.3.0.tar.gz
  • Upload date:
  • Size: 29.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for fenicsprecice-2.3.0.tar.gz
Algorithm Hash digest
SHA256 c94103aef9b4204ea8975c16d64f37d76a7e4cc5e2fb858ad0f74e6a444f01a9
MD5 d9e27b588718f0de738765f59c1bdc94
BLAKE2b-256 0262cb49818f1e42edea4d85e04b42ba02b6fadb5781045849b1deef58729cf6

See more details on using hashes here.

Provenance

The following attestation bundles were made for fenicsprecice-2.3.0.tar.gz:

Publisher: release.yml on precice/fenics-adapter

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file fenicsprecice-2.3.0-py3-none-any.whl.

File metadata

  • Download URL: fenicsprecice-2.3.0-py3-none-any.whl
  • Upload date:
  • Size: 29.4 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for fenicsprecice-2.3.0-py3-none-any.whl
Algorithm Hash digest
SHA256 f8b8980ac2de58fee64816efdeadf82316452b0b677df27a998c7e3450044b3c
MD5 155f2940886418bb6d3bbbeb13a0b56f
BLAKE2b-256 ec3e7f9e9ebb4dab1e25368c4ece612de7e2450fa9b47d0f60320e7bbf45e9d8

See more details on using hashes here.

Provenance

The following attestation bundles were made for fenicsprecice-2.3.0-py3-none-any.whl:

Publisher: release.yml on precice/fenics-adapter

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

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