cad-to-dagmc 0.9.6__py3-none-any.whl → 0.9.8__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.
- _version.py +2 -2
- cad_to_dagmc/core.py +17 -4
- cad_to_dagmc/direct_mesh_plugin.py +2 -0
- {cad_to_dagmc-0.9.6.dist-info → cad_to_dagmc-0.9.8.dist-info}/METADATA +4 -4
- cad_to_dagmc-0.9.8.dist-info/RECORD +9 -0
- cad_to_dagmc-0.9.6.dist-info/RECORD +0 -9
- {cad_to_dagmc-0.9.6.dist-info → cad_to_dagmc-0.9.8.dist-info}/WHEEL +0 -0
- {cad_to_dagmc-0.9.6.dist-info → cad_to_dagmc-0.9.8.dist-info}/licenses/LICENSE +0 -0
- {cad_to_dagmc-0.9.6.dist-info → cad_to_dagmc-0.9.8.dist-info}/top_level.txt +0 -0
_version.py
CHANGED
|
@@ -28,7 +28,7 @@ version_tuple: VERSION_TUPLE
|
|
|
28
28
|
commit_id: COMMIT_ID
|
|
29
29
|
__commit_id__: COMMIT_ID
|
|
30
30
|
|
|
31
|
-
__version__ = version = '0.9.
|
|
32
|
-
__version_tuple__ = version_tuple = (0, 9,
|
|
31
|
+
__version__ = version = '0.9.8'
|
|
32
|
+
__version_tuple__ = version_tuple = (0, 9, 8)
|
|
33
33
|
|
|
34
34
|
__commit_id__ = commit_id = None
|
cad_to_dagmc/core.py
CHANGED
|
@@ -106,6 +106,9 @@ def vertices_to_h5m(
|
|
|
106
106
|
|
|
107
107
|
moab_core, tags = define_moab_core_and_tags()
|
|
108
108
|
|
|
109
|
+
# Add the vertices once at the start
|
|
110
|
+
all_moab_verts = moab_core.create_vertices(vertices)
|
|
111
|
+
|
|
109
112
|
volume_sets_by_solid_id = {}
|
|
110
113
|
for material_tag, (solid_id, triangles_on_each_face) in zip(
|
|
111
114
|
material_tags, triangles_by_solid_by_face.items()
|
|
@@ -145,14 +148,21 @@ def vertices_to_h5m(
|
|
|
145
148
|
|
|
146
149
|
moab_core.tag_set_data(tags["surf_sense"], face_set, sense_data)
|
|
147
150
|
|
|
148
|
-
|
|
151
|
+
# Collect only the vertices that lie on triangles on this face
|
|
152
|
+
face_vertices_set = set()
|
|
153
|
+
for triangle in triangles_on_face:
|
|
154
|
+
face_vertices_set.update(triangle)
|
|
155
|
+
face_vertices_list = sorted(face_vertices_set)
|
|
156
|
+
|
|
157
|
+
# Only add these to the MOAB face
|
|
158
|
+
moab_verts = [all_moab_verts[ii] for ii in face_vertices_list]
|
|
149
159
|
moab_core.add_entity(face_set, moab_verts)
|
|
150
160
|
|
|
151
161
|
for triangle in triangles_on_face:
|
|
152
162
|
tri = (
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
163
|
+
all_moab_verts[int(triangle[0])],
|
|
164
|
+
all_moab_verts[int(triangle[1])],
|
|
165
|
+
all_moab_verts[int(triangle[2])],
|
|
156
166
|
)
|
|
157
167
|
|
|
158
168
|
moab_triangle = moab_core.create_element(types.MBTRI, tri)
|
|
@@ -687,6 +697,7 @@ class CadToDagmc:
|
|
|
687
697
|
assembly.add(part)
|
|
688
698
|
|
|
689
699
|
if imprint:
|
|
700
|
+
print("Imprinting assembly for unstructured mesh generation")
|
|
690
701
|
imprinted_assembly, _ = cq.occ_impl.assembly.imprint(assembly)
|
|
691
702
|
else:
|
|
692
703
|
imprinted_assembly = assembly
|
|
@@ -777,6 +788,7 @@ class CadToDagmc:
|
|
|
777
788
|
assembly.add(part)
|
|
778
789
|
|
|
779
790
|
if imprint:
|
|
791
|
+
print("Imprinting assembly for mesh generation")
|
|
780
792
|
imprinted_assembly, _ = cq.occ_impl.assembly.imprint(assembly)
|
|
781
793
|
else:
|
|
782
794
|
imprinted_assembly = assembly
|
|
@@ -1013,6 +1025,7 @@ class CadToDagmc:
|
|
|
1013
1025
|
elif meshing_backend == "gmsh":
|
|
1014
1026
|
# If assembly is not to be imprinted, pass through the assembly as-is
|
|
1015
1027
|
if imprint:
|
|
1028
|
+
print("Imprinting assembly for mesh generation")
|
|
1016
1029
|
imprinted_assembly, imprinted_solids_with_org_id = cq.occ_impl.assembly.imprint(
|
|
1017
1030
|
assembly
|
|
1018
1031
|
)
|
|
@@ -291,6 +291,7 @@ def to_mesh(
|
|
|
291
291
|
# Imprinted assemblies end up being compounds, whereas you have to step through each of the
|
|
292
292
|
# parts in an assembly and extract the solids.
|
|
293
293
|
if imprint:
|
|
294
|
+
print("Imprinting assembly for mesh generation")
|
|
294
295
|
# Imprint the assembly and process it as a compound
|
|
295
296
|
(
|
|
296
297
|
imprinted_assembly,
|
|
@@ -329,6 +330,7 @@ def to_mesh(
|
|
|
329
330
|
|
|
330
331
|
# Step through all of the collected solids and their respective faces to get the vertices
|
|
331
332
|
for solid in solids:
|
|
333
|
+
print(f"Meshing solid {solid_idx} of {len(solids)}")
|
|
332
334
|
# Reset this each time so that we get the correct number of faces per solid
|
|
333
335
|
face_triangles = {}
|
|
334
336
|
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: cad_to_dagmc
|
|
3
|
-
Version: 0.9.
|
|
3
|
+
Version: 0.9.8
|
|
4
4
|
Summary: Converts CAD files to a DAGMC h5m file
|
|
5
5
|
Author-email: Jonathan Shimwell <mail@jshimwell.com>
|
|
6
6
|
Project-URL: Homepage, https://github.com/fusion-energy/cad_to_dagmc
|
|
@@ -73,7 +73,7 @@ Cad-to-dagmc offers a wide range of features including.
|
|
|
73
73
|
|
|
74
74
|
- Install using Mamba
|
|
75
75
|
- Install using Conda
|
|
76
|
-
- Install using pip
|
|
76
|
+
- Install using pip
|
|
77
77
|
|
|
78
78
|
## Install using Mamba
|
|
79
79
|
|
|
@@ -151,10 +151,10 @@ You may also want to install OpenMC with DAGMC to make use of the h5m geometry f
|
|
|
151
151
|
|
|
152
152
|
To install OpenMC you can run ```mamba install -c conda-forge openmc``` however this more specific command makes sure the latest version of OpenMC which contains DAGMC is chosen by conda / mamba
|
|
153
153
|
```bash
|
|
154
|
-
mamba install -c conda-forge -y "openmc=0.15.
|
|
154
|
+
mamba install -c conda-forge -y "openmc=0.15.2=dagmc*nompi*"
|
|
155
155
|
```
|
|
156
156
|
|
|
157
|
-
|
|
157
|
+
You could also install using this [wheel repo](https://github.com/shimwell/wheels)
|
|
158
158
|
|
|
159
159
|
Another option would be to [install OpenMC from source](https://docs.openmc.org/en/stable/quickinstall.html) which would also need compiling with MOAB and DAGMC options.
|
|
160
160
|
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
_version.py,sha256=H7-sGIKTltvB6i41Ij4ifczW_TE-rd9_0VfDTgdon0w,704
|
|
2
|
+
cad_to_dagmc/__init__.py,sha256=oCr1P0QnBsf6AH0RZujX7T7tdrb75NazdF70HtqXSfc,528
|
|
3
|
+
cad_to_dagmc/core.py,sha256=i3iNhvKOLt2VfdQ8frSLQ5L8y1QC23JprLuoeqqiyD4,43222
|
|
4
|
+
cad_to_dagmc/direct_mesh_plugin.py,sha256=iKPYtWQd35Ipxv6g8fZ-r7GFKd1VlCwrSfaNzrGFtf0,24131
|
|
5
|
+
cad_to_dagmc-0.9.8.dist-info/licenses/LICENSE,sha256=B8kznH_777JVNZ3HOKDc4Tj24F7wJ68ledaNYeL9sCw,1070
|
|
6
|
+
cad_to_dagmc-0.9.8.dist-info/METADATA,sha256=rpYNMTMwcYgI_JqMRCcVlT2q0e8UnMCJACtoue617jc,8994
|
|
7
|
+
cad_to_dagmc-0.9.8.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
|
|
8
|
+
cad_to_dagmc-0.9.8.dist-info/top_level.txt,sha256=zTi8C64SEBsE5WOtPovnxhOzt-E6Oc5nC3RW6M_5aEA,22
|
|
9
|
+
cad_to_dagmc-0.9.8.dist-info/RECORD,,
|
|
@@ -1,9 +0,0 @@
|
|
|
1
|
-
_version.py,sha256=e8-aWL0R1dkk01VJUUTVieOVR2LgJj8i-n3ez_PgchQ,704
|
|
2
|
-
cad_to_dagmc/__init__.py,sha256=oCr1P0QnBsf6AH0RZujX7T7tdrb75NazdF70HtqXSfc,528
|
|
3
|
-
cad_to_dagmc/core.py,sha256=88L93amP-SMzppnXa7tWTvPnVGTxJUvVLN9B8PL_fp4,42556
|
|
4
|
-
cad_to_dagmc/direct_mesh_plugin.py,sha256=5jG5ILafjbDacaAvBRWD_ilMZLepcM6H1Tjze85vAxE,24013
|
|
5
|
-
cad_to_dagmc-0.9.6.dist-info/licenses/LICENSE,sha256=B8kznH_777JVNZ3HOKDc4Tj24F7wJ68ledaNYeL9sCw,1070
|
|
6
|
-
cad_to_dagmc-0.9.6.dist-info/METADATA,sha256=0CdxtSGC0GnICOxxkFZB45Bj5lJyqBh052HVjiq23K8,9120
|
|
7
|
-
cad_to_dagmc-0.9.6.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
|
|
8
|
-
cad_to_dagmc-0.9.6.dist-info/top_level.txt,sha256=zTi8C64SEBsE5WOtPovnxhOzt-E6Oc5nC3RW6M_5aEA,22
|
|
9
|
-
cad_to_dagmc-0.9.6.dist-info/RECORD,,
|
|
File without changes
|
|
File without changes
|
|
File without changes
|