30 #ifndef T8_FOREST_PRIVATE_H
31 #define T8_FOREST_PRIVATE_H
184 *all_owners_of_tree);
231 int element_is_desc);
250 int element_is_desc);
296 int *lower,
int *upper);
This structure holds the connectivity data of the coarse mesh.
Definition: t8_cmesh_types.h:83
This structure holds the data of a local tree including the information about face neighbors.
Definition: t8_cmesh_types.h:189
This struct holds virtual functions for a particular element class.
Definition: t8_element_cxx.hxx:47
The t8_element_array_t is an array to store t8_element_t * of a given eclass_scheme implementation.
Definition: t8_containers.h:42
This structure is private to the implementation.
Definition: t8_forest_types.h:69
The scheme holds implementations for one or more element classes.
Definition: t8_element.h:51
The t8 tree datatype.
Definition: t8_forest_types.h:139
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
int32_t t8_locidx_t
A type for processor-local indexing.
Definition: t8.h:94
enum t8_eclass t8_eclass_t
This enumeration contains all possible element classes.
struct t8_element t8_element_t
Opaque structure for a generic element, only used as pointer.
Definition: t8_element.h:42
We define the forest of trees in this file.
int t8_forest_last_tree_shared(t8_forest_t forest)
return nonzero if the last tree of a forest is shared with a bigger process.
Definition: t8_forest_cxx.cxx:1427
int t8_forest_min_nonempty_level(t8_cmesh_t cmesh, t8_scheme_cxx_t *scheme)
Compute the minimum possible uniform refinement level on a cmesh such that no process is empty.
Definition: t8_forest_cxx.cxx:99
void t8_forest_element_owners_at_neigh_face_bounds(t8_forest_t forest, t8_locidx_t ltreeid, const t8_element_t *element, int face, int *lower, int *upper)
Constant time algorithm to find bounds for the owner processes that own descendant of a face neighbor...
Definition: t8_forest_cxx.cxx:2855
void t8_forest_element_owners_at_face_bounds(t8_forest_t forest, t8_gloidx_t gtreeid, const t8_element_t *element, t8_eclass_t eclass, int face, int *lower, int *upper)
Constant time algorithm to compute lower and upper bounds for the owner processes of the face leafs o...
Definition: t8_forest_cxx.cxx:2786
t8_gloidx_t t8_forest_element_half_face_neighbors(t8_forest_t forest, t8_locidx_t ltreeid, const t8_element_t *elem, t8_element_t *neighs[], t8_eclass_scheme_c *neigh_scheme, int face, int num_neighs, int dual_faces[])
Construct all face neighbors of half size of a given element.
Definition: t8_forest_cxx.cxx:1720
int t8_forest_element_find_owner_ext(t8_forest_t forest, t8_gloidx_t gtreeid, t8_element_t *element, t8_eclass_t eclass, int lower_bound, int upper_bound, int guess, int element_is_desc)
Find the owner process of a given element, if bounds for the owner process are known.
Definition: t8_forest_cxx.cxx:2298
void t8_forest_element_owners_at_face(t8_forest_t forest, t8_gloidx_t gtreeid, const t8_element_t *element, t8_eclass_t eclass, int face, sc_array_t *owners)
Find all owner processes that own descendant of a given element that touch a given face.
Definition: t8_forest_cxx.cxx:2719
void t8_forest_print_all_leaf_neighbors(t8_forest_t forest)
Iterate over all leafs of a forest and for each face compute the face neighbor leafs with t8_forest_l...
Definition: t8_forest_cxx.cxx:2095
t8_element_t * t8_forest_get_tree_element(t8_tree_t tree, t8_locidx_t elem_in_tree)
Return an element of a tree.
Definition: t8_forest_private.c:28
int t8_forest_element_find_owner_old(t8_forest_t forest, t8_gloidx_t gtreeid, t8_element_t *element, t8_eclass_t eclass, sc_array_t *all_owners_of_tree)
Find the owner process of a given element, deprecated version.
Definition: t8_forest_cxx.cxx:2477
int t8_forest_element_find_owner(t8_forest_t forest, t8_gloidx_t gtreeid, t8_element_t *element, t8_eclass_t eclass)
Find the owner process of a given element.
Definition: t8_forest_cxx.cxx:2466
void t8_forest_compute_elements_offset(t8_forest_t forest)
Given a forest whose trees are already filled with elements compute the element offset of each local ...
Definition: t8_forest.c:1421
int t8_forest_first_tree_shared(t8_forest_t forest)
return nonzero if the first tree of a forest is shared with a smaller process.
Definition: t8_forest_cxx.cxx:1421
t8_ctree_t t8_forest_get_coarse_tree_ext(t8_forest_t forest, t8_locidx_t ltreeid, t8_locidx_t **face_neigh, int8_t **ttf)
Given the local id of a tree in a forest, return the coarse tree of the cmesh that corresponds to thi...
Definition: t8_forest.c:1200
void t8_forest_compute_maxlevel(t8_forest_t forest)
Compute the maximum possible refinement level in a forest.
Definition: t8_forest_cxx.cxx:46
void t8_forest_element_owners_bounds(t8_forest_t forest, t8_gloidx_t gtreeid, const t8_element_t *element, t8_eclass_t eclass, int *lower, int *upper)
Constant time algorithm to compute lower and upper bounds for the owner processes of a given element.
Definition: t8_forest_cxx.cxx:2757
int t8_forest_element_check_owner(t8_forest_t forest, t8_element_t *element, t8_gloidx_t gtreeid, t8_eclass_t eclass, int rank, int element_is_desc)
Perform a constant runtime check if a given rank is owner of a given element.
Definition: t8_forest_cxx.cxx:2162
void t8_forest_element_owners_at_neigh_face(t8_forest_t forest, t8_locidx_t ltreeid, const t8_element_t *element, int face, sc_array_t *owners)
Find all owner processes that own descendant of a face neighbor of a given local element that touch t...
Definition: t8_forest_cxx.cxx:2820
t8_element_array_t * t8_forest_get_tree_element_array(t8_forest_t forest, t8_locidx_t ltreeid)
Return the array of elements of a tree.
Definition: t8_forest_private.c:37
t8_eclass_scheme_c * t8_forest_get_eclass_scheme_before_commit(t8_forest_t forest, t8_eclass_t eclass)
Return the eclass scheme of a given element class associated to a forest.
Definition: t8_forest.c:1106
int t8_forest_element_has_leaf_desc(t8_forest_t forest, t8_gloidx_t gtreeid, const t8_element_t *element, t8_eclass_scheme_c *ts)
Compute whether for a given element there exist leaf or ghost leaf elements in the local forest that ...
Definition: t8_forest_cxx.cxx:2895