Grid model

class model.geometry.grid_model.GridModel(prep, xList, yList, zList, xCentCoo=0, yCentCoo=0, semiYellipList=None)

Bases: object

Particular geometry organization, linked to a framework of spaced points, usually referenced by their indices (i,j,k) that point to the global coordinates (x,y,z).

Generally, an ijkGrid contains the grid of points itself and all the geometric entities (lines, surfaces, …) attached to it. Dictionaries with those entities, identified by specific names, are created, in order to facilitate and accelerate their creation, search, grouping in sets, …

Several grids can coexist in a FE problem.

Variables:
  • prep – preprocessor
  • xList
    • cartesian coord: ordered list of x-coordinates for the grid
    • cylindrical coord: ordered list of radius
    • elliptical coord: ordered list of semi-axes X
  • yList
    • cartesian coord: ordered list of y-coordinates for the grid
    • cylindrical and elliptical coord: ordered list of angles expressed in degrees counterclockwise from the X-axis direction
    • elliptical coord: ordered list of semi-axes Y
  • zList – ordered list of z-coordinates for the grid.
  • yCentCoo (xCentCoo,) – x and y coordinates of the center point in cylindrical or elliptical coordinates (both coordinates default to 0)
  • semiYellipList – (only used for elliptical coordinates) ordered list of semi-axes Y that correspond with each semi-axis X in xList
  • dicLin – generated dictionary with all the lines linked to the grid. Each key is the name of a line, the value associated is the line itself.
  • dicQuadSurf – generated dictionary with all the surfaces linked to the grid. Each key is the name of a surface, the value associated is the surface itself.
appendLinRange(ijkRange, setName)

generate the lines limited by a region defined by the coordinates that correspond to the indices in the grid ijkRange.ijkMin=(indXmin,indYmin,indZmin) and ijkRange.ijkMax=(indXmax,indYmax,indZmax) and append them to the set named ‘setName’. Add those lines to the dictionary dicLin.

appendSurfRange(ijkRange, setSurf, closeCyl='N')

generate the surfaces limited by a region defined by the coordinates that correspond to the indices in the grid ijkRange.ijkMin=(indXmin,indYmin,indZmin) and ijkRange.ijkMax=(indXmax,indYmax,indZmax) and append them to the set named ‘setName’. Add those surfaces to the dictionary dicQuadSurf.

Parameters:
  • ijkRange – instance of IJKRange class
  • setSurf – name of the set
  • closeCyl – ‘Y’ to close cylinder when using cylindrical coordinate system (defaults to ‘N’)
genLinMultiRegion(lstIJKRange, setName)

generate the lines limited by all the regions included in the list of ijkRanges passed as parameter. Each region defines a volume limited by the coordinates that correspond to the indices in the grid ijkRange.ijkMin=(indXmin,indYmin,indZmin) and ijkRange.ijkMax=(indXmax,indYmax,indZmax). Return a set with the lines generated. Add those lines to the dictionary dicLin.

genLinMultiXYZRegion(lstXYZRange, setName)

generate the lines limited by all the regions included in the list of coordinate passed as parameter. Each region defines a volume limited by the coordinates that correspond to the ranges xyzRange=((xmin,ymin,zmin),(xmax,ymax,zmax)) Return a set with the lines generated. Add those lines to the dictionary dicLin.

genLinOneRegion(ijkRange, setName)

generate the lines limited by a region defined by the coordinates that correspond to the indices in the grid ijkRange.ijkMin=(indXmin,indYmin,indZmin) and ijkRange.ijkMax=(indXmax,indYmax,indZmax). Return a set with the lines generated. Add those lines to the dictionary dicLin.

genLinOneXYZRegion(xyzRange, setName)

generate the lines limited by a region defined by the coordinates defined in range xyzRange=((xmin,ymin,zmin),(xmax,ymax,zmax)) Return a set with the lines generated. Add those lines to the dictionary dicLin.

genSetLinFromLstGridPnt(lstGridPnt, setName)

generate the set of lines that joint the successive points defined in ‘lstGridPnt’ by their indexes in the grid.

Parameters:
  • lstGridPnt – list of successive points [(i1,j1,k1),(i2,j2,k2), …]
  • setName – name of the set.
