Derived adjacencies

API

ExtendableGrids.BEdgeNodes — Type
abstract type BEdgeNodes <: AbstractGridAdjacency

Adjacency describing nodes for boundary edges. If provided externally (e.g. by the seven-array simplexgrid constructor), it defines the boundary edge numbering: dependent components (BEdgeEdges, BFaceEdges, BFaceEdgeSigns) are matched to it and it is never modified by lazy component creation.

source
ExtendableGrids.BFaceEdgeSigns — Type
abstract type BFaceEdgeSigns <: AbstractGridAdjacency

Adjacency describing orientation signs (+1/-1) of boundary face edges relative to the orientation of the corresponding entries in BEdgeNodes. It is instantiated together with BFaceEdges.

source
ExtendableGrids.BFaceNodesCanonical — Type
abstract type BFaceNodesCanonical <: AbstractGridAdjacency

Adjacency describing nodes of boundary faces in the node order of their associated faces (grid[FaceNodes][:, grid[BFaceFaces]), i.e. consistently oriented with respect to the owning cells. Unlike grid[BFaceNodes], which keeps the node order provided by the user and is never modified by lazy component creation, this component provides the canonical orientation view for consumers (e.g. boundary subgrid creation) that need bface-local node order to coincide with face-local node order. It is instantiated together with BFaceFaces.

source
ExtendableGrids.NodePatchGroups — Type
abstract type NodePatchGroups <: AbstractGridIntegerArray1D

Vector with patch groups for nodes (ensuring that node patches of nodes in same group do not overlap)

source
ExtendableGrids.match_bedge_numbering — Method
match_bedge_numbering(xgrid)

Helper for externally provided bedgenodes (grid[BEdgeNodes], e.g. created by the seven-array simplexgrid constructor). Returns a vector BEdgeEdges mapping each externally numbered boundary edge to its number in the global edge enumeration. Errors if an externally provided boundary edge is not a (unique) boundary edge of the grid. The provided grid[BEdgeNodes] is never modified.

source
ExtendableGrids.prepare_edges! — Method
prepare_edges!(grid)

Prepare edge adjacencies (celledges, edgecells, edgenodes)

Deprecated: use the lazily instantiated grid components grid[EdgeNodes], grid[CellEdges], grid[EdgeCells] instead. This variant recomputes the edge enumeration from scratch and overwrites potentially externally provided edge components, and it depends on ExtendableSparse.

source

Additional Functions

ExtendableGrids.explode — Function
explode(grid::ExtendableGrid) -> ExtendableGrid

Remove all adjacency information from a grid, creating independent cells by duplicating coordinates and assigning new node indices while keeping the original coordinates.

This function creates a new grid where each cell has its own independent set of nodes by duplicating the coordinate information and creating new node indices. The original coordinates are preserved, but adjacency information is removed.

Arguments

  • grid::ExtendableGrid: The input grid to be processed

Returns

  • ::ExtendableGrid: A new grid with duplicated coordinates and independent cells
source