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 Struct Reference
Inheritance diagram for t8_geometry_zero:
t8_geometry

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...
 
- Public Member Functions inherited from t8_geometry
 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

- Protected Attributes inherited from t8_geometry
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.
 

Constructor & Destructor Documentation

◆ t8_geometry_zero()

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}"

Parameters
[in]dim0 <= dimension <= 3. The dimension.

◆ ~t8_geometry_zero()

t8_geometry_zero::~t8_geometry_zero ( )
virtual

The destructor.

Clears the allocated memory.

Member Function Documentation

◆ t8_geom_evaluate()

void t8_geometry_zero::t8_geom_evaluate ( t8_cmesh_t  cmesh,
t8_gloidx_t  gtreeid,
const double *  ref_coords,
const size_t  num_coords,
double *  out_coords 
) const
virtual

Maps points in the reference space \( [0,1]^\mathrm{dim} \to \mathbb{R}^3 \).

Parameters
[in]cmeshThe cmesh in which the point lies.
[in]gtreeidThe global tree (of the cmesh) in which the reference point is.
[in]ref_coordsArray of dimension x num_coords many entries, specifying points in \( [0,1]^\mathrm{dim} \).
[in]num_coordsAmount of points of /f$ \mathrm{dim} /f$ to map.
[out]out_coordsThe mapped coordinates in physical space of ref_coords. The length is num_coords * 3.
Note
All entries in out_coords will be set to 0.

Implements t8_geometry.

◆ t8_geom_evaluate_jacobian()

void t8_geometry_zero::t8_geom_evaluate_jacobian ( t8_cmesh_t  cmesh,
t8_gloidx_t  gtreeid,
const double *  ref_coords,
const size_t  num_coords,
double *  jacobian 
) const
virtual

Compute the jacobian of the t8_geom_evaluate map at a point in the reference space \( [0,1]^\mathrm{dim} \).

Parameters
[in]cmeshThe cmesh in which the point lies.
[in]gtreeidThe global tree (of the cmesh) in which the reference point is.
[in]ref_coordsArray of dimension x num_coords many entries, specifying points in \( [0,1]^\mathrm{dim} \).
[in]num_coordsAmount of points of /f$ \mathrm{dim} /f$ to map.
[out]jacobianThe 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} \)).
Note
All entries in jacobian will be set to zero.

Implements t8_geometry.

◆ t8_geom_get_type()

t8_geometry_type_t t8_geometry_zero::t8_geom_get_type ( ) const
inlinevirtual

Get the type of this geometry.

Returns
The type.

Implements t8_geometry.

◆ t8_geom_load_tree_data()

void t8_geometry_zero::t8_geom_load_tree_data ( t8_cmesh_t  cmesh,
t8_gloidx_t  gtreeid 
)
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.

Parameters
[in]cmeshThe cmesh.
[in]gtreeidThe global tree.

Implements t8_geometry.

◆ t8_geom_point_batch_inside_element()

virtual void t8_geometry_zero::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 
)
inlinevirtual
Parameters
[in]forestThe forest of the element.
[in]ltreeidThe local tree id of the element's tree
[in]elementThe element
[in]pointspoints to check
[in]num_pointsNumber of points to check
[in,out]is_insideArray to fill with flags whether the point is inside or not
[in]toleranceTolerance of the inside-check

◆ t8_geom_tree_negative_volume()

virtual bool t8_geometry_zero::t8_geom_tree_negative_volume ( ) const
inlinevirtual

Check if the currently active tree has a negative volume.

Returns
True (non-zero) if the currently loaded tree has a negative volume. 0 otherwise.

Reimplemented from t8_geometry.


The documentation for this struct was generated from the following files: