DOLFIN-X
DOLFIN-X C++ interface
PlazaRefinementND.h
1 // Copyright (C) 2014-2018 Chris Richardson
2 //
3 // This file is part of DOLFINX (https://www.fenicsproject.org)
4 //
5 // SPDX-License-Identifier: LGPL-3.0-or-later
6 
7 #include <cstdint>
8 #include <utility>
9 #include <vector>
10 
11 #pragma once
12 
13 namespace dolfinx
14 {
15 
16 namespace mesh
17 {
18 class Mesh;
19 template <typename T>
20 class MeshTags;
21 } // namespace mesh
22 
23 namespace refinement
24 {
25 class ParallelRefinement;
26 
30 
32 {
33 public:
41  static mesh::Mesh refine(const mesh::Mesh& mesh, bool redistribute);
42 
52  static mesh::Mesh refine(const mesh::Mesh& mesh,
53  const mesh::MeshTags<std::int8_t>& refinement_marker,
54  bool redistribute);
55 
69  static std::vector<std::int32_t>
70  get_simplices(const std::vector<bool>& marked_edges,
71  const std::vector<std::int32_t>& longest_edge,
72  std::int32_t tdim, bool uniform);
73 };
74 } // namespace refinement
75 } // namespace dolfinx
dolfinx::mesh::MeshTags
A MeshTags are used to associate mesh entities with values. The entity index (local to process) ident...
Definition: Form.h:35
dolfinx::mesh::Mesh
A Mesh consists of a set of connected and numbered mesh topological entities, and geometry data.
Definition: Mesh.h:46
dolfinx::refinement::PlazaRefinementND::get_simplices
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,...
Definition: PlazaRefinementND.cpp:490
dolfinx::refinement::PlazaRefinementND::refine
static mesh::Mesh refine(const mesh::Mesh &mesh, bool redistribute)
Uniform refine, optionally redistributing and optionally calculating the parent-child relation for fa...
Definition: PlazaRefinementND.cpp:448
dolfinx::refinement::PlazaRefinementND
Implementation of the refinement method described in Plaza and Carey "Local refinement of simplicial ...
Definition: PlazaRefinementND.h:31