Mesh refinement

API

ExtendableGrids.RGB_refineMethod
RGB_refine(
    source_grid::ExtendableGrid{T, K},
    facemarkers::Vector{Bool};
    store_parents
) -> ExtendableGrid

generates a new ExtendableGrid by red-green-blue mesh refinement of triangular meshes, see e.g.

Carstensen, C. –An Adaptive Mesh-Refining Algorithm Allowing for an H^1 Stable L^2 Projection onto Courant Finite Element Spaces– Constr Approx 20, 549–564 (2004). https://doi.org/10.1007/s00365-003-0550-5

The bool array facemarkers determines which faces should be bisected. Note, that a closuring is performed such that the first face in every triangle with a marked face is also refined.

source
ExtendableGrids.barycentric_refineMethod
barycentric_refine(
    source_grid::ExtendableGrid{T, K};
    store_parents
) -> ExtendableGrid

generates a new ExtendableGrid by barycentric refinement of each cell in the source grid

barycentric refinement is available for these ElementGeometries

  • Quadrilateral2D (first split into Triangle2D)
  • Triangle2D
source
ExtendableGrids.split_grid_intoMethod
split_grid_into(
    source_grid::ExtendableGrid{T, K},
    targetgeometry::Type{<:AbstractElementGeometry};
    store_parents
) -> ExtendableGrid

generates a new ExtendableGrid by splitting each cell into subcells of the specified targetgeometry

split rules exist for

  • Quadrilateral2D into Triangle2D
  • Hexahedron3D into Tetrahedron3D
source
ExtendableGrids.uniform_refineMethod
uniform_refine(
    source_grid::ExtendableGrid{T, K};
    store_parents
) -> ExtendableGrid

generates a new ExtendableGrid by uniform refinement of each cell in the given grid

uniform refinement rules are available for these AbstractElementGeometries:

  • Line1D (bisection into two subsegments)
  • Triangle2D (red refinement into four subtriangles)
  • Quadrilateral2D (into four subquadrilaterals)
  • Tetrahedron (into eight subtetrahedrons)
  • Hexahedron (into eight subhexahedrons)

if multiple geometries are in the mesh uniform refinement will only work if all refinement rules refine faces and edges (in 3D) equally (so no hanging nodes are created)

source