fenicsprecice
preCICE-adapter for the open source computing platform FEniCS
Science Score: 77.0%
This score indicates how likely this project is to be science-related based on various indicators:
-
✓CITATION.cff file
Found CITATION.cff file -
✓codemeta.json file
Found codemeta.json file -
✓.zenodo.json file
Found .zenodo.json file -
✓DOI references
Found 3 DOI reference(s) in README -
✓Academic publication links
Links to: zenodo.org -
✓Committers with academic emails
2 of 13 committers (15.4%) from academic institutions -
○Institutional organization owner
-
○JOSS paper metadata
-
○Scientific vocabulary similarity
Low similarity (16.3%) to scientific vocabulary
Keywords
Repository
preCICE-adapter for the open source computing platform FEniCS
Basic Info
Statistics
- Stars: 33
- Watchers: 5
- Forks: 18
- Open Issues: 22
- Releases: 15
Topics
Metadata Files
README.md
FEniCS-preCICE adapter
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:
bash
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 here.
Using pip to install from PyPI
It is recommended to install fenicsprecice from PyPI via
bash
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:
- preCICE
- python3 (this adapter only supports python3)
- the python language bindings for preCICE
- FEniCS (with Python interface, installed by default)
- and scipy (
pip install scipy)
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:
bash
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'runpip3 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
- FEniCS-preCICE: If you are using this adapter (
fenics-adapter), please refer to the citing information on the FEniCS adapter. - preCICE: preCICE is an academic project, developed at the Technical University of Munich and at the University of Stuttgart. If you use preCICE, please cite preCICE.
- FEniCS: If you are using FEniCS, please also consider the information on the official FEniCS website on 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.
Owner
- Name: preCICE
- Login: precice
- Kind: organization
- Location: Germany
- Website: https://precice.org
- Twitter: preCICE_org
- Repositories: 50
- Profile: https://github.com/precice
A Coupling Library for Partitioned Multi-Physics Simulations on Massively Parallel Systems
Citation (CITATION.cff)
# This CITATION.cff file was generated with cffinit.
# Visit https://bit.ly/cffinit to generate yours today!
cff-version: 1.2.0
title: FEniCS-preCICE
message: >-
If you use this software, please cite it using the metadata from this file. When using or referring to preCICE in
academic publications, please follow the [citation guidelines](https://precice.org/fundamentals-literature-guide.html).
type: software
authors:
- given-names: Benjamin
family-names: Rodenberg
orcid: 'https://orcid.org/0000-0002-3116-0133'
affiliation: Technical University of Munich
- given-names: Ishaan
family-names: Desai
orcid: 'https://orcid.org/0000-0002-2552-7509'
affiliation: University Stuttgart
- family-names: Hertrich
given-names: Richard
orcid: 'https://orcid.org/0000-0003-1722-2841'
- affiliation: University of Stuttgart
given-names: Jaust
family-names: Alexander
orcid: 'https://orcid.org/0000-0002-6082-105X'
- affiliation: University of Stuttgart
given-names: Uekermann
family-names: Benjamin
orcid: 'https://orcid.org/0000-0002-1314-9969'
repository-code: 'https://github.com/precice/fenics-adapter'
abstract: >-
preCICE-adapter for the open source computing platform
FEniCS.
license: LGPL-3.0
version: 2.2.0
preferred-citation:
title: "FEniCS-preCICE: Coupling FEniCS to other Simulation Software"
type: "article"
authors:
- affiliation: "Technical University of Munich"
family-names: Rodenberg
given-names: Benjamin
orcid: "https://orcid.org/0000-0002-3116-0133"
- affiliation: "University Stuttgart"
family-names: Desai
given-names: Ishaan
orcid: "https://orcid.org/0000-0002-2552-7509"
- family-names: Hertrich
given-names: Richard
orcid: "https://orcid.org/0000-0003-1722-2841"
- affiliation: "University of Stuttgart"
family-names: Jaust
given-names: Alexander
orcid: "https://orcid.org/0000-0002-6082-105X"
- affiliation: "University of Stuttgart"
family-names: Uekermann
given-names: Benjamin
orcid: "https://orcid.org/0000-0002-1314-9969"
doi: 10.1016/j.softx.2021.100807
journal: "SoftwareX"
volume: 16
pages: 100807
year: 2021
GitHub Events
Total
- Create event: 6
- Issues event: 15
- Release event: 2
- Watch event: 3
- Delete event: 2
- Issue comment event: 20
- Push event: 29
- Pull request review event: 23
- Pull request review comment event: 14
- Pull request event: 18
- Fork event: 3
Last Year
- Create event: 6
- Issues event: 15
- Release event: 2
- Watch event: 3
- Delete event: 2
- Issue comment event: 20
- Push event: 29
- Pull request review event: 23
- Pull request review comment event: 14
- Pull request event: 18
- Fork event: 3
Committers
Last synced: 9 months ago
Top Committers
| Name | Commits | |
|---|---|---|
| Benjamin Rüth | b****h@t****e | 184 |
| ishaandesai | i****i@g****m | 48 |
| NiklasV | 1****n | 5 |
| Alexander Jaust | a****t@i****e | 2 |
| Benjamin Uekermann | b****n@g****m | 2 |
| Dmytro Sashko | d****o@g****m | 2 |
| richahert | 3****t | 2 |
| Boris Martin | 8****n | 1 |
| Gerasimos Chourdakis | m****s@g****m | 1 |
| Muhammad Hassani | m****6@g****m | 1 |
| RafalKulaga | 3****a | 1 |
| giuliatum | 2****m | 1 |
| valentin-seitz | v****z@g****m | 1 |
Committer Domains (Top 20 + Academic)
Issues and Pull Requests
Last synced: 6 months ago
All Time
- Total issues: 67
- Total pull requests: 84
- Average time to close issues: 11 months
- Average time to close pull requests: about 1 month
- Total issue authors: 13
- Total pull request authors: 8
- Average comments per issue: 2.81
- Average comments per pull request: 1.81
- Merged pull requests: 75
- Bot issues: 0
- Bot pull requests: 0
Past Year
- Issues: 10
- Pull requests: 16
- Average time to close issues: about 2 months
- Average time to close pull requests: 1 day
- Issue authors: 2
- Pull request authors: 4
- Average comments per issue: 1.0
- Average comments per pull request: 1.13
- Merged pull requests: 14
- Bot issues: 0
- Bot pull requests: 0
Top Authors
Issue Authors
- BenjaminRodenberg (45)
- IshaanDesai (7)
- NiklasVin (3)
- MakisH (2)
- davidscn (2)
- boris-martin (1)
- richahert (1)
- ng0177 (1)
- uekerman (1)
- muh-hassani (1)
- ajaust (1)
- mmichelis (1)
- valentin-seitz (1)
Pull Request Authors
- BenjaminRodenberg (63)
- IshaanDesai (18)
- NiklasVin (9)
- giuliatum (2)
- muh-hassani (1)
- boris-martin (1)
- valentin-seitz (1)
- MakisH (1)
Top Labels
Issue Labels
Pull Request Labels
Packages
- Total packages: 2
-
Total downloads:
- pypi 145 last-month
-
Total dependent packages: 0
(may contain duplicates) -
Total dependent repositories: 3
(may contain duplicates) - Total versions: 16
- Total maintainers: 1
pypi.org: fenicsprecice
FEniCS-preCICE adapter is a preCICE adapter for the open source computing platform FEniCS.
- Homepage: https://github.com/precice/fenics-adapter
- Documentation: https://fenicsprecice.readthedocs.io/
- License: LGPL-3.0
-
Latest release: 2.2.0
published over 1 year ago
Rankings
Maintainers (1)
conda-forge.org: fenicsprecice
preCICE-adapter for the open source computing platform FEniCS. Note: The adapter currently only supports 2D simulations in FEniCS.
- Homepage: https://precice.org
- License: LGPL-3.0-or-later
-
Latest release: 1.3.0
published about 4 years ago
Rankings
Dependencies
- mpi4py *
- numpy >=1.13.3
- pyprecice >=2.0.0
- scipy *