cardiac-geometriesx 0.4.0__py3-none-any.whl → 0.4.1__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Potentially problematic release.
This version of cardiac-geometriesx might be problematic. Click here for more details.
- cardiac_geometries/fibers/lv_ellipsoid.py +4 -1
- cardiac_geometries/fibers/slab.py +4 -1
- cardiac_geometries/fibers/utils.py +4 -2
- cardiac_geometries/utils.py +9 -4
- {cardiac_geometriesx-0.4.0.dist-info → cardiac_geometriesx-0.4.1.dist-info}/METADATA +2 -1
- cardiac_geometriesx-0.4.1.dist-info/RECORD +16 -0
- cardiac_geometriesx-0.4.0.dist-info/RECORD +0 -16
- {cardiac_geometriesx-0.4.0.dist-info → cardiac_geometriesx-0.4.1.dist-info}/LICENSE +0 -0
- {cardiac_geometriesx-0.4.0.dist-info → cardiac_geometriesx-0.4.1.dist-info}/WHEEL +0 -0
- {cardiac_geometriesx-0.4.0.dist-info → cardiac_geometriesx-0.4.1.dist-info}/entry_points.txt +0 -0
- {cardiac_geometriesx-0.4.0.dist-info → cardiac_geometriesx-0.4.1.dist-info}/top_level.txt +0 -0
|
@@ -159,7 +159,10 @@ def compute_system(
|
|
|
159
159
|
s0 = utils.normalize(s0)
|
|
160
160
|
|
|
161
161
|
Vv = space_from_string(
|
|
162
|
-
space_string=f"{element.family_name}_{element.degree}",
|
|
162
|
+
space_string=f"{element.family_name}_{element.degree}",
|
|
163
|
+
mesh=mesh,
|
|
164
|
+
dim=mesh.geometry.dim,
|
|
165
|
+
discontinuous=element.discontinuous,
|
|
163
166
|
)
|
|
164
167
|
|
|
165
168
|
fiber = dolfinx.fem.Function(Vv)
|
|
@@ -60,7 +60,10 @@ def compute_system(
|
|
|
60
60
|
n0 = utils.normalize(n0)
|
|
61
61
|
|
|
62
62
|
Vv = space_from_string(
|
|
63
|
-
space_string=f"{element.family_name}_{element.degree}",
|
|
63
|
+
space_string=f"{element.family_name}_{element.degree}",
|
|
64
|
+
mesh=mesh,
|
|
65
|
+
dim=mesh.geometry.dim,
|
|
66
|
+
discontinuous=element.discontinuous,
|
|
64
67
|
)
|
|
65
68
|
|
|
66
69
|
fiber = dolfinx.fem.Function(Vv)
|
|
@@ -20,13 +20,15 @@ class Microstructure(NamedTuple):
|
|
|
20
20
|
def save_microstructure(
|
|
21
21
|
mesh: dolfinx.mesh.Mesh, functions: Sequence[dolfinx.fem.Function], outdir: str | Path
|
|
22
22
|
) -> None:
|
|
23
|
-
from ..utils import
|
|
23
|
+
from ..utils import element2array
|
|
24
24
|
|
|
25
25
|
if len(functions) == 0:
|
|
26
26
|
return
|
|
27
27
|
# Save for paraview visualization
|
|
28
28
|
if functions[0].function_space.ufl_element().family_name == "quadrature":
|
|
29
|
-
|
|
29
|
+
from scifem.xdmf import create_pointcloud
|
|
30
|
+
|
|
31
|
+
create_pointcloud(functions=functions, filename=Path(outdir) / "microstructure-viz.xdmf")
|
|
30
32
|
else:
|
|
31
33
|
try:
|
|
32
34
|
with dolfinx.io.VTXWriter(
|
cardiac_geometries/utils.py
CHANGED
|
@@ -270,7 +270,9 @@ def model_to_mesh(
|
|
|
270
270
|
return GMshModel(mesh, ct, ft, et, vt)
|
|
271
271
|
|
|
272
272
|
|
|
273
|
-
def parse_element(
|
|
273
|
+
def parse_element(
|
|
274
|
+
space_string: str, mesh: dolfinx.mesh.Mesh, dim: int, discontinuous: bool = False
|
|
275
|
+
) -> basix.ufl._ElementBase:
|
|
274
276
|
"""
|
|
275
277
|
Parse a string representation of a basix element family
|
|
276
278
|
"""
|
|
@@ -283,8 +285,9 @@ def parse_element(space_string: str, mesh: dolfinx.mesh.Mesh, dim: int) -> basix
|
|
|
283
285
|
else:
|
|
284
286
|
kwargs["shape"] = (dim,)
|
|
285
287
|
|
|
288
|
+
# breakpoint()
|
|
286
289
|
if family_str in ["Lagrange", "P", "CG"]:
|
|
287
|
-
el = basix.ufl.element(family=basix.ElementFamily.P, discontinuous=
|
|
290
|
+
el = basix.ufl.element(family=basix.ElementFamily.P, discontinuous=discontinuous, **kwargs)
|
|
288
291
|
elif family_str in ["Discontinuous Lagrange", "DG", "dP"]:
|
|
289
292
|
el = basix.ufl.element(family=basix.ElementFamily.P, discontinuous=True, **kwargs)
|
|
290
293
|
|
|
@@ -298,7 +301,7 @@ def parse_element(space_string: str, mesh: dolfinx.mesh.Mesh, dim: int) -> basix
|
|
|
298
301
|
|
|
299
302
|
|
|
300
303
|
def space_from_string(
|
|
301
|
-
space_string: str, mesh: dolfinx.mesh.Mesh, dim: int
|
|
304
|
+
space_string: str, mesh: dolfinx.mesh.Mesh, dim: int, discontinuous: bool = False
|
|
302
305
|
) -> dolfinx.fem.functionspace:
|
|
303
306
|
"""
|
|
304
307
|
Constructed a finite elements space from a string
|
|
@@ -313,8 +316,10 @@ def space_from_string(
|
|
|
313
316
|
The mesh
|
|
314
317
|
dim : int
|
|
315
318
|
1 for scalar space, 3 for vector space.
|
|
319
|
+
discontinuous: bool
|
|
320
|
+
If true force element to be discontinuous, by default False
|
|
316
321
|
"""
|
|
317
|
-
el = parse_element(space_string, mesh, dim)
|
|
322
|
+
el = parse_element(space_string, mesh, dim, discontinuous=discontinuous)
|
|
318
323
|
return dolfinx.fem.functionspace(mesh, el)
|
|
319
324
|
|
|
320
325
|
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.1
|
|
2
2
|
Name: cardiac-geometriesx
|
|
3
|
-
Version: 0.4.
|
|
3
|
+
Version: 0.4.1
|
|
4
4
|
Summary: A python library for cardiac geometries
|
|
5
5
|
Author-email: Henrik Finsberg <henriknf@simula.no>
|
|
6
6
|
License: MIT
|
|
@@ -17,6 +17,7 @@ Requires-Dist: structlog
|
|
|
17
17
|
Requires-Dist: cardiac-geometries-core
|
|
18
18
|
Requires-Dist: rich-click
|
|
19
19
|
Requires-Dist: adios4dolfinx
|
|
20
|
+
Requires-Dist: scifem
|
|
20
21
|
Provides-Extra: dev
|
|
21
22
|
Requires-Dist: bump-my-version ; extra == 'dev'
|
|
22
23
|
Requires-Dist: ipython ; extra == 'dev'
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
cardiac_geometries/__init__.py,sha256=2W_ywAeLjyRk5MqSPAodHa4UN2lOnW1h8tmGLQ3gaJ0,150
|
|
2
|
+
cardiac_geometries/cli.py,sha256=GKcsMNhVFoxWDr-o3jiDCXmTvPgCSEB9Kws8AvYIK4Q,19678
|
|
3
|
+
cardiac_geometries/geometry.py,sha256=s-1BIDKvP9M3uu3Sl8JpGRnTnXZAa9Aq3FfpIIEAxhY,5982
|
|
4
|
+
cardiac_geometries/gui.py,sha256=9WYR850wLrqsUrVUC37E2SaO0OWA_oagSe-YNrsxz3k,8376
|
|
5
|
+
cardiac_geometries/mesh.py,sha256=Ejciny48mnKKN20RrY9DwLY7_Lh1jb6Kldj4CW1wr1o,26909
|
|
6
|
+
cardiac_geometries/utils.py,sha256=8QKkdK3JFZMH3qF4PzvEVfk7vMB5Ciui-KFIct2Kd2g,20560
|
|
7
|
+
cardiac_geometries/fibers/__init__.py,sha256=WpRrn9Iakl-3m8IGtFkqP0LXGjw5EZHZ8Eg9JCnCdrg,137
|
|
8
|
+
cardiac_geometries/fibers/lv_ellipsoid.py,sha256=nJYkwvacH1xMhuWAV06NRR4fFzyprowfWv4UIQkCPQM,5830
|
|
9
|
+
cardiac_geometries/fibers/slab.py,sha256=TYQhckJ8mwXz_08Cx3QsPQMtemkaxZ955SnSMrDfBPE,3898
|
|
10
|
+
cardiac_geometries/fibers/utils.py,sha256=rOGWyJTRQ7M1W5_JBOIuVPw5LGBVB0u_LGxBicfc--w,3190
|
|
11
|
+
cardiac_geometriesx-0.4.1.dist-info/LICENSE,sha256=lo5K2rJPZOSv6luutGHbzzi3IpXNaB9E2UWq60qvNx0,1111
|
|
12
|
+
cardiac_geometriesx-0.4.1.dist-info/METADATA,sha256=zbG7thVfZ1t_0dusLr0y8-YhOfo4pUNBD9POw9Ge2Q0,4185
|
|
13
|
+
cardiac_geometriesx-0.4.1.dist-info/WHEEL,sha256=GV9aMThwP_4oNCtvEC2ec3qUYutgWeAzklro_0m4WJQ,91
|
|
14
|
+
cardiac_geometriesx-0.4.1.dist-info/entry_points.txt,sha256=xOBnlc6W-H9oCDYLNz3kpki26OmpfYSoFSrmi_4V-Ec,52
|
|
15
|
+
cardiac_geometriesx-0.4.1.dist-info/top_level.txt,sha256=J0gQxkWR2my5Vf7Qt8buDY8ZOjYdVfIweVunCGXWKNE,19
|
|
16
|
+
cardiac_geometriesx-0.4.1.dist-info/RECORD,,
|
|
@@ -1,16 +0,0 @@
|
|
|
1
|
-
cardiac_geometries/__init__.py,sha256=2W_ywAeLjyRk5MqSPAodHa4UN2lOnW1h8tmGLQ3gaJ0,150
|
|
2
|
-
cardiac_geometries/cli.py,sha256=GKcsMNhVFoxWDr-o3jiDCXmTvPgCSEB9Kws8AvYIK4Q,19678
|
|
3
|
-
cardiac_geometries/geometry.py,sha256=s-1BIDKvP9M3uu3Sl8JpGRnTnXZAa9Aq3FfpIIEAxhY,5982
|
|
4
|
-
cardiac_geometries/gui.py,sha256=9WYR850wLrqsUrVUC37E2SaO0OWA_oagSe-YNrsxz3k,8376
|
|
5
|
-
cardiac_geometries/mesh.py,sha256=Ejciny48mnKKN20RrY9DwLY7_Lh1jb6Kldj4CW1wr1o,26909
|
|
6
|
-
cardiac_geometries/utils.py,sha256=fMHlVzwxnk1lJd8XQPy8dgFB9C9ecSnJB2NzMXJGAAQ,20348
|
|
7
|
-
cardiac_geometries/fibers/__init__.py,sha256=WpRrn9Iakl-3m8IGtFkqP0LXGjw5EZHZ8Eg9JCnCdrg,137
|
|
8
|
-
cardiac_geometries/fibers/lv_ellipsoid.py,sha256=KuWnx9yZ5KDyoeoYyDnXLZYb82DRiNveZyNIboD3uJ8,5768
|
|
9
|
-
cardiac_geometries/fibers/slab.py,sha256=5tMvOSqXQ4_nbdUUtho_tQjDrmICxZfN7SXNq4FKdlY,3836
|
|
10
|
-
cardiac_geometries/fibers/utils.py,sha256=x6MNtW6xN5NBGBD0Ubm4eqTDde0j_Vd-nh8agFT_AiU,3161
|
|
11
|
-
cardiac_geometriesx-0.4.0.dist-info/LICENSE,sha256=lo5K2rJPZOSv6luutGHbzzi3IpXNaB9E2UWq60qvNx0,1111
|
|
12
|
-
cardiac_geometriesx-0.4.0.dist-info/METADATA,sha256=rPU1WjGfdSGrlkgnkhIubCY3WzJ7nlMGsLfcuNdU2ME,4163
|
|
13
|
-
cardiac_geometriesx-0.4.0.dist-info/WHEEL,sha256=GV9aMThwP_4oNCtvEC2ec3qUYutgWeAzklro_0m4WJQ,91
|
|
14
|
-
cardiac_geometriesx-0.4.0.dist-info/entry_points.txt,sha256=xOBnlc6W-H9oCDYLNz3kpki26OmpfYSoFSrmi_4V-Ec,52
|
|
15
|
-
cardiac_geometriesx-0.4.0.dist-info/top_level.txt,sha256=J0gQxkWR2my5Vf7Qt8buDY8ZOjYdVfIweVunCGXWKNE,19
|
|
16
|
-
cardiac_geometriesx-0.4.0.dist-info/RECORD,,
|
|
File without changes
|
|
File without changes
|
{cardiac_geometriesx-0.4.0.dist-info → cardiac_geometriesx-0.4.1.dist-info}/entry_points.txt
RENAMED
|
File without changes
|
|
File without changes
|