25 #ifndef P6EST_LNODES_H
26 #define P6EST_LNODES_H
30 #include <p4est_lnodes.h>
31 #include <p8est_lnodes.h>
52 typedef p8est_lnodes_code_t p6est_lnodes_code_t;
118 p6est_lnodes_decode (p6est_lnodes_code_t face_code,
int hanging_face[6],
119 int hanging_edge[12])
121 P4EST_ASSERT (face_code >= 0);
129 p4est_lnodes_code_t fc4 = face_code & 0x000f;
130 int16_t h = (face_code & 0x0010) >> 4;
131 int16_t work = face_code >> 5;
135 memset (hanging_face, -1, 6 *
sizeof (
int));
136 memset (hanging_edge, -1, 12 *
sizeof (
int));
140 p4est_lnodes_decode (fc4, hanging_face + 2);
141 for (f = 0; f < 4; f++) {
142 hf = hanging_face[f + 2];
152 hanging_face[f + 2] = (hf << 1) | h;
155 hanging_face[f + 2] = 4 + hf;
164 hanging_face[f + 2] = 6 + h;
168 for (e = 0; e < 4; e++) {
170 if (hanging_edge[e] < 0) {
173 #ifdef P4EST_ENABLE_DEBUG
175 P4EST_ASSERT (hanging_edge[e] == 2 + h || hanging_edge[e] == 4);
195 p8est_lnodes_destroy (lnodes);
200 p6est_lnodes_share_owned_begin (
sc_array_t * node_data,
203 return p8est_lnodes_share_owned_begin (node_data, lnodes);
210 p8est_lnodes_share_owned_end (buffer);
217 p8est_lnodes_share_owned (node_data, lnodes);
224 return p8est_lnodes_share_all_begin (node_data, lnodes);
231 p8est_lnodes_share_all_end (buffer);
238 return p8est_lnodes_share_all (node_data, lnodes);
245 p8est_lnodes_buffer_destroy (buffer);
250 p6est_lnodes_rank_array_index_int (
sc_array_t * array,
int it)
252 return p8est_lnodes_rank_array_index_int (array, it);
257 p6est_lnodes_rank_array_index (
sc_array_t * array,
size_t it)
259 return p8est_lnodes_rank_array_index (array, it);
266 return p8est_lnodes_global_index (lnodes, lidx);
int32_t p4est_locidx_t
Typedef for processor-local indexing of quadrants and nodes.
Definition: p4est_base.h:106
int64_t p4est_gloidx_t
Typedef for globally unique indexing of quadrants.
Definition: p4est_base.h:118
A hybrid 2D+1D AMR extension.
passing columns of layers and data to neighboring processes
const int p8est_face_edges[6][4]
Store the edge numbers 0..12 for each tree face.
columns of layers that neighbor the local domain
Definition: p6est_ghost.h:42
The p6est forest datatype.
Definition: p6est.h:165
p8est_lnodes_buffer_t handles the communication of data associated with nodes.
Definition: p8est_lnodes.h:319
The structure stored in the sharers array.
Definition: p8est_lnodes.h:141
Store a parallel numbering of Lobatto points of a given degree > 0.
Definition: p8est_lnodes.h:113