cad-to-dagmc 0.7.5__py3-none-any.whl → 0.7.6__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 cad-to-dagmc might be problematic. Click here for more details.
- _version.py +2 -2
- cad_to_dagmc/core.py +39 -7
- {cad_to_dagmc-0.7.5.dist-info → cad_to_dagmc-0.7.6.dist-info}/METADATA +1 -1
- cad_to_dagmc-0.7.6.dist-info/RECORD +8 -0
- cad_to_dagmc-0.7.5.dist-info/RECORD +0 -8
- {cad_to_dagmc-0.7.5.dist-info → cad_to_dagmc-0.7.6.dist-info}/LICENSE +0 -0
- {cad_to_dagmc-0.7.5.dist-info → cad_to_dagmc-0.7.6.dist-info}/WHEEL +0 -0
- {cad_to_dagmc-0.7.5.dist-info → cad_to_dagmc-0.7.6.dist-info}/top_level.txt +0 -0
_version.py
CHANGED
cad_to_dagmc/core.py
CHANGED
|
@@ -5,6 +5,7 @@ import numpy as np
|
|
|
5
5
|
from cadquery import importers
|
|
6
6
|
from pymoab import core, types
|
|
7
7
|
import tempfile
|
|
8
|
+
import warnings
|
|
8
9
|
|
|
9
10
|
|
|
10
11
|
def _define_moab_core_and_tags() -> tuple[core.Core, dict]:
|
|
@@ -76,6 +77,7 @@ def _vertices_to_h5m(
|
|
|
76
77
|
triangles:
|
|
77
78
|
material_tags:
|
|
78
79
|
h5m_filename:
|
|
80
|
+
implicit_complement_material_tag:
|
|
79
81
|
"""
|
|
80
82
|
|
|
81
83
|
if len(material_tags) != len(triangles_by_solid_by_face):
|
|
@@ -184,7 +186,15 @@ def _vertices_to_h5m(
|
|
|
184
186
|
|
|
185
187
|
moab_core.add_entities(file_set, all_sets)
|
|
186
188
|
|
|
187
|
-
|
|
189
|
+
# makes the folder if it does not exist
|
|
190
|
+
if Path(h5m_filename).parent:
|
|
191
|
+
Path(h5m_filename).parent.mkdir(parents=True, exist_ok=True)
|
|
192
|
+
|
|
193
|
+
# moab_core.write_file only accepts strings
|
|
194
|
+
if isinstance(h5m_filename, Path):
|
|
195
|
+
moab_core.write_file(str(h5m_filename))
|
|
196
|
+
else:
|
|
197
|
+
moab_core.write_file(h5m_filename)
|
|
188
198
|
|
|
189
199
|
print(f"written DAGMC file {h5m_filename}")
|
|
190
200
|
|
|
@@ -230,8 +240,7 @@ def _mesh_brep(
|
|
|
230
240
|
mesh_algorithm: int = 1,
|
|
231
241
|
dimensions: int = 2,
|
|
232
242
|
):
|
|
233
|
-
"""Creates a conformal surface meshes of the volumes in a Brep file using
|
|
234
|
-
Gmsh.
|
|
243
|
+
"""Creates a conformal surface meshes of the volumes in a Brep file using Gmsh.
|
|
235
244
|
|
|
236
245
|
Args:
|
|
237
246
|
occ_shape: the occ_shape of the Brep file to convert
|
|
@@ -339,6 +348,12 @@ def _check_material_tags(material_tags, iterable_solids):
|
|
|
339
348
|
if not isinstance(material_tag, str):
|
|
340
349
|
msg = f"material_tags should be an iterable of strings."
|
|
341
350
|
raise ValueError(msg)
|
|
351
|
+
if len(material_tag) > 28:
|
|
352
|
+
msg = (
|
|
353
|
+
f"Material tag {material_tag} is too long. DAGMC will truncate this material tag "
|
|
354
|
+
f"to 28 characters. The resulting tag in the h5m file will be {material_tag[:28]}"
|
|
355
|
+
)
|
|
356
|
+
warnings.warn(msg)
|
|
342
357
|
|
|
343
358
|
|
|
344
359
|
def order_material_ids_by_brep_order(original_ids, scrambled_id, material_tags):
|
|
@@ -357,6 +372,7 @@ class MeshToDagmc:
|
|
|
357
372
|
|
|
358
373
|
# TODO add export_unstructured_mesh_file
|
|
359
374
|
# TODO add add_gmsh_msh_file
|
|
375
|
+
# TODO test for exports result in files
|
|
360
376
|
|
|
361
377
|
def export_dagmc_h5m_file(
|
|
362
378
|
self,
|
|
@@ -530,6 +546,8 @@ class CadToDagmc:
|
|
|
530
546
|
The gmsh object after finalizing the mesh.
|
|
531
547
|
"""
|
|
532
548
|
|
|
549
|
+
# gmesh writes out a vtk file that is accepted by openmc.UnstructuredMesh
|
|
550
|
+
# The library argument must be set to "moab"
|
|
533
551
|
if Path(filename).suffix != ".vtk":
|
|
534
552
|
raise ValueError("Unstructured mesh filename must have a .vtk extension")
|
|
535
553
|
|
|
@@ -554,9 +572,15 @@ class CadToDagmc:
|
|
|
554
572
|
dimensions=3,
|
|
555
573
|
)
|
|
556
574
|
|
|
557
|
-
#
|
|
558
|
-
|
|
559
|
-
|
|
575
|
+
# makes the folder if it does not exist
|
|
576
|
+
if Path(filename).parent:
|
|
577
|
+
Path(filename).parent.mkdir(parents=True, exist_ok=True)
|
|
578
|
+
|
|
579
|
+
# gmsh.write only accepts strings
|
|
580
|
+
if isinstance(filename, Path):
|
|
581
|
+
gmsh.write(str(filename))
|
|
582
|
+
else:
|
|
583
|
+
gmsh.write(filename)
|
|
560
584
|
|
|
561
585
|
gmsh.finalize()
|
|
562
586
|
|
|
@@ -621,7 +645,15 @@ class CadToDagmc:
|
|
|
621
645
|
dimensions=dimensions,
|
|
622
646
|
)
|
|
623
647
|
|
|
624
|
-
|
|
648
|
+
# makes the folder if it does not exist
|
|
649
|
+
if Path(filename).parent:
|
|
650
|
+
Path(filename).parent.mkdir(parents=True, exist_ok=True)
|
|
651
|
+
|
|
652
|
+
# gmsh.write only accepts strings
|
|
653
|
+
if isinstance(filename, Path):
|
|
654
|
+
gmsh.write(str(filename))
|
|
655
|
+
else:
|
|
656
|
+
gmsh.write(filename)
|
|
625
657
|
|
|
626
658
|
print(f"written GMSH mesh file {filename}")
|
|
627
659
|
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
_version.py,sha256=YfWC5HL1qwRHd8dXdkHZTT_yZBvn1CZl5nECK7W3nWQ,411
|
|
2
|
+
cad_to_dagmc/__init__.py,sha256=fskHUTyCunSpnpJUvBfAYjx4uwDKXHTTiMP6GqnFRf0,494
|
|
3
|
+
cad_to_dagmc/core.py,sha256=5xWb8oGRs6318CcUI_PADsF1vJjqzYPVNAQ8vKGjZE4,29063
|
|
4
|
+
cad_to_dagmc-0.7.6.dist-info/LICENSE,sha256=B8kznH_777JVNZ3HOKDc4Tj24F7wJ68ledaNYeL9sCw,1070
|
|
5
|
+
cad_to_dagmc-0.7.6.dist-info/METADATA,sha256=2NAu-K_ok2f5xUdatiXXXTi7hLhTtzO3pkFhvVDq6mo,7937
|
|
6
|
+
cad_to_dagmc-0.7.6.dist-info/WHEEL,sha256=PZUExdf71Ui_so67QXpySuHtCi3-J3wvF4ORK6k_S8U,91
|
|
7
|
+
cad_to_dagmc-0.7.6.dist-info/top_level.txt,sha256=zTi8C64SEBsE5WOtPovnxhOzt-E6Oc5nC3RW6M_5aEA,22
|
|
8
|
+
cad_to_dagmc-0.7.6.dist-info/RECORD,,
|
|
@@ -1,8 +0,0 @@
|
|
|
1
|
-
_version.py,sha256=AfxYsOLHf-d9Yv9B0Y-QKGSJPkQBqceXnCr_lUKXMKM,411
|
|
2
|
-
cad_to_dagmc/__init__.py,sha256=fskHUTyCunSpnpJUvBfAYjx4uwDKXHTTiMP6GqnFRf0,494
|
|
3
|
-
cad_to_dagmc/core.py,sha256=AfYKmrGCFcXZnsxCW72rdSAJY4kvffk1MTG4uURH-cw,27768
|
|
4
|
-
cad_to_dagmc-0.7.5.dist-info/LICENSE,sha256=B8kznH_777JVNZ3HOKDc4Tj24F7wJ68ledaNYeL9sCw,1070
|
|
5
|
-
cad_to_dagmc-0.7.5.dist-info/METADATA,sha256=okv56zxnjveO_HMC58bd8gO27vLZ_TXKsY5r1N0hVpw,7937
|
|
6
|
-
cad_to_dagmc-0.7.5.dist-info/WHEEL,sha256=PZUExdf71Ui_so67QXpySuHtCi3-J3wvF4ORK6k_S8U,91
|
|
7
|
-
cad_to_dagmc-0.7.5.dist-info/top_level.txt,sha256=zTi8C64SEBsE5WOtPovnxhOzt-E6Oc5nC3RW6M_5aEA,22
|
|
8
|
-
cad_to_dagmc-0.7.5.dist-info/RECORD,,
|
|
File without changes
|
|
File without changes
|
|
File without changes
|