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_zero.hxx
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 
29 #ifndef T8_GEOMETRY_ZERO_HXX
30 #define T8_GEOMETRY_ZERO_HXX
31 
32 #include <t8.h>
34 
36 {
37 public:
38 
39  /* Basic constructor that sets the dimension and the name
40  * to "t8_geom_zero_{dimension}" */
42 
46  virtual ~ t8_geometry_zero ();
47 
56  virtual void t8_geom_evaluate (t8_cmesh_t cmesh,
57  t8_gloidx_t gtreeid,
58  const double *ref_coords,
59  double out_coords[3]) const;
60 
70  virtual void t8_geom_evalute_jacobian (t8_cmesh_t cmesh,
71  t8_gloidx_t gtreeid,
72  const double *ref_coords,
73  double *jacobian) const;
74 
82  virtual inline void t8_geom_load_tree_data (t8_cmesh_t cmesh,
83  t8_gloidx_t gtreeid);
84 };
85 
86 #endif /* !T8_GEOMETRY_ZERO_HXX! */
This structure holds the connectivity data of the coarse mesh.
Definition: t8_cmesh_types.h:83
Definition: t8_geometry_zero.hxx:36
virtual void t8_geom_evaluate(t8_cmesh_t cmesh, t8_gloidx_t gtreeid, const double *ref_coords, double out_coords[3]) const
Map a point in the reference space $$[0,1]^dimension$$ to $$\mathbb R^3$$.
Definition: t8_geometry_zero.cxx:51
virtual void t8_geom_load_tree_data(t8_cmesh_t cmesh, t8_gloidx_t gtreeid)
Update a possible internal data buffer for per tree data.
Definition: t8_geometry_zero.cxx:85
virtual ~ t8_geometry_zero()
The destructor.
virtual void t8_geom_evalute_jacobian(t8_cmesh_t cmesh, t8_gloidx_t gtreeid, const double *ref_coords, double *jacobian) const
Compute the jacobian of the t8_geom_evaluate map at a point in the reference space $$[0,...
Definition: t8_geometry_zero.cxx:74
Definition: t8_geometry_base.hxx:38
int dimension
The dimension of reference space for which this is a geometry.
Definition: t8_geometry_base.hxx:117
This is the administrative header file for t8code.
int64_t t8_gloidx_t
A type for global indexing that holds really big numbers.
Definition: t8.h:105
Implements the base pure virtual class t8_geometry and the inherited class t8_geometry_w_vertices.