11import os
22import tempfile
33
4- import meshio
54from _pygalmesh import (
65 _generate_from_inr ,
76 _generate_from_inr_with_subdomain_sizing ,
1312 _remesh_surface ,
1413)
1514
15+ import meshio
16+
1617
1718def generate_mesh (
1819 domain ,
@@ -29,6 +30,7 @@ def generate_mesh(
2930 cell_radius_edge_ratio = 0.0 ,
3031 cell_size = 0.0 ,
3132 verbose = True ,
33+ seed = 0 ,
3234):
3335 feature_edges = [] if feature_edges is None else feature_edges
3436
@@ -51,6 +53,7 @@ def generate_mesh(
5153 cell_radius_edge_ratio = cell_radius_edge_ratio ,
5254 cell_size = cell_size ,
5355 verbose = verbose ,
56+ seed = seed ,
5457 )
5558
5659 mesh = meshio .read (outfile )
@@ -73,6 +76,7 @@ def generate_with_sizing_field(
7376 cell_radius_edge_ratio = 0.0 ,
7477 cell_size = None ,
7578 verbose = True ,
79+ seed = 0 ,
7680):
7781 feature_edges = [] if feature_edges is None else feature_edges
7882
@@ -95,6 +99,7 @@ def generate_with_sizing_field(
9599 cell_radius_edge_ratio = cell_radius_edge_ratio ,
96100 cell_size = cell_size ,
97101 verbose = verbose ,
102+ seed = seed ,
98103 )
99104
100105 mesh = meshio .read (outfile )
@@ -117,6 +122,7 @@ def generate_periodic_mesh(
117122 cell_size = 0.0 ,
118123 number_of_copies_in_output = 1 ,
119124 verbose = True ,
125+ seed = 0 ,
120126):
121127 fh , outfile = tempfile .mkstemp (suffix = ".mesh" )
122128 os .close (fh )
@@ -139,6 +145,7 @@ def generate_periodic_mesh(
139145 cell_size = cell_size ,
140146 number_of_copies_in_output = number_of_copies_in_output ,
141147 verbose = verbose ,
148+ seed = seed ,
142149 )
143150
144151 mesh = meshio .read (outfile )
@@ -153,6 +160,7 @@ def generate_surface_mesh(
153160 radius_bound = 0.0 ,
154161 distance_bound = 0.0 ,
155162 verbose = True ,
163+ seed = 0 ,
156164):
157165 fh , outfile = tempfile .mkstemp (suffix = ".off" )
158166 os .close (fh )
@@ -165,6 +173,7 @@ def generate_surface_mesh(
165173 radius_bound = radius_bound ,
166174 distance_bound = distance_bound ,
167175 verbose = verbose ,
176+ seed = seed ,
168177 )
169178
170179 mesh = meshio .read (outfile )
@@ -185,6 +194,7 @@ def generate_volume_mesh_from_surface_mesh(
185194 cell_radius_edge_ratio = 0.0 ,
186195 cell_size = 0.0 ,
187196 verbose = True ,
197+ seed = 0 ,
188198):
189199 mesh = meshio .read (filename )
190200
@@ -209,6 +219,7 @@ def generate_volume_mesh_from_surface_mesh(
209219 cell_radius_edge_ratio = cell_radius_edge_ratio ,
210220 cell_size = cell_size ,
211221 verbose = verbose ,
222+ seed = seed ,
212223 )
213224
214225 mesh = meshio .read (outfile )
@@ -230,6 +241,7 @@ def generate_from_inr(
230241 cell_radius_edge_ratio = 0.0 ,
231242 cell_size = 0.0 ,
232243 verbose = True ,
244+ seed = 0 ,
233245):
234246 fh , outfile = tempfile .mkstemp (suffix = ".mesh" )
235247 os .close (fh )
@@ -248,6 +260,7 @@ def generate_from_inr(
248260 cell_radius_edge_ratio = cell_radius_edge_ratio ,
249261 cell_size = cell_size ,
250262 verbose = verbose ,
263+ seed = seed ,
251264 )
252265
253266 mesh = meshio .read (outfile )
@@ -268,6 +281,7 @@ def generate_from_inr_with_subdomain_sizing(
268281 facet_distance = 0.0 ,
269282 cell_radius_edge_ratio = 0.0 ,
270283 verbose = True ,
284+ seed = 0 ,
271285):
272286 fh , outfile = tempfile .mkstemp (suffix = ".mesh" )
273287 os .close (fh )
@@ -296,6 +310,7 @@ def generate_from_inr_with_subdomain_sizing(
296310 facet_distance = facet_distance ,
297311 cell_radius_edge_ratio = cell_radius_edge_ratio ,
298312 verbose = verbose ,
313+ seed = seed ,
299314 )
300315
301316 mesh = meshio .read (outfile )
@@ -310,6 +325,7 @@ def remesh_surface(
310325 facet_size = 0.0 ,
311326 facet_distance = 0.0 ,
312327 verbose = True ,
328+ seed = 0 ,
313329):
314330 mesh = meshio .read (filename )
315331
@@ -328,6 +344,7 @@ def remesh_surface(
328344 facet_size = facet_size ,
329345 facet_distance = facet_distance ,
330346 verbose = verbose ,
347+ seed = seed ,
331348 )
332349
333350 mesh = meshio .read (outfile )
@@ -425,6 +442,7 @@ def generate_from_array_with_subdomain_sizing(
425442 facet_distance = 0.0 ,
426443 cell_radius_edge_ratio = 0.0 ,
427444 verbose = True ,
445+ seed = 0 ,
428446):
429447 assert vol .dtype in ["uint8" , "uint16" ]
430448 fh , inr_filename = tempfile .mkstemp (suffix = ".inr" )
@@ -443,6 +461,7 @@ def generate_from_array_with_subdomain_sizing(
443461 facet_distance ,
444462 cell_radius_edge_ratio ,
445463 verbose ,
464+ seed ,
446465 )
447466 os .remove (inr_filename )
448467 return mesh
0 commit comments