smesh_algorithm module¶
-
class
smesh_algorithm.Mesh_Algorithm¶ The base class to define meshing algorithms
Note
This class should not be used directly, it is supposed to be sub-classed for implementing Python API for specific meshing algorithms
For each meshing algorithm, a python class inheriting from class Mesh_Algorithm should be defined. This descendant class should have two attributes defining the way it is created by class
Mesh(see e.g. classStdMeshersBuilder_Segment):meshMethodattribute defines name of method of classMeshby calling which the python class of algorithm is created; this method is dynamically added to theMeshclass in runtime. For example, if inclass MyPlugin_Algorithmthis attribute is defined as:meshMethod = "MyAlgorithm"
then an instance of
MyPlugin_Algorithmcan be created by the direct invocation of the function ofMeshclass:my_algo = mesh.MyAlgorithm()
algoTypedefines type of algorithm and is used mostly to discriminate algorithms that are created by the same method of classMesh. For example, if this attribute is specified inMyPlugin_Algorithmclass as:algoType = "MyPLUGIN"
then it’s creation code can be:
my_algo = mesh.MyAlgorithm(algo="MyPLUGIN")
-
Assign(algo, mesh, geom)¶ Private method
-
Create(mesh, geom, hypo, so='libStdMeshersEngine.so')¶ Private method.
-
FindAlgorithm(algoname, smeshpyD)¶ Finds the algorithm in the study by its type name. Finds only the algorithms, which have been created in smeshBuilder engine.
- Returns
SMESH.SMESH_Algo
-
FindHypothesis(hypname, args, CompareMethod, smeshpyD)¶ Finds a hypothesis in the study by its type name and parameters. Finds only the hypotheses created in smeshBuilder engine.
- Returns
-
GetAlgorithm()¶ Returns the wrapped mesher.
-
GetCompatibleHypothesis()¶ Gets the list of hypothesis that can be used with this algorithm
-
GetId()¶ Gets the id of the algorithm
-
GetName()¶ Gets the name of the algorithm
-
GetSubMesh()¶ If the algorithm is global, returns 0; else returns the
SMESH_subMeshassociated to this algorithm.
-
Hypothesis(hyp, args=[], so='libStdMeshersEngine.so', UseExisting=0, CompareMethod='', toAdd=True)¶ Private method
-
MainShapeEntry()¶ Returns entry of the shape to mesh in the study
-
ReversedEdgeIndices(reverseList)¶ Transform a list of either edges or tuples (edge, 1st_vertex_of_edge) into a list acceptable to SetReversedEdges() of some 1D hypotheses
-
SetName(name)¶ Sets the name to the algorithm
-
ViscousLayers(thickness, numberOfLayers, stretchFactor, faces=[], isFacesToIgnore=True, extrMethod=SURF_OFFSET_SMOOTH, groupName='')¶ Defines “ViscousLayers” hypothesis to give parameters of layers of prisms to build near mesh boundary. This hypothesis can be used by several 3D algorithms: NETGEN 3D, MG-Tetra, Hexahedron(i,j,k)
- Parameters
thickness – total thickness of layers of prisms
numberOfLayers – number of layers of prisms
stretchFactor – factor (>1.0) of growth of layer thickness towards inside of mesh
faces – list of geometrical faces (or their ids). Viscous layers are either generated on these faces or not, depending on the value of isFacesToIgnore parameter.
isFacesToIgnore – if True, the Viscous layers are not generated on the faces specified by the previous parameter (faces).
extrMethod –
extrusion method defines how position of new nodes are found during prism construction and how creation of distorted and intersecting prisms is prevented. Possible values are:
- StdMeshers.SURF_OFFSET_SMOOTH (default) method extrudes nodes along normal
to underlying geometrical surface. Smoothing of internal surface of element layers can be used to avoid creation of invalid prisms.
- StdMeshers.FACE_OFFSET method extrudes nodes along average normal of
surrounding mesh faces till intersection with a neighbor mesh face translated along its own normal by the layers thickness. Thickness of layers can be limited to avoid creation of invalid prisms.
- StdMeshers.NODE_OFFSET method extrudes nodes along average normal of
surrounding mesh faces by the layers thickness. Thickness of layers can be limited to avoid creation of invalid prisms.
groupName –
name of a group to contain elements of layers. If not provided, no group is created. The group is created upon mesh generation. It can be retrieved by calling
group = mesh.GetGroupByName( groupName, SMESH.VOLUME )[0]
- Returns
StdMeshers.StdMeshers_ViscousLayers hypothesis
-
ViscousLayers2D(thickness, numberOfLayers, stretchFactor, edges=[], isEdgesToIgnore=True, groupName='')¶ Defines “ViscousLayers2D” hypothesis to give parameters of layers of quadrilateral elements to build near mesh boundary. This hypothesis can be used by several 2D algorithms: NETGEN 2D, NETGEN 1D-2D, Quadrangle (mapping), MG-CADSurf
- Parameters
thickness – total thickness of layers of quadrilaterals
numberOfLayers – number of layers
stretchFactor – factor (>1.0) of growth of layer thickness towards inside of mesh
edges – list of geometrical edges (or their ids). Viscous layers are either generated on these edges or not, depending on the value of isEdgesToIgnore parameter.
isEdgesToIgnore – if True, the Viscous layers are not generated on the edges specified by the previous parameter (edges).
groupName –
name of a group to contain elements of layers. If not provided, no group is created. The group is created upon mesh generation. It can be retrieved by calling
group = mesh.GetGroupByName( groupName, SMESH.FACE )[0]
- Returns
StdMeshers.StdMeshers_ViscousLayers2D hypothesis
StdMeshersBuilder module¶
Python API for the standard meshing plug-in module.
-
StdMeshersBuilder.COMPOSITE= 'CompositeSegment_1D'¶ Composite segment 1D algorithm, see
StdMeshersBuilder_CompositeSegment- Type
Algorithm type
-
StdMeshersBuilder.Hexa= 'Hexa_3D'¶ Hexahedron 3D (i-j-k) algorithm, see
StdMeshersBuilder_Hexahedron- Type
Algorithm type
-
StdMeshersBuilder.POLYGON= 'PolygonPerFace_2D'¶ Polygon Per Face 2D algorithm, see
StdMeshersBuilder_PolygonPerFace- Type
Algorithm type
-
StdMeshersBuilder.POLYHEDRON= 'PolyhedronPerSolid_3D'¶ Polyhedron Per Solid 3D algorithm, see
StdMeshersBuilder_PolyhedronPerSolid- Type
Algorithm type
-
StdMeshersBuilder.PYTHON= 'Python_1D'¶ Python 1D algorithm, see
StdMeshersBuilder_Segment_Python- Type
Algorithm type
-
StdMeshersBuilder.QUADRANGLE= 'Quadrangle_2D'¶ Quadrangle 2D algorithm, see
StdMeshersBuilder_Quadrangle- Type
Algorithm type
-
StdMeshersBuilder.QUAD_MA_PROJ= 'QuadFromMedialAxis_1D2D'¶ Quadrangle (Medial Axis Projection) 1D-2D algorithm, see
StdMeshersBuilder_QuadMA_1D2D- Type
Algorithm type
-
StdMeshersBuilder.RADIAL_QUAD= 'RadialQuadrangle_1D2D'¶ Radial Quadrangle 1D-2D algorithm, see
StdMeshersBuilder_RadialQuadrangle1D2D- Type
Algorithm type
-
StdMeshersBuilder.REGULAR= 'Regular_1D'¶ Regular 1D algorithm, see
StdMeshersBuilder_Segment- Type
Algorithm type
-
class
StdMeshersBuilder.StdMeshersBuilder_Cartesian_3D(mesh, geom=0)¶ Defines a Body Fitting 3D algorithm.
It is created by calling smeshBuilder.Mesh.BodyFitted(geom=0)
-
SetAxesDirs(xAxis, yAxis, zAxis)¶ Defines custom directions of axes of the grid
- Parameters
xAxis – either SMESH.DirStruct or a vector, or 3 vector components
yAxis – either SMESH.DirStruct or a vector, or 3 vector components
zAxis – either SMESH.DirStruct or a vector, or 3 vector components
-
SetFixedPoint(p, toUnset=False)¶ - Sets/unsets a fixed point. The algorithm makes a plane of the grid pass
through the fixed point in each direction at which the grid is defined by spacing
- Parameters
p – coordinates of the fixed point. Either SMESH.PointStruct or a vertex or 3 components of coordinates.
toUnset – defines whether the fixed point is defined or removed.
-
SetGrid(xGridDef, yGridDef, zGridDef, sizeThreshold=4.0, implEdges=False)¶ Defines “Body Fitting parameters” hypothesis
- Parameters
xGridDef –
is definition of the grid along the X asix. It can be in either of two following forms:
Explicit coordinates of nodes, e.g. [-1.5, 0.0, 3.1] or range( -100,200,10)
- Functions f(t) defining grid spacing at each point on grid axis. If there are
several functions, they must be accompanied by relative coordinates of points dividing the whole shape into ranges where the functions apply; points coordinates should vary within (0.0, 1.0) range. Parameter t of the spacing function f(t) varies from 0.0 to 1.0 within a shape range.
Note
The actual grid spacing can slightly differ from the defined one. This is done for the best fitting of polyhedrons and for a better mesh quality on the interval boundaries. For example, if a constant Spacing is defined along an axis, the actual grid will fill the shape’s dimension L along this axis with round number of equal cells: Spacing_actual = L / round( L / Spacing_defined ).
Examples
“10.5” - defines a grid with a constant spacing [[“1”, “1+10*t”, “11”] [0.1, 0.6]] - defines different spacing in 3 ranges.
- Parameters
yGridDef – defines the grid along the Y asix the same way as xGridDef does.
zGridDef – defines the grid along the Z asix the same way as xGridDef does.
sizeThreshold – (> 1.0) defines a minimal size of a polyhedron so that a polyhedron of size less than hexSize/sizeThreshold is not created.
implEdges – enables implementation of geometrical edges into the mesh.
-
SetOptimalAxesDirs(isOrthogonal=True)¶ - Automatically defines directions of axes of the grid at which
a number of generated hexahedra is maximal
- Parameters
isOrthogonal – defines whether the axes mush be orthogonal
-
algoType= 'Cartesian_3D'¶ type of algorithm used with helper function in smeshBuilder.Mesh class
-
docHelper= 'Create Body Fitting 3D algorithm for volumes'¶ doc string of the method
-
isDefault= True¶ flag pointing whether this algorithm should be used by default in dynamic method of smeshBuilder.Mesh class
-
meshMethod= 'BodyFitted'¶ name of the dynamic method in smeshBuilder.Mesh class
-
-
class
StdMeshersBuilder.StdMeshersBuilder_CompositeSegment(mesh, geom=0)¶ Segment 1D algorithm for discretization of a set of adjacent edges as one edge.
It is created by calling smeshBuilder.Mesh.Segment(smeshBuilder.COMPOSITE,geom=0)
-
algoType= 'CompositeSegment_1D'¶ type of algorithm used with helper function in smeshBuilder.Mesh class
-
docHelper= 'Create segment 1D algorithm for edges'¶ doc string of the method
-
isDefault= False¶ flag pointing whether this algorithm should be used by default in dynamic method of smeshBuilder.Mesh class
-
meshMethod= 'Segment'¶ name of the dynamic method in smeshBuilder.Mesh class
-
-
class
StdMeshersBuilder.StdMeshersBuilder_Hexahedron(mesh, geom=0)¶ Defines a hexahedron 3D algorithm. It is created by calling smeshBuilder.Mesh.Hexahedron(geom=0)
-
algoType= 'Hexa_3D'¶ type of algorithm used with helper function in smeshBuilder.Mesh class
-
docHelper= 'Create hexahedron 3D algorithm for volumes'¶ doc string of the method
-
isDefault= True¶ flag pointing whether this algorithm should be used by default in dynamic method of smeshBuilder.Mesh class
-
meshMethod= 'Hexahedron'¶ name of the dynamic method in smeshBuilder.Mesh class
-
-
class
StdMeshersBuilder.StdMeshersBuilder_PolygonPerFace(mesh, geom=0)¶ Defines a Polygon Per Face 2D algorithm. It is created by calling smeshBuilder.Mesh.Polygon(geom=0)
-
algoType= 'PolygonPerFace_2D'¶ type of algorithm used with helper function in smeshBuilder.Mesh class
-
docHelper= 'Create polygon 2D algorithm for faces'¶ doc string of the method
-
isDefault= True¶ flag pointing whether this algorithm should be used by default in dynamic method of smeshBuilder.Mesh class
-
meshMethod= 'Polygon'¶ name of the dynamic method in smeshBuilder.Mesh class
-
-
class
StdMeshersBuilder.StdMeshersBuilder_PolyhedronPerSolid(mesh, geom=0)¶ Defines a Polyhedron Per Solid 3D algorithm. It is created by calling smeshBuilder.Mesh.Polyhedron(geom=0)
-
algoType= 'PolyhedronPerSolid_3D'¶ type of algorithm used with helper function in smeshBuilder.Mesh class
-
docHelper= 'Create polyhedron 3D algorithm for solids'¶ doc string of the method
-
isDefault= True¶ flag pointing whether this algorithm should be used by default in dynamic method of smeshBuilder.Mesh class
-
meshMethod= 'Polyhedron'¶ name of the dynamic method in smeshBuilder.Mesh class
-
-
class
StdMeshersBuilder.StdMeshersBuilder_Prism3D(mesh, geom=0)¶ Defines a Prism 3D algorithm, which is either “Extrusion 3D” or “Radial Prism” depending on geometry. It is created by calling smeshBuilder.Mesh.Prism(geom=0)
-
Arithmetic1D(start, end)¶ - Defines “Arithmetic1D” hypothesis, specifying the distribution of segments
to build between the inner and the outer shells with a length that changes in arithmetic progression
- Parameters
start – the length of the first segment
end – the length of the last segment
-
AutomaticLength(fineness=0)¶ - Defines “AutomaticLength” hypothesis, specifying the number of segments
to build between the inner and outer shells
- Parameters
fineness – defines the quality of the mesh within the range [0-1]
-
GeometricProgression(start, ratio)¶ - Defines “GeometricProgression” hypothesis, specifying the distribution of segments
to build between the inner and the outer shells with a length that changes in Geometric progression
- Parameters
start – the length of the first segment
ratio – the common ratio of the geometric progression
-
Get3DHypothesis()¶ - Returns
3D hypothesis holding the 1D one
-
LocalLength(l, p=1e-07)¶ - Defines “LocalLength” hypothesis, specifying the segment length
to build between the inner and the outer shells
- Parameters
l – the length of segments
p – the precision of rounding
-
NumberOfLayers(n, UseExisting=0)¶ - Defines “NumberOfLayers” hypothesis, specifying the number of layers of
prisms to build between the inner and outer shells
- Parameters
n – number of layers
UseExisting – if ==true - searches for the existing hypothesis created with the same parameters, else (default) - Create a new one
-
NumberOfSegments(n, s=[])¶ - Defines “NumberOfSegments” hypothesis, specifying the number of layers of
prisms to build between the inner and the outer shells.
- Parameters
n – the number of layers
s – the scale factor (optional)
-
OwnHypothesis(hypType, args=[], so='libStdMeshersEngine.so')¶ - Private method creating a 1D hypothesis and storing it in the LayerDistribution
hypothesis.
- Returns
the created hypothesis
-
StartEndLength(start, end)¶ - Defines “StartEndLength” hypothesis, specifying distribution of segments
to build between the inner and the outer shells as geometric length increasing
- Parameters
start – for the length of the first segment
end: for the length of the last segment
-
algoType= 'Prism_3D'¶ type of algorithm used with helper function in smeshBuilder.Mesh class
-
docHelper= 'Create prism 3D algorithm for volumes'¶ doc string of the method
-
isDefault= True¶ flag pointing whether this algorithm should be used by default in dynamic method of smeshBuilder.Mesh class
-
meshMethod= 'Prism'¶ name of the dynamic method in smeshBuilder.Mesh class
-
-
class
StdMeshersBuilder.StdMeshersBuilder_Projection1D(mesh, geom=0)¶ Defines a projection 1D algorithm. It is created by calling smeshBuilder.Mesh.Projection1D(geom=0)
-
SourceEdge(edge, mesh=None, srcV=None, tgtV=None, UseExisting=0)¶ - Defines “Source Edge” hypothesis, specifying a meshed edge, from where
a mesh pattern is taken, and, optionally, the association of vertices between the source edge and a target edge (to which a hypothesis is assigned)
- Parameters
edge – from which nodes distribution is taken
mesh – from which nodes distribution is taken (optional)
srcV – a vertex of edge to associate with tgtV (optional)
tgtV – a vertex of the edge to which the algorithm is assigned, to associate with srcV (optional)
UseExisting – if ==true - searches for the existing hypothesis created with the same parameters, else (default) - Create a new one
-
algoType= 'Projection_1D'¶ type of algorithm used with helper function in smeshBuilder.Mesh class
-
docHelper= 'Create projection 1D algorithm for edges'¶ doc string of the method
-
isDefault= True¶ flag pointing whether this algorithm should be used by default in dynamic method of smeshBuilder.Mesh class
-
meshMethod= 'Projection1D'¶ name of the dynamic method in smeshBuilder.Mesh class
-
-
class
StdMeshersBuilder.StdMeshersBuilder_Projection1D2D(mesh, geom=0)¶ Defines a projection 1D-2D algorithm. It is created by calling smeshBuilder.Mesh.Projection1D2D(geom=0)
-
algoType= 'Projection_1D2D'¶ type of algorithm used with helper function in smeshBuilder.Mesh class
-
docHelper= 'Create projection 1D-2D algorithm for faces'¶ doc string of the method
-
meshMethod= 'Projection1D2D'¶ name of the dynamic method in smeshBuilder.Mesh class
-
-
class
StdMeshersBuilder.StdMeshersBuilder_Projection2D(mesh, geom=0)¶ Defines a projection 2D algorithm. It is created by calling smeshBuilder.Mesh.Projection2D(geom=0)
-
SourceFace(face, mesh=None, srcV1=None, tgtV1=None, srcV2=None, tgtV2=None, UseExisting=0)¶ - Defines “Source Face” hypothesis, specifying a meshed face, from where
a mesh pattern is taken, and, optionally, the association of vertices between the source face and the target face (to which a hypothesis is assigned)
- Parameters
face – from which the mesh pattern is taken
mesh – from which the mesh pattern is taken (optional)
srcV1 – a vertex of face to associate with tgtV1 (optional)
tgtV1 – a vertex of the face to which the algorithm is assigned, to associate with srcV1 (optional)
srcV2 – a vertex of face to associate with tgtV1 (optional)
tgtV2 – a vertex of the face to which the algorithm is assigned, to associate with srcV2 (optional)
UseExisting – if ==true - forces the search for the existing hypothesis created with he same parameters, else (default) - forces the creation a new one
Note
all association vertices must belong to one edge of a face
-
algoType= 'Projection_2D'¶ type of algorithm used with helper function in smeshBuilder.Mesh class
-
docHelper= 'Create projection 2D algorithm for faces'¶ doc string of the method
-
isDefault= True¶ flag pointing whether this algorithm should be used by default in dynamic method of smeshBuilder.Mesh class
-
meshMethod= 'Projection2D'¶ name of the dynamic method in smeshBuilder.Mesh class
-
-
class
StdMeshersBuilder.StdMeshersBuilder_Projection3D(mesh, geom=0)¶ Defines a projection 3D algorithm. It is created by calling smeshBuilder.Mesh.Projection3D(geom=0)
-
SourceShape3D(solid, mesh=0, srcV1=0, tgtV1=0, srcV2=0, tgtV2=0, UseExisting=0)¶ - Defines the “Source Shape 3D” hypothesis, specifying a meshed solid, from where
the mesh pattern is taken, and, optionally, the association of vertices between the source and the target solid (to which a hypothesis is assigned)
- Parameters
solid – from where the mesh pattern is taken
mesh – from where the mesh pattern is taken (optional)
srcV1 – a vertex of solid to associate with tgtV1 (optional)
tgtV1 – a vertex of the solid where the algorithm is assigned, to associate with srcV1 (optional)
srcV2 – a vertex of solid to associate with tgtV1 (optional)
tgtV2 – a vertex of the solid to which the algorithm is assigned,to associate with srcV2 (optional)
UseExisting – if ==true - searches for the existing hypothesis created with the same parameters, else (default) - Create a new one
Note
association vertices must belong to one edge of a solid
-
algoType= 'Projection_3D'¶ type of algorithm used with helper function in smeshBuilder.Mesh class
-
docHelper= 'Create projection 3D algorithm for volumes'¶ doc string of the method
-
meshMethod= 'Projection3D'¶ name of the dynamic method in smeshBuilder.Mesh class
-
-
class
StdMeshersBuilder.StdMeshersBuilder_QuadMA_1D2D(mesh, geom=0)¶ Defines a Quadrangle (Medial Axis Projection) 1D-2D algorithm . It is created by calling smeshBuilder.Mesh.Quadrangle(smeshBuilder.QUAD_MA_PROJ,geom=0)
-
algoType= 'QuadFromMedialAxis_1D2D'¶ type of algorithm used with helper function in smeshBuilder.Mesh class
-
docHelper= 'Create quadrangle 1D-2D algorithm for faces'¶ doc string of the method
-
meshMethod= 'Quadrangle'¶ name of the dynamic method in smeshBuilder.Mesh class
-
-
class
StdMeshersBuilder.StdMeshersBuilder_Quadrangle(mesh, geom=0)¶ Defines a quadrangle 2D algorithm. It is created by calling smeshBuilder.Mesh.Quadrangle(geom=0)
-
QuadrangleParameters(quadType=QUAD_STANDARD, triangleVertex=0, enfVertices=[], enfPoints=[], corners=[], UseExisting=0)¶ - Defines “QuadrangleParameters” hypothesis
quadType defines the algorithm of transition between differently descretized sides of a geometrical face:
- QUAD_STANDARD - both triangles and quadrangles are possible in the transition
area along the finer meshed sides.
- QUAD_TRIANGLE_PREF - only triangles are built in the transition area along the
finer meshed sides.
- QUAD_QUADRANGLE_PREF - only quadrangles are built in the transition area along
the finer meshed sides, iff the total quantity of segments on all four sides of the face is even (divisible by 2).
- QUAD_QUADRANGLE_PREF_REVERSED - same as QUAD_QUADRANGLE_PREF but the transition
area is located along the coarser meshed sides.
- QUAD_REDUCED - only quadrangles are built and the transition between the sides
is made gradually, layer by layer. This type has a limitation on the number of segments: one pair of opposite sides must have the same number of segments, the other pair must have an even difference between the numbers of segments on the sides.
- Parameters
triangleVertex – vertex of a trilateral geometrical face, around which triangles will be created while other elements will be quadrangles. Vertex can be either a GEOM_Object or a vertex ID within the shape to mesh
enfVertices – list of shapes defining positions where nodes (enforced nodes) must be created by the mesher. Shapes can be of any type, vertices of given shapes define positions of enforced nodes. Only vertices successfully projected to the face are used.
enfPoints – list of points giving positions of enforced nodes. Point can be defined either as SMESH.PointStruct’s ([SMESH.PointStruct(x1,y1,z1), SMESH.PointStruct(x2,y2,z2),…]) or triples of values ([[x1,y1,z1], [x2,y2,z2], …]). In the case if the defined QuadrangleParameters() refer to a sole face, all given points must lie on this face, else the mesher fails.
corners – list of vertices that should be used as quadrangle corners. The parameter can be useful for faces with more than four vertices, since in some cases Quadrangle Mapping algorithm chooses corner vertices differently than it is desired. A hypothesis can be global and define corners for all CAD faces that require it, but be sure that each specified vertex is a corner in all faces the hypothesis will be applied to.
UseExisting – if True - searches for the existing hypothesis created with the same parameters, else (default) - Create a new one
-
QuadranglePreference(reversed=False, UseExisting=0)¶ - Defines “QuadrangleParams” hypothesis with a type of quadrangulation that only
quadrangles are built in the transition area along the finer meshed sides, if the total quantity of segments on all four sides of the face is even.
- Parameters
reversed – if True, transition area is located along the coarser meshed sides.
- UseExisting: if ==true - searches for the existing hypothesis created with
the same parameters, else (default) - Create a new one
-
Reduced(UseExisting=0)¶ - Defines “QuadrangleParams” hypothesis with a type of quadrangulation that only
quadrangles are built and the transition between the sides is made gradually, layer by layer. This type has a limitation on the number of segments: one pair of opposite sides must have the same number of segments, the other pair must have an even difference between the numbers of segments on the sides.
- Parameters
UseExisting – if ==true - searches for the existing hypothesis created with the same parameters, else (default) - Create a new one
-
TrianglePreference(UseExisting=0)¶ - Defines “QuadrangleParams” hypothesis with a type of quadrangulation that only
triangles are built in the transition area along the finer meshed sides.
- Parameters
UseExisting – if ==true - searches for the existing hypothesis created with the same parameters, else (default) - Create a new one
-
TriangleVertex(vertex, UseExisting=0)¶ Defines “QuadrangleParams” hypothesis with QUAD_STANDARD type of quadrangulation
- Parameters
vertex –
- vertex of a trilateral geometrical face, around which triangles
will be created while other elements will be quadrangles. Vertex can be either a GEOM_Object or a vertex ID within the shape to mesh
- UseExisting: if ==true - searches for the existing hypothesis created with
the same parameters, else (default) - Create a new one
-
algoType= 'Quadrangle_2D'¶ type of algorithm used with helper function in smeshBuilder.Mesh class
-
docHelper= 'Create quadrangle 2D algorithm for faces'¶ doc string of the method
-
isDefault= True¶ flag pointing whether this algorithm should be used by default in dynamic method of smeshBuilder.Mesh class
-
meshMethod= 'Quadrangle'¶ name of the dynamic method in smeshBuilder.Mesh class
-
params= 0¶ hypothesis associated with algorithm
-
-
class
StdMeshersBuilder.StdMeshersBuilder_RadialAlgorithm¶ Base class for algorithms supporting radial distribution hypotheses
-
Arithmetic1D(start, end)¶ - Defines “Arithmetic1D” hypothesis, specifying the distribution of segments
with a length that changes in arithmetic progression
- Parameters
start – the length of the first segment
end – the length of the last segment
-
AutomaticLength(fineness=0)¶ Defines “AutomaticLength” hypothesis, specifying the number of segments
- Parameters
fineness – defines the quality of the mesh within the range [0-1]
-
GeometricProgression(start, ratio)¶ - Defines “GeometricProgression” hypothesis, specifying the distribution of segments
with a length that changes in Geometric progression
- Parameters
start – the length of the first segment
ratio – the common ratio of the geometric progression
-
Get2DHypothesis()¶ - Returns
2D hypothesis holding the 1D one
-
LocalLength(l, p=1e-07)¶ Defines “LocalLength” hypothesis, specifying the segment length
- Parameters
l – the length of segments
p – the precision of rounding
-
NumberOfLayers(n, UseExisting=0)¶ Defines “NumberOfLayers” hypothesis, specifying the number of layers
- Parameters
n – number of layers
UseExisting – if ==true - searches for the existing hypothesis created with the same parameters, else (default) - Create a new one
-
NumberOfSegments(n, s=[])¶ Defines “NumberOfSegments” hypothesis, specifying the number of layers
- Parameters
n – the number of layers
s – the scale factor (optional)
-
OwnHypothesis(hypType, args=[], so='libStdMeshersEngine.so')¶ - Private method creating a 1D hypothesis and storing it in the LayerDistribution
hypothesis.
- Returns
the created hypothesis
-
StartEndLength(start, end)¶ - Defines “StartEndLength” hypothesis, specifying distribution of segments
as geometric length increasing
- Parameters
start – for the length of the first segment
end – for the length of the last segment
-
-
class
StdMeshersBuilder.StdMeshersBuilder_RadialPrism3D(mesh, geom=0)¶ Defines Radial Prism 3D algorithm. It is created by calling smeshBuilder.Mesh.Prism(geom=0). See
StdMeshersBuilder_Prism3Dfor methods defining distribution of mesh layers build between the inner and outer shells.-
algoType= 'RadialPrism_3D'¶ type of algorithm used with helper function in smeshBuilder.Mesh class
-
docHelper= 'Create Raial Prism 3D algorithm for volumes'¶ doc string of the method
-
meshMethod= 'Prism'¶ name of the dynamic method in smeshBuilder.Mesh class
-
-
class
StdMeshersBuilder.StdMeshersBuilder_RadialQuadrangle1D2D(mesh, geom=0)¶ Defines a Radial Quadrangle 1D-2D algorithm. It is created by calling smeshBuilder.Mesh.Quadrangle(smeshBuilder.RADIAL_QUAD,geom=0)
-
algoType= 'RadialQuadrangle_1D2D'¶ type of algorithm used with helper function in smeshBuilder.Mesh class
-
docHelper= 'Create quadrangle 1D-2D algorithm for faces having a shape of disk or a disk segment'¶ doc string of the method
-
meshMethod= 'Quadrangle'¶ name of the dynamic method in smeshBuilder.Mesh class
-
-
class
StdMeshersBuilder.StdMeshersBuilder_Segment(mesh, geom=0)¶ Defines segment 1D algorithm for edges discretization.
It can be created by calling smeshBuilder.Mesh.Segment(geom=0)
-
Adaptive(minSize, maxSize, deflection, UseExisting=False)¶ Defines “Adaptive” hypothesis to cut an edge into segments keeping segment size within the given range and considering (1) deflection of segments from the edge and (2) distance from segments to closest edges and faces to have segment length not longer than two times shortest distances to edges and faces.
- Parameters
minSize – defines the minimal allowed segment length
maxSize – defines the maximal allowed segment length
deflection – defines the maximal allowed distance from a segment to an edge
UseExisting – if ==true - searches for an existing hypothesis created with the same parameters, else (default) - Create a new one
- Returns
an instance of StdMeshers_Adaptive1D hypothesis
-
Arithmetic1D(start, end, reversedEdges=[], UseExisting=0)¶ - Defines “Arithmetic1D” hypothesis to cut an edge in several segments with a length
that changes in arithmetic progression
- Parameters
start – defines the length of the first segment
end – defines the length of the last segment
reversedEdges – is a list of edges to mesh using reversed orientation. A list item can also be a tuple (edge, 1st_vertex_of_edge)
UseExisting – if ==true - searches for an existing hypothesis created with the same parameters, else (default) - Create a new one
- Returns
an instance of StdMeshers_Arithmetic1D hypothesis
-
AutomaticLength(fineness=0, UseExisting=0)¶ Defines “AutomaticLength” hypothesis
- Parameters
fineness – for the fineness [0-1]
UseExisting – if ==true - searches for an existing hypothesis created with the same parameters, else (default) - create a new one
-
Deflection1D(d, UseExisting=0)¶ Defines “Deflection1D” hypothesis
- Parameters
d – for the deflection
UseExisting – if ==true - searches for an existing hypothesis created with the same parameters, else (default) - create a new one
-
FixedPoints1D(points, nbSegs=[1], reversedEdges=[], UseExisting=0)¶ - Defines “FixedPoints1D” hypothesis to cut an edge using parameter
on curve from 0 to 1 (additionally it is neecessary to check orientation of edges and create list of reversed edges if it is needed) and sets numbers of segments between given points (default values are 1)
- Parameters
points – defines the list of parameters on curve
nbSegs – defines the list of numbers of segments
reversedEdges – is a list of edges to mesh using reversed orientation. A list item can also be a tuple (edge, 1st_vertex_of_edge)
UseExisting – if ==true - searches for an existing hypothesis created with the same parameters, else (default) - Create a new one
- Returns
an instance of StdMeshers_FixedPoints1D hypothesis
-
GeometricProgression(start, ratio, reversedEdges=[], UseExisting=0)¶ - Defines “GeometricProgression” hypothesis to cut an edge in several
segments with a length that changes in Geometric progression
- Parameters
start – defines the length of the first segment
ratio – defines the common ratio of the geometric progression
reversedEdges – is a list of edges to mesh using reversed orientation. A list item can also be a tuple (edge, 1st_vertex_of_edge)
UseExisting – if ==true - searches for an existing hypothesis created with the same parameters, else (default) - Create a new one
- Returns
an instance of StdMeshers_Geometric1D hypothesis
-
LengthNearVertex(length, vertex=- 1, UseExisting=0)¶ Defines “SegmentLengthAroundVertex” hypothesis
- Parameters
length – for the segment length
vertex – for the length localization: the vertex index [0,1] | vertex object. Any other integer value means that the hypothesis will be set on the whole 1D shape, where Mesh_Segment algorithm is assigned.
UseExisting – if ==true - searches for an existing hypothesis created with the same parameters, else (default) - Create a new one
-
LocalLength(l, UseExisting=0, p=1e-07)¶ Defines “LocalLength” hypothesis to cut an edge in several segments with the same length
- Parameters
l – for the length of segments that cut an edge
UseExisting – if == true - searches for an existing hypothesis created with the same parameters, else (default) - Create a new one
p – precision, used for calculation of the number of segments. The precision should be a positive, meaningful value within the range [0,1]. In general, the number of segments is calculated with the formula: nb = ceil((edge_length / l) - p) Function ceil rounds its argument to the higher integer. So, p=0 means rounding of (edge_length / l) to the higher integer, p=0.5 means rounding of (edge_length / l) to the nearest integer, p=1 means rounding of (edge_length / l) to the lower integer. Default value is 1e-07.
- Returns
an instance of StdMeshers_LocalLength hypothesis
-
MaxSize(length=0.0, UseExisting=0)¶ Defines “MaxSize” hypothesis to cut an edge into segments not longer than given value
- Parameters
length – is optional maximal allowed length of segment, if it is omitted the preestimated length is used that depends on geometry size
UseExisting – if ==true - searches for an existing hypothesis created with the same parameters, else (default) - Create a new one
- Returns
an instance of StdMeshers_MaxLength hypothesis
-
NumberOfSegments(n, s=[], reversedEdges=[], UseExisting=0, beta=None)¶ Defines “NumberOfSegments” hypothesis to cut an edge in a fixed number of segments
- Parameters
n – for the number of segments that cut an edge
s – for the scale factor (optional)
reversedEdges – is a list of edges to mesh using reversed orientation. A list item can also be a tuple (edge, 1st_vertex_of_edge)
UseExisting – if ==true - searches for an existing hypothesis created with the same parameters, else (default) - create a new one
beta – beta coefficient for Beta Law distribution
- Returns
an instance of StdMeshers_NumberOfSegments hypothesis
-
Propagation()¶ - Defines “Propagation” hypothesis that propagates 1D hypotheses
from an edge where this hypothesis is assigned to on all other edges that are at the opposite side in case of quadrangular faces This hypothesis should be assigned to an edge to propagate a hypothesis from.
-
PropagationOfDistribution()¶ - Defines “Propagation of Node Distribution” hypothesis that propagates
distribution of nodes from an edge where this hypothesis is assigned to, to opposite edges of quadrangular faces, so that number of segments on all these edges will be the same, as well as relations between segment lengths.
-
QuadraticMesh()¶ Defines “QuadraticMesh” hypothesis, forcing construction of quadratic edges. If the 2D mesher sees that all boundary edges are quadratic, it generates quadratic faces, else it generates linear faces using medium nodes as if they are vertices. The 3D mesher generates quadratic volumes only if all boundary faces are quadratic, else it fails.
-
StartEndLength(start, end, reversedEdges=[], UseExisting=0)¶ Defines “StartEndLength” hypothesis to cut an edge in several segments with increasing geometric length
- Parameters
start – defines the length of the first segment
end – defines the length of the last segment
reversedEdges – is a list of edges to mesh using reversed orientation. A list item can also be a tuple (edge, 1st_vertex_of_edge)
UseExisting – if ==true - searches for an existing hypothesis created with the same parameters, else (default) - Create a new one
- Returns
an instance of StdMeshers_StartEndLength hypothesis
-
algoType= 'Regular_1D'¶ type of algorithm used with helper function in smeshBuilder.Mesh class
-
docHelper= 'Create segment 1D algorithm for edges'¶ doc string of the method
-
isDefault= True¶ flag pointing whether this algorithm should be used by default in dynamic method of smeshBuilder.Mesh class
-
meshMethod= 'Segment'¶ name of the dynamic method in smeshBuilder.Mesh class
-
-
class
StdMeshersBuilder.StdMeshersBuilder_Segment_Python(mesh, geom=0)¶ Defines a segment 1D algorithm for discretization of edges with Python function. It is created by calling smeshBuilder.Mesh.Segment(smeshBuilder.PYTHON,geom=0)
-
PythonSplit1D(n, func, UseExisting=0)¶ Defines “PythonSplit1D” hypothesis
- Parameters
n – for the number of segments that cut an edge
func – for the python function that calculates the length of all segments
UseExisting – if ==true - searches for the existing hypothesis created with the same parameters, else (default) - Create a new one
-
algoType= 'Python_1D'¶ type of algorithm used with helper function in smeshBuilder.Mesh class
-
docHelper= 'Create segment 1D algorithm for edges'¶ doc string of the method
-
meshMethod= 'Segment'¶ name of the dynamic method in smeshBuilder.Mesh class
-
-
class
StdMeshersBuilder.StdMeshersBuilder_UseExistingElements_1D(mesh, geom=0)¶ Defines a Use Existing Elements 1D algorithm.
It is created by calling smeshBuilder.Mesh.UseExisting1DElements(geom=0)
-
SourceEdges(groups, toCopyMesh=False, toCopyGroups=False, UseExisting=False)¶ Defines “Source edges” hypothesis, specifying groups of edges to import
- Parameters
groups – list of groups of edges
toCopyMesh – if True, the whole mesh groups belong to is imported
toCopyGroups – if True, all groups of the mesh groups belong to are imported
UseExisting – if ==true - searches for the existing hypothesis created with the same parameters, else (default) - Create a new one
-
algoType= 'Import_1D'¶ type of algorithm used with helper function in smeshBuilder.Mesh class
-
docHelper= 'Create 1D algorithm for edges with reusing of existing mesh elements'¶ doc string of the method
-
isDefault= True¶ flag pointing whether this algorithm should be used by default in dynamic method of smeshBuilder.Mesh class
-
meshMethod= 'UseExisting1DElements'¶ name of the dynamic method in smeshBuilder.Mesh class
-
-
class
StdMeshersBuilder.StdMeshersBuilder_UseExistingElements_1D2D(mesh, geom=0)¶ Defines a Use Existing Elements 1D-2D algorithm.
It is created by calling smeshBuilder.Mesh.UseExisting2DElements(geom=0)
-
SourceFaces(groups, toCopyMesh=False, toCopyGroups=False, UseExisting=False)¶ Defines “Source faces” hypothesis, specifying groups of faces to import
- Parameters
groups – list of groups of faces
toCopyMesh – if True, the whole mesh groups belong to is imported
toCopyGroups – if True, all groups of the mesh groups belong to are imported
UseExisting – if ==true - searches for the existing hypothesis created with the same parameters, else (default) - Create a new one
-
algoType= 'Import_1D2D'¶ type of algorithm used with helper function in smeshBuilder.Mesh class
-
docHelper= 'Create 1D-2D algorithm for faces with reusing of existing mesh elements'¶ doc string of the method
-
isDefault= True¶ flag pointing whether this algorithm should be used by default in dynamic method of smeshBuilder.Mesh class
-
meshMethod= 'UseExisting2DElements'¶ name of the dynamic method in smeshBuilder.Mesh class
-
-
class
StdMeshersBuilder.StdMeshersBuilder_UseExisting_1D(mesh, geom=0)¶ - Defines a stub 1D algorithm, which enables “manual” creation of nodes and
segments usable by 2D algorithms.
It is created by calling smeshBuilder.Mesh.UseExistingSegments(geom=0)
-
algoType= 'UseExisting_1D'¶ type of algorithm used with helper function in smeshBuilder.Mesh class
-
docHelper= 'Create 1D algorithm allowing batch meshing of edges'¶ doc string of the method
-
meshMethod= 'UseExistingSegments'¶ name of the dynamic method in smeshBuilder.Mesh class
-
class
StdMeshersBuilder.StdMeshersBuilder_UseExisting_2D(mesh, geom=0)¶ Defines a stub 2D algorithm, which enables “manual” creation of nodes and faces usable by 3D algorithms.
It is created by calling smeshBuilder.Mesh.UseExistingFaces(geom=0)
-
algoType= 'UseExisting_2D'¶ type of algorithm used with helper function in smeshBuilder.Mesh class
-
docHelper= 'Create 2D algorithm allowing batch meshing of faces'¶ doc string of the method
-
meshMethod= 'UseExistingFaces'¶ name of the dynamic method in smeshBuilder.Mesh class
-
-
class
StdMeshersBuilder.StdMeshersBuilder_ViscousLayer(mesh, geom=0)¶ Defines the prismatic layer builder.
It is created by calling smeshBuilder.Mesh.ViscousLayerBuilder(geom=TheGeometry)
-
algoType= 'ViscousLayerBuilder'¶ type of algorithm used with helper function in smeshBuilder.Mesh class
-
docHelper= 'Viscous layer builder for 2D and 3D geometries'¶ doc string of the method
-
meshMethod= 'ViscousLayerBuilder'¶ name of the dynamic method in smeshBuilder.Mesh class
-