All Projects → precice → fenics-adapter

precice / fenics-adapter

Licence: LGPL-3.0 License
preCICE-adapter for the open source computing platform FEniCS

Programming Languages

python
139335 projects - #7 most used programming language
Dockerfile
14818 projects

Projects that are alternatives of or similar to fenics-adapter

tutorials
Various tutorial cases for the coupling library preCICE with real solvers. These files are meant to be rendered on precice.org, so don't look at the README files here.
Stars: ✭ 72 (+227.27%)
Mutual labels:  multi-physics, conjugate-heat-transfer, precice
dafoam
DAFoam: Discrete Adjoint with OpenFOAM for High-fidelity Gradient-based Design Optimization
Stars: ✭ 86 (+290.91%)
Mutual labels:  heat-transfer
dolfinx-tutorial
A reimplementation of the Springer book: https://github.com/hplgit/fenics-tutorial/, covering new topics as well as transitioning from dolfin to dolfinx
Stars: ✭ 28 (+27.27%)
Mutual labels:  fenics
Finite-Difference-Method
A Finite Difference Method Engine in C++
Stars: ✭ 15 (-31.82%)
Mutual labels:  heat-transfer
multiphenics
multiphenics - easy prototyping of multiphysics problems in FEniCS
Stars: ✭ 30 (+36.36%)
Mutual labels:  fenics
featool-multiphysics
FEATool - "Physics Simulation Made Easy" (Fully Integrated FEA, FEniCS, OpenFOAM, SU2 Solver GUI & Multi-Physics Simulation Platform)
Stars: ✭ 190 (+763.64%)
Mutual labels:  fenics
maelstrom
Numerical simulation of magnetohydrodynamics.
Stars: ✭ 28 (+27.27%)
Mutual labels:  fenics
fenics-DRL
Repository from the paper https://arxiv.org/abs/1908.04127, to train Deep Reinforcement Learning in Fluid Mechanics Setup.
Stars: ✭ 40 (+81.82%)
Mutual labels:  fenics
cashocs
computational adjoint-based shape optimization and optimal control software for python
Stars: ✭ 18 (-18.18%)
Mutual labels:  fenics
FenicsSolver
multiphysics FEM solver based on Fenics library
Stars: ✭ 52 (+136.36%)
Mutual labels:  fenics
ufl
UFL - Unified Form Language
Stars: ✭ 51 (+131.82%)
Mutual labels:  fenics
kiva
Ground heat transfer calculation tool
Stars: ✭ 23 (+4.55%)
Mutual labels:  heat-transfer
RBniCS
RBniCS - reduced order modelling in FEniCS
Stars: ✭ 5 (-77.27%)
Mutual labels:  fenics
pymor
pyMOR - Model Order Reduction with Python
Stars: ✭ 198 (+800%)
Mutual labels:  fenics
range3
Range Software - Finite Element Analysis
Stars: ✭ 31 (+40.91%)
Mutual labels:  heat-transfer
multiphenics
multiphenics - easy prototyping of multiphysics problems in FEniCS
Stars: ✭ 33 (+50%)
Mutual labels:  fenics
fem
Notes on finite element method
Stars: ✭ 20 (-9.09%)
Mutual labels:  fenics
multiphysics
Interactive Multiphysics Simulation for Everyone
Stars: ✭ 41 (+86.36%)
Mutual labels:  heat-transfer
CFD
Basic Computational Fluid Dynamics (CFD) schemes implemented in FORTRAN using Finite-Volume and Finite-Difference Methods. Sample simulations and figures are provided.
Stars: ✭ 89 (+304.55%)
Mutual labels:  heat-transfer
fiat
FIAT: FInite element Automatic Tabulator
Stars: ✭ 33 (+50%)
Mutual labels:  fenics

FEniCS-preCICE adapter

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

preCICE-adapter for the open source computing platform 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: 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 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.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].