genSetLinFromLstXYZPnt(lstXYZPnt, setName)

generate the set of lines that joint the successive points defined in ‘lstXYZPnt’ by their coordinates (x,y,z).

Parameters:
  • lstXYZPnt – list of successive points [(x1,y1,z1),(x2,y2,z2), …]
  • setName – name of the set.
genSetLinFromMultiLstGridPnt(multiLstGridPnt, setName)

generate the set of lines that joint the successive points defined in ‘multiLstGridPnt’ by their indexes in the grid.

Parameters:multiLstGridPnt – list of lists of successive points

[[(i1,j1,k1),(i2,j2,k2), …],[],…] :param setName: name of the set.

genSetLinFromMultiLstXYZPnt(multiLstXYZPnt, setName)

generate the set of lines that joint the successive points defined in ‘multiLstXYZPnt’ by their coordinates (x,y,z)

Parameters:multiLstXYZPnt – list of lists of successive points

[[(x1,y1,z1),(x2,y2,z2), …],[],…] :param setName: name of the set.

genSurfMultiRegion(lstIJKRange, setName, closeCyl='N')

generate the surfaces limited by all the regions included in the list of ijkRanges passed as parameter. Each region defines a volume limited by the coordinates that correspond to the indices in the grid ijkRange.ijkMin=(indXmin,indYmin,indZmin) and ijkRange.ijkMax=(indXmax,indYmax,indZmax). Return a set with the surfaces generated. Add those surfaces to the dictionary dicQuadSurf.

Parameters:
  • lstIJKRange – list of instances of IJKRange class
  • setName – name of the set
  • closeCyl – ‘Y’ to close cylinder when using cylindrical coordinate system (defaults to ‘N’)
genSurfMultiXYZRegion(lstXYZRange, setName, closeCyl='N')

generate the surfaces limited by all the regions included in the list of xyzRanges passed as parameter. Each region defines a volume limited by the coordinates that correspond to the coordinates in ranges xyzRange=((xmin,ymin,zmin),(xmax,ymax,zmax)) Return a set with the surfaces generated. Add those surfaces to the dictionary dicQuadSurf.

Parameters:
  • lstXYZRange – list of ranges xyz
  • setName – name of the set
  • closeCyl – ‘Y’ to close cylinder when using cylindrical coordinate system (defaults to ‘N’)
genSurfOneRegion(ijkRange, setName, closeCyl='N')

generate the surfaces limited by a region defined by the coordinates that correspond to the indices in the grid ijkRange.ijkMin=(indXmin,indYmin,indZmin) and ijkRange.ijkMax=(indXmax,indYmax,indZmax). Return a set with the surfaces generated. Add those surfaces to the dictionary dicQuadSurf.

Parameters:
  • ijkRange – instance of IJKRange class
  • setName – name of the set
  • closeCyl – ‘Y’ to close cylinder when using cylindrical coordinate system (defaults to ‘N’)
genSurfOneXYZRegion(xyzRange, setName, closeCyl='N')

generate the surfaces limited by a region defined by the coordinates defined in the range xyzRange=((xmin,ymin,zmin),(xmax,ymax,zmax)) Return a set with the surfaces generated. Add those surfaces to the dictionary dicQuadSurf.

Parameters:
  • xyzRange – range xyz
  • setName – name of the set
  • closeCyl – ‘Y’ to close cylinder when using cylindrical coordinate system (defaults to ‘N’)
generateCylZPoints()

Point generation in the following cylindrical coordinate system:

  • Origin: point of coordinates (xCentCoo,yCentCoo,0)
  • Longitudinal axis: Z
  • Azimuth expressed in degrees counterclockwise from the X-axis direction

Coordinates are defined:

  • x: radial coordinate (radius)
  • y: angular coordinate (degrees counterclockwise from X-axis)
  • z: height coordinate (Z axis)
generateEllipZPoints()

Point generation in the following elliptical coordinate system:

  • Origin: point of coordinates (xCentCoo,yCentCoo,0)
  • Longitudinal axis: Z
  • Azimuth expressed in degrees counterclockwise from the X-axis direction

Coordinates are defined:

  • x: semi-axis X of the ellipse
  • y: angular coordinate (degrees counterclockwise from X-axis)
  • z: height coordinate (Z axis)
  • semiYellipList contains a list of semi-axis Y of the ellipse that correspond element to element with the semi-axis X in xList
