YetAnotherCoupler 3.5.2
Loading...
Searching...
No Matches
interp_grid_internal.h
Go to the documentation of this file.
1// Copyright (c) 2024 The YAC Authors
2//
3// SPDX-License-Identifier: BSD-3-Clause
4
5#ifndef INTERP_GRID_INTERNAL_H
6#define INTERP_GRID_INTERNAL_H
7
8#include "interp_grid.h"
10
16 struct yac_interp_grid * interp_grid);
17
23 struct yac_interp_grid * interp_grid);
24
36 struct yac_interp_grid * interp_grid, size_t src_field_idx,
37 size_t ** src_indices, size_t * count);
38
49 struct yac_interp_grid * interp_grid, size_t ** tgt_indices, size_t * count);
50
63 struct yac_interp_grid * interp_grid, size_t src_field_idx,
64 size_t * src_points, size_t count);
65
78 struct yac_interp_grid * interp_grid, enum yac_location location,
79 size_t * src_points, size_t count);
80
92 struct yac_interp_grid * interp_grid, size_t * tgt_points, size_t count);
93
108 struct yac_interp_grid * interp_grid, size_t src_field_idx,
109 yac_int * src_global_ids, size_t count, size_t * src_local_ids);
110
124 struct yac_interp_grid * interp_grid, yac_int * tgt_global_ids,
125 size_t count, size_t * tgt_local_ids);
126
133 struct yac_interp_grid * interp_grid);
134
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);
148
159 struct yac_interp_grid * interp_grid, size_t * tgt_points, size_t count,
160 yac_int * tgt_global_ids);
161
176 struct yac_interp_grid * interp_grid, size_t * src_points, size_t count,
177 size_t src_field_idx, yac_coordinate_pointer src_coordinates);
178
192 struct yac_interp_grid * interp_grid, size_t * tgt_points, size_t count,
193 yac_coordinate_pointer tgt_coordinates);
194
200size_t yac_interp_grid_get_num_src_fields(struct yac_interp_grid * interp_grid);
201
209 struct yac_interp_grid * interp_grid, size_t src_field_idx);
210
219 struct yac_interp_grid * interp_grid, size_t src_field_idx);
220
234 struct yac_interp_grid * interp_grid, size_t src_field_idx);
235
248 struct yac_interp_grid * interp_grid);
249
260 struct yac_interp_grid * interp_grid, size_t src_field_idx);
261
272 struct yac_interp_grid * interp_grid, yac_coordinate_pointer search_coords,
273 size_t count, size_t * src_cells);
274
286 struct yac_interp_grid * interp_grid, yac_coordinate_pointer search_coords,
287 size_t count, size_t * src_cells);
288
300 struct yac_interp_grid * interp_grid, yac_coordinate_pointer search_coords,
301 size_t count, size_t n, size_t * src_points, double max_search_distance);
302
314 struct yac_interp_grid * interp_grid, yac_coordinate_pointer search_coords,
315 size_t count, size_t n, size_t * tgt_points, double max_search_distance);
316
328 struct yac_interp_grid * interp_grid,
330 size_t count, size_t src_field_idx, size_t ** src_cells,
331 size_t * num_src_per_bnd_circle);
332
343 struct yac_interp_grid * interp_grid,
345 size_t count, size_t ** tgt_cells, size_t * num_tgt_per_bnd_circle);
346
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);
358
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);
370
376MPI_Comm yac_interp_grid_get_MPI_Comm(struct yac_interp_grid * interp_grid);
377
386 struct yac_interp_grid * interp_grid);
387
396 struct yac_interp_grid * interp_grid);
397
416 struct yac_interp_grid * interp_grid, size_t * src_cells, size_t count,
417 size_t * neighbours);
418
437 struct yac_interp_grid * interp_grid, size_t * tgt_cells, size_t count,
438 size_t * neighbours);
439
456 struct yac_interp_grid * interp_grid,
457 size_t * src_corners, size_t count, size_t ** src_cells,
458 size_t * num_cells_per_corner);
459
477 struct yac_interp_grid * interp_grid,
478 size_t * tgt_corners, size_t count, size_t ** tgt_cells,
479 size_t * num_cells_per_corner);
480
503 struct yac_interp_grid * interp_grid, size_t * cells, size_t count,
504 size_t ** vertex_to_cell, size_t ** vertex_to_cell_offsets,
505 int ** num_cells_per_vertex);
506
524 struct yac_interp_grid * interp_grid, int to_tgt_owner,
525 size_t src_field_idx, size_t ** src_points, size_t ** tgt_points,
526 double ** weights, size_t * count);
527
540 struct yac_interp_grid * interp_grid, size_t * tgt_indices, size_t count,
541 int * owners);
542
557 struct yac_interp_grid * interp_grid, size_t * vertices, size_t count,
558 size_t ** neigh_vertices, int * num_neighs_per_vertex);
559
577 struct yac_interp_grid * interp_grid, int to_tgt_owner,
578 enum yac_location src_location, size_t ** src_points, size_t ** tgt_points,
579 double ** weights, size_t * count);
580
581#endif // INTERP_GRID_INTERNAL_H
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)
Definition interp_grid.c:77
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)
Definition interp_grid.c:99
char const * yac_interp_grid_get_tgt_grid_name(struct yac_interp_grid *interp_grid)
Definition interp_grid.c:82
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)
Definition interp_grid.c:87
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)
yac_location
Definition location.h:12
information (global id and location) about a point that
Xt_int yac_int
Definition yac_types.h:15
double const (* yac_const_coordinate_pointer)[3]
Definition yac_types.h:20
double(* yac_coordinate_pointer)[3]
Definition yac_types.h:19