5#ifndef INTERP_GRID_INTERNAL_H
6#define INTERP_GRID_INTERNAL_H
37 size_t ** src_indices,
size_t * count);
49 struct yac_interp_grid * interp_grid,
size_t ** tgt_indices,
size_t * count);
64 size_t * src_points,
size_t count);
79 size_t * src_points,
size_t count);
92 struct yac_interp_grid * interp_grid,
size_t * tgt_points,
size_t count);
109 yac_int * src_global_ids,
size_t count,
size_t * src_local_ids);
125 size_t count,
size_t * tgt_local_ids);
146 struct yac_interp_grid * interp_grid,
size_t * src_points,
size_t count,
147 size_t src_field_idx,
yac_int * src_global_ids);
159 struct yac_interp_grid * interp_grid,
size_t * tgt_points,
size_t count,
176 struct yac_interp_grid * interp_grid,
size_t * src_points,
size_t count,
192 struct yac_interp_grid * interp_grid,
size_t * tgt_points,
size_t count,
273 size_t count,
size_t * src_cells);
287 size_t count,
size_t * src_cells);
301 size_t count,
size_t n,
size_t * src_points,
double max_search_distance);
315 size_t count,
size_t n,
size_t * tgt_points,
double max_search_distance);
330 size_t count,
size_t src_field_idx,
size_t ** src_cells,
331 size_t * num_src_per_bnd_circle);
345 size_t count,
size_t ** tgt_cells,
size_t * num_tgt_per_bnd_circle);
356 struct yac_interp_grid * interp_grid,
size_t * tgt_cells,
size_t count,
357 size_t ** src_cells,
size_t * num_src_per_tgt);
368 struct yac_interp_grid * interp_grid,
size_t * src_cells,
size_t count,
369 size_t ** tgt_cells,
size_t * num_tgt_per_src);
417 size_t * neighbours);
438 size_t * neighbours);
457 size_t * src_corners,
size_t count,
size_t ** src_cells,
458 size_t * num_cells_per_corner);
478 size_t * tgt_corners,
size_t count,
size_t ** tgt_cells,
479 size_t * num_cells_per_corner);
504 size_t ** vertex_to_cell,
size_t ** vertex_to_cell_offsets,
505 int ** num_cells_per_vertex);
525 size_t src_field_idx,
size_t ** src_points,
size_t ** tgt_points,
526 double ** weights,
size_t *
count);
558 size_t ** neigh_vertices,
int * num_neighs_per_vertex);
578 enum yac_location src_location,
size_t ** src_points,
size_t ** tgt_points,
579 double ** weights,
size_t *
count);
int const * const_int_pointer
struct bounding_circle const *const const_bounding_circle_pointer
yac_int const * const_yac_int_pointer
void yac_interp_grid_do_points_search(struct yac_interp_grid *interp_grid, yac_coordinate_pointer search_coords, size_t count, size_t *src_cells)
void yac_interp_grid_get_tgt_cell_neighbours(struct yac_interp_grid *interp_grid, size_t *tgt_cells, size_t count, size_t *neighbours)
void yac_interp_grid_do_cell_search_tgt(struct yac_interp_grid *interp_grid, size_t *src_cells, size_t count, size_t **tgt_cells, size_t *num_tgt_per_src)
struct remote_point * yac_interp_grid_get_src_remote_points2(struct yac_interp_grid *interp_grid, enum yac_location location, size_t *src_points, size_t count)
enum yac_location yac_interp_grid_get_tgt_field_location(struct yac_interp_grid *interp_grid)
void yac_interp_grid_relocate_src_tgt_pairs(struct yac_interp_grid *interp_grid, int to_tgt_owner, size_t src_field_idx, size_t **src_points, size_t **tgt_points, double **weights, size_t *count)
size_t yac_interp_grid_get_num_src_fields(struct yac_interp_grid *interp_grid)
const_int_pointer yac_interp_grid_get_src_field_mask(struct yac_interp_grid *interp_grid, size_t src_field_idx)
char const * yac_interp_grid_get_src_grid_name(struct yac_interp_grid *interp_grid)
void yac_interp_grid_get_aux_grid_src(struct yac_interp_grid *interp_grid, size_t *cells, size_t count, size_t **vertex_to_cell, size_t **vertex_to_cell_offsets, int **num_cells_per_vertex)
void yac_interp_grid_get_tgt_points(struct yac_interp_grid *interp_grid, size_t **tgt_indices, size_t *count)
char const * yac_interp_grid_get_tgt_grid_name(struct yac_interp_grid *interp_grid)
void yac_interp_grid_do_bnd_circle_search_tgt(struct yac_interp_grid *interp_grid, const_bounding_circle_pointer bnd_circles, size_t count, size_t **tgt_cells, size_t *num_tgt_per_bnd_circle)
void yac_interp_grid_get_src_cell_neighbours(struct yac_interp_grid *interp_grid, size_t *src_cells, size_t count, size_t *neighbours)
void yac_interp_grid_get_tgt_global_ids(struct yac_interp_grid *interp_grid, size_t *tgt_points, size_t count, yac_int *tgt_global_ids)
void yac_interp_grid_do_bnd_circle_search_src(struct yac_interp_grid *interp_grid, const_bounding_circle_pointer bnd_circles, size_t count, size_t src_field_idx, size_t **src_cells, size_t *num_src_per_bnd_circle)
const_yac_int_pointer yac_interp_grid_get_src_field_global_ids(struct yac_interp_grid *interp_grid, size_t src_field_idx)
MPI_Comm yac_interp_grid_get_MPI_Comm(struct yac_interp_grid *interp_grid)
void yac_interp_grid_get_tgt_corner_cells(struct yac_interp_grid *interp_grid, size_t *tgt_corners, size_t count, size_t **tgt_cells, size_t *num_cells_per_corner)
struct remote_point * yac_interp_grid_get_tgt_remote_points(struct yac_interp_grid *interp_grid, size_t *tgt_points, size_t count)
void yac_interp_grid_get_src_points(struct yac_interp_grid *interp_grid, size_t src_field_idx, size_t **src_indices, size_t *count)
enum yac_location yac_interp_grid_get_src_field_location(struct yac_interp_grid *interp_grid, size_t src_field_idx)
void yac_interp_grid_get_src_coordinates(struct yac_interp_grid *interp_grid, size_t *src_points, size_t count, size_t src_field_idx, yac_coordinate_pointer src_coordinates)
struct remote_point * yac_interp_grid_get_src_remote_points(struct yac_interp_grid *interp_grid, size_t src_field_idx, size_t *src_points, size_t count)
void yac_interp_grid_do_nnn_search_src(struct yac_interp_grid *interp_grid, yac_coordinate_pointer search_coords, size_t count, size_t n, size_t *src_points, double max_search_distance)
yac_const_coordinate_pointer yac_interp_grid_get_src_field_coords(struct yac_interp_grid *interp_grid, size_t src_field_idx)
void yac_interp_grid_determine_dist_tgt_owners(struct yac_interp_grid *interp_grid, size_t *tgt_indices, size_t count, int *owners)
void yac_interp_grid_get_src_corner_cells(struct yac_interp_grid *interp_grid, size_t *src_corners, size_t count, size_t **src_cells, size_t *num_cells_per_corner)
void yac_interp_grid_get_tgt_vertex_neighbours(struct yac_interp_grid *interp_grid, size_t *vertices, size_t count, size_t **neigh_vertices, int *num_neighs_per_vertex)
void yac_interp_grid_get_tgt_coordinates(struct yac_interp_grid *interp_grid, size_t *tgt_points, size_t count, yac_coordinate_pointer tgt_coordinates)
void yac_interp_grid_do_points_search_gc(struct yac_interp_grid *interp_grid, yac_coordinate_pointer search_coords, size_t count, size_t *src_cells)
yac_const_coordinate_pointer yac_interp_grid_get_tgt_field_coords(struct yac_interp_grid *interp_grid)
struct yac_const_basic_grid_data * yac_interp_grid_get_basic_grid_data_tgt(struct yac_interp_grid *interp_grid)
void yac_interp_grid_get_src_global_ids(struct yac_interp_grid *interp_grid, size_t *src_points, size_t count, size_t src_field_idx, yac_int *src_global_ids)
void yac_interp_grid_do_nnn_search_tgt(struct yac_interp_grid *interp_grid, yac_coordinate_pointer search_coords, size_t count, size_t n, size_t *tgt_points, double max_search_distance)
void yac_interp_grid_tgt_global_to_local(struct yac_interp_grid *interp_grid, yac_int *tgt_global_ids, size_t count, size_t *tgt_local_ids)
void yac_interp_grid_do_cell_search_src(struct yac_interp_grid *interp_grid, size_t *tgt_cells, size_t count, size_t **src_cells, size_t *num_src_per_tgt)
void yac_interp_grid_relocate_src_tgt_pairs_orig(struct yac_interp_grid *interp_grid, int to_tgt_owner, enum yac_location src_location, size_t **src_points, size_t **tgt_points, double **weights, size_t *count)
void yac_interp_grid_src_global_to_local(struct yac_interp_grid *interp_grid, size_t src_field_idx, yac_int *src_global_ids, size_t count, size_t *src_local_ids)
struct yac_const_basic_grid_data * yac_interp_grid_get_basic_grid_data_src(struct yac_interp_grid *interp_grid)
information (global id and location) about a point that
double const (* yac_const_coordinate_pointer)[3]
double(* yac_coordinate_pointer)[3]