generatePoints()

Point generation in a cartesian coordinate system.

getIJKfromXYZ(xyz)

Return (i,j,k) indexes that match the closest with (x,y,z) coordinates

getIJKrangeFromXYZrange(xyzRange)

Return an ijkRange that matches with closest coordinates in xyzRange defined as: xyzRange=((xmin,ymin,zmin),(xmax,ymax,zmax))

getLstLinRange(ijkRange)

return a list of lines in a region limited by the coordinates that correspond to the indices in the grid ijkRange.ijkMin=(indXmin,indYmin,indZmin) and ijkRange.ijkMax=(indXmax,indYmax,indZmax).

getLstLinXYZRange(xyzRange)

return a list of lines in a region limited by the coordinates defined in range xyzRange=((xmin,ymin,zmin),(xmax,ymax,zmax))

getLstPntRange(ijkRange)

return the ordered list points in a 3D grid-region limited by ijkRange.ijkMin=(indXmin,indYmin,indZmin) and ijkRange.ijkMax=(indXmax,indYmax,indZmax)

Parameters:ijkRange – range for the search
getLstPntXYZRange(xyzRange)

return the ordered list points in a 3D grid-region limited by coordinates defined in xyzRange=((xmin,ymin,zmin),(xmax,ymax,zmax))

getNameGridLine(ind2Pnt)

Return the name of the line defined by the 2 vertices whose indices in the grid are passed as parameters.

Parameters:ind2Pnt – tuple of ordered points defined by their grid indices (i,j,k)

return the line

getNameQuadGridSurface(ind4Pnt)

Return the name of the quadrangle surface defined by the 4 vertices whose indices in the grid are passed as parameters.

Parameters:ind4Pnt – tuple of ordered points defined by their grid indices (i,j,k)
Returns:the quadrangle surface
getNmLinInRange(ijkRange)

Return a list with the names of the surfaces limited by a volume defined by the coordinates that correspond to the indices in the grid ijkRange.ijkMin=(indXmin,indYmin,indZmin) and ijkRange.ijkMax=(indXmax,indYmax,indZmax).

getNmSurfInRange(ijkRange, closeCyl='N')

Return a list with the names of the surfaces limited by a volume defined by the coordinates that correspond to the indices in the grid ijkRange.ijkMin=(indXmin,indYmin,indZmin) and ijkRange.ijkMax=(indXmax,indYmax,indZmax).

Parameters:
  • ijkRange – instance of IJKRange class
  • closeCyl – ‘Y’ to close cylinder when using cylindrical coordinate system (defaults to ‘N’)
getPntGrid(indPnt)

Return the point at indPnt=(i,j,k) index of the grid.

Parameters:indPnt – grid indices that point to the global (X, Y, Z) coordinates
getPntXYZ(xyz)

Return the point of the grid closest to coordinates (x,y,z)

getSetLinFromLstGridPnt(lstGridPnt, setName)

return the set of lines that joint the successive points defined in ‘lstGridPnt’ by their indexes in the grid.

Parameters:
  • lstGridPnt – list of successive points [(i1,j1,k1),(i2,j2,k2), …]
  • setName – name of the set.
getSetLinFromLstXYZPnt(lstXYZPnt, setName)

return the set of lines that joint the successive points defined in ‘lstXYZPnt’ by their coordinates (x,y,z).

Parameters:
  • lstXYZPnt – list of successive points [(x1,y1,z1),(x2,y2,z2), …]
  • setName – name of the set.
getSetLinFromMultiLstGridPnt(multiLstGridPnt, setName)

retur the set of lines that joint the successive points defined in ‘multiLstGridPnt’ by their indexes in the grid.

Parameters:multiLstGridPnt – list of lists of successive points

[[(i1,j1,k1),(i2,j2,k2), …],[],…] :param setName: name of the set.

getSetLinFromMultiLstXYZPnt(multiLstXYZPnt, setName)

generate the set of lines that joint the successive points defined in ‘multiLstXYZPnt’ by their coordinates (x,y,z)

Parameters:multiLstXYZPnt – list of lists of successive points

[[(x1,y1,z1),(x2,y2,z2), …],[],…] :param setName: name of the set.

