29#include <p4est_lnodes.h>
30#include <p8est_lnodes.h>
51typedef p8est_lnodes_code_t p6est_lnodes_code_t;
117p6est_lnodes_decode (p6est_lnodes_code_t face_code,
int hanging_face[6],
118 int hanging_edge[12])
120 P4EST_ASSERT (face_code >= 0);
128 p4est_lnodes_code_t fc4 = face_code & 0x000f;
129 int16_t h = (face_code & 0x0010) >> 4;
130 int16_t work = face_code >> 5;
134 memset (hanging_face, -1, 6 *
sizeof (
int));
135 memset (hanging_edge, -1, 12 *
sizeof (
int));
139 p4est_lnodes_decode (fc4, hanging_face + 2);
140 for (f = 0; f < 4; f++) {
141 hf = hanging_face[f + 2];
151 hanging_face[f + 2] = (hf << 1) | h;
154 hanging_face[f + 2] = 4 + hf;
163 hanging_face[f + 2] = 6 + h;
167 for (e = 0; e < 4; e++) {
169 if (hanging_edge[e] < 0) {
172#ifdef P4EST_ENABLE_DEBUG
174 P4EST_ASSERT (hanging_edge[e] == 2 + h || hanging_edge[e] == 4);
194 p8est_lnodes_destroy (lnodes);
199p6est_lnodes_share_owned_begin (sc_array_t * node_data,
202 return p8est_lnodes_share_owned_begin (node_data, lnodes);
209 p8est_lnodes_share_owned_end (buffer);
214p6est_lnodes_share_owned (sc_array_t * node_data,
p6est_lnodes_t * lnodes)
216 p8est_lnodes_share_owned (node_data, lnodes);
221p6est_lnodes_share_all_begin (sc_array_t * node_data,
p6est_lnodes_t * lnodes)
223 return p8est_lnodes_share_all_begin (node_data, lnodes);
230 p8est_lnodes_share_all_end (buffer);
235p6est_lnodes_share_all (sc_array_t * node_data,
p6est_lnodes_t * lnodes)
237 return p8est_lnodes_share_all (node_data, lnodes);
244 p8est_lnodes_buffer_destroy (buffer);
249p6est_lnodes_rank_array_index_int (sc_array_t * array,
int it)
251 return p8est_lnodes_rank_array_index_int (array, it);
256p6est_lnodes_rank_array_index (sc_array_t * array,
size_t it)
258 return p8est_lnodes_rank_array_index (array, it);
265 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
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:318
The structure stored in the sharers array.
Definition: p8est_lnodes.h:140
Store a parallel numbering of Lobatto points of a given degree > 0.
Definition: p8est_lnodes.h:112