Git Product home page Git Product logo

fenicsx-adapter's Introduction

FEniCSx-preCICE adapter

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

preCICE-adapter for the open source computing platform FEniCSx.

Notes:

  • This adapter is a fork from the original FEniCS-preCICE adapter. Based on v1.2.0.
  • This adapter is currently under development and experimental.
  • Target version: dolfinx v0.8.0.
  • Target version: preCICE v3.

Installing the package

๐Ÿšง Using pip3 to install from PyPI (under construction) ๐Ÿšง

It is recommended to install fenicsxprecice from PyPI (TODO link to https://pypi.org/project/fenicsxprecice/ as soon as released) via

pip3 install --user fenicsxprecice

This should work out of the box, if all dependencies are installed correctly and if your FEniCSx installation version matches the one supported by the adapter. 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 (fenicsx-adapter), run pip3 install --user . from your shell.

Test the adapter

As a first test, try to import the adapter via python3 -c "import fenicsxprecice".

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

Please refer to our website ๐Ÿšง Refers to the FEniCS version of the adapter ๐Ÿšง.

Packaging

To create and install the fenicsxprecice python package the following instructions were used: How To Package Your Python Code from python-packaging.readthedocs.io.

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 FEniCSx, please also consider the information on the official FEniCS website on citing.

Development history

2018: The initial version of the fenics-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.

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

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

2021: For development of FEniCSx support, precice/[email protected] was forked as precice/fenicsx-adapter. The required modifications were carried out by Benjamin Rodenberg and Ishaan Desai.

2023: Philip Hildebrand updated the adapter to a first minimal working version (precice#15) and contributed a first tutorial (precice/tutorials#317) in the scope of his Bachelor's thesis "Extending the FEniCSx Adapter for the Coupling Library preCICE" under supervision of Benjamin Rodenberg and Ishaan Desai.

2024: Eduardo Firvida updated the adapter to a minimal working version (precice#26) with FSI and 3D support for preCICEv3. In the scope of his PhD Thesis.

fenicsx-adapter's People

Contributors

benjaminrodenberg avatar ishaandesai avatar efirvida avatar uekerman avatar shkodm avatar richahert avatar boris-martin avatar makish avatar philiphildebrand avatar rafalkulaga avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.