<?xml version='1.0' encoding='us-ascii'?> <!DOCTYPE meshers PUBLIC "" "desktop.dtd"> <!-- Attributes of hypotheses/algorithms: type - string identifier of a hyp. label-id - hypothesis type name in Create Mesh dialog. icon-id - not used. group-id - (optional) integer ID of a group the hyp belongs to in Create Mesh dialog; by default the hyp is in the last group. priority - (optional) priority within the group; by default the hyp is last in group. dim - dimension; defines a tab page in Create Mesh dialog. context - (optional) allowed context: [LOCAL, GLOBAL, ANY(default)]. LOCAL - the hyp can be only local (on sub-mesh). GLOBAL - the hyp can be only GLOBAL (on mesh). auxiliary - (optional) Boolean. Is additional hyp or not. Default is "false". hypos - list of types of compatible hyps of the algorithm. opt-hypos = (optional) list of types of compatible ADDITIONAL hyps of the algorithm. output - geometry of elements generated by the algo. Used to define compatible algos of different dimensions. Compatible algos have equal geometries in "input" and "output". input - geometry of elements accepted by algorithm input. Used to define compatible algos of different dimensions. Compatible algos have equal geometries in "input" and "output". need-hyp - (optional) Boolean. Does the algo require a hypothesis or not. Default is "false". need-geom - (optional) [true, fasle, never]. Can the algo work w/o geometry or not. Default is "true". "never" means that the algo can't work with geometry. support-submeshes - (optional) Boolean. Does an multi-dimensional algo support sub-meshes. Default is "false". --> <meshers> <meshers-group name ="Standard Meshers" resources ="StdMeshers" idl-module="StdMeshers" server-lib="StdMeshersEngine" gui-lib ="StdMeshersGUI"> <hypotheses> <hypothesis type ="SegmentLengthAroundVertex" label-id ="Length Near Vertex" icon-id ="mesh_hypo_length.png" dim ="0"/> <hypothesis type ="LocalLength" label-id ="Local Length" icon-id ="mesh_hypo_length.png" group-id ="0" priority ="20" dim ="1"/> <hypothesis type ="MaxLength" label-id ="Max Size" icon-id ="mesh_hypo_length.png" group-id ="2" priority ="50" dim ="1"/> <hypothesis type ="Arithmetic1D" label-id ="Arithmetic Progression" icon-id ="mesh_hypo_length.png" group-id ="1" priority ="10" dim ="1"/> <hypothesis type ="GeometricProgression" label-id ="Geometric Progression" icon-id ="mesh_hypo_length.png" group-id ="1" priority ="20" dim ="1"/> <hypothesis type ="FixedPoints1D" label-id ="Fixed Points" icon-id ="mesh_hypo_length.png" group-id ="2" priority ="10" dim ="1"/> <hypothesis type ="StartEndLength" label-id ="Start and End Length" icon-id ="mesh_hypo_length.png" group-id ="1" priority ="30" dim ="1"/> <hypothesis type ="NumberOfSegments" label-id ="Number of Segments" icon-id ="mesh_hypo_segment.png" group-id ="0" priority ="10" dim ="1"/> <hypothesis type ="Deflection1D" label-id ="Deflection" icon-id ="mesh_hypo_length.png" group-id ="2" priority ="20" dim ="1"/> <hypothesis type ="Adaptive1D" label-id ="Adaptive" icon-id ="mesh_hypo_length.png" group-id ="2" priority ="30" dim ="1"/> <hypothesis type ="Propagation" label-id ="Propagation of 1D Hyp. on Opposite Edges" icon-id ="mesh_hypo_length.png" dim ="1" context ="LOCAL" auxiliary="true"/> <hypothesis type ="PropagOfDistribution" label-id ="Propagation of Node Distribution on Opposite Edges" icon-id ="mesh_hypo_length.png" dim ="1" context ="LOCAL" auxiliary="true"/> <hypothesis type ="AutomaticLength" label-id ="Automatic Length" icon-id ="mesh_hypo_length.png" group-id ="2" priority ="40" dim ="1"/> <hypothesis type ="LengthFromEdges" label-id ="Length From Edges" icon-id ="mesh_hypo_length.png" dim ="2"/> <hypothesis type ="QuadranglePreference" label-id ="Quadrangle Preference" icon-id ="mesh_algo_quad.png" auxiliary="true" dim ="2"/> <hypothesis type ="QuadraticMesh" label-id ="Quadratic Mesh" icon-id ="mesh_algo_quad.png" dim ="1" auxiliary="true"/> <hypothesis type ="MaxElementArea" label-id ="Max. Element Area" icon-id ="mesh_hypo_area.png" dim ="2"/> <hypothesis type ="NotConformAllowed" label-id ="Not Conform Mesh Allowed" icon-id ="mesh_hypo_length.png" dim ="1,2,3" context ="GLOBAL" auxiliary="true"/> <hypothesis type ="MaxElementVolume" label-id ="Max. Element Volume" icon-id ="mesh_hypo_volume.png" dim ="3"/> <hypothesis type ="ProjectionSource3D" label-id ="Source Shape 3D" icon-id ="mesh_hypo_volume.png" dim ="3"/> <hypothesis type ="ProjectionSource2D" label-id ="Source Face" icon-id ="mesh_hypo_area.png" dim ="2"/> <hypothesis type ="ProjectionSource1D" label-id ="Source Edge" icon-id ="mesh_hypo_length.png" dim ="1"/> <hypothesis type ="ImportSource2D" label-id ="Source Faces" icon-id ="mesh_hypo_area.png" dim ="2"/> <hypothesis type ="ImportSource1D" label-id ="Source Edges" icon-id ="mesh_hypo_length.png" dim ="1"/> <hypothesis type ="NumberOfLayers" label-id ="Number of Layers" icon-id ="mesh_hypo_length.png" dim ="3"/> <hypothesis type ="LayerDistribution" label-id ="Distribution of Layers" icon-id ="mesh_hypo_length.png" dim ="3"/> <hypothesis type ="ViscousLayers2D" label-id ="Viscous Layers 2D" icon-id ="mesh_algo_quad.png" auxiliary="true" dim ="2"/> <hypothesis type ="ViscousLayers" label-id ="Viscous Layers" icon-id ="mesh_algo_quad.png" auxiliary="true" dim ="3"/> <hypothesis type ="NumberOfLayers2D" label-id ="Number of Layers" icon-id ="mesh_hypo_length.png" dim ="2"/> <hypothesis type ="LayerDistribution2D" label-id ="Distribution of Layers" icon-id ="mesh_hypo_length.png" dim ="2"/> <hypothesis type ="QuadrangleParams" label-id ="Quadrangle Parameters" icon-id ="mesh_hypo_length.png" dim ="2"/> <hypothesis type ="CartesianParameters3D" label-id ="Body Fitting Parameters" icon-id ="mesh_hypo_length.png" dim ="3"/> <hypothesis type ="BlockRenumber" label-id ="Renumber" icon-id ="mesh_hypo_renumber.png" dim ="3"/> </hypotheses> <algorithms> <algorithm type ="SegmentAroundVertex_0D" label-id ="Segments around Vertex" icon-id ="mesh_algo_regular.png" hypos ="SegmentLengthAroundVertex" output ="NODE" need-hyp ="true" dim ="0"/> <algorithm type ="Regular_1D" label-id ="Wire Discretisation" icon-id ="mesh_algo_regular.png" group-id ="0" priority ="10" hypos ="Adaptive1D,LocalLength,MaxLength,Arithmetic1D,GeometricProgression,StartEndLength,NumberOfSegments,Deflection1D,AutomaticLength,FixedPoints1D" opt-hypos="Propagation,PropagOfDistribution,QuadraticMesh" input ="NODE" output ="EDGE" need-hyp ="true" dim ="1"> <python-wrap> <algo>Regular_1D=Segment()</algo> <hypo>LocalLength=LocalLength(SetLength(1),,SetPrecision(1))</hypo> <hypo>MaxLength=MaxSize(SetLength(1))</hypo> <hypo>Arithmetic1D=Arithmetic1D(SetStartLength(),SetEndLength(),SetReversedEdges())</hypo> <hypo>GeometricProgression=GeometricProgression(SetStartLength(),SetCommonRatio(),SetReversedEdges())</hypo> <hypo>StartEndLength=StartEndLength(SetStartLength(),SetEndLength(),SetReversedEdges())</hypo> <hypo>Deflection1D=Deflection1D(SetDeflection())</hypo> <hypo>Adaptive1D=Adaptive(SetMinSize(),SetMaxSize(),SetDeflection())</hypo> <hypo>AutomaticLength=AutomaticLength(SetFineness())</hypo> <hypo>FixedPoints1D=FixedPoints1D(SetPoints(),SetNbSegments(),SetReversedEdges())</hypo> <hypo>Propagation=Propagation()</hypo> <hypo>PropagOfDistribution=PropagationOfDistribution()</hypo> <hypo>QuadraticMesh=QuadraticMesh()</hypo> </python-wrap> </algorithm> <algorithm type ="CompositeSegment_1D" label-id ="Composite Side Discretisation" icon-id ="mesh_algo_regular.png" group-id ="0" priority ="20" hypos ="Adaptive1D,LocalLength,MaxLength,Arithmetic1D,GeometricProgression,StartEndLength,NumberOfSegments,Deflection1D,AutomaticLength,FixedPoints1D" opt-hypos="Propagation,PropagOfDistribution,QuadraticMesh" input ="NODE" output ="EDGE" need-hyp ="true" dim ="1"> <python-wrap> <algo>CompositeSegment_1D=Segment(algo=smeshBuilder.COMPOSITE)</algo> <hypo>LocalLength=LocalLength(SetLength(), ,SetPrecision())</hypo> <hypo>MaxLength=MaxSize(SetLength())</hypo> <hypo>Arithmetic1D=Arithmetic1D(SetStartLength(),SetEndLength(),SetReversedEdges())</hypo> <hypo>GeometricProgression=GeometricProgression(SetStartLength(),SetCommonRatio(),SetReversedEdges())</hypo> <hypo>StartEndLength=StartEndLength(SetStartLength(),SetEndLength(),SetReversedEdges())</hypo> <hypo>Deflection1D=Deflection1D(SetDeflection())</hypo> <hypo>Adaptive1D=Adaptive(SetMinSize(),SetMaxSize(),SetDeflection())</hypo> <hypo>AutomaticLength=AutomaticLength(SetFineness())</hypo> <hypo>FixedPoints1D=FixedPoints1D(SetPoints(),SetNbSegments(),SetReversedEdges())</hypo> <hypo>Propagation=Propagation()</hypo> <hypo>PropagOfDistribution=PropagationOfDistribution()</hypo> <hypo>QuadraticMesh=QuadraticMesh()</hypo> </python-wrap> </algorithm> <algorithm type="Python_1D" output="EDGE" dim="1"> <python-wrap> <algo>Python_1D=Segment(algo=smeshBuilder.PYTHON)</algo> <hypo>PythonSplit1D=PythonSplit1D(SetNumberOfSegments(),SetPythonLog10RatioFunction())</hypo> </python-wrap> </algorithm> <algorithm type ="Quadrangle_2D" label-id ="Quadrangle: Mapping" icon-id ="mesh_algo_quad.png" group-id ="0" priority ="10" hypos ="QuadrangleParams" opt-hypos="ViscousLayers2D" input ="EDGE" output ="QUAD" dim ="2"> <python-wrap> <algo>Quadrangle_2D=Quadrangle(algo=smeshBuilder.QUADRANGLE)</algo> <hypo>QuadrangleParams=QuadrangleParameters(SetQuadType(),SetTriaVertex(),SetEnforcedNodes(1),SetEnforcedNodes(2),SetCorners())</hypo> <hypo>ViscousLayers2D=ViscousLayers2D(SetTotalThickness(),SetNumberLayers(),SetStretchFactor(),SetEdges(1),SetEdges(2),SetGroupName())</hypo> </python-wrap> </algorithm> <algorithm type ="QuadFromMedialAxis_1D2D" label-id ="Quadrangle: Medial Axis Projection" icon-id ="mesh_algo_quad.png" group-id ="0" priority ="20" hypos ="NumberOfLayers2D, LayerDistribution2D" opt-hypos="ViscousLayers2D" input ="EDGE" output ="QUAD" dim ="2"> <python-wrap> <algo>QuadFromMedialAxis_1D2D=Quadrangle(algo=smeshBuilder.QUAD_MA_PROJ)</algo> <hypo>ViscousLayers2D=ViscousLayers2D(SetTotalThickness(),SetNumberLayers(),SetStretchFactor(),SetEdges(1),SetEdges(2),SetGroupName())</hypo> <hypo>NumberOfLayers2D=NumberOfLayers(SetNumberOfLayers())</hypo> </python-wrap> </algorithm> <algorithm type ="PolygonPerFace_2D" label-id ="Polygon per Face" icon-id ="mesh_algo_polygon.png" group-id ="2" priority ="40" opt-hypos="ViscousLayers2D" input ="EDGE" output ="POLYGON,QUAD,TRIA" dim ="2"> <python-wrap> <algo>PolygonPerFace_2D=Polygon()</algo> <hypo>ViscousLayers2D=ViscousLayers2D(SetTotalThickness(),SetNumberLayers(),SetStretchFactor(),SetEdges(1),SetEdges(2),SetGroupName())</hypo> </python-wrap> </algorithm> <algorithm type ="PolyhedronPerSolid_3D" label-id ="Polyhedron per Solid" icon-id ="mesh_algo_polygon.png" opt-hypos="ViscousLayers" input ="POLYGON,QUAD,TRIA,EDGE" dim ="3"> <python-wrap> <algo>PolyhedronPerSolid_3D=Polyhedron()</algo> <hypo>ViscousLayers=ViscousLayers(SetTotalThickness(),SetNumberLayers(),SetStretchFactor(),SetIgnoreEdges())</hypo> </python-wrap> </algorithm> <algorithm type ="Hexa_3D" label-id ="Hexahedron (i,j,k)" icon-id ="mesh_algo_hexa.png" group-id ="0" priority ="10" input ="QUAD" output ="HEXA,PENTA" need-geom="false" hypos ="BlockRenumber" opt-hypos="ViscousLayers" dim ="3"> <python-wrap> <algo>Hexa_3D=Hexahedron(algo=smeshBuilder.Hexa)</algo> <hypo>ViscousLayers=ViscousLayers(SetTotalThickness(),SetNumberLayers(),SetStretchFactor(),SetFaces(1),SetFaces(2),SetMethod(),SetGroupName())</hypo> <hypo>BlockRenumber=Renumber(GetBlocksOrientation())</hypo> </python-wrap> </algorithm> <algorithm type ="Projection_1D" label-id="Projection 1D" icon-id ="mesh_algo_regular.png" group-id="1" priority="10" hypos ="ProjectionSource1D" output ="EDGE" need-hyp="true" dim ="1"> <python-wrap> <algo>Projection_1D=Projection1D()</algo> <hypo>ProjectionSource1D=SourceEdge(SetSourceEdge(),SetSourceMesh(),SetVertexAssociation(1),SetVertexAssociation(2))</hypo> </python-wrap> </algorithm> <algorithm type ="Projection_2D" label-id="Projection 2D" icon-id ="mesh_algo_quad.png" group-id="2" priority="30" input ="EDGE" hypos ="ProjectionSource2D" output ="QUAD,TRIA" need-hyp="true" dim ="2"> <python-wrap> <algo>Projection_2D=Projection2D()</algo> <hypo>ProjectionSource2D=SourceFace(SetSourceFace(),SetSourceMesh(),SetVertexAssociation(1),SetVertexAssociation(3),SetVertexAssociation(2),SetVertexAssociation(4))</hypo> </python-wrap> </algorithm> <algorithm type ="Projection_1D2D" label-id="Projection 1D-2D" icon-id ="mesh_algo_quad.png" group-id="2" priority="20" hypos ="ProjectionSource2D" output ="QUAD,TRIA" need-hyp="true" dim ="2"> <python-wrap> <algo>Projection_1D2D=Projection1D2D()</algo> <hypo>ProjectionSource2D=SourceFace(SetSourceFace(),SetSourceMesh(),SetVertexAssociation(1),SetVertexAssociation(2),SetVertexAssociation(3),SetVertexAssociation(4))</hypo> </python-wrap> </algorithm> <algorithm type ="Projection_3D" label-id="Projection 3D" icon-id ="mesh_algo_hexa.png" group-id="2" priority="20" hypos ="ProjectionSource3D" input ="QUAD,TRIA" need-hyp="true" dim ="3"> <python-wrap> <algo>Projection_3D=Projection3D()</algo> <hypo>ProjectionSource3D=SourceShape3D(SetSource3DShape(),SetSourceMesh(),SetVertexAssociation(1),SetVertexAssociation(3),SetVertexAssociation(2),SetVertexAssociation(4))</hypo> </python-wrap> </algorithm> <algorithm type ="Import_1D" label-id="Import 1D Elements from Another Mesh" icon-id ="mesh_algo_regular.png" group-id="1" priority="20" hypos ="ImportSource1D" output ="EDGE" need-hyp="true" dim ="1"> <python-wrap> <algo>Import_1D=UseExisting1DElements()</algo> <hypo>ImportSource1D=SourceEdges(SetSourceEdges(),SetCopySourceMesh(1),SetCopySourceMesh(2))</hypo> </python-wrap> </algorithm> <algorithm type ="Import_1D2D" label-id ="Import 1D-2D Elements from Another Mesh" icon-id ="mesh_algo_quad.png" group-id ="2" priority ="50" hypos ="ImportSource2D" output ="QUAD,TRIA" support-submeshes="false" need-hyp ="true" dim ="2"> <python-wrap> <algo>Import_1D2D=UseExisting2DElements()</algo> <hypo>ImportSource2D=SourceFaces(SetSourceFaces(),SetCopySourceMesh(1),SetCopySourceMesh(2))</hypo> </python-wrap> </algorithm> <algorithm type ="Prism_3D" label-id="Extrusion 3D" icon-id ="mesh_algo_hexa.png" group-id="2" priority="10" input ="EDGE" output ="HEXA,PENTA,OCTA,POLYHEDRON" dim ="3"> <python-wrap> <algo>Prism_3D=Prism()</algo> </python-wrap> </algorithm> <algorithm type ="RadialPrism_3D" label-id="Radial Prism" icon-id ="mesh_algo_hexa.png" group-id="2" priority="30" hypos ="NumberOfLayers, LayerDistribution" input ="QUAD,TRIA" output ="HEXA,PENTA,OCTA,POLYHEDRON" need-hyp="true" dim ="3"> <python-wrap> <algo>RadialPrism_3D=Prism('RadialPrism_3D')</algo> <hypo>NumberOfLayers=NumberOfLayers(SetNumberOfLayers())</hypo> </python-wrap> </algorithm> <algorithm type ="UseExisting_1D" label-id="Use Edges to be Created Manually" icon-id ="mesh_algo_regular.png" group-id="1" priority="30" input ="NODE" output ="EDGE" dim ="1"> <python-wrap> <algo>UseExisting_1D=UseExistingSegments()</algo> </python-wrap> </algorithm> <algorithm type ="UseExisting_2D" label-id="Use Faces to be Created Manually" icon-id ="mesh_algo_quad.png" group-id="2" priority="60" input ="EDGE" output ="QUAD,TRIA" dim ="2"> <python-wrap> <algo>UseExisting_2D=UseExistingFaces()</algo> </python-wrap> </algorithm> <algorithm type ="RadialQuadrangle_1D2D" label-id="Radial Quadrangle 1D-2D" icon-id ="mesh_algo_quad.png" group-id="2" priority="10" hypos ="NumberOfLayers2D, LayerDistribution2D" input ="EDGE" output ="QUAD" dim ="2"> <python-wrap> <algo>RadialQuadrangle_1D2D=Quadrangle(algo=smeshBuilder.RADIAL_QUAD)</algo> <hypo>NumberOfLayers2D=NumberOfLayers(SetNumberOfLayers())</hypo> </python-wrap> </algorithm> <algorithm type ="Cartesian_3D" label-id ="Body Fitting" icon-id ="mesh_algo_hexa.png" group-id ="0" priority ="20" hypos ="CartesianParameters3D" opt-hypos ="ViscousLayers" support-submeshes="false" output ="HEXA" need-hyp ="true" dim ="3"> <python-wrap> <algo>Cartesian_3D=BodyFitted()</algo> <hypo>ViscousLayers=ViscousLayers(SetTotalThickness(),SetNumberLayers(),SetStretchFactor(),SetFaces(1),SetFaces(2),SetMethod(),SetGroupName())</hypo> </python-wrap> </algorithm> </algorithms> </meshers-group> <meshers-group name="Your Meshers Group" resources="" server-lib="" gui-lib=""> <hypotheses> <hypothesis type="" label-id="" icon-id=""/> </hypotheses> <algorithms> <algorithm type="" label-id="" icon-id=""/> </algorithms> </meshers-group> <hypotheses-set-group> <hypotheses-set name="Tetrahedralization" use-common-size="true" hypos="MG-CADSurf Parameters" algos="MG-CADSurf, MG-Tetra" alt-hypos="NETGEN_Parameters" alt-algos="NETGEN_2D3D" intern-edge-hypos="LocalLength" intern-edge-algos="Regular_1D"/> <hypotheses-set name="Mapped Hexahedralization" hypos="NumberOfSegments" algos="Regular_1D, Quadrangle_2D, Hexa_3D"/> <hypotheses-set name="Free Hexahedralization" use-common-size="true" quad-dominated="true" hypos="MG-CADSurf Parameters" algos="MG-CADSurf, MG-Hexa" alt-hypos="None" alt-algos="None" intern-edge-hypos="LocalLength" intern-edge-algos="Regular_1D"/> <hypotheses-set name="Triangulation" use-common-size="true" hypos="MG-CADSurf Parameters" algos="MG-CADSurf" alt-hypos="NETGEN_Parameters_2D" alt-algos="NETGEN_2D"/> <hypotheses-set name="Mapped Quadrangulation" hypos="NumberOfSegments" algos="Regular_1D, Quadrangle_2D"/> <hypotheses-set name="Free Quadrangulation" use-common-size="true" quad-dominated="true" hypos="MG-CADSurf Parameters" algos="MG-CADSurf" alt-hypos="NETGEN_Parameters_2D" alt-algos="NETGEN_2D"/> </hypotheses-set-group> </meshers>