cardiac-geometriesx 0.6.1__py3-none-any.whl → 0.6.2__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/utils.py +16 -11
- {cardiac_geometriesx-0.6.1.dist-info → cardiac_geometriesx-0.6.2.dist-info}/METADATA +1 -1
- {cardiac_geometriesx-0.6.1.dist-info → cardiac_geometriesx-0.6.2.dist-info}/RECORD +7 -7
- {cardiac_geometriesx-0.6.1.dist-info → cardiac_geometriesx-0.6.2.dist-info}/WHEEL +0 -0
- {cardiac_geometriesx-0.6.1.dist-info → cardiac_geometriesx-0.6.2.dist-info}/entry_points.txt +0 -0
- {cardiac_geometriesx-0.6.1.dist-info → cardiac_geometriesx-0.6.2.dist-info}/licenses/LICENSE +0 -0
- {cardiac_geometriesx-0.6.1.dist-info → cardiac_geometriesx-0.6.2.dist-info}/top_level.txt +0 -0
cardiac_geometries/utils.py
CHANGED
|
@@ -14,6 +14,11 @@ from dolfinx.graph import adjacencylist
|
|
|
14
14
|
from packaging.version import Version
|
|
15
15
|
from structlog import get_logger
|
|
16
16
|
|
|
17
|
+
try:
|
|
18
|
+
import dolfinx.io.gmsh as gmshio
|
|
19
|
+
except ImportError:
|
|
20
|
+
import dolfinx.io.gmshio as gmshio # type: ignore[import]
|
|
21
|
+
|
|
17
22
|
logger = get_logger()
|
|
18
23
|
|
|
19
24
|
quads = ("Quadrature", "Q", "Quad", "quadrature", "q", "quad")
|
|
@@ -90,8 +95,8 @@ def model_to_mesh(
|
|
|
90
95
|
if comm.rank == rank:
|
|
91
96
|
assert model is not None, "Gmsh model is None on rank responsible for mesh creation."
|
|
92
97
|
# Get mesh geometry and mesh topology for each element
|
|
93
|
-
x =
|
|
94
|
-
topologies =
|
|
98
|
+
x = gmshio.extract_geometry(model)
|
|
99
|
+
topologies = gmshio.extract_topology_and_markers(model)
|
|
95
100
|
|
|
96
101
|
# Extract Gmsh cell id, dimension of cell and number of nodes to
|
|
97
102
|
# cell for each
|
|
@@ -170,8 +175,8 @@ def model_to_mesh(
|
|
|
170
175
|
vertex_values = np.empty((0,), dtype=np.int32)
|
|
171
176
|
|
|
172
177
|
# Create distributed mesh
|
|
173
|
-
ufl_domain =
|
|
174
|
-
gmsh_cell_perm =
|
|
178
|
+
ufl_domain = gmshio.ufl_mesh(cell_id, gdim, dtype=dtype)
|
|
179
|
+
gmsh_cell_perm = gmshio.cell_perm_array(
|
|
175
180
|
dolfinx.cpp.mesh.to_type(str(ufl_domain.ufl_cell())), num_nodes
|
|
176
181
|
)
|
|
177
182
|
cells = cells[:, gmsh_cell_perm].copy()
|
|
@@ -207,7 +212,7 @@ def model_to_mesh(
|
|
|
207
212
|
facet_type = dolfinx.cpp.mesh.cell_entity_type(
|
|
208
213
|
dolfinx.cpp.mesh.to_type(str(ufl_domain.ufl_cell())), tdim - 1, 0
|
|
209
214
|
)
|
|
210
|
-
gmsh_facet_perm =
|
|
215
|
+
gmsh_facet_perm = gmshio.cell_perm_array(facet_type, num_facet_nodes)
|
|
211
216
|
marked_facets = marked_facets[:, gmsh_facet_perm]
|
|
212
217
|
|
|
213
218
|
local_entities, local_values = distribute_entity_data(
|
|
@@ -217,7 +222,7 @@ def model_to_mesh(
|
|
|
217
222
|
mesh.topology.create_connectivity(topology.dim - 1, tdim)
|
|
218
223
|
adj = adjacencylist(local_entities)
|
|
219
224
|
|
|
220
|
-
ft =
|
|
225
|
+
ft = gmshio.meshtags_from_entities(
|
|
221
226
|
mesh, tdim - 1, adj, local_values.astype(np.int32, copy=False)
|
|
222
227
|
)
|
|
223
228
|
ft.name = "Facet tags"
|
|
@@ -231,7 +236,7 @@ def model_to_mesh(
|
|
|
231
236
|
edge_type = dolfinx.cpp.mesh.cell_entity_type(
|
|
232
237
|
dolfinx.cpp.mesh.to_type(str(ufl_domain.ufl_cell())), tdim - 2, 0
|
|
233
238
|
)
|
|
234
|
-
gmsh_edge_perm =
|
|
239
|
+
gmsh_edge_perm = gmshio.cell_perm_array(edge_type, num_edge_nodes)
|
|
235
240
|
marked_edges = marked_edges[:, gmsh_edge_perm]
|
|
236
241
|
|
|
237
242
|
local_entities, local_values = distribute_entity_data(
|
|
@@ -239,7 +244,7 @@ def model_to_mesh(
|
|
|
239
244
|
)
|
|
240
245
|
mesh.topology.create_connectivity(topology.dim - 2, tdim)
|
|
241
246
|
adj = adjacencylist(local_entities)
|
|
242
|
-
et =
|
|
247
|
+
et = gmshio.meshtags_from_entities(
|
|
243
248
|
mesh, tdim - 2, adj, local_values.astype(np.int32, copy=False)
|
|
244
249
|
)
|
|
245
250
|
et.name = "Edge tags"
|
|
@@ -253,7 +258,7 @@ def model_to_mesh(
|
|
|
253
258
|
vertex_type = dolfinx.cpp.mesh.cell_entity_type(
|
|
254
259
|
dolfinx.cpp.mesh.to_type(str(ufl_domain.ufl_cell())), tdim - 3, 0
|
|
255
260
|
)
|
|
256
|
-
gmsh_vertex_perm =
|
|
261
|
+
gmsh_vertex_perm = gmshio.cell_perm_array(vertex_type, num_vertex_nodes)
|
|
257
262
|
marked_vertices = marked_vertices[:, gmsh_vertex_perm]
|
|
258
263
|
|
|
259
264
|
local_entities, local_values = distribute_entity_data(
|
|
@@ -261,7 +266,7 @@ def model_to_mesh(
|
|
|
261
266
|
)
|
|
262
267
|
mesh.topology.create_connectivity(topology.dim - 3, tdim)
|
|
263
268
|
adj = adjacencylist(local_entities)
|
|
264
|
-
vt =
|
|
269
|
+
vt = gmshio.meshtags_from_entities(
|
|
265
270
|
mesh, tdim - 3, adj, local_values.astype(np.int32, copy=False)
|
|
266
271
|
)
|
|
267
272
|
vt.name = "Vertex tags"
|
|
@@ -425,7 +430,7 @@ def gmsh2dolfin(comm: MPI.Intracomm, msh_file, rank: int = 0) -> GMshGeometry:
|
|
|
425
430
|
outdir.mkdir(parents=True, exist_ok=True)
|
|
426
431
|
|
|
427
432
|
if Version(dolfinx.__version__) >= Version("0.10.0"):
|
|
428
|
-
mesh_data =
|
|
433
|
+
mesh_data = gmshio.read_from_msh(comm=comm, filename=msh_file)
|
|
429
434
|
mesh = mesh_data.mesh
|
|
430
435
|
markers_ = mesh_data.physical_groups
|
|
431
436
|
ct = mesh_data.cell_tags
|
|
@@ -3,16 +3,16 @@ cardiac_geometries/cli.py,sha256=a4LTlphEl_ODGFRhHjhg-RHqWNTQYgbA_apora0NuY4,293
|
|
|
3
3
|
cardiac_geometries/geometry.py,sha256=b-JbxV1wTgrjgQaNNG4NiGmXLs3nqRabsUUtYDnyKKA,13616
|
|
4
4
|
cardiac_geometries/gui.py,sha256=9WYR850wLrqsUrVUC37E2SaO0OWA_oagSe-YNrsxz3k,8376
|
|
5
5
|
cardiac_geometries/mesh.py,sha256=4aqzrPMgpV1gapRAFPHIYuroSZvcEFxtMefOpgIdhfc,48224
|
|
6
|
-
cardiac_geometries/utils.py,sha256=
|
|
6
|
+
cardiac_geometries/utils.py,sha256=y-uQVSUDnlsAr8W60ranpQi6-B7ysUybyBIouDqVwTY,22211
|
|
7
7
|
cardiac_geometries/fibers/__init__.py,sha256=iggELqJBQySc6ihph1-yaweOfxNvvTE2670RnUnOgDw,2229
|
|
8
8
|
cardiac_geometries/fibers/cylinder.py,sha256=Q1GIuVvntPQ7pW6Z4UYSC8-8WfkClbakiW81Fl9dvk0,3345
|
|
9
9
|
cardiac_geometries/fibers/cylinder_flat.py,sha256=h8ZeyQdZJAOTU456TIumh3eWkZkhzf7R7CpKki5HNrk,5304
|
|
10
10
|
cardiac_geometries/fibers/lv_ellipsoid.py,sha256=KMVOHg2VPg1tF2R9TKIX-vQr6dDM4HThh12WW_diNfU,6024
|
|
11
11
|
cardiac_geometries/fibers/slab.py,sha256=vQ9nYoAnoeBevEYkY3Hsy7o4tZ_gfBWaZI_p5UH_PgM,4805
|
|
12
12
|
cardiac_geometries/fibers/utils.py,sha256=Uy0xWpQXNpOLqCYaSFmJ2rKcCeP3lXCLlQnZR1S2KKQ,3852
|
|
13
|
-
cardiac_geometriesx-0.6.
|
|
14
|
-
cardiac_geometriesx-0.6.
|
|
15
|
-
cardiac_geometriesx-0.6.
|
|
16
|
-
cardiac_geometriesx-0.6.
|
|
17
|
-
cardiac_geometriesx-0.6.
|
|
18
|
-
cardiac_geometriesx-0.6.
|
|
13
|
+
cardiac_geometriesx-0.6.2.dist-info/licenses/LICENSE,sha256=lo5K2rJPZOSv6luutGHbzzi3IpXNaB9E2UWq60qvNx0,1111
|
|
14
|
+
cardiac_geometriesx-0.6.2.dist-info/METADATA,sha256=Dq6kbzra8mbFrVtypK5rDWhzDyf3vjsHjqgOI9mHamI,4390
|
|
15
|
+
cardiac_geometriesx-0.6.2.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
|
|
16
|
+
cardiac_geometriesx-0.6.2.dist-info/entry_points.txt,sha256=xOBnlc6W-H9oCDYLNz3kpki26OmpfYSoFSrmi_4V-Ec,52
|
|
17
|
+
cardiac_geometriesx-0.6.2.dist-info/top_level.txt,sha256=J0gQxkWR2my5Vf7Qt8buDY8ZOjYdVfIweVunCGXWKNE,19
|
|
18
|
+
cardiac_geometriesx-0.6.2.dist-info/RECORD,,
|
|
File without changes
|
{cardiac_geometriesx-0.6.1.dist-info → cardiac_geometriesx-0.6.2.dist-info}/entry_points.txt
RENAMED
|
File without changes
|
{cardiac_geometriesx-0.6.1.dist-info → cardiac_geometriesx-0.6.2.dist-info}/licenses/LICENSE
RENAMED
|
File without changes
|
|
File without changes
|