getSetLinMultiRegion(lstIJKRange, setName)

return the set of lines and all the entities(points, elements, nodes, …) associated with them in a all the regions included in the list of ijkRanges passed as parameter. Each region defines a volume limited by the coordinates that correspond to the indices in the grid ijkRange.ijkMin=(indXmin,indYmin,indZmin) and ijkRange.ijkMax=(indXmax,indYmax,indZmax).

getSetLinMultiXYZRegion(lstXYZRange, setName)

return the set of lines and all the entities(points, elements, nodes, …) associated with them in a all the regions included in the list of xyzRanges passed as parameter. Each region defines a volume limited by the coordinates defined in range xyzRange=((xmin,ymin,zmin),(xmax,ymax,zmax))

getSetLinOneRegion(ijkRange, setName)

return the set of lines and all the entities(points, elements, nodes, …) associated with them in a region limited by the coordinates that correspond to the indices in the grid ijkRange.ijkMin=(indXmin,indYmin,indZmin) and ijkRange.ijkMax=(indXmax,indYmax,indZmax).

getSetLinOneXYZRegion(xyzRange, setName)

return the set of lines and all the entities(points, elements, nodes, …) associated with them in a region limited by the coordinates defined in range xyzRange=((xmin,ymin,zmin),(xmax,ymax,zmax))

getSetPntMultiRegion(lstIJKRange, setName)

return the set of points in a all the 3D grid-regions included in the list of ijkRanges passed as parameter Each region defines a volume limited by the coordinates that correspond to the indices in the grid ijkRange.ijkMin=(indXmin,indYmin,indZmin) and ijkRange.ijkMax=(indXmax,indYmax,indZmax).

getSetPntMultiXYZRegion(lstXYZRange, setName)

return the set of points in a all the 3D grid-regions included in the list of xyzRanges passed as parameter Each region defines a volume limited by the coordinates defined in xyzRange=((xmin,ymin,zmin),(xmax,ymax,zmax))

getSetPntRange(ijkRange, setName)

return the set of points in a 3D grid-region limited by ijkRange.ijkMin=(indXmin,indYmin,indZmin) and ijkRange.ijkMax=(indXmax,indYmax,indZmax)

Parameters:
  • ijkRange – range for the search
  • setName – name of the new set of points
getSetPntXYZRange(xyzRange, setName)

return the set of points in a 3D grid-region limited by coordinates in xyzRange=((xmin,ymin,zmin),(xmax,ymax,zmax))

getSetSurfMultiRegion(lstIJKRange, setName, closeCyl='N')

return the set of surfaces and all the entities(lines, points, elements, nodes, …) associated with them in a all the regions included in the list of ijkRanges passed as parameter. Each region defines a volume limited by the coordinates that correspond to the indices in the grid ijkRange.ijkMin=(indXmin,indYmin,indZmin) and ijkRange.ijkMax=(indXmax,indYmax,indZmax).

Parameters:
  • lstIJKRange – list of instances of IJKRange class
  • setName – name of the set
  • closeCyl – ‘Y’ to close cylinder when using cylindrical coordinate system (defaults to ‘N’)
getSetSurfMultiXYZRegion(lstXYZRange, setName, closeCyl='N')

return the set of surfaces and all the entities(lines, points, elements, nodes, …) associated with them in a all the regions included in the list of xyzRanges passed as parameter. Each region defines a volume limited by the coordinates that correspond to coordinates in range xyzRange=((xmin,ymin,zmin),(xmax,ymax,zmax))

getSetSurfOneRegion(ijkRange, setName, closeCyl='N')

return the set of surfaces and all the entities(lines, points, elements, nodes, …) associated with them in a region limited by the coordinates that correspond to the indices in the grid ijkRange.ijkMin=(indXmin,indYmin,indZmin) and ijkRange.ijkMax=(indXmax,indYmax,indZmax).

Parameters:
  • ijkRange – instance of IJKRange class
  • setName – name of the set
  • closeCyl – ‘Y’ to close cylinder when using cylindrical coordinate system (defaults to ‘N’)
getSetSurfOneXYZRegion(xyzRange, setName, closeCyl='N')

