t8  1.2.0
t8code is a C library to manage a forest of adaptive space-trees of general element classes in parallel.
t8_geometry_helpers.h
Go to the documentation of this file.
1 /*
2  This file is part of t8code.
3  t8code is a C library to manage a collection (a forest) of multiple
4  connected adaptive space-trees of general element classes in parallel.
5 
6  Copyright (C) 2015 the developers
7 
8  t8code is free software; you can redistribute it and/or modify
9  it under the terms of the GNU General Public License as published by
10  the Free Software Foundation; either version 2 of the License, or
11  (at your option) any later version.
12 
13  t8code is distributed in the hope that it will be useful,
14  but WITHOUT ANY WARRANTY; without even the implied warranty of
15  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
16  GNU General Public License for more details.
17 
18  You should have received a copy of the GNU General Public License
19  along with t8code; if not, write to the Free Software Foundation, Inc.,
20  51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
21 */
22 
28 #ifndef T8_GEOMETRY_HELPERS_H
29 #define T8_GEOMETRY_HELPERS_H
30 
31 #include <t8.h>
32 
33 T8_EXTERN_C_BEGIN ();
34 
35 void t8_geom_compute_linear_geometry (t8_eclass_t tree_class,
36  const double
37  *tree_vertices,
38  const double *ref_coords,
39  double out_coords[3]);
40 
49 void t8_geom_linear_interpolation (const double *coefficients,
50  const double *corner_values,
51  int corner_value_dim,
52  int interpolation_dim,
53  double *evaluated_function);
54 
62 void t8_geom_get_face_vertices (t8_eclass_t tree_class,
63  const double *tree_vertices,
64  int face_index, int dim,
65  double *face_vertices);
66 
74 void t8_geom_get_edge_vertices (t8_eclass_t tree_class,
75  const double *tree_vertices,
76  int edge_index, int dim,
77  double *edge_vertices);
78 
79 T8_EXTERN_C_END ();
80 
81 #endif /* !T8_GEOMETRY_HELPERS_H! */
This is the administrative header file for t8code.
enum t8_eclass t8_eclass_t
This enumeration contains all possible element classes.
void t8_geom_get_face_vertices(t8_eclass_t tree_class, const double *tree_vertices, int face_index, int dim, double *face_vertices)
Copies the vertex coordinates of a tree face in zorder into a separate array.
Definition: t8_geometry_helpers.c:172
void t8_geom_linear_interpolation(const double *coefficients, const double *corner_values, int corner_value_dim, int interpolation_dim, double *evaluated_function)
Interpolates linearly between 2, bilinearly between 4 or trilineraly between 8 points.
Definition: t8_geometry_helpers.c:28
void t8_geom_get_edge_vertices(t8_eclass_t tree_class, const double *tree_vertices, int edge_index, int dim, double *edge_vertices)
Copies the vertex coordinates of a tree edge in zorder into a separate array.
Definition: t8_geometry_helpers.c:190