forked from dengwirda/jigsaw
-
Notifications
You must be signed in to change notification settings - Fork 2
/
example.jig
346 lines (240 loc) · 8.98 KB
/
example.jig
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
#
# EXAMPLE.JIG: an example config. file for JIGSAW
#
# To run this example navigate to the directory containing
# this file and run the following from the cmd line:
#
# On WIN-64 platforms:
#
# bin\WIN-64\jigsaw64r.exe example.jig
#
# On LNX-64 platforms:
#
# bin/LNX-64/jigsaw64r example.jig
#
# On MAC-64 platforms:
#
# bin/MAC-64/jigsaw64r example.jig
#
# This command calls JIGSAW using the config. data contai-
# ned in "example.jig", which, in unmodified form, creates
# a tetrahedral mesh of the "stanford-bunny" geometry.
#
# The subsequent sections detail the various configuration
# options available for JIGSAW. Simply uncomment any given
# option and re-run JIGSAW to explore its effect.
#
#
# REQUIRED fields:
# ---------------
#
# ---> GEOM_FILE - 'GEOMNAME.MSH', a string containing the
# name of the geometry file (is required at input).
# See SAVEMSH for additional details regarding the cr-
# eation of *.MSH files.
#
GEOM_FILE = geo/bunny.msh
# ---> MESH_FILE - 'MESHNAME.MSH', a string containing the
# name of the output file (will be created on output).
#
MESH_FILE = out/bunny.msh
#
# OPTIONAL fields (GEOM):
# ----------------------
#
# ---> GEOM_SEED - {default=8} number of "seed" vertices
# used to initialise mesh generation.
#
# GEOM_SEED = 16
# ---> GEOM_FEAT - {default=false} attempt to auto-detect
# "sharp-features" in the input geometry. Features can
# lie adjacent to 1-dim. entities, (i.e. geometry
# "edges") and/or 2-dim. entities, (i.e. geometry
# "faces") based on both geometrical and/or topologic-
# al constraints. Geometrically, features are located
# between any neighbouring entities that subtend
# angles less than GEOM_ETAX degrees, where "X" is the
# (topological) dimension of the feature. Topological-
# ly, features are located at the apex of any non-man-
# ifold connections.
#
# GEOM_FEAT = TRUE
# ---> GEOM_ETA1 - {default=45deg} 1-dim. feature-angle,
# features are located between any neighbouring
# "edges" that subtend angles less than ETA1 deg.
#
# GEOM_ETA1 = 60
# ---> GEOM_ETA2 - {default=45deg} 2-dim. feature angle,
# features are located between any neighbouring
# "faces" that subtend angles less than ETA2 deg.
#
# GEOM_ETA2 = 60
#
# OPTIONAL fields (HFUN):
# ----------------------
#
# ---> HFUN_FILE - 'HFUNNAME.MSH', a string containing the
# name of the mesh-size file (is required at input).
# The mesh-size function is specified as a general pi-
# ecewise linear function, defined at the vertices of
# an unstructured triangulation. See SAVEMSH for addi-
# tional details.
#
# ---> HFUN_SCAL - {default='relative'} scaling type for
# mesh-size fuction. HFUN_SCAL='relative' interprets
# mesh-size values as percentages of the (mean) length
# of the axis-aligned bounding-box (AABB) associated
# with the geometry. HFUN_SCAL='absolute' interprets
# mesh-size values as absolute measures.
#
# HFUN_SCAL = ABSOLUTE
# ---> HFUN_HMAX - {default=0.02} max. mesh-size function
# value. Interpreted based on SCAL setting.
#
# HFUN_HMAX = 0.03
# ---> HFUN_HMIN - {default=0.00} min. mesh-size function
# value. Interpreted based on SCAL setting.
#
# HFUN_HMIN = 0.01
#
# OPTIONAL fields (MESH):
# ----------------------
#
# ---> MESH_DIMS - {default=3} number of "topological" di-
# mensions to mesh. DIMS=K meshes K-dimensional featu-
# res, irrespective of the number of spatial dim.'s of
# the problem (i.e. if the geometry is 3-dimensional
# and DIMS=2 a surface mesh will be produced).
#
# MESH_DIMS = 2
# ---> MESH_KERN - {default='delfront'} meshing kernal,
# choice of the standard Delaunay-refinement algorithm
# (KERN='delaunay') or the Frontal-Delaunay method
# (KERN='delfront').
#
# MESH_KERN = DELAUNAY
# ---> MESH_ITER - {default=+INF} max. number of mesh ref-
# inement iterations. Set ITER=N to see progress after
# N iterations.
#
# MESH_ITER = 10000
# ---> MESH_TOP1 - {default=false} enforce 1-dim. topolog-
# ical constraints. 1-dim. edges are refined until all
# embedded nodes are "locally 1-manifold", i.e. nodes
# are either centred at topological "features", or lie
# on 1-manifold complexes.
#
# MESH_TOP1 = TRUE
# ---> MESH_TOP2 - {default=false} enforce 2-dim. topolog-
# ical constraints. 2-dim. trias are refined until all
# embedded nodes are "locally 2-manifold", i.e. nodes
# are either centred at topological "features", or lie
# on 2-manifold complexes.
#
# MESH_TOP2 = TRUE
# ---> MESH_RAD2 - {default=1.05} max. radius-edge ratio
# for 2-tria elements. 2-trias are refined until the
# ratio of the element circumradii to min. edge length
# is less-than RAD2.
#
# MESH_RAD2 = 1.50
# ---> MESH_RAD3 - {default=2.05} max. radius-edge ratio
# for 3-tria elements. 3-trias are refined until the
# ratio of the element circumradii to min. edge length
# is less-than RAD3.
#
# MESH_RAD3 = 2.50
# ---> MESH_OFF2 - {default=0.90} radius-edge ratio target
# for insertion of "shape"-type offcentres for 2-tria
# elements. When refining an element II, offcentres
# are positioned to form a new "frontal" element JJ
# that satisfies JRAD <= OFF2.
#
# MESH_OFF2 = 0.95
# ---> MESH_OFF3 - {default=1.10} radius-edge ratio target
# for insertion of "shape"-type offcentres for 3-tria
# elements. When refining an element II, offcentres
# are positioned to form a new "frontal" element JJ
# that satisfies JRAD <= OFF3.
#
# MESH_OFF3 = 1.25
# ---> MESH_SNK2 - {default=0.25} inflation tolerance for
# insertion of "sink" offcentres for 2-tria elements.
# When refining an element II, "sinks" are positioned
# at the centre of the largest adj. circumball staisf-
# ying |JBAL-IBAL| < SNK2 * IRAD, where IRAD is the
# radius of the circumball, and [IBAL,JBAL] are the
# circumball centres.
#
# MESH_SNK2 = 0.10
# ---> MESH_SNK3 - {default=0.33} inflation tolerance for
# insertion of "sink" offcentres for 3-tria elements.
# When refining an element II, "sinks" are positioned
# at the centre of the largest adj. circumball staisf-
# ying |JBAL-IBAL| < SNK3 * IRAD, where IRAD is the
# radius of the circumball, and [IBAL,JBAL] are the
# circumball centres.
#
# MESH_SNK3 = 0.20
# ---> MESH_EPS1 - {default=0.33} max. surface-discretisa-
# tion error multiplier for 1-edge elements. 1-edge
# elements are refined until the surface-disc. error
# is less-than EPS1 * HFUN(X).
#
# MESH_EPS1 = 0.25
# ---> MESH_EPS2 - {default=0.33} max. surface-discretisa-
# tion error multiplier for 2-tria elements. 2-tria
# elements are refined until the surface-disc. error
# is less-than EPS2 * HFUN(X).
#
# MESH_EPS2 = 0.25
# ---> MESH_VOL3 - {default=0.00} min. volume-length ratio
# for 3-tria elements. 3-tria elements are refined
# until the volume-length ratio exceeds VOL3. Can be
# used to supress "sliver" elements.
#
# MESH_VOL3 = 0.10
#
# OPTIONAL fields (OPTM):
# ----------------------
#
# ---> OPTM_ITER - {default=16} max. number of mesh optim-
# isation iterations. Set ITER=N to see progress after
# N iterations.
#
# OPTM_ITER = 32
# ---> OPTM_QTOL - {default=1.E-04} tolerance on mesh cost
# function for convergence. Iteration on a given node
# is terminated if adjacent element cost-functions are
# improved by less than QTOL.
#
# OPTM_QTOL = 1.0E-05
# ---> OPTM_QLIM - {default=0.9250} threshold on mesh cost
# function above which gradient-based optimisation is
# attempted.
#
# OPTM_QLIM = 0.90
# ---> OPTM_ZIP_ - {default= true} allow for "merge" oper-
# ations on sub-faces.
#
# OPTM_ZIP_ = FALSE
# ---> OPTM_DIV_ - {default= true} allow for "split" oper-
# ations on sub-faces.
#
# OPTM_DIV_ = FALSE
# ---> OPTM_TRIA - {default= true} allow for optimisation
# of TRIA grid geometry.
#
# OPTM_TRIA = FALSE
# ---> OPTM_DUAL - {default=false} allow for optimisation
# of DUAL grid geometry.
#
# OPTM_DUAL = TRUE
#
# OPTIONAL fields (MISC):
# ----------------------
#
# ---> VERBOSITY - {default=0} verbosity of log-file gene-
# rated by JIGSAW. Set VERBOSITY >= 1 for more output.
#
# VERBOSITY = 1