FEniCSx_ii (FEniCSx trace)
FEniCSx_ii is an extension of FEniCSx that allows users to work with non-conforming 3D-1D meshes.
The core algorithm is based on the framework proposed by Kuchta 2021 {cite}intro-Kuchta2021trace
and implemented in FEniCS_ii.
The new framework addresses the limitation of $\mathrm{FEniCS}_{\mathrm{ii}}$ not being MPI compatible.
Currently, the new framework does not use {cite}intro-Mardal2012 cbc.block, and instead
implements the matrix-matrix products in a non-lazy fashion, and uses PETSc Nest matrices
to set up the blocked system.
Given a 3D domain with a function $u\in V(\Omega)$ and a $1D$ domain $\Gamma$. We define a restriction operator $\Pi:V\mapsto L^2(\Gamma)$, which becomes a central part of the variational formulation.
See for instance
D'Angelo & Quarteroni, 2008 {cite}intro-dangelo20083d1d,
Kuchta 2021 {cite}intro-Kuchta2021trace or
Masri, Kuchta & Riviere, 2024 {cite}intro-masri2024coupled3d1d.
Several (non-local) operators are implemented in {py:mod}fenicsx_ii:
- {py:class}
PointwiseTrace<fenicsx_ii.PointwiseTrace>, the operator: $\Pi(u)(\hat x)=u(\hat x)$, $\hat x \in \Gamma$ . - {py:class}
Circle<fenicsx_ii.Circle>, the operator $\Pi(u)(\hat x)=\frac{1}{\vert P_R \vert}\int_{P_{R}(\Gamma(\hat x))}u~\mathrm{d}s$, where $P_R(\Gamma(\hat x))$ is the perimeter of a disk with radius $R$, normal aligning with $\Gamma(\hat x)$ and origin at $\hat x$. - {py:class}
Disk<fenicsx_ii.Disk>, the operator $\Pi(u)(\hat x)=\frac{1}{\vert D_R \vert}\int_{D_R(\Gamma(\hat x))} u~\mathrm{d}x$, where $D_R(\Gamma(\hat x))$ is the disk with radius $R$, normal aligining with $\Gamma(\hat x)$ and origin at $\hat x$.
Any other operator can be implemented by following the {py:class}ReductionOperator<fenicsx_ii.ReductionOperator>-protocol.
Funding
The development of FEniCSx_ii has been funded by the Wellcome Trust, grant number: 313298/Z/24/Z
References
:filter: cited
:labelprefix:
:keyprefix: intro-
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
File details
Details for the file fenicsx_ii-0.4.0.tar.gz.
File metadata
- Download URL: fenicsx_ii-0.4.0.tar.gz
- Upload date:
- Size: 28.8 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via:
twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
dedcd82970de60dd2c7dc48211f29247b52740da3a25ffcb92bf16da51fb2d32
|
|
| MD5 |
7f891712c9d8e0fedc9a17f0ccd0083b
|
|
| BLAKE2b-256 |
b0daffc3256314220b6198a00f6c2dd1bac84ebf0f9286140d8166390ade5a8f
|
Provenance
The following attestation bundles were made for fenicsx_ii-0.4.0.tar.gz:
Publisher:
pypi.yml on scientificcomputing/fenicsx_ii
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
fenicsx_ii-0.4.0.tar.gz -
Subject digest:
dedcd82970de60dd2c7dc48211f29247b52740da3a25ffcb92bf16da51fb2d32 - Sigstore transparency entry: 821249037
- Sigstore integration time:
-
Permalink:
scientificcomputing/fenicsx_ii@08b5028c365142416b87b323211f93e1d10ddaac -
Branch / Tag:
refs/tags/v0.4.0 - Owner: https://github.com/scientificcomputing
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
pypi.yml@08b5028c365142416b87b323211f93e1d10ddaac -
Trigger Event:
push
-
Statement type: