t8
UNKNOWN
t8code is a C library to manage a forest of adaptive space-trees of general element classes in parallel.
|
Public Member Functions | |
t8_geometry_zero (int dimension) | |
Constructor of the zero geometry with a given dimension. More... | |
virtual bool | t8_geom_tree_negative_volume () const |
Check if the currently active tree has a negative volume. More... | |
virtual | ~t8_geometry_zero () |
The destructor. More... | |
t8_geometry_type_t | t8_geom_get_type () const |
Get the type of this geometry. More... | |
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 \( [0,1]^\mathrm{dim} \to \mathbb{R}^3 \). More... | |
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 \( [0,1]^\mathrm{dim} \). More... | |
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) |
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. More... | |
![]() | |
t8_geometry (int dim, std::string name) | |
virtual | ~t8_geometry () |
The destructor. More... | |
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) const |
Query whether a batch of points lies inside an element. More... | |
int | t8_geom_get_dimension () const |
Get the dimension of this geometry. More... | |
const std::string | t8_geom_get_name () const |
Get the name of this geometry. More... | |
const size_t | t8_geom_get_hash () const |
Additional Inherited Members | |
![]() | |
int | dimension |
The dimension of reference space for which this is a geometry. | |
std::string | name |
The name of this geometry. | |
size_t | hash |
The hash of the name of this geometry. | |
t8_geometry_zero::t8_geometry_zero | ( | int | dimension | ) |
Constructor of the zero geometry with a given dimension.
The geometry is viable with all tree types. This geometry maps all points to zero and is meant for debugging purposes. Sets the dimension and the name to "t8_geom_zero_{dim}"
[in] | dim | 0 <= dimension <= 3. The dimension. |
|
virtual |
The destructor.
Clears the allocated memory.
|
virtual |
Maps points in the reference space \( [0,1]^\mathrm{dim} \to \mathbb{R}^3 \).
[in] | cmesh | The cmesh in which the point lies. |
[in] | gtreeid | The global tree (of the cmesh) in which the reference point is. |
[in] | ref_coords | Array of dimension x num_coords many entries, specifying points in \( [0,1]^\mathrm{dim} \). |
[in] | num_coords | Amount of points of /f$ \mathrm{dim} /f$ to map. |
[out] | out_coords | The mapped coordinates in physical space of ref_coords. The length is num_coords * 3. |
Implements t8_geometry.
|
virtual |
Compute the jacobian of the t8_geom_evaluate map at a point in the reference space \( [0,1]^\mathrm{dim} \).
[in] | cmesh | The cmesh in which the point lies. |
[in] | gtreeid | The global tree (of the cmesh) in which the reference point is. |
[in] | ref_coords | Array of dimension x num_coords many entries, specifying points in \( [0,1]^\mathrm{dim} \). |
[in] | num_coords | Amount of points of /f$ \mathrm{dim} /f$ to map. |
[out] | jacobian | The jacobian at ref_coords. Array of size num_coords x dimension x 3. Indices \( 3 \cdot i\) , \( 3 \cdot i+1 \) , \( 3 \cdot i+2 \) correspond to the \( i \)-th column of the jacobian (Entry \( 3 \cdot i + j \) is \( \frac{\partial f_j}{\partial x_i} \)). |
Implements t8_geometry.
|
inlinevirtual |
|
inlinevirtual |
Update a possible internal data buffer for per tree data.
This function is called before the first coordinates in a new tree are evaluated. In this implementation, we do nothing, since we do not need any tree data.
[in] | cmesh | The cmesh. |
[in] | gtreeid | The global tree. |
Implements t8_geometry.
|
inlinevirtual |
[in] | forest | The forest of the element. |
[in] | ltreeid | The local tree id of the element's tree |
[in] | element | The element |
[in] | points | points to check |
[in] | num_points | Number of points to check |
[in,out] | is_inside | Array to fill with flags whether the point is inside or not |
[in] | tolerance | Tolerance of the inside-check |
|
inlinevirtual |
Check if the currently active tree has a negative volume.
Reimplemented from t8_geometry.