DOLFIN-X
DOLFIN-X C++ interface
Static Public Member Functions | List of all members
dolfinx::refinement::PlazaRefinementND Class Reference

Implementation of the refinement method described in Plaza and Carey "Local refinement of simplicial grids based on the skeleton" (Applied Numerical Mathematics 32 (2000) 195-218) More...

#include <PlazaRefinementND.h>

Static Public Member Functions

static mesh::Mesh refine (const mesh::Mesh &mesh, bool redistribute)
 Uniform refine, optionally redistributing and optionally calculating the parent-child relation for facets (in 2D) More...
 
static mesh::Mesh refine (const mesh::Mesh &mesh, const mesh::MeshTags< std::int8_t > &refinement_marker, bool redistribute)
 Refine with markers, optionally redistributing. More...
 
static std::vector< std::int32_t > get_simplices (const std::vector< bool > &marked_edges, const std::vector< std::int32_t > &longest_edge, std::int32_t tdim, bool uniform)
 Get the subdivision of an original simplex into smaller simplices, for a given set of marked edges, and the longest edge of each facet (cell local indexing). A flag indicates if a uniform subdivision is preferable in 2D. More...
 

Detailed Description

Implementation of the refinement method described in Plaza and Carey "Local refinement of simplicial grids based on the skeleton" (Applied Numerical Mathematics 32 (2000) 195-218)

Member Function Documentation

◆ get_simplices()

std::vector< std::int32_t > PlazaRefinementND::get_simplices ( const std::vector< bool > &  marked_edges,
const std::vector< std::int32_t > &  longest_edge,
std::int32_t  tdim,
bool  uniform 
)
static

Get the subdivision of an original simplex into smaller simplices, for a given set of marked edges, and the longest edge of each facet (cell local indexing). A flag indicates if a uniform subdivision is preferable in 2D.

Parameters
[in]marked_edgesVector indicating which edges are to be split
[in]longest_edgeVector indicating the longest edge for each triangle. For tdim=2, one entry, for tdim=3, four entries.
[in]tdimTopological dimension (2 or 3)
[in]uniformMake a "uniform" subdivision with all triangles being similar shape
Returns

◆ refine() [1/2]

mesh::Mesh PlazaRefinementND::refine ( const mesh::Mesh mesh,
bool  redistribute 
)
static

Uniform refine, optionally redistributing and optionally calculating the parent-child relation for facets (in 2D)

Parameters
[in]meshInput mesh to be refined
[in]redistributeFlag to call the Mesh Partitioner to redistribute after refinement
Returns
New mesh

◆ refine() [2/2]

mesh::Mesh PlazaRefinementND::refine ( const mesh::Mesh mesh,
const mesh::MeshTags< std::int8_t > &  refinement_marker,
bool  redistribute 
)
static

Refine with markers, optionally redistributing.

Parameters
[in]meshInput mesh to be refined
[in]refinement_markerMeshTags listing mesh entities which should be split by this refinement. Value == 1 means "refine", any other value means "do not refine".
[in]redistributeFlag to call the Mesh Partitioner to redistribute after refinement
Returns
New Mesh

The documentation for this class was generated from the following files: