plot3d 1.7.5__tar.gz → 1.7.6__tar.gz
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.
- {plot3d-1.7.5 → plot3d-1.7.6}/PKG-INFO +3 -2
- {plot3d-1.7.5 → plot3d-1.7.6}/plot3d/graph.py +25 -3
- {plot3d-1.7.5 → plot3d-1.7.6}/plot3d/periodicity.py +1 -1
- {plot3d-1.7.5 → plot3d-1.7.6}/pyproject.toml +3 -2
- {plot3d-1.7.5 → plot3d-1.7.6}/plot3d/__init__.py +0 -0
- {plot3d-1.7.5 → plot3d-1.7.6}/plot3d/block.py +0 -0
- {plot3d-1.7.5 → plot3d-1.7.6}/plot3d/block_merging_mixed_facepairs.py +0 -0
- {plot3d-1.7.5 → plot3d-1.7.6}/plot3d/blockfunctions.py +0 -0
- {plot3d-1.7.5 → plot3d-1.7.6}/plot3d/connectivity.py +0 -0
- {plot3d-1.7.5 → plot3d-1.7.6}/plot3d/differencing.py +0 -0
- {plot3d-1.7.5 → plot3d-1.7.6}/plot3d/face.py +0 -0
- {plot3d-1.7.5 → plot3d-1.7.6}/plot3d/facefunctions.py +0 -0
- {plot3d-1.7.5 → plot3d-1.7.6}/plot3d/glennht/__init__.py +0 -0
- {plot3d-1.7.5 → plot3d-1.7.6}/plot3d/glennht/class_definitions.py +0 -0
- {plot3d-1.7.5 → plot3d-1.7.6}/plot3d/glennht/export_functions.py +0 -0
- {plot3d-1.7.5 → plot3d-1.7.6}/plot3d/glennht/import_functions.py +0 -0
- {plot3d-1.7.5 → plot3d-1.7.6}/plot3d/gridpro/__init__.py +0 -0
- {plot3d-1.7.5 → plot3d-1.7.6}/plot3d/gridpro/import_functions.py +0 -0
- {plot3d-1.7.5 → plot3d-1.7.6}/plot3d/listfunctions.py +0 -0
- {plot3d-1.7.5 → plot3d-1.7.6}/plot3d/point_match.py +0 -0
- {plot3d-1.7.5 → plot3d-1.7.6}/plot3d/read.py +0 -0
- {plot3d-1.7.5 → plot3d-1.7.6}/plot3d/split_block.py +0 -0
- {plot3d-1.7.5 → plot3d-1.7.6}/plot3d/write.py +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.1
|
|
2
2
|
Name: plot3d
|
|
3
|
-
Version: 1.7.
|
|
3
|
+
Version: 1.7.6
|
|
4
4
|
Summary: Plot3D python utilities for reading and writing and also finding connectivity between blocks
|
|
5
5
|
Author: Paht Juangphanich
|
|
6
6
|
Author-email: paht.juangphanich@nasa.gov
|
|
@@ -8,9 +8,10 @@ Requires-Python: >=3.10.12,<4.0.0
|
|
|
8
8
|
Classifier: Programming Language :: Python :: 3
|
|
9
9
|
Classifier: Programming Language :: Python :: 3.11
|
|
10
10
|
Classifier: Programming Language :: Python :: 3.12
|
|
11
|
+
Requires-Dist: matplotlib
|
|
11
12
|
Requires-Dist: networkx
|
|
12
13
|
Requires-Dist: numpy
|
|
13
14
|
Requires-Dist: pandas
|
|
14
|
-
Requires-Dist: pymetis
|
|
15
|
+
Requires-Dist: pymetis ; platform_system != "Windows"
|
|
15
16
|
Requires-Dist: scipy
|
|
16
17
|
Requires-Dist: tqdm
|
|
@@ -4,8 +4,18 @@ from __future__ import annotations
|
|
|
4
4
|
from pathlib import Path
|
|
5
5
|
from typing import Dict, List, Sequence, Tuple, Optional
|
|
6
6
|
import inspect
|
|
7
|
-
|
|
8
|
-
|
|
7
|
+
import sys
|
|
8
|
+
|
|
9
|
+
if sys.platform != "win32":
|
|
10
|
+
try:
|
|
11
|
+
import pymetis # type: ignore
|
|
12
|
+
HAS_PYMETIS = True
|
|
13
|
+
except Exception: # pragma: no cover - optional dependency
|
|
14
|
+
pymetis = None # type: ignore
|
|
15
|
+
HAS_PYMETIS = False
|
|
16
|
+
else:
|
|
17
|
+
pymetis = None # type: ignore
|
|
18
|
+
HAS_PYMETIS = False
|
|
9
19
|
from .block import Block # <-- use your existing Block
|
|
10
20
|
|
|
11
21
|
|
|
@@ -139,7 +149,13 @@ def _metis_part_graph_compat(
|
|
|
139
149
|
Returns:
|
|
140
150
|
(edgecut, parts)
|
|
141
151
|
"""
|
|
142
|
-
|
|
152
|
+
if not HAS_PYMETIS:
|
|
153
|
+
raise RuntimeError(
|
|
154
|
+
"pymetis is not available. On Windows it is skipped during install; "
|
|
155
|
+
"use Linux/macOS to enable METIS-based partitioning."
|
|
156
|
+
)
|
|
157
|
+
|
|
158
|
+
sig_params = set(inspect.signature(pymetis.part_graph).parameters.keys()) # type: ignore[attr-defined]
|
|
143
159
|
|
|
144
160
|
# Prefer keyword args when supported
|
|
145
161
|
if {"xadj", "adjncy"}.issubset(sig_params):
|
|
@@ -194,6 +210,12 @@ def partition_from_face_matches(
|
|
|
194
210
|
edge_w : Dict[int, Dict[int, int]]
|
|
195
211
|
Edge weights.
|
|
196
212
|
"""
|
|
213
|
+
if not HAS_PYMETIS:
|
|
214
|
+
raise RuntimeError(
|
|
215
|
+
"METIS partitioning is disabled because pymetis is unavailable. "
|
|
216
|
+
"Install pymetis (Linux/macOS) or run on a platform where it is supported."
|
|
217
|
+
)
|
|
218
|
+
|
|
197
219
|
n_blocks = len(blocks)
|
|
198
220
|
adj_list, edge_w = build_weighted_graph_from_face_matches(
|
|
199
221
|
face_matches, n_blocks,
|
|
@@ -365,7 +365,7 @@ def rotated_periodicity(blocks:List[Block], matched_faces:List[Dict[str,int]], o
|
|
|
365
365
|
"""
|
|
366
366
|
gcd_array = list()
|
|
367
367
|
# Find the gcd of all the blocks
|
|
368
|
-
if ReduceMesh
|
|
368
|
+
if ReduceMesh:
|
|
369
369
|
for block_indx in range(len(blocks)):
|
|
370
370
|
block = blocks[block_indx]
|
|
371
371
|
gcd_array.append(math.gcd(block.IMAX-1, math.gcd(block.JMAX-1, block.KMAX-1)))
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
[tool.poetry]
|
|
2
2
|
name = "plot3d"
|
|
3
|
-
version = "1.7.
|
|
3
|
+
version = "1.7.6"
|
|
4
4
|
description = "Plot3D python utilities for reading and writing and also finding connectivity between blocks"
|
|
5
5
|
authors = ["Paht Juangphanich <paht.juangphanich@nasa.gov>"]
|
|
6
6
|
|
|
@@ -11,7 +11,8 @@ scipy = "*"
|
|
|
11
11
|
pandas = "*"
|
|
12
12
|
tqdm = "*"
|
|
13
13
|
networkx = "*"
|
|
14
|
-
pymetis = "*"
|
|
14
|
+
pymetis = { version = "*", markers = "platform_system != 'Windows'" }
|
|
15
|
+
matplotlib = "*"
|
|
15
16
|
|
|
16
17
|
[tool.poetry.group.deve.dependencies]
|
|
17
18
|
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|