Diffuse Domain Finite Element Methods
ddfem is a Python package that simplifies the transformation of a wide range of PDEs using the Diffuse Domain Method. While the original PDE will often be defined on a complex domain, after the transformation it can be solved on simple e.g. square domain. The original geometry is embedded in the simpler domain using a phase-field function representation. We provide implementations for different versions of the Diffuse Domain Method making it easy to compare and chose the most suitable version for the problem at hand. Adding new versions is also straightforward. Furthermore, we provide a new approach to combine multiple boundary conditions of different types on distinct boundary segments.
The geometry subpackage provides several simple signed distance functions (SDF), and operators to allow an easy definition of the complex domain.
We have designed the package to have a wide compatibility with existing finite element solvers, as all transformations are performed using the Unified Form Language, UFL and do not require any other external packages.
While not required, we recommend using Dune-Fem as it enables some optimisations for form compiling, and can improve the mesh by utilising the different grid views. We have used this package to test the package and for all examples used throughout this tutorial.
Getting started
How to install the package using pip is discussed in our tutorial.
Enjoy - and let us know of any issues you encountered
Metadata
Release files for ddfem 1.0.12
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| ddfem-1.0.12.tar.gz | 172.2 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| ddfem-1.0.12-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 482.9 kB
Release files / ddfem-1.0.12.tar.gz
| Download URL | ddfem-1.0.12.tar.gz |
|---|---|
| Size | 172.2 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
83648c89b755819c6a78837e24d1bbd0e33ceaeafb4f0ce716caac4b4faf7565
|
|
BLAKE2b-256 checksum How to use checksums |
4e366e1dd5ca5ed1cfb484e5bf50cb431675543dd1ff663229f78902a2947edc
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.1.0 CPython/3.12.3
|
Release files / ddfem-1.0.12-py3-none-any.whl
| Download URL | ddfem-1.0.12-py3-none-any.whl |
|---|---|
| Size | 310.7 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
399fdd7778cd3377e2f85597a719c464f10b694558775a1357e3b9b56e5c6a43
|
|
BLAKE2b-256 checksum How to use checksums |
2c98a9beb934a19f0b605cd5215d3b699216fe155e8f311dd88ce50fc0588396
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.1.0 CPython/3.12.3
|