return the set of surfaces and all the entities(lines, points, elements, nodes, …) associated with them in a region limited by the coordinates in range xyzRange=((xmin,ymin,zmin),(xmax,ymax,zmax))

getSubsetLinMultiRegion(superset, lstIJKRange, nameSubset)

return from the set ‘superset’ the set of lines and all the entities(points, elements, nodes, …) associated with them in a all the regions included in the list of ijkRanges passed as parameter. Each region defines a volume limited by the coordinates that correspond to the indices in the grid ijkRange.ijkMin=(indXmin,indYmin,indZmin) and ijkRange.ijkMax=(indXmax,indYmax,indZmax).

getSubsetLinMultiXYZRegion(superset, lstXYZRange, nameSubset)

return from the set ‘superset’ the set of lines and all the entities(points, elements, nodes, …) associated with them in a all the regions included in the list of xyzRanges passed as parameter. Each region defines a volume limited by the coordinates defined in range xyzRange=((xmin,ymin,zmin),(xmax,ymax,zmax))

getSubsetLinOneRegion(superset, ijkRange, nameSubset)

return from the set ‘superset’ the set of lines and all the entities(points, elements, nodes, …) associated with them in a region limited by the coordinates that correspond to the indices in the grid ijkRange.ijkMin=(indXmin,indYmin,indZmin) and ijkRange.ijkMax=(indXmax,indYmax,indZmax).

getSubsetLinOneXYZRegion(superset, xyzRange, nameSubset)

return from the set ‘superset’ the set of lines and all the entities(points, elements, nodes, …) associated with them in a region limited by the coordinates defined in range xyzRange=((xmin,ymin,zmin),(xmax,ymax,zmax))

getSubsetSurfMultiRegion(superset, lstIJKRange, nameSubset, closeCyl='N')

return from the set ‘superset’ the set of surfaces and all the entities(lines, points, elements, nodes, …) associated with them in a all the regions included in the list of ijkRanges passed as parameter. Each region defines a volume limited by the coordinates that correspond to the indices in the grid ijkRange.ijkMin=(indXmin,indYmin,indZmin) and ijkRange.ijkMax=(indXmax,indYmax,indZmax).

getSubsetSurfMultiXYZRegion(superset, lstXYZRange, nameSubset, closeCyl='N')

return from the set ‘superset’ the set of surfaces and all the entities(lines, points, elements, nodes, …) associated with them in a all the regions included in the list of xyzRanges passed as parameter. Each region defines a volume limited by the coordinates that correspond to coordinates in range xyzRange=((xmin,ymin,zmin),(xmax,ymax,zmax))

getSubsetSurfOneRegion(superset, ijkRange, nameSubset, closeCyl='N')

return from the set ‘superset’ the set of surfaces and all the entities(lines, points, elements, nodes, …) associated with them in a region limited by the coordinates that correspond to the indices in the grid ijkRange.ijkMin=(indXmin,indYmin,indZmin) and ijkRange.ijkMax=(indXmax,indYmax,indZmax).

getSubsetSurfOneXYZRegion(superset, xyzRange, nameSubset, closeCyl='N')

return from the set ‘superset’ the set of surfaces and all the entities(lines, points, elements, nodes, …) associated with them in a region limited by the coordinates in range xyzRange=((xmin,ymin,zmin),(xmax,ymax,zmax))

getTagPntGrid(indPnt)

Return the tag of the point at indPnt=(i,j,k) index of the grid.

Parameters:indPnt – grid indices that point to the global (X, Y, Z) coordinates
gridLinName(pt1, pt2)

Return the name of the line defined by 2 points

Parameters:pt1,pt2 – tags of the points (in right order) that define the line
gridSurfName(pt1, pt2, pt3, pt4)

Return the name of the quadrangle surface defined by 4 points.

Parameters:pt1,pt2,pt3,pt4 – tags of the points (in right order) that define the surface
lastXIndex()
lastYIndex()
lastZIndex()
moveAllPoints(vDisp)

Move all points in the grid to a new position by pplying a 3D displacement.

Parameters:vDisp – xc vector displacement
moveCylPointsRadius(ijkRange, radius)

Move points in a 3D grid-region limited by the ijkRange in the cylindrical coordinate system to radius coordinate given as parameter

movePointXYZ(xyz, vDisp)

Move the nearest point in grid xyz=(x,y,z) coordinates to a new position by applying a 3D displacement.

Parameters:
  • xyz – grid (x,y,z) coordinates of the point
  • vDisp – xc vector displacement xc.Vector([vx,vy,vz])
movePointsEllipse(ijkRange, semiAxX, semiAXY)

‘Move points in a 3D grid-region limited by the ijkRange in the elliptical coordinate system to an ellipse of semi-axes semiAxX and semiAXY given as parameters

movePointsRange(ijkRange, vDisp)

Move points in a 3D grid-region limited by ijkRange.ijkMin=(indXmin,indYmin,indZmin) and ijkRange.ijkMax=(indXmax,indYmax,indZmax), to a new position by applying a 3D displacement.

Parameters:
  • ijkRange – range for the search
  • vDisp – xc vector displacement
movePointsRangeToXcylinder(ijkRange, yCent, zCent, R)

Moves the points in the range to make them belong to a cylinder with radius R and axis parallel to global X passing through the point (0,yCent,zCent)

movePointsRangeToYcylinder(ijkRange, xCent, zCent, R)

Moves the points in the range to make them belong to a cylinder with radius R and axis parallel to global Y passing through the point (xCent,0,zCent)

movePointsRangeToZcylinder(ijkRange, xCent, yCent, R)

Moves the points in the range to make them belong to a cylinder with radius R and axis parallel to global Z passing through the point (xCent,yCent,0).

movePointsXYZRange(XYZrange, vDisp)

Move points in a 3D grid-region limited by an xyzRange=((xmin,ymin,zmin),(xmax,ymax,zmax)) to a new position by applying a 3D displacement.

Parameters:
  • ijkRange – range for the search
  • vDisp – xc vector displacement
newGridLine(linName)

Generate the line defined by the 2 end-points whose tags are implicit in the name of the line.

Parameters:linName – name given to the grid line

return the line

newQuadGridSurface(surfName)

Generate the quadrangle surface defined by the 4 vertex whose tags are implicit in the name of the surface.

Parameters:surfName – name given to the grid surface

return the quadrangle surface

rotAllPntsXAxis(angle, yzRotCent)

Rotates all points in the grid around a X axis passing by yzRotCent.

Parameters:
  • angle – rotation angle (degrees)
  • yzRotCent – coordinates [y,z] of the axis X of rotation
rotAllPntsYAxis(angle, xzRotCent)

Rotates all points in the grid around a X axis passing by yzRotCent.

Parameters:
  • angle – rotation angle (degrees)
  • xzRotCent – coordinates [z,z] of the axis Y of rotation
rotAllPntsZAxis(angle, xyRotCent)

Rotates all points in the grid around a Z axis passing by xyRotCent.

Parameters:
  • angle – rotation angle (degrees)
  • xyRotCent – coordinates [x,y] of the axis Z of rotation
rotPntsXAxis(ijkRange, angle, yzRotCent)

Rotates points in ijkRange around a X axis passing by yzRotCent.

Parameters:
  • ijkRange – range for the search.
  • angle – rotation angle (degrees)
  • yzRotCent – coordinates [y,z] of the axis X of rotation
rotPntsYAxis(ijkRange, angle, xzRotCent)

Rotates points in ijkRange around a Y axis passing by xzRotCent.

Parameters:
  • ijkRange – range for the search.
  • angle – rotation angle (degrees)
  • xzRotCent – coordinates [x,z] of the axis Y of rotation
rotPntsZAxis(ijkRange, angle, xyRotCent)

Rotates points in ijkRange around a Z axis passing by xyRotCent.

Parameters:
  • ijkRange – range for the search.
  • angle – rotation angle (degrees)
  • xyRotCent – coordinates [x,y] of the axis Z of rotation
scaleCoorXPointsRange(ijkRange, xOrig, scale)

Applies a scale in X with origin xOrig (fixed axis: X=xOrig) to the points in a 3D grid-region limited by ijkRange.ijkMin=(indXmin,indYmin,indZmin) and ijkRange.ijkMax=(indXmax,indYmax,indZmax). Only X coordinate of points is modified in the following way: x_scaled=xOrig+scale*(x_inic-xOrig)

