31 #ifndef T8_CMESH_OFFSET_H
32 #define T8_CMESH_OFFSET_H
114 int t8_offset_consistent (
int mpisize,
Shared memory array structure.
Definition: t8_shmem.c:35
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
We define the coarse mesh of trees in this file.
t8_gloidx_t t8_offset_last(int proc, const t8_gloidx_t *offset)
Return the last local tree of a given process in a partition.
Definition: t8_cmesh_offset.c:74
void t8_offset_all_owners_of_tree(int mpisize, t8_gloidx_t gtree, const t8_gloidx_t *offset, sc_array_t *owners)
Compute a list of all processes that own a specific tree.n offset minus 1.
Definition: t8_cmesh_offset.c:342
t8_gloidx_t t8_offset_first(int proc, const t8_gloidx_t *offset)
Return the global id of the first local tree of a given process in a partition.
Definition: t8_cmesh_offset.c:40
int t8_offset_last_owner_of_tree(int mpisize, t8_gloidx_t gtree, const t8_gloidx_t *offset, int *some_owner)
Find the biggest process that has a given tree as local tree.
Definition: t8_cmesh_offset.c:298
int t8_offset_sendstree(int proc_send, int proc_to, t8_gloidx_t gtree, const t8_gloidx_t *offset_from, const t8_gloidx_t *offset_to)
Query whether in a repartitioning setting, a given process sends a given tree to a second process.
Definition: t8_cmesh_offset.c:497
int t8_offset_prev_owner_of_tree(int mpisize, t8_gloidx_t gtree, const t8_gloidx_t *offset, int current_owner)
Given a process current_owner that has the tree gtree as local tree, find the next smaller rank that ...
Definition: t8_cmesh_offset.c:287
int t8_offset_range_send(int start, int end, int mpirank, const t8_gloidx_t *offset_from, const t8_gloidx_t *offset_to)
Count the number of processes in a given range [a,b] that send to a given other process in a repartit...
Definition: t8_cmesh_offset.c:537
int t8_offset_next_nonempty_rank(int rank, int mpisize, const t8_gloidx_t *offset)
Find the next higher rank that is not empty.
Definition: t8_cmesh_offset.c:112
int t8_offset_next_owner_of_tree(int mpisize, t8_gloidx_t gtree, const t8_gloidx_t *offset, int current_owner)
Given a process current_owner that has the tree gtree as local tree, find the next bigger rank that a...
Definition: t8_cmesh_offset.c:275
int t8_offset_nosend(int proc, int mpisize, const t8_gloidx_t *offset_from, const t8_gloidx_t *offset_to)
Query whether in a repartition setting a given process does send any of its local trees to any other ...
Definition: t8_cmesh_offset.c:375
t8_gloidx_t t8_offset_first_tree_to_entry(t8_gloidx_t first_tree, int shared)
Given the global tree id of the first local tree of a process and the flag whether it is shared or no...
Definition: t8_cmesh_offset.c:53
int t8_offset_first_owner_of_tree(int mpisize, t8_gloidx_t gtree, const t8_gloidx_t *offset, int *some_owner)
Find the smallest process that has a given tree as local tree.
Definition: t8_cmesh_offset.c:206
int t8_offset_any_owner_of_tree(int mpisize, t8_gloidx_t gtree, const t8_gloidx_t *offset)
Find any process that has a given tree as local tree.
Definition: t8_cmesh_offset.c:177
void t8_offset_print(t8_shmem_array_t offset, sc_MPI_Comm comm)
Print an offset array.
Definition: t8_cmesh_offset.c:552
t8_gloidx_t t8_offset_num_trees(int proc, const t8_gloidx_t *offset)
The number of trees of a given process in a partition.
Definition: t8_cmesh_offset.c:60
int t8_offset_sendsto(int proca, int procb, const t8_gloidx_t *t8_offset_from, const t8_gloidx_t *t8_offset_to)
Query whether in a repartitioning setting, a given process sends local trees (and then possibly ghost...
Definition: t8_cmesh_offset.c:448
int t8_offset_empty(int proc, const t8_gloidx_t *offset)
Check whether a given process has no local trees in a given partition.
Definition: t8_cmesh_offset.c:97
int t8_offset_in_range(t8_gloidx_t tree_id, int proc, const t8_gloidx_t *offset)
Determine whether a given global tree id is a local tree of a given process in a certain partition.
Definition: t8_cmesh_offset.c:166