DOLFIN
DOLFIN C++ interface
refine.h
1 // Copyright (C) 2010 Garth N. Wells
2 //
3 // This file is part of DOLFIN.
4 //
5 // DOLFIN is free software: you can redistribute it and/or modify
6 // it under the terms of the GNU Lesser General Public License as published by
7 // the Free Software Foundation, either version 3 of the License, or
8 // (at your option) any later version.
9 //
10 // DOLFIN is distributed in the hope that it will be useful,
11 // but WITHOUT ANY WARRANTY; without even the implied warranty of
12 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13 // GNU Lesser General Public License for more details.
14 //
15 // You should have received a copy of the GNU Lesser General Public License
16 // along with DOLFIN. If not, see <http://www.gnu.org/licenses/>.
17 //
18 // Modified by Anders Logg, 2010.
19 //
20 // First added: 2010-02-10
21 // Last changed: 2013-05-12
22 //
23 // This file defines free functions for mesh refinement.
24 //
25 
26 #ifndef __DOLFIN_REFINE_H
27 #define __DOLFIN_REFINE_H
28 
29 namespace dolfin
30 {
31 
32  // Forward declarations
33  class Mesh;
34  class MeshHierarchy;
35  template <typename T> class MeshFunction;
36 
52  Mesh refine(const Mesh& mesh, bool redistribute = true);
53 
55  std::shared_ptr<const MeshHierarchy> refine(
56  const MeshHierarchy& hierarchy,
57  const MeshFunction<bool>& markers);
58 
68  void refine(Mesh& refined_mesh, const Mesh& mesh,
69  bool redistribute = true);
70 
98  Mesh refine(const Mesh& mesh, const MeshFunction<bool>& cell_markers,
99  bool redistribute = true);
100 
113  void refine(Mesh& refined_mesh, const Mesh& mesh,
114  const MeshFunction<bool>& cell_markers, bool redistribute = true);
115 
123  void p_refine(Mesh& refined_mesh, const Mesh& mesh);
124 
132  Mesh p_refine(const Mesh& mesh);
133 }
134 
135 #endif
Mesh refine(const Mesh &mesh, bool redistribute=true)
Definition: refine.cpp:39
Definition: adapt.h:29
void p_refine(Mesh &refined_mesh, const Mesh &mesh)
Definition: refine.cpp:131