DOLFIN
DOLFIN C++ interface
fem_utils.h
1 // Copyright (C) 2013, 2015, 2016 Johan Hake, Jan Blechta
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 #ifndef __FEM_UTILS_H
19 #define __FEM_UTILS_H
20 
21 #include <vector>
22 
23 #include <dolfin/common/types.h>
24 
25 namespace dolfin
26 {
27  // Forward declarations
28  class Mesh;
29  class FunctionSpace;
30  class Function;
31  class MeshGeometry;
32 
49  std::vector<std::size_t> dof_to_vertex_map(const FunctionSpace& space);
50 
63  std::vector<dolfin::la_index> vertex_to_dof_map(const FunctionSpace& space);
64 
76  void set_coordinates(MeshGeometry& geometry, const Function& position);
77 
89  void get_coordinates(Function& position, const MeshGeometry& geometry);
90 
109  Mesh create_mesh(Function& coordinates);
110 }
111 
112 #endif
Definition: adapt.h:29
void set_coordinates(MeshGeometry &geometry, const Function &position)
Definition: fem_utils.cpp:267
void get_coordinates(Function &position, const MeshGeometry &geometry)
Definition: fem_utils.cpp:273
Mesh create_mesh(Function &coordinates)
Definition: fem_utils.cpp:279
std::vector< dolfin::la_index > vertex_to_dof_map(const FunctionSpace &space)
Definition: fem_utils.cpp:45
std::vector< std::size_t > dof_to_vertex_map(const FunctionSpace &space)
Definition: fem_utils.cpp:32