Skip to content
OFFICIAL SS DOCUMENTATION

SS.Meshing 1.3.0

Structured and boundary-conforming meshing, CAD-derived tessellated-solid import and repair, general voxel-solid tetrahedralization, spatial 3D sizing fields, conforming-mesh validation, quality, refinement and deterministic Gmsh 2.2 interchange
API 1.3.0
MIT
source

Language compatibility: >=1.0.0 <2.0.0
Runtime compatibility: >=1.0.0 <2.0.0

Dependencies: SS.Geometry >=1.0.0 <2.0.0

Public API

Public signature
export record BoundaryEdge2(public int id, public int first, public int second, public string boundary)

Parameters: id: int, first: int, second: int, boundary: string


Public signature
export record BoundaryTriangle3(public int id, public int first, public int second, public int third, public string boundary)

Parameters: id: int, first: int, second: int, third: int, boundary: string


Public signature
export record CadSolidImport(public Mesh3 mesh, public string format, public string provenance, public int persistentBoundaryMarkers, public bool watertight, public string diagnostic)

Parameters: mesh: Mesh3, format: string, provenance: string, persistentBoundaryMarkers: int, watertight: bool, diagnostic: string


Public signature
export record CadTopologyRepair(public Mesh3 mesh, public int reorientedElements, public int removedDuplicateBoundaries, public bool valid, public string diagnostic)

Parameters: mesh: Mesh3, reorientedElements: int, removedDuplicateBoundaries: int, valid: bool, diagnostic: string


Public signature
export record ConformingMeshValidation3D(public bool valid, public bool boundaryFaithful, public bool watertight, public bool positiveJacobians, public double coveredVolume, public int exteriorFaces, public int invalidFaces, public string diagnostic)

Parameters: valid: bool, boundaryFaithful: bool, watertight: bool, positiveJacobians: bool, coveredVolume: double, exteriorFaces: int, invalidFaces: int, diagnostic: string


Public signature
export function connectivity(Mesh2 mesh)->int[]

Parameters: mesh: Mesh2


Public signature
export function connectivity3(Mesh3 mesh)->int[]

Parameters: mesh: Mesh3


Public signature
export function gmsh2(Mesh2 mesh)->string

Parameters: mesh: Mesh2


Public signature
export function gmsh3(Mesh3 mesh)->string

Parameters: mesh: Mesh3


Public signature
export function importCadSolid(string gmsh22Ascii, string provenance, double volumeTolerance)->CadSolidImport

Parameters: gmsh22Ascii: string, provenance: string, volumeTolerance: double


Public signature
export function mesh2(Point2[] points, int[] connectivity, int[] regions, BoundaryEdge2[] boundaries, string[] regionNames)->Mesh2

Parameters: points: Point2[], connectivity: int[], regions: int[], boundaries: BoundaryEdge2[], regionNames: string[]


Public signature
export record Mesh2(public MeshNode2[] nodes, public Triangle3[] elements, public BoundaryEdge2[] boundaries, public string[] regionNames, public bool structured, public m width, public m height, public int cellsX, public int cellsY)

Parameters: nodes: MeshNode2[], elements: Triangle3[], boundaries: BoundaryEdge2[], regionNames: string[], structured: bool, width: m, height: m, cellsX: int, cellsY: int


Public signature
export function mesh2Simple(Point2[] points, int[] connectivity, int[] regions, string[] regionNames)->Mesh2

Parameters: points: Point2[], connectivity: int[], regions: int[], regionNames: string[]


Public signature
export function mesh3(Point3[] points, int[] connectivity, int[] regions, string[] regionNames)->Mesh3

Parameters: points: Point3[], connectivity: int[], regions: int[], regionNames: string[]


Public signature
export record Mesh3(public MeshNode3[] nodes, public Tetrahedron4[] elements, public BoundaryTriangle3[] boundaries, public string[] regionNames, public bool structured, public m width, public m height, public m depth, public int cellsX, public int cellsY, public int cellsZ)

Parameters: nodes: MeshNode3[], elements: Tetrahedron4[], boundaries: BoundaryTriangle3[], regionNames: string[], structured: bool, width: m, height: m, depth: m, cellsX: int, cellsY: int, cellsZ: int


Public signature
export record MeshNode2(public int id, public Point2 point)

Parameters: id: int, point: Point2


Public signature
export record MeshNode3(public int id, public Point3 point)

Parameters: id: int, point: Point3


Public signature
export record MeshQuality(public double minimum, public double maximumAspectRatio, public int degenerateElements, public int invertedElements)

Parameters: minimum: double, maximumAspectRatio: double, degenerateElements: int, invertedElements: int


Public signature
export record MeshQuality3(public double minimum, public double maximumAspectRatio, public double minimumVolume, public int degenerateElements, public int invertedElements)

Parameters: minimum: double, maximumAspectRatio: double, minimumVolume: double, degenerateElements: int, invertedElements: int


Public signature
export function meshSizingField3D(Mesh3 mesh, Point3[] controlPoints, m[] targetSizes, m minimumSize, m maximumSize)->MeshSizingField3D

