Loading...
Searching...
No Matches
dolfin::PlazaRefinementND Class Reference

`#include <PlazaRefinementND.h>`

## Static Public Member Functions

static void | refine (Mesh &new_mesh, const Mesh &mesh, bool redistribute, bool calculate_parent_facets)
static void | refine (Mesh &new_mesh, const Mesh &mesh, const MeshFunction< bool > &refinement_marker, bool redistribute, bool calculate_parent_facets)
static void | refine (Mesh &new_mesh, const Mesh &mesh, const MeshFunction< bool > &refinement_marker, bool calculate_parent_facets, MeshRelation &mesh_relation)
static void | get_simplices (std::vector< std::size_t > &simplex_set, const std::vector< bool > &marked_edges, const std::vector< std::size_t > &longest_edge, std::size_t tdim, bool uniform)

## 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()

void PlazaRefinementND::get_simplices | ( | std::vector< std::size_t > & | simplex_set,
|  | const std::vector< bool > & | marked_edges,
|  | const std::vector< std::size_t > & | longest_edge,
|  | std::size_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

  simplex_set | Returned set of triangles/tets topological description
  marked_edges | Vector indicating which edges are to be split
  longest_edge | Vector indicating the longest edge for each triangle. For tdim=2, one entry, for tdim=3, four entries.
  tdim | Topological dimension (2 or 3)
  uniform | Make a "uniform" subdivision with all triangles being similar shape

## refine() [1/3]

void PlazaRefinementND::refine | ( | Mesh & | new_mesh,
|  | const Mesh & | mesh,
|  | bool | redistribute,
|  | bool | calculate_parent_facets )

static

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

Parameters

  new_mesh | New Mesh
  mesh | Input mesh to be refined
  redistribute | Flag to call the Mesh Partitioner to redistribute after refinement
  calculate_parent_facets | Flag to build parent facet information, needed to propagate information on boundaries

## refine() [2/3]

void PlazaRefinementND::refine | ( | Mesh & | new_mesh,
|  | const Mesh & | mesh,
|  | const MeshFunction< bool > & | refinement_marker,
|  | bool | calculate_parent_facets,
|  | MeshRelation & | mesh_relation )

static

Refine with markers, optionally calculating facet relations, and saving relation data in MeshRelation structure

Parameters

  new_mesh | New Mesh
  mesh | Input mesh to be refined
  refinement_marker | MeshFunction listing MeshEntities which should be split by this refinement
  calculate_parent_facets | Flag to build parent facet information, needed to propagate information on boundaries
  mesh_relation | New relationship between the two meshes

## refine() [3/3]

void PlazaRefinementND::refine | ( | Mesh & | new_mesh,
|  | const Mesh & | mesh,
|  | const MeshFunction< bool > & | refinement_marker,
|  | bool | redistribute,
|  | bool | calculate_parent_facets )

static

Refine with markers, optionally redistributing and optionally calculating the parent-child relation for facets (in 2D)

Parameters

  new_mesh | New Mesh
  mesh | Input mesh to be refined
  refinement_marker | MeshFunction listing MeshEntities which should be split by this refinement
  redistribute | Flag to call the Mesh Partitioner to redistribute after refinement
  calculate_parent_facets | Flag to build parent facet information, needed to propagate information on boundaries

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

- /build/dolfin-lFBzDh/dolfin-2019.2.0~legacy20240219.1c52e83/dolfin/refinement/PlazaRefinementND.h
- /build/dolfin-lFBzDh/dolfin-2019.2.0~legacy20240219.1c52e83/dolfin/refinement/PlazaRefinementND.cpp