Parameters:
  • ijkRange – range for the search.
  • xOrig – origin X to apply scale (point in axis X=xOrig) are not affected by the transformation
  • scale – scale to apply to X coordinate
scaleCoorXPointsXYZRange(XYZrange, xOrig, scale)

Applies a scale in X with origin xOrig (fixed axis: X=xOrig) to the points in a 3D grid-region limited by one XYZrange defined as ((xmin,ymin,zmin),(xmax,ymax,zmax)) Only X coordinate of points is modified in the following way: x_scaled=xOrig+scale*(x_inic-xOrig)

:param XYZrange:((xmin,ymin,zmin),(xmax,ymax,zmax)) range for the search. :param xOrig: origin X to apply scale (point in axis X=xOrig)

are not affected by the transformation
Parameters:scale – scale to apply to X coordinate
scaleCoorYPointsRange(ijkRange, yOrig, scale)

Applies a scale in Y with origin yOrig (fixed axis: y=yOrig) to the points in a 3D grid-region limited by ijkRange.ijkMin=(indXmin,indYmin,indZmin) and ijkRange.ijkMax=(indXmax,indYmax,indZmax). Only Y coordinate of points is modified in the following way: y_scaled=yOrig+scale*(y_inic-yOrig)

Parameters:
  • ijkRange – range for the search.
  • yOrig – origin Y to apply scale (point in axis Y=yOrig) are not affected by the transformation
  • scale – scale to apply to Y coordinate
scaleCoorYPointsXYZrange(XYZrange, yOrig, scale)

Applies a scale in Y with origin yOrig (fixed axis: y=yOrig) to the points in a 3D grid-region limited by an XYZrange defined as ((xmin,ymin,zmin),(xmax,ymax,zmax)) Only Y coordinate of points is modified in the following way: y_scaled=yOrig+scale*(y_inic-yOrig)

:param XYZrange:((xmin,ymin,zmin),(xmax,ymax,zmax)) range for the search. :param yOrig: origin Y to apply scale (point in axis Y=yOrig)

are not affected by the transformation
Parameters:scale – scale to apply to Y coordinate
scaleCoorZPointsRange(ijkRange, zOrig, scale)

Applies a scale in Z with origin zOrig (fixed axis: z=zOrig) to the points in a 3D grid-region limited by ijkRange.ijkMin=(indXmin,indYmin,indZmin) and ijkRange.ijkMax=(indXmax,indYmax,indZmax). Only Z coordinate of points is modified in the following way: z_scaled=zOrig+scale*(z_inic-zOrig)

Parameters:
  • ijkRange – range for the search.
  • zOrig – origin Z to apply scale (point in axis Z=zOrig) are not affected by the transformation
  • scale – scale to apply to Z coordinate
scaleCoorZPointsXYZrange(XYZrange, zOrig, scale)

Applies a scale in Z with origin zOrig (fixed axis: z=zOrig) to the points in a 3D grid-region limited by one XYZrange defined as ((xmin,ymin,zmin),(xmax,ymax,zmax)) Only Z coordinate of points is modified in the following way: z_scaled=zOrig+scale*(z_inic-zOrig)

:param XYZrange:((xmin,ymin,zmin),(xmax,ymax,zmax)) range for the search. :param zOrig: origin Z to apply scale (point in axis Z=zOrig)

are not affected by the transformation
Parameters:scale – scale to apply to Z coordinate
slopePointsRange(ijkRange, slopeX=0, xZeroSlope=0, slopeY=0, yZeroSlope=0)

Applies one or two slopes (in X and Y directions) to points in a 3D grid-region limited by ijkRange.ijkMin=(indXmin,indYmin,indZmin) and ijkRange.ijkMax=(indXmax,indYmax,indZmax). Only Z coordinate of points is modified.

Parameters:
  • ijkRange – range for the search.
  • slopeX – slope in X direction, expressed as deltaZ/deltaX (defaults to 0 = no slope applied)
  • xZeroSlope – coordinate X of the “rotation axis”.
  • slopeY – slope in Y direction, expressed as deltaZ/deltaY) (defaults to 0 = no slope applied)
  • yZeroSlope – coordinate Y of the “rotation axis”.
slopePointsXYZrange(XYZrange, slopeX=0, xZeroSlope=0, slopeY=0, yZeroSlope=0)

