1 <?xml version='1.0' encoding='us-ascii'?>
2 <!DOCTYPE meshers PUBLIC "" "desktop.dtd">
4 <!-- Attributes of hypotheses/algorithms:
6 type - string identifier of a hyp.
7 label-id - hypothesis type name in Create Mesh dialog.
9 group-id - (optional) integer ID of a group the hyp belongs to in Create Mesh dialog;
10 by default the hyp is in the last group.
11 priority - (optional) priority within the group; by default the hyp is last in group.
12 dim - dimension; defines a tab page in Create Mesh dialog.
13 context - (optional) allowed context: [LOCAL, GLOBAL, ANY(default)]. LOCAL - the hyp
14 can be only local (on sub-mesh). GLOBAL - the hyp can be only GLOBAL (on mesh).
15 auxiliary - (optional) Boolean. Is additional hyp or not. Default is "false".
16 hypos - list of types of compatible hyps of the algorithm.
17 opt-hypos = (optional) list of types of compatible ADDITIONAL hyps of the algorithm.
18 output - geometry of elements generated by the algo. Used to define compatible algos of
19 different dimensions. Compatible algos have equal geometries in "input" and "output".
20 input - geometry of elements accepted by algorithm input. Used to define compatible algos of
21 different dimensions. Compatible algos have equal geometries in "input" and "output".
22 need-hyp - (optional) Boolean. Does the algo require a hypothesis or not. Default is "false".
23 need-geom - (optional) [true, fasle, never]. Can the algo work w/o geometry or not.
24 Default is "true". "never" means that the algo can't work with geometry.
25 support-submeshes - (optional) Boolean. Does an multi-dimensional algo support sub-meshes.
32 <meshers-group name ="Standard Meshers"
33 resources ="StdMeshers"
34 idl-module="StdMeshers"
35 server-lib="StdMeshersEngine"
36 gui-lib ="StdMeshersGUI">
39 <hypothesis type ="SegmentLengthAroundVertex"
40 label-id ="Length Near Vertex"
41 icon-id ="mesh_hypo_length.png"
44 <hypothesis type ="LocalLength"
45 label-id ="Local Length"
46 icon-id ="mesh_hypo_length.png"
51 <hypothesis type ="MaxLength"
53 icon-id ="mesh_hypo_length.png"
58 <hypothesis type ="Arithmetic1D"
59 label-id ="Arithmetic Progression"
60 icon-id ="mesh_hypo_length.png"
65 <hypothesis type ="GeometricProgression"
66 label-id ="Geometric Progression"
67 icon-id ="mesh_hypo_length.png"
72 <hypothesis type ="FixedPoints1D"
73 label-id ="Fixed Points"
74 icon-id ="mesh_hypo_length.png"
79 <hypothesis type ="StartEndLength"
80 label-id ="Start and End Length"
81 icon-id ="mesh_hypo_length.png"
86 <hypothesis type ="NumberOfSegments"
87 label-id ="Number of Segments"
88 icon-id ="mesh_hypo_segment.png"
93 <hypothesis type ="Deflection1D"
94 label-id ="Deflection"
95 icon-id ="mesh_hypo_length.png"
100 <hypothesis type ="Adaptive1D"
102 icon-id ="mesh_hypo_length.png"
107 <hypothesis type ="Propagation"
108 label-id ="Propagation of 1D Hyp. on Opposite Edges"
109 icon-id ="mesh_hypo_length.png"
114 <hypothesis type ="PropagOfDistribution"
115 label-id ="Propagation of Node Distribution on Opposite Edges"
116 icon-id ="mesh_hypo_length.png"
121 <hypothesis type ="AutomaticLength"
122 label-id ="Automatic Length"
123 icon-id ="mesh_hypo_length.png"
128 <hypothesis type ="LengthFromEdges"
129 label-id ="Length From Edges"
130 icon-id ="mesh_hypo_length.png"
133 <hypothesis type ="QuadranglePreference"
134 label-id ="Quadrangle Preference"
135 icon-id ="mesh_algo_quad.png"
139 <hypothesis type ="QuadraticMesh"
140 label-id ="Quadratic Mesh"
141 icon-id ="mesh_algo_quad.png"
145 <hypothesis type ="MaxElementArea"
146 label-id ="Max. Element Area"
147 icon-id ="mesh_hypo_area.png"
150 <hypothesis type ="NotConformAllowed"
151 label-id ="Not Conform Mesh Allowed"
152 icon-id ="mesh_hypo_length.png"
157 <hypothesis type ="MaxElementVolume"
158 label-id ="Max. Element Volume"
159 icon-id ="mesh_hypo_volume.png"
162 <hypothesis type ="ProjectionSource3D"
163 label-id ="Source Shape 3D"
164 icon-id ="mesh_hypo_volume.png"
167 <hypothesis type ="ProjectionSource2D"
168 label-id ="Source Face"
169 icon-id ="mesh_hypo_area.png"
172 <hypothesis type ="ProjectionSource1D"
173 label-id ="Source Edge"
174 icon-id ="mesh_hypo_length.png"
177 <hypothesis type ="ImportSource2D"
178 label-id ="Source Faces"
179 icon-id ="mesh_hypo_area.png"
182 <hypothesis type ="ImportSource1D"
183 label-id ="Source Edges"
184 icon-id ="mesh_hypo_length.png"
187 <hypothesis type ="NumberOfLayers"
188 label-id ="Number of Layers"
189 icon-id ="mesh_hypo_length.png"
192 <hypothesis type ="LayerDistribution"
193 label-id ="Distribution of Layers"
194 icon-id ="mesh_hypo_length.png"
197 <hypothesis type ="ViscousLayers2D"
198 label-id ="Viscous Layers 2D"
199 icon-id ="mesh_algo_quad.png"
203 <hypothesis type ="ViscousLayers"
204 label-id ="Viscous Layers"
205 icon-id ="mesh_algo_quad.png"
209 <hypothesis type ="NumberOfLayers2D"
210 label-id ="Number of Layers"
211 icon-id ="mesh_hypo_length.png"
214 <hypothesis type ="LayerDistribution2D"
215 label-id ="Distribution of Layers"
216 icon-id ="mesh_hypo_length.png"
219 <hypothesis type ="QuadrangleParams"
220 label-id ="Quadrangle Parameters"
221 icon-id ="mesh_hypo_length.png"
224 <hypothesis type ="CartesianParameters3D"
225 label-id ="Body Fitting Parameters"
226 icon-id ="mesh_hypo_length.png"
229 <hypothesis type ="BlockRenumber"
231 icon-id ="mesh_hypo_renumber.png"
238 <algorithm type ="SegmentAroundVertex_0D"
239 label-id ="Segments around Vertex"
240 icon-id ="mesh_algo_regular.png"
241 hypos ="SegmentLengthAroundVertex"
246 <algorithm type ="Regular_1D"
247 label-id ="Wire Discretisation"
248 icon-id ="mesh_algo_regular.png"
251 hypos ="Adaptive1D,LocalLength,MaxLength,Arithmetic1D,GeometricProgression,StartEndLength,NumberOfSegments,Deflection1D,AutomaticLength,FixedPoints1D"
252 opt-hypos="Propagation,PropagOfDistribution,QuadraticMesh"
258 <algo>Regular_1D=Segment()</algo>
259 <hypo>LocalLength=LocalLength(SetLength(1),,SetPrecision(1))</hypo>
260 <hypo>MaxLength=MaxSize(SetLength(1))</hypo>
261 <hypo>Arithmetic1D=Arithmetic1D(SetStartLength(),SetEndLength(),SetReversedEdges())</hypo>
262 <hypo>GeometricProgression=GeometricProgression(SetStartLength(),SetCommonRatio(),SetReversedEdges())</hypo>
263 <hypo>StartEndLength=StartEndLength(SetStartLength(),SetEndLength(),SetReversedEdges())</hypo>
264 <hypo>Deflection1D=Deflection1D(SetDeflection())</hypo>
265 <hypo>Adaptive1D=Adaptive(SetMinSize(),SetMaxSize(),SetDeflection())</hypo>
266 <hypo>AutomaticLength=AutomaticLength(SetFineness())</hypo>
267 <hypo>FixedPoints1D=FixedPoints1D(SetPoints(),SetNbSegments(),SetReversedEdges())</hypo>
268 <hypo>Propagation=Propagation()</hypo>
269 <hypo>PropagOfDistribution=PropagationOfDistribution()</hypo>
270 <hypo>QuadraticMesh=QuadraticMesh()</hypo>
274 <algorithm type ="CompositeSegment_1D"
275 label-id ="Composite Side Discretisation"
276 icon-id ="mesh_algo_regular.png"
279 hypos ="Adaptive1D,LocalLength,MaxLength,Arithmetic1D,GeometricProgression,StartEndLength,NumberOfSegments,Deflection1D,AutomaticLength,FixedPoints1D"
280 opt-hypos="Propagation,PropagOfDistribution,QuadraticMesh"
286 <algo>CompositeSegment_1D=Segment(algo=smeshBuilder.COMPOSITE)</algo>
287 <hypo>LocalLength=LocalLength(SetLength(), ,SetPrecision())</hypo>
288 <hypo>MaxLength=MaxSize(SetLength())</hypo>
289 <hypo>Arithmetic1D=Arithmetic1D(SetStartLength(),SetEndLength(),SetReversedEdges())</hypo>
290 <hypo>GeometricProgression=GeometricProgression(SetStartLength(),SetCommonRatio(),SetReversedEdges())</hypo>
291 <hypo>StartEndLength=StartEndLength(SetStartLength(),SetEndLength(),SetReversedEdges())</hypo>
292 <hypo>Deflection1D=Deflection1D(SetDeflection())</hypo>
293 <hypo>Adaptive1D=Adaptive(SetMinSize(),SetMaxSize(),SetDeflection())</hypo>
294 <hypo>AutomaticLength=AutomaticLength(SetFineness())</hypo>
295 <hypo>FixedPoints1D=FixedPoints1D(SetPoints(),SetNbSegments(),SetReversedEdges())</hypo>
296 <hypo>Propagation=Propagation()</hypo>
297 <hypo>PropagOfDistribution=PropagationOfDistribution()</hypo>
298 <hypo>QuadraticMesh=QuadraticMesh()</hypo>
302 <algorithm type="Python_1D"
306 <algo>Python_1D=Segment(algo=smeshBuilder.PYTHON)</algo>
307 <hypo>PythonSplit1D=PythonSplit1D(SetNumberOfSegments(),SetPythonLog10RatioFunction())</hypo>
311 <algorithm type ="@MEFISTO2D_NAME@"
312 label-id ="Triangle: Mefisto"
313 icon-id ="mesh_algo_mefisto.png"
316 hypos ="LengthFromEdges,MaxElementArea"
317 opt-hypos ="ViscousLayers2D"
322 <algo>MEFISTO_2D=Triangle(algo=smeshBuilder.MEFISTO)</algo>
323 <hypo>LengthFromEdges=LengthFromEdges()</hypo>
324 <hypo>MaxElementArea=MaxElementArea(SetMaxElementArea())</hypo>
325 <hypo>ViscousLayers2D=ViscousLayers2D(SetTotalThickness(),SetNumberLayers(),SetStretchFactor(),SetEdges(1),SetEdges(2),SetGroupName())</hypo>
329 <algorithm type ="Quadrangle_2D"
330 label-id ="Quadrangle: Mapping"
331 icon-id ="mesh_algo_quad.png"
334 hypos ="QuadrangleParams"
335 opt-hypos="ViscousLayers2D"
340 <algo>Quadrangle_2D=Quadrangle(algo=smeshBuilder.QUADRANGLE)</algo>
341 <hypo>QuadrangleParams=QuadrangleParameters(SetQuadType(),SetTriaVertex(),SetEnforcedNodes(1),SetEnforcedNodes(2),SetCorners())</hypo>
342 <hypo>ViscousLayers2D=ViscousLayers2D(SetTotalThickness(),SetNumberLayers(),SetStretchFactor(),SetEdges(1),SetEdges(2),SetGroupName())</hypo>
346 <algorithm type ="QuadFromMedialAxis_1D2D"
347 label-id ="Quadrangle: Medial Axis Projection"
348 icon-id ="mesh_algo_quad.png"
351 hypos ="NumberOfLayers2D, LayerDistribution2D"
352 opt-hypos="ViscousLayers2D"
357 <algo>QuadFromMedialAxis_1D2D=Quadrangle(algo=smeshBuilder.QUAD_MA_PROJ)</algo>
358 <hypo>ViscousLayers2D=ViscousLayers2D(SetTotalThickness(),SetNumberLayers(),SetStretchFactor(),SetEdges(1),SetEdges(2),SetGroupName())</hypo>
359 <hypo>NumberOfLayers2D=NumberOfLayers(SetNumberOfLayers())</hypo>
363 <algorithm type ="PolygonPerFace_2D"
364 label-id ="Polygon per Face"
365 icon-id ="mesh_algo_polygon.png"
368 opt-hypos="ViscousLayers2D"
370 output ="POLYGON,QUAD,TRIA"
373 <algo>PolygonPerFace_2D=Polygon()</algo>
374 <hypo>ViscousLayers2D=ViscousLayers2D(SetTotalThickness(),SetNumberLayers(),SetStretchFactor(),SetEdges(1),SetEdges(2),SetGroupName())</hypo>
378 <algorithm type ="PolyhedronPerSolid_3D"
379 label-id ="Polyhedron per Solid"
380 icon-id ="mesh_algo_polygon.png"
381 opt-hypos="ViscousLayers"
382 input ="POLYGON,QUAD,TRIA,EDGE"
385 <algo>PolyhedronPerSolid_3D=Polyhedron()</algo>
386 <hypo>ViscousLayers=ViscousLayers(SetTotalThickness(),SetNumberLayers(),SetStretchFactor(),SetIgnoreEdges())</hypo>
390 <algorithm type ="Hexa_3D"
391 label-id ="Hexahedron (i,j,k)"
392 icon-id ="mesh_algo_hexa.png"
398 hypos ="BlockRenumber"
399 opt-hypos="ViscousLayers"
402 <algo>Hexa_3D=Hexahedron(algo=smeshBuilder.Hexa)</algo>
403 <hypo>ViscousLayers=ViscousLayers(SetTotalThickness(),SetNumberLayers(),SetStretchFactor(),SetFaces(1),SetFaces(2),SetMethod(),SetGroupName())</hypo>
404 <hypo>BlockRenumber=Renumber(GetBlocksOrientation())</hypo>
408 <algorithm type ="Projection_1D"
409 label-id="Projection 1D"
410 icon-id ="mesh_algo_regular.png"
413 hypos ="ProjectionSource1D"
418 <algo>Projection_1D=Projection1D()</algo>
419 <hypo>ProjectionSource1D=SourceEdge(SetSourceEdge(),SetSourceMesh(),SetVertexAssociation(1),SetVertexAssociation(2))</hypo>
423 <algorithm type ="Projection_2D"
424 label-id="Projection 2D"
425 icon-id ="mesh_algo_quad.png"
429 hypos ="ProjectionSource2D"
434 <algo>Projection_2D=Projection2D()</algo>
435 <hypo>ProjectionSource2D=SourceFace(SetSourceFace(),SetSourceMesh(),SetVertexAssociation(1),SetVertexAssociation(3),SetVertexAssociation(2),SetVertexAssociation(4))</hypo>
439 <algorithm type ="Projection_1D2D"
440 label-id="Projection 1D-2D"
441 icon-id ="mesh_algo_quad.png"
444 hypos ="ProjectionSource2D"
449 <algo>Projection_1D2D=Projection1D2D()</algo>
450 <hypo>ProjectionSource2D=SourceFace(SetSourceFace(),SetSourceMesh(),SetVertexAssociation(1),SetVertexAssociation(2),SetVertexAssociation(3),SetVertexAssociation(4))</hypo>
454 <algorithm type ="Projection_3D"
455 label-id="Projection 3D"
456 icon-id ="mesh_algo_hexa.png"
459 hypos ="ProjectionSource3D"
464 <algo>Projection_3D=Projection3D()</algo>
465 <hypo>ProjectionSource3D=SourceShape3D(SetSource3DShape(),SetSourceMesh(),SetVertexAssociation(1),SetVertexAssociation(3),SetVertexAssociation(2),SetVertexAssociation(4))</hypo>
469 <algorithm type ="Import_1D"
470 label-id="Import 1D Elements from Another Mesh"
471 icon-id ="mesh_algo_regular.png"
474 hypos ="ImportSource1D"
479 <algo>Import_1D=UseExisting1DElements()</algo>
480 <hypo>ImportSource1D=SourceEdges(SetSourceEdges(),SetCopySourceMesh(1),SetCopySourceMesh(2))</hypo>
484 <algorithm type ="Import_1D2D"
485 label-id ="Import 1D-2D Elements from Another Mesh"
486 icon-id ="mesh_algo_quad.png"
489 hypos ="ImportSource2D"
491 support-submeshes="false"
495 <algo>Import_1D2D=UseExisting2DElements()</algo>
496 <hypo>ImportSource2D=SourceFaces(SetSourceFaces(),SetCopySourceMesh(1),SetCopySourceMesh(2))</hypo>
500 <algorithm type ="Prism_3D"
501 label-id="Extrusion 3D"
502 icon-id ="mesh_algo_hexa.png"
506 output ="HEXA,PENTA,OCTA,POLYHEDRON"
509 <algo>Prism_3D=Prism()</algo>
513 <algorithm type ="RadialPrism_3D"
514 label-id="Radial Prism"
515 icon-id ="mesh_algo_hexa.png"
518 hypos ="NumberOfLayers, LayerDistribution"
520 output ="HEXA,PENTA,OCTA,POLYHEDRON"
524 <algo>RadialPrism_3D=Prism('RadialPrism_3D')</algo>
525 <hypo>NumberOfLayers=NumberOfLayers(SetNumberOfLayers())</hypo>
529 <algorithm type ="UseExisting_1D"
530 label-id="Use Edges to be Created Manually"
531 icon-id ="mesh_algo_regular.png"
538 <algo>UseExisting_1D=UseExistingSegments()</algo>
542 <algorithm type ="UseExisting_2D"
543 label-id="Use Faces to be Created Manually"
544 icon-id ="mesh_algo_quad.png"
551 <algo>UseExisting_2D=UseExistingFaces()</algo>
555 <algorithm type ="RadialQuadrangle_1D2D"
556 label-id="Radial Quadrangle 1D-2D"
557 icon-id ="mesh_algo_quad.png"
560 hypos ="NumberOfLayers2D, LayerDistribution2D"
565 <algo>RadialQuadrangle_1D2D=Quadrangle(algo=smeshBuilder.RADIAL_QUAD)</algo>
566 <hypo>NumberOfLayers2D=NumberOfLayers(SetNumberOfLayers())</hypo>
570 <algorithm type ="Cartesian_3D"
571 label-id ="Body Fitting"
572 icon-id ="mesh_algo_hexa.png"
575 hypos ="CartesianParameters3D"
576 support-submeshes="false"
581 <algo>Cartesian_3D=BodyFitted()</algo>
588 <meshers-group name="Your Meshers Group"
608 <hypotheses-set-group>
610 <hypotheses-set name="Tetrahedralization"
611 use-common-size="true"
612 hypos="MG-CADSurf Parameters"
613 algos="MG-CADSurf, MG-Tetra"
614 alt-hypos="NETGEN_Parameters"
615 alt-algos="NETGEN_2D3D"
616 intern-edge-hypos="LocalLength"
617 intern-edge-algos="Regular_1D"/>
619 <hypotheses-set name="Mapped Hexahedralization"
620 hypos="NumberOfSegments"
621 algos="Regular_1D, Quadrangle_2D, Hexa_3D"/>
623 <hypotheses-set name="Free Hexahedralization"
624 use-common-size="true"
625 quad-dominated="true"
626 hypos="MG-CADSurf Parameters"
627 algos="MG-CADSurf, MG-Hexa"
630 intern-edge-hypos="LocalLength"
631 intern-edge-algos="Regular_1D"/>
633 <hypotheses-set name="Triangulation"
634 use-common-size="true"
635 hypos="MG-CADSurf Parameters"
637 alt-hypos="NETGEN_Parameters_2D"
638 alt-algos="NETGEN_2D"/>
640 <hypotheses-set name="Mapped Quadrangulation"
641 hypos="NumberOfSegments"
642 algos="Regular_1D, Quadrangle_2D"/>
644 <hypotheses-set name="Free Quadrangulation"
645 use-common-size="true"
646 quad-dominated="true"
647 hypos="MG-CADSurf Parameters"
649 alt-hypos="NETGEN_Parameters_2D"
650 alt-algos="NETGEN_2D"/>
652 </hypotheses-set-group>