Geometry & Regions#

Engineering geometries must facilitate:

  • accurate representation

  • volumetric computation

  • conditions and couplings

Thus, frequent CAE tasks include:

  • importing, converting, cleaning

  • volumetric discretization

  • segmenting manifolds into regions

Additional constraints appear when factoring in higher-level systems functionalities:

  • system studies containing multiple meshes

  • geometries patterned/transformed across systems

Structured vs Unstructured#

End-users typically only interact with unstructured mesh types, but it is important to understand some of the utilities under-the-hood:

  • Unstructured geometries include traditional declarative meshes: underlying nodal positions and corresponding topology is stored and retrieved as an element.

  • Structured geometries include procedural grids: underlying nodal positions and topology is computed upon each element query. Grids are often used for SDF and other background geometry computations.

Implicit Shape#

It can be desirable to express a shape without a discrete topology. To do so, 3D shape fields (“level sets”) map coordinates XYZ to a singular scalar value \(\phi\).

  • The implicit boundary is defined where the field cross some constant value \(C\). By default, \(C=0\). Usually the field is monotonic as a function of distance-to-boundary.

Sampled SDF#

When an implicit shape \(\phi(x)\) has the property that the magnitude of the gradient throughout is equal to one \(|\nabla(x)|=1\), then the implicit field is said to be a distance field.

  • If the boundary is defined at \(C=0\), the interior of the object has negative field values and the outside will have positive field values, meeting the criteria for a signed-distance field (SDF).

  • Generally, \(\phi<C\) is interior and \(\phi>C\) is exterior, while \(\phi=C\) is on the boundary.

Notes:

  • Mesh generation and other spatial processing tasks rely on the constant-time parallel sampling of SDF on background grids. This is the most efficient way to determine spatial proximity for physics and contacts. A typical SDF background grid may contain 8M to 800M nodes (at ~64 bytes per node).

  • It is also possible to describe SDF analytically using functions. This provides a viable approach to future shape synthesis by humans and algorithms.

Discrete Topology#

Solving physics in a finite computing machine (aka digital computer) requires that the shape be discretized (broken down) into small computable elements.

  • Nodes are points in space-time, connected by elements to facilitate information flow. A numerical method then approximates the continuous PDE by transforming the problem into a discrete ODE.

Elements#

Underlying intrinsic attributes of each element:

  • type (NODE1, LINE2, TRI3, QUAD4, TET4, HEX8, …)

  • id (0 is default, positive are for users)

  • indices (of nodes defining vertices)

Several extrinsic functions exist, including:

  • center (barycenter)

  • domain (XYZ extrema)

  • distance (to position)

  • constains (position)

  • decompose (to sub-elements)

  • quality [0:1]

  • neighbors

Nodes#

Nodes are elements with 0D topological dimensionality, defining data and position at that particular point. Supported nodes: NODE1

Additional extrinsic functions:

  • volume (scalar, based on medan dual fragment)

Edges#

Edges are elements with 1D topological dimensionality, connecting two nodal points. Supported edges: LINE2, DUAL2

Additional extrinsic functions:

  • length (vector)

  • area (interface vector, only for DUAL2)

Faces#

Faces are elements with 2D topological dimensionality, connecting three or more nodal points. Supported faces: TR3, QUAD4

Additional extrinsic functions:

  • area (normal vector)

Cells#

Cells are elements with 3D topological dimensionality, connecting four or more nodal points. Supported faces: TET4, HEX8

Additional extrinsic functions:

  • volume (scalar)

Median Duals#

The mesh that you see and save is the primary mesh, described classically from nodes and elements. However, downstream numerics may utilize a different interpretation.

  • FEM is formulated to utilize the primary elemental mesh directly. Integration is performed at Gauss-Legendre quadrature points using analytic shape functions.

  • FVM is formulated to interpret the primary mesh as its Voronoi inverse during runtime, yielding a median-dual control volume for highest flux integration accuracy.

Subset Regions#

It is useful to assign regions IDs to a subset of elements for boundary conditions and/or coupling.

Intrinsic attributes of each region:

  • dimensionality (0, 1, 2, 3)

  • id (0 is default, positive are for users)

  • name (useful identifier)

  • data (coming soon)

Elements and regions are complementary:

  • each element has an integer id

  • region id correspond to the elements with matching id

Example:

Consider a mesh with default faces set to id=0. We can segment the mesh; perhaps the algorithm assigns faces with id 0,1,2,5. If desired, we can set a system’s surfaces ids 2 and 5. We could change the geometry and the system’s ids would persist. We could then create a new mesh with similar id assignments and the boundary conditions would map as before. In the same manner, we could also define the system’s region id’s before a geometry or mesh even exists, separating system definition from geometric steps.

Groups#

Loops#

Surfaces#

  • surface normal (vector, centered at node)

Volumes#

Interplay with Systems#

Abstract Assignment#

Copying Systems#

Useful Operations#

Segmentation#

more coming soon#