YetAnotherCoupler 3.5.2
Loading...
Searching...
No Matches
dist_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 DIST_GRID_INTERNAL_H
6#define DIST_GRID_INTERNAL_H
7
8#include "dist_grid.h"
9#include "remote_point.h"
10#include "geometry.h"
11
12struct yac_dist_grid;
13typedef size_t const (* const const_size_t_2_pointer)[2];
14typedef int const * const_int_pointer;
15typedef size_t const * const const_size_t_pointer;
17typedef enum yac_edge_type const * const const_yac_edge_type_pointer;
20
37
44 struct yac_dist_grid_pair * grid_pair);
45
53 struct yac_dist_grid_pair * grid_pair, char const * grid_name);
54
67 struct yac_dist_grid_pair * grid_pair, char const * grid_name,
68 yac_coordinate_pointer search_coords, size_t count, size_t * cells);
69
82 struct yac_dist_grid_pair * grid_pair, char const * grid_name,
83 yac_coordinate_pointer search_coords, size_t count, size_t * cells);
84
102 struct yac_dist_grid_pair * grid_pair, char const * grid_name,
103 yac_coordinate_pointer search_coords, size_t count, size_t * local_ids,
104 size_t n, struct yac_interp_field field, double max_search_distance);
105
118 struct yac_dist_grid_pair * grid_pair, char const * grid_name,
119 const_bounding_circle_pointer bnd_circles, size_t count, size_t ** cells,
120 size_t * num_results_per_bnd_circle, struct yac_interp_field field);
121
136 struct yac_dist_grid_pair * grid_pair,
137 char const * search_grid_name, char const * result_grid_name,
138 size_t * search_cells, size_t count, size_t ** result_cells,
139 size_t * num_results_per_search_cell, struct yac_interp_field result_field);
140
161 struct yac_dist_grid_pair * grid_pair, char const * grid_name,
162 size_t * cells, size_t count, size_t * neighbours);
163
173
181 struct yac_dist_grid * dist_grid, enum yac_location location);
182
193 struct yac_dist_grid * grid, struct yac_interp_field field,
194 size_t ** indices, size_t * count);
195
207 struct yac_dist_grid * dist_grid, enum yac_location location,
208 size_t * points, size_t count);
209
223 struct yac_dist_grid * dist_grid, enum yac_location location,
224 yac_int * global_ids, size_t count, size_t * local_ids);
225
252 struct yac_dist_grid_pair * grid_pair, char const * grid_name,
253 size_t * cells, size_t count,
254 size_t ** vertex_to_cell, size_t ** vertex_to_cell_offsets,
255 int ** num_cells_per_vertex, struct yac_interp_field field);
256
278 struct yac_dist_grid_pair * grid_pair, int a_is_ref, int to_dist_owner,
279 char const * grid_name_a, size_t ** points_a, enum yac_location location_a,
280 char const * grid_name_b, size_t ** points_b, enum yac_location location_b,
281 double ** weights, size_t * count);
282
290 struct yac_dist_grid * dist_grid, struct yac_interp_field field);
291
302 struct yac_dist_grid * dist_grid, struct yac_interp_field field);
303
314 struct yac_const_basic_grid_data * grid_data, size_t cell_idx,
315 struct yac_grid_cell * cell);
316
328 struct yac_dist_grid_pair * grid_pair, char const * grid_name,
329 size_t * points, size_t count, enum yac_location location, int * ranks);
330
348 struct yac_dist_grid_pair * grid_pair, char const * grid_name,
349 size_t * vertices, size_t count, size_t ** neigh_vertices,
350 int * num_neighs_per_vertex, struct yac_interp_field field);
351
369 struct yac_dist_grid_pair * grid_pair, char const * grid_name,
370 size_t * vertices, size_t count, size_t ** vertex_to_cell,
371 size_t * num_cells_per_vertex);
372
373#endif // DIST_GRID_INTERNAL_H
void yac_dist_grid_pair_do_point_search_gc(struct yac_dist_grid_pair *grid_pair, char const *grid_name, yac_coordinate_pointer search_coords, size_t count, size_t *cells)
Definition dist_grid.c:4245
yac_const_coordinate_pointer yac_dist_grid_get_field_coords(struct yac_dist_grid *dist_grid, struct yac_interp_field field)
Definition dist_grid.c:2545
int const * const_int_pointer
void yac_dist_grid_pair_determine_dist_owner(struct yac_dist_grid_pair *grid_pair, char const *grid_name, size_t *points, size_t count, enum yac_location location, int *ranks)
Definition dist_grid.c:6416
void yac_dist_grid_pair_do_point_search(struct yac_dist_grid_pair *grid_pair, char const *grid_name, yac_coordinate_pointer search_coords, size_t count, size_t *cells)
Definition dist_grid.c:4237
size_t yac_dist_grid_get_local_count(struct yac_dist_grid *dist_grid, enum yac_location location)
Definition dist_grid.c:2449
struct bounding_circle const *const const_bounding_circle_pointer
size_t const *const const_size_t_pointer
void yac_dist_grid_pair_do_nnn_search(struct yac_dist_grid_pair *grid_pair, char const *grid_name, yac_coordinate_pointer search_coords, size_t count, size_t *local_ids, size_t n, struct yac_interp_field field, double max_search_distance)
Definition dist_grid.c:4414
yac_int const * const_yac_int_pointer
struct remote_point_infos const *const const_remote_point_infos_pointer
enum yac_edge_type const *const const_yac_edge_type_pointer
struct yac_dist_grid * yac_dist_grid_pair_get_dist_grid(struct yac_dist_grid_pair *grid_pair, char const *grid_name)
Definition dist_grid.c:2429
void yac_dist_grid_pair_get_aux_grid(struct yac_dist_grid_pair *grid_pair, char const *grid_name, size_t *cells, size_t count, size_t **vertex_to_cell, size_t **vertex_to_cell_offsets, int **num_cells_per_vertex, struct yac_interp_field field)
Definition dist_grid.c:6132
int const * yac_dist_grid_get_field_mask(struct yac_dist_grid *dist_grid, struct yac_interp_field field)
Definition dist_grid.c:2533
void yac_dist_grid_pair_get_vertex_neighbours(struct yac_dist_grid_pair *grid_pair, char const *grid_name, size_t *vertices, size_t count, size_t **neigh_vertices, int *num_neighs_per_vertex, struct yac_interp_field field)
Definition dist_grid.c:5996
void yac_dist_grid_pair_get_cell_neighbours(struct yac_dist_grid_pair *grid_pair, char const *grid_name, size_t *cells, size_t count, size_t *neighbours)
Definition dist_grid.c:5458
struct remote_point * yac_dist_grid_get_remote_points(struct yac_dist_grid *dist_grid, enum yac_location location, size_t *points, size_t count)
Definition dist_grid.c:5467
struct yac_const_basic_grid_data * yac_dist_grid_get_basic_grid_data(struct yac_dist_grid *dist_grid)
Definition dist_grid.c:2441
void yac_dist_grid_pair_relocate_point_pairs(struct yac_dist_grid_pair *grid_pair, int a_is_ref, int to_dist_owner, char const *grid_name_a, size_t **points_a, enum yac_location location_a, char const *grid_name_b, size_t **points_b, enum yac_location location_b, double **weights, size_t *count)
Definition dist_grid.c:6467
void yac_dist_grid_pair_do_bnd_circle_search(struct yac_dist_grid_pair *grid_pair, char const *grid_name, const_bounding_circle_pointer bnd_circles, size_t count, size_t **cells, size_t *num_results_per_bnd_circle, struct yac_interp_field field)
Definition dist_grid.c:4731
void yac_dist_grid_pair_do_cell_search(struct yac_dist_grid_pair *grid_pair, char const *search_grid_name, char const *result_grid_name, size_t *search_cells, size_t count, size_t **result_cells, size_t *num_results_per_search_cell, struct yac_interp_field result_field)
Definition dist_grid.c:5045
size_t const (*const const_size_t_2_pointer)[2]
MPI_Comm yac_dist_grid_pair_get_MPI_Comm(struct yac_dist_grid_pair *grid_pair)
Definition dist_grid.c:2424
void yac_dist_grid_global_to_local(struct yac_dist_grid *dist_grid, enum yac_location location, yac_int *global_ids, size_t count, size_t *local_ids)
Definition dist_grid.c:5549
void yac_dist_grid_pair_get_corner_cells(struct yac_dist_grid_pair *grid_pair, char const *grid_name, size_t *vertices, size_t count, size_t **vertex_to_cell, size_t *num_cells_per_vertex)
Definition dist_grid.c:6082
void yac_const_basic_grid_data_get_grid_cell(struct yac_const_basic_grid_data *grid_data, size_t cell_idx, struct yac_grid_cell *cell)
Definition dist_grid.c:2649
void yac_dist_grid_get_local_unmasked_points(struct yac_dist_grid *grid, struct yac_interp_field field, size_t **indices, size_t *count)
Definition dist_grid.c:2500
yac_edge_type
Definition grid_cell.h:12
yac_location
Definition location.h:12
location information about a point that is located on one or
information (global id and location) about a point that
const_bounding_circle_pointer cell_bnd_circles
const yac_const_coordinate_pointer vertex_coordinates
const_size_t_pointer cell_to_vertex_offsets
const_size_t_pointer cell_to_vertex
const const_int_pointer num_vertices_per_cell
const_size_t_pointer cell_to_edge
const_remote_point_infos_pointer cell_owners
const const_yac_int_pointer ids[3]
const_size_t_pointer cell_to_edge_offsets
const_yac_edge_type_pointer edge_type
const_size_t_2_pointer edge_to_vertex
const_remote_point_infos_pointer edge_owners
const_remote_point_infos_pointer vertex_owners
size_t count[3]
Definition dist_grid.c:111
static struct user_input_data_points ** points
Definition yac.c:136
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