cardiac-geometriesx 0.6.0__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.

@@ -48,6 +48,13 @@ def compute_system(
48
48
  np.sin(alpha(t)),
49
49
  ],
50
50
  )
51
+ n0 = np.array(
52
+ [
53
+ np.zeros_like(t),
54
+ np.ones_like(t),
55
+ np.zeros_like(t),
56
+ ],
57
+ )
51
58
  elif endo_epi_axis == "z":
52
59
  f0 = np.array(
53
60
  [
@@ -56,6 +63,13 @@ def compute_system(
56
63
  np.zeros_like(t),
57
64
  ],
58
65
  )
66
+ n0 = np.array(
67
+ [
68
+ np.zeros_like(t),
69
+ np.zeros_like(t),
70
+ np.ones_like(t),
71
+ ],
72
+ )
59
73
  elif endo_epi_axis == "x":
60
74
  f0 = np.array(
61
75
  [
@@ -64,19 +78,18 @@ def compute_system(
64
78
  np.sin(alpha(t)),
65
79
  ],
66
80
  )
81
+ n0 = np.array(
82
+ [
83
+ np.ones_like(t),
84
+ np.zeros_like(t),
85
+ np.zeros_like(t),
86
+ ],
87
+ )
67
88
  else:
68
89
  raise ValueError(f"Unknown endo_epi_axis: {endo_epi_axis}")
69
90
 
70
- s0 = np.array(
71
- [
72
- np.zeros_like(t),
73
- np.ones_like(t),
74
- np.zeros_like(t),
75
- ],
76
- )
77
-
78
- n0 = np.cross(f0, s0, axis=0)
79
- n0 = utils.normalize(n0)
91
+ s0 = np.cross(f0, n0, axis=0)
92
+ s0 = utils.normalize(s0)
80
93
 
81
94
  Vv = space_from_string(
82
95
  space_string=f"{element.family_name}_{element.degree}",
@@ -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 = dolfinx.io.gmshio.extract_geometry(model)
94
- topologies = dolfinx.io.gmshio.extract_topology_and_markers(model)
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 = dolfinx.io.gmshio.ufl_mesh(cell_id, gdim, dtype=dtype)
174
- gmsh_cell_perm = dolfinx.io.gmshio.cell_perm_array(
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 = dolfinx.io.gmshio.cell_perm_array(facet_type, num_facet_nodes)
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 = dolfinx.io.gmshio.meshtags_from_entities(
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 = dolfinx.io.gmshio.cell_perm_array(edge_type, num_edge_nodes)
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 = dolfinx.io.gmshio.meshtags_from_entities(
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 = dolfinx.io.gmshio.cell_perm_array(vertex_type, num_vertex_nodes)
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 = dolfinx.io.gmshio.meshtags_from_entities(
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 = dolfinx.io.gmshio.read_from_msh(comm=comm, filename=msh_file)
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
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: cardiac-geometriesx
3
- Version: 0.6.0
3
+ Version: 0.6.2
4
4
  Summary: A python library for cardiac geometries
5
5
  Author-email: Henrik Finsberg <henriknf@simula.no>
6
6
  License: MIT
@@ -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=6H0tZif7GPINdrxfPm3HQH1T4_DfDvWMejjpXPb8mLY,22206
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
- cardiac_geometries/fibers/slab.py,sha256=FVcfQ4AxaOFppc9YOlkQ1BUZvlLEUp3x810ma4YmfYQ,4452
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.0.dist-info/licenses/LICENSE,sha256=lo5K2rJPZOSv6luutGHbzzi3IpXNaB9E2UWq60qvNx0,1111
14
- cardiac_geometriesx-0.6.0.dist-info/METADATA,sha256=ZWIUMPP6Cl8K8nazTGC-6EIBVDChwadVezhsbnuTuhY,4390
15
- cardiac_geometriesx-0.6.0.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
16
- cardiac_geometriesx-0.6.0.dist-info/entry_points.txt,sha256=xOBnlc6W-H9oCDYLNz3kpki26OmpfYSoFSrmi_4V-Ec,52
17
- cardiac_geometriesx-0.6.0.dist-info/top_level.txt,sha256=J0gQxkWR2my5Vf7Qt8buDY8ZOjYdVfIweVunCGXWKNE,19
18
- cardiac_geometriesx-0.6.0.dist-info/RECORD,,
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,,