Applies one or two slopes (in X and Y directions) to points in a 3D grid-region limited by an xyzRange=((xmin,ymin,zmin),(xmax,ymax,zmax)) Only Z coordinate of points is modified.

Parameters:
  • XYZrange – range for the search.
  • slopeX – slope in X direction, expressed as deltaZ/deltaX (defaults to 0 = no slope applied)
  • xZeroSlope – coordinate X of the “rotation axis”.
  • slopeY – slope in Y direction, expressed as deltaZ/deltaY) (defaults to 0 = no slope applied)
  • yZeroSlope – coordinate Y of the “rotation axis”.
class model.geometry.grid_model.IJKRange(ijkMin, ijkMax)

Bases: object

Range of indexes (i,j,k) in the 3D-grid that defines a region bounded by the coordinates associated with those indexes.

Variables:
  • ijkMin – tuple (or list) with minimum value of indexes (minIindex,minJindex,minKindex) that point to (xmin,ymin,zmin)
  • ijkMax – tuple (or list) with maximum value of indexes (maxIindex,maxJindex,maxKindex) that point to (xmax,ymax,zmax)
extractIncludedIJranges(step=1)

return a list with all the sub-ranges included in the IJKRange for which the index K is a constant. Graphically it can be seen as the set of planes ‘parallel’ to global XY included in the region defined by the IJKRange

Variables:step – K step to select the XY planes (defaults to 1)
extractIncludedIKranges(step=1)

return a list with all the sub-ranges included in the IJKRange for which the index J is a constant. Graphically it can be seen as the set of planes ‘parallel’ to global XZ included in the region defined by the IJKRange

Parameters:step – J step to select the XZ planes (defaults to 1)
extractIncludedIranges(stepJ=1, stepK=1)

return a list with all the sub-ranges included in the IJKRange for which the indices J and K are a constant. Graphically it can be seen as the set of lines ‘parallel’ to global X axis included in the region defined by the IJKRange

Parameters:stepJ – step to select the lines in Y direction (defaults to 1)

:param stepK step to select the lines in Z direction (defaults to 1)

extractIncludedJKranges(step=1)

return a list with all the sub-ranges included in the IJKRange for which the index I is a constant. Graphically it can be seen as the set of planes ‘parallel’ to global YZ included in the region defined by the IJKRange

Parameters:step – I step to select the XZ planes (defaults to 1)
extractIncludedJranges(stepI=1, stepK=1)

return a list with all the sub-ranges included in the IJKRange for which the indices I and K are a constant. Graphically it can be seen as the set of lines ‘parallel’ to global Y axis included in the region defined by the IJKRange

Parameters:stepI – step to select the lines in X direction (defaults to 1)

:param stepK step to select the lines in Z direction (defaults to 1)

extractIncludedKranges(stepI=1, stepJ=1)

return a list with all the sub-ranges included in the IJKRange for which the indices I and J are a constant. Graphically it can be seen as the set of lines ‘parallel’ to global Z axis included in the region defined by the IJKRange

Parameters:stepI – step to select the lines in X direction (defaults to 1)

:param stepJ step to select the lines in Y direction (defaults to 1)

getIMax()

return the value of the index I maximum in the range

getIMin()

return the value of the index I minimum in the range

getIRange()

return a list with the range of indexes between minIindex and maxIindex

getJMax()

return the value of the index J maximum in the range

getJMin()

return the value of the index J minimum in the range

getJRange()

return a list with the range of index between minJindex and maxJindex

getKMax()

return the value of the index K maximum in the range

getKMin()

return the value of the index K minimum in the range

getKRange()

return a list with the range of indexes between minKindex and maxKindex

getRange(index)

return a list with the range of indexes between minIindex and maxIindex

model.geometry.grid_model.getSetIntersLin(set1, set2, setNameInter)

Return a set of lines intersection of those in ‘set1’ and ‘set2’

Parameters:
  • set2 (set1,) – sets containing lines to search intersection
  • setNameInter – name of the set of lines to return
model.geometry.grid_model.getSetIntersSurf(set1, set2, setNameInter)

Return a set of surfaces intersection of those in ‘set1’ and ‘set2’

Parameters:
  • set2 (set1,) – sets containing surfaces to search intersection
  • setNameInter – name of the set of surfaces to return