High-level and convenience wrappers for DOLFINx, the FEniCS library.
Project description
dolfiny: high-level and convenience wrappers for DOLFINx
The dolfiny
package provides a set of high-level and convenience wrappers for
DOLFINx, the FEniCS library.
While DOLFINx involves many low-level operations - from handling ghosted values
to interfacing PETSc solvers directly - dolfiny
serves as a wrapper around the
low-level functionality of DOLFINx and is meant to combine a user-oriented API
with the performance and functionality of DOLFINx, FFCx, Basix and UFL.
This library is written exclusively in Python with optional interfacing to user-provided C++ kernels.
Installation
pip3 install dolfiny
Certain functionality (see demos and unit tests) relies on the availability of external packages such as
- Matplotlib (plotting),
- PyVista (scientific visualisation), or
- cppyy (dynamic Python/C++ bindings).
Install dolfiny
with these dependencies by running
pip3 install dolfiny[all]
For ARM-based architectures (aarch64
/arm64
on Linux) we recommend to fallback to our
custom-compiled binary wheels for vtk
and cppyy-cling
by setting the
local package index repository in the respective environment variable
export PIP_INDEX_URL=https://gitlab.com/api/v4/projects/59503118/packages/pypi/simple
before calling pip
.
You may also check the Dockerfile for an up-to-date version of the installation process.
Docker image
Multi-arch (amd64
and arm64
) Docker images with pre-installed dolfiny
(and dependencies)
are available at DockerHub.
docker pull dolfiny/dolfiny
Documentation
In preparation.
In the meantime please check available demos or unit tests.
Presentations about dolfiny
functionality:
- dolfiny: Convenience wrappers for DOLFINx at FEniCS 2021 conference,
- Nonlinear analysis of thin-walled structures based on tangential differential calculus with FEniCSx at FEniCS 2022 conference,
- Nonlinear local solver at FEniCS 2022 conference.
- Non-standard formulations of 3D elasticity with FEniCSx at FEniCS 2024 conference.
Authors
- Michal Habera, Rafinex, Luxembourg.
- Andreas Zilian, University of Luxembourg, Luxembourg.
Contributing
We are always looking for contributions and help with dolfiny
.
If you have ideas, nice applications or code contributions then we would
be happy to help you get them included.
We ask you to follow the FEniCS Project git workflow.
Issues and Support
Please use the GitHub issue tracker to report any issues.
License
dolfiny
is free software: you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.
dolfiny
is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details.
You should have received a copy of the GNU Lesser General Public License along with dolfiny
. If not, see http://www.gnu.org/licenses/.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
File details
Details for the file dolfiny-0.9.0.tar.gz
.
File metadata
- Download URL: dolfiny-0.9.0.tar.gz
- Upload date:
- Size: 36.2 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.1.1 CPython/3.12.3
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 81540c8ab71e8d422000f3466c2ed1eddac4306f89632678d3e5809af6a5f59c |
|
MD5 | 96e5ef23ed701c7727850a598316df9c |
|
BLAKE2b-256 | 7e7bed134671865c8da18e80d0263fbe6fd057f480dadca8d417a1227caa9cee |
File details
Details for the file dolfiny-0.9.0-py3-none-any.whl
.
File metadata
- Download URL: dolfiny-0.9.0-py3-none-any.whl
- Upload date:
- Size: 38.4 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.1.1 CPython/3.12.3
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | c8984ed98d6e3e0e3bc1b96b7ae78355b290febdba420d55cfdedad6fc8e4bbe |
|
MD5 | 4d5bb4cd022daeee578bc64fb271d3fb |
|
BLAKE2b-256 | 8ca2f9580d0f0dd6f544f3388aad6c8eba77838d31850a6f13fb816e3f475256 |