Parameters: mesh: Mesh3, controlPoints: Point3[], targetSizes: m[], minimumSize: m, maximumSize: m


Public signature
export record MeshSizingField3D(public double[] nodalSizesMetres, public double minimumSizeMetres, public double maximumSizeMetres, public int controlPoints, public string diagnostic)

Parameters: nodalSizesMetres: double[], minimumSizeMetres: double, maximumSizeMetres: double, controlPoints: int, diagnostic: string


Public signature
export function nodalField(Mesh2 mesh, double[] values, string unitSymbol)->ScalarField2

Parameters: mesh: Mesh2, values: double[], unitSymbol: string


Public signature
export function nodalField(Mesh3 mesh, double[] values, string unitSymbol)->ScalarField3

Parameters: mesh: Mesh3, values: double[], unitSymbol: string


Public signature
export function parseGmsh2(string text)->Mesh2

Parameters: text: string


Public signature
export function parseGmsh3(string text)->Mesh3

Parameters: text: string


Public signature
export function partitionByX(Mesh2 mesh, int partitionCount)->int[]

Parameters: mesh: Mesh2, partitionCount: int


Public signature
export function quality(Mesh2 mesh, double degeneracyTolerance)->MeshQuality

Parameters: mesh: Mesh2, degeneracyTolerance: double


Public signature
export function quality3(Mesh3 mesh, double degeneracyTolerance)->MeshQuality3

Parameters: mesh: Mesh3, degeneracyTolerance: double


Public signature
export function refineByCentroid(Mesh3 mesh)->Mesh3

Parameters: mesh: Mesh3


Public signature
export function refineStructured(Mesh2 mesh)->Mesh2

Parameters: mesh: Mesh2


Public signature
export function refineStructured(Mesh3 mesh)->Mesh3

Parameters: mesh: Mesh3


Public signature
export function repairCadTopology(Mesh3 source, double volumeTolerance)->CadTopologyRepair

Parameters: source: Mesh3, volumeTolerance: double


Public signature
export record ScalarField2(public double[] values, public string unitSymbol, public string location)

Parameters: values: double[], unitSymbol: string, location: string


Public signature
export record ScalarField3(public double[] values, public string unitSymbol, public string location)

Parameters: values: double[], unitSymbol: string, location: string


Public signature
export function structuredBox(m width, m height, m depth, int cellsX, int cellsY, int cellsZ)->Mesh3

Parameters: width: m, height: m, depth: m, cellsX: int, cellsY: int, cellsZ: int


Public signature
export function structuredRectangle(m width, m height, int cellsX, int cellsY)->Mesh2

Parameters: width: m, height: m, cellsX: int, cellsY: int


Public signature
export function tetrahedralizeGeneralSolid(m[] xCoordinates, m[] yCoordinates, m[] zCoordinates, int[] cellRegions, string[] regionNames, string voidBoundary)->Mesh3

Parameters: xCoordinates: m[], yCoordinates: m[], zCoordinates: m[], cellRegions: int[], regionNames: string[], voidBoundary: string


Public signature
export function tetrahedralizeStarShaped(Point3[] surfacePoints, int[] surfaceTriangles, string[] boundaryNames, Point3 interior, string region, double tolerance)->Mesh3

Parameters: surfacePoints: Point3[], surfaceTriangles: int[], boundaryNames: string[], interior: Point3, region: string, tolerance: double


Public signature
export function tetrahedralizeVoxelSolid(m[] xCoordinates, m[] yCoordinates, m[] zCoordinates, int[] cellRegions, string[] regionNames, string voidBoundary)->Mesh3

Parameters: xCoordinates: m[], yCoordinates: m[], zCoordinates: m[], cellRegions: int[], regionNames: string[], voidBoundary: string


Public signature
export record Tetrahedron4(public int id, public int first, public int second, public int third, public int fourth, public int region)

Parameters: id: int, first: int, second: int, third: int, fourth: int, region: int


Public signature
export function tetraSignedVolume(Mesh3 mesh, Tetrahedron4 element)->double

Parameters: mesh: Mesh3, element: Tetrahedron4


Public signature
export record Triangle3(public int id, public int first, public int second, public int third, public int region)

Parameters: id: int, first: int, second: int, third: int, region: int


Public signature
export function triangleAreaSquareMetres(Mesh2 mesh, Triangle3 element)->double

Parameters: mesh: Mesh2, element: Triangle3


Public signature
export function triangulateDomain(Polygon2 outer, Polygon2[] holes, m targetSize, m tolerance)->Mesh2

Parameters: outer: Polygon2, holes: Polygon2[], targetSize: m, tolerance: m


Public signature
export function validateConforming3DMesh(Mesh3 mesh, double volumeTolerance)->ConformingMeshValidation3D

Parameters: mesh: Mesh3, volumeTolerance: double


Documentation version

Language 1.0.0, compiler 1.0.0, runtime 1.0.0. This reference is generated from the official SS documentation so package and language details stay consistent with the release.