29 #ifndef T8_GEOMETRY_ANALYTIC_HXX
30 #define T8_GEOMETRY_ANALYTIC_HXX
88 double *out_coords)
const;
105 double *jacobian)
const;
118 const double *points,
const int num_points,
int *is_inside,
119 const double tolerance)
121 SC_ABORTF (
"Function not yet implemented");
142 t8_geom_analytic_get_user_data ()
156 const void *tree_data;
159 const void *user_data;
This structure holds the connectivity data of the coarse mesh.
Definition: t8_cmesh_types.h:88
This structure is private to the implementation.
Definition: t8_forest_types.h:69
Definition: t8_geometry_analytic.hxx:38
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:58
virtual ~t8_geometry_analytic()
The destructor.
Definition: t8_geometry_analytic.hxx:63
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:66
t8_geometry_analytic(int dim, std::string name, t8_geom_analytic_fn analytical, t8_geom_analytic_jacobian_fn jacobian, t8_geom_load_tree_data_fn load_tree_data, t8_geom_tree_negative_volume_fn tree_negative_volume_in, const void *user_data)
Constructor of the analytic geometry with a given dimension.
Definition: t8_geometry_analytic.cxx:25
virtual void t8_geom_point_batch_inside_element(t8_forest_t forest, t8_locidx_t ltreeid, const t8_element_t *element, const double *points, const int num_points, int *is_inside, const double tolerance)
Definition: t8_geometry_analytic.hxx:117
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:50
t8_geometry_type_t t8_geom_get_type() const
Get the type of this geometry.
Definition: t8_geometry_analytic.hxx:73
virtual bool t8_geom_tree_negative_volume() const
Check if the currently active tree has a negative volume.
Definition: t8_geometry_analytic.cxx:79
The base class for all geometries.
Definition: t8_geometry_base.hxx:48
std::string name
The name of this geometry.
Definition: t8_geometry_base.hxx:183
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:100
int32_t t8_locidx_t
A type for processor-local indexing.
Definition: t8.h:89
struct t8_element t8_element_t
Opaque structure for a generic element, only used as pointer.
Definition: t8_element.h:42
@ T8_GEOMETRY_TYPE_ANALYTIC
The analytic geometry uses a user-defined analytic function to map into the physical domain.
Definition: t8_geometry.h:45
enum t8_geometry_type t8_geometry_type_t
This enumeration contains all possible geometries.
This header provides the C interface to create an analytical geometry.
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.h:57
void(* t8_geom_load_tree_data_fn)(t8_cmesh_t cmesh, t8_gloidx_t gtreeid, const void **tree_data)
Definition for the load tree data function.
Definition: t8_geometry_analytic.h:67
int(* t8_geom_tree_negative_volume_fn)()
Definition for the negative volume function.
Definition: t8_geometry_analytic.h:72
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.h:42
This header file provides a C interface for functions for the t8_geometry_with_vertices class.
Implements the inherited struct t8_geometry_with_vertices, which can be used for geometries that use ...