|
Reference documentation for deal.II version 9.2.0
|
\(\newcommand{\dealvcentcolon}{\mathrel{\mathop{:}}}\)
\(\newcommand{\dealcoloneq}{\dealvcentcolon\mathrel{\mkern-1.2mu}=}\)
\(\newcommand{\jump}[1]{\left[\!\left[ #1 \right]\!\right]}\)
\(\newcommand{\average}[1]{\left\{\!\left\{ #1 \right\}\!\right\}}\)
Go to the documentation of this file.
16 #ifndef dealii_p4est_wrappers_h
17 #define dealii_p4est_wrappers_h
23 #ifdef DEAL_II_WITH_P4EST
24 # include <p4est_bits.h>
25 # include <p4est_communication.h>
26 # include <p4est_extended.h>
27 # include <p4est_ghost.h>
28 # include <p4est_iterate.h>
29 # include <p4est_vtk.h>
30 # include <p8est_bits.h>
31 # include <p8est_communication.h>
32 # include <p8est_extended.h>
33 # include <p8est_ghost.h>
34 # include <p8est_iterate.h>
35 # include <p8est_vtk.h>
49 template <
int dim,
int spacedim>
77 static const int max_n_child_indices_bits = 27;
80 static const int n_bits = std::numeric_limits<quadrant>::digits;
128 static int (&quadrant_compare)(
const void *v1,
const void *v2);
171 static void (&connectivity_destroy)(p4est_connectivity_t *connectivity);
179 std::size_t data_size,
180 p4est_init_t init_fn,
181 void * user_pointer);
186 int refine_recursive,
187 p4est_refine_t refine_fn,
188 p4est_init_t init_fn);
191 int coarsen_recursive,
192 p4est_coarsen_t coarsen_fn,
193 p4est_init_t init_fn);
197 p4est_init_t init_fn);
200 int partition_for_coarsening,
201 p4est_weight_t weight_fn);
203 static void (&save)(
const char * filename,
209 std::size_t data_size,
216 static int (&connectivity_save)(
const char * filename,
222 std::size_t *length);
228 const char *baseName);
236 std::size_t data_size,
237 p4est_init_t init_fn,
238 void * user_pointer);
242 static std::size_t (&connectivity_memory_used)(
245 template <
int spacedim>
251 static constexpr
unsigned int max_level = P4EST_MAXLEVEL;
258 const void * src_data,
259 std::size_t data_size);
267 const void * src_data,
268 std::size_t data_size);
277 const int * dest_sizes,
278 const void * src_data,
279 const int * src_sizes);
287 const int * dest_sizes,
288 const void * src_data,
289 const int * src_sizes);
298 static int (&quadrant_compare)(
const void *v1,
const void *v2);
341 static void (&connectivity_destroy)(p8est_connectivity_t *connectivity);
349 std::size_t data_size,
350 p8est_init_t init_fn,
351 void * user_pointer);
356 int refine_recursive,
357 p8est_refine_t refine_fn,
358 p8est_init_t init_fn);
361 int coarsen_recursive,
362 p8est_coarsen_t coarsen_fn,
363 p8est_init_t init_fn);
367 p8est_init_t init_fn);
370 int partition_for_coarsening,
371 p8est_weight_t weight_fn);
373 static void (&save)(
const char * filename,
379 std::size_t data_size,
386 static int (&connectivity_save)(
const char * filename,
392 std::size_t *length);
398 const char *baseName);
405 std::size_t data_size,
406 p8est_init_t init_fn,
407 void * user_pointer);
411 static std::size_t (&connectivity_memory_used)(
414 static constexpr
unsigned int max_level = P8EST_MAXLEVEL;
421 const void * src_data,
422 std::size_t data_size);
430 const void * src_data,
431 std::size_t data_size);
440 const int * dest_sizes,
441 const void * src_data,
442 const int * src_sizes);
450 const int * dest_sizes,
451 const void * src_data,
452 const int * src_sizes);
550 #endif // DEAL_II_WITH_P4EST
552 #endif // dealii_p4est_wrappers_h
static types< 3 >::transfer_context *(&) transfer_custom_begin(const types< 3 >::gloidx *dest_gfq, const types< 3 >::gloidx *src_gfq, MPI_Comm mpicomm, int tag, void *dest_data, const int *dest_sizes, const void *src_data, const int *src_sizes)
p4est_iter_corner_t corner_iter
bool quadrant_is_ancestor(const typename types< dim >::quadrant &q1, const typename types< dim >::quadrant &q2)
static types< 3 >::forest *(&) load_ext(const char *filename, MPI_Comm mpicomm, std::size_t data_size, int load_data, int autopartition, int broadcasthead, void *user_pointer, types< 3 >::connectivity **p4est)
p4est_iter_face_t face_iter
p8est_iter_face_side_t face_side
p8est_iter_face_info_t face_info
p8est_iter_corner_info_t corner_info
p8est_connectivity_t connectivity
p8est_iter_corner_t corner_iter
p8est_transfer_context_t transfer_context
void coarsen(Triangulation< dim, spacedim > &tria, const Vector< Number > &criteria, const double threshold)
static types< 3 >::forest *(&) new_forest(MPI_Comm mpicomm, types< 3 >::connectivity *connectivity, types< 3 >::locidx min_quadrants, int min_level, int fill_uniform, std::size_t data_size, p8est_init_t init_fn, void *user_pointer)
p4est_iter_corner_side_t corner_side
p4est_connectivity_t connectivity
static types< 3 >::connectivity *(&) connectivity_load(const char *filename, std::size_t *length)
static types< 2 >::transfer_context *(&) transfer_fixed_begin(const types< 2 >::gloidx *dest_gfq, const types< 2 >::gloidx *src_gfq, MPI_Comm mpicomm, int tag, void *dest_data, const void *src_data, std::size_t data_size)
p4est_quadrant_t quadrant
static types< 2 >::ghost *(&) ghost_new(types< 2 >::forest *p4est, types< 2 >::balance_type btype)
void init_coarse_quadrant(typename types< dim >::quadrant &quad)
bool quadrant_is_equal(const typename types< dim >::quadrant &q1, const typename types< dim >::quadrant &q2)
p8est_quadrant_t quadrant
#define DEAL_II_NAMESPACE_OPEN
p4est_iter_face_info_t face_info
static types< 3 >::transfer_context *(&) transfer_fixed_begin(const types< 3 >::gloidx *dest_gfq, const types< 3 >::gloidx *src_gfq, MPI_Comm mpicomm, int tag, void *dest_data, const void *src_data, std::size_t data_size)
p4est_iter_corner_info_t corner_info
p8est_iter_edge_t edge_iter
static types< 2 >::forest *(&) new_forest(MPI_Comm mpicomm, types< 2 >::connectivity *connectivity, types< 2 >::locidx min_quadrants, int min_level, int fill_uniform, std::size_t data_size, p4est_init_t init_fn, void *user_pointer)
p8est_iter_corner_side_t corner_side
static types< 3 >::connectivity *(&) connectivity_new(types< 3 >::topidx num_vertices, types< 3 >::topidx num_trees, types< 3 >::topidx num_edges, types< 3 >::topidx num_ett, types< 3 >::topidx num_corners, types< 3 >::topidx num_ctt)
p8est_iter_face_t face_iter
p4est_connect_type_t balance_type
bool tree_exists_locally(const typename types< dim >::forest *parallel_forest, const typename types< dim >::topidx coarse_grid_cell)
static types< 2 >::connectivity *(&) connectivity_new(types< 2 >::topidx num_vertices, types< 2 >::topidx num_trees, types< 2 >::topidx num_corners, types< 2 >::topidx num_vtt)
static types< 3 >::ghost *(&) ghost_new(types< 3 >::forest *p4est, types< 3 >::balance_type btype)
p8est_iter_edge_info_t edge_info
static types< 2 >::connectivity *(&) connectivity_load(const char *filename, std::size_t *length)
p4est_transfer_context_t transfer_context
void init_quadrant_children(const typename types< dim >::quadrant &p4est_cell, typename types< dim >::quadrant(&p4est_children)[::GeometryInfo< dim >::max_children_per_cell])
static types< 2 >::forest *(&) load_ext(const char *filename, MPI_Comm mpicomm, std::size_t data_size, int load_data, int autopartition, int broadcasthead, void *user_pointer, types< 2 >::connectivity **p4est)
static types< 2 >::transfer_context *(&) transfer_custom_begin(const types< 2 >::gloidx *dest_gfq, const types< 2 >::gloidx *src_gfq, MPI_Comm mpicomm, int tag, void *dest_data, const int *dest_sizes, const void *src_data, const int *src_sizes)
#define DEAL_II_NAMESPACE_CLOSE
p4est_iter_face_side_t face_side
void refine(Triangulation< dim, spacedim > &tria, const Vector< Number > &criteria, const double threshold, const unsigned int max_to_mark=numbers::invalid_unsigned_int)
p8est_iter_edge_side_t edge_side
p8est_connect_type_t balance_type