27 #ifndef T8_GEOMETRY_ANALYTIC_HXX
28 #define T8_GEOMETRY_ANALYTIC_HXX
47 const size_t num_coords,
double *out_coords,
const void *tree_data,
48 const void *user_data);
62 const size_t num_coords,
double *jacobian,
const void *tree_data,
63 const void *user_data);
66 typedef void (*t8_geom_load_tree_data_fn) (
t8_cmesh_t cmesh,
t8_gloidx_t gtreeid,
const void **tree_data);
83 const void *user_data);
113 double *out_coords)
const;
130 double *jacobian)
const;
143 t8_geom_analytic_get_user_data ()
153 t8_geom_load_tree_data_fn load_tree_data;
155 const void *tree_data;
158 const void *user_data;
This structure holds the connectivity data of the coarse mesh.
Definition: t8_cmesh_types.h:88
Definition: t8_geometry_analytic.hxx:69
virtual void t8_geom_evaluate_jacobian(t8_cmesh_t cmesh, t8_gloidx_t gtreeid, const double *ref_coords, const size_t num_coords, double *jacobian) const
Compute the jacobian of the t8_geom_evaluate map at a point in the reference space .
Definition: t8_geometry_analytic.cxx:49
virtual ~t8_geometry_analytic()
The destructor.
Definition: t8_geometry_analytic.hxx:88
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_analytic.cxx:57
virtual void t8_geom_evaluate(t8_cmesh_t cmesh, t8_gloidx_t gtreeid, const double *ref_coords, const size_t num_coords, double *out_coords) const
Maps points in the reference space .
Definition: t8_geometry_analytic.cxx:41
t8_geometry_type_t t8_geom_get_type() const
Get the type of this geometry.
Definition: t8_geometry_analytic.hxx:98
t8_geometry_analytic(int dim, const char *name, t8_geom_analytic_fn analytical, t8_geom_analytic_jacobian_fn jacobian, t8_geom_load_tree_data_fn load_tree_data, const void *user_data)
Constructor of the analytic geometry with a given dimension.
Definition: t8_geometry_analytic.cxx:25
Definition: t8_geometry_base.hxx:37
const char * name
The name of this geometry.
Definition: t8_geometry_base.hxx:130
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:98
@ T8_GEOMETRY_TYPE_ANALYTIC
The analytic geometry uses a user-defined analytic function to map into the physical domain.
Definition: t8_geometry.h:43
enum t8_geometry_type t8_geometry_type_t
This enumeration contains all possible geometries.
void(* t8_geom_analytic_jacobian_fn)(t8_cmesh_t cmesh, t8_gloidx_t gtreeid, const double *ref_coords, const size_t num_coords, double *jacobian, const void *tree_data, const void *user_data)
Definition for the jacobian of an analytic geometry function.
Definition: t8_geometry_analytic.hxx:61
void(* t8_geom_analytic_fn)(t8_cmesh_t cmesh, t8_gloidx_t gtreeid, const double *ref_coords, const size_t num_coords, double *out_coords, const void *tree_data, const void *user_data)
Definition of an analytic geometry function.
Definition: t8_geometry_analytic.hxx:46
This header file provides a C interface for functions for the t8_geometry_with_vertices class.
Implements the inherited class t8_geometry_with_vertices, which can be used for geometries that use v...