YetAnotherCoupler 3.5.2
Loading...
Searching...
No Matches
basic_grid_data.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 BASIC_GRID_DATA_H
6#define BASIC_GRID_DATA_H
7
8#include "yac_types.h"
9#include "grid_cell.h"
10
11// YAC PUBLIC HEADER START
12
21 size_t num_cells; // number of local cells (owned by local process)
22 size_t num_vertices; // number of local vertices (owned by local process)
23 size_t num_edges; // number of local edges (owned by local process)
31 size_t * cell_to_edge;
37 size_t num_total_cells; // number of locally stored cells
38 size_t num_total_vertices; // number of locally stored vertices
39 size_t num_total_edges; // number of locally stored edges
40};
41
43 size_t nbr_vertices[2], int cyclic[2],
44 double *lon_vertices, double *lat_vertices);
45
47 size_t nbr_vertices[2], int cyclic[2],
48 double *lon_vertices, double *lat_vertices);
49
51 size_t nbr_vertices[2], int cyclic[2],
52 double *lon_vertices, double *lat_vertices);
53
55 size_t nbr_vertices[2], int cyclic[2],
56 double *lon_vertices, double *lat_vertices);
57
59 size_t nbr_vertices, size_t nbr_cells, int *num_vertices_per_cell,
60 double *x_vertices, double *y_vertices, int *cell_to_vertex);
61
63 size_t nbr_vertices, size_t nbr_cells, int *num_vertices_per_cell,
64 double *x_vertices, double *y_vertices, int *cell_to_vertex);
65
67 size_t nbr_vertices, size_t nbr_cells, int *num_vertices_per_cell,
68 double *x_vertices, double *y_vertices, int *cell_to_vertex);
69
71 size_t nbr_vertices, size_t nbr_cells, int *num_vertices_per_cell,
72 double *x_vertices, double *y_vertices, int *cell_to_vertex);
73
75 size_t nbr_vertices, size_t nbr_cells, size_t nbr_edges,
76 int *num_edges_per_cell, double *x_vertices, double *y_vertices,
77 int *cell_to_edge, int *edge_to_vertex);
78
80 size_t nbr_vertices, size_t nbr_cells, size_t nbr_edges,
81 int *num_edges_per_cell, double *x_vertices, double *y_vertices,
82 int *cell_to_edge, int *edge_to_vertex);
83
85 size_t nbr_vertices, size_t nbr_cells, size_t nbr_edges,
86 int *num_edges_per_cell, double *x_vertices, double *y_vertices,
87 int *cell_to_edge, int *edge_to_vertex);
88
90 size_t nbr_vertices, size_t nbr_cells, size_t nbr_edges,
91 int *num_edges_per_cell, double *x_vertices, double *y_vertices,
92 int *cell_to_edge, int *edge_to_vertex);
93
95 size_t nbr_points, double * x_points, double * y_points);
96
98 size_t nbr_points, double * x_points, double * y_points);
99
101 struct yac_basic_grid_data grid, double * cell_areas);
102
104
105// YAC PUBLIC HEADER STOP
106
107#endif // BASIC_GRID_DATA_H
struct yac_basic_grid_data yac_generate_basic_grid_data_unstruct_deg(size_t nbr_vertices, size_t nbr_cells, int *num_vertices_per_cell, double *x_vertices, double *y_vertices, int *cell_to_vertex)
struct yac_basic_grid_data yac_generate_basic_grid_data_reg_2d(size_t nbr_vertices[2], int cyclic[2], double *lon_vertices, double *lat_vertices)
Definition grid_reg2d.c:65
struct yac_basic_grid_data yac_generate_basic_grid_data_unstruct_ll(size_t nbr_vertices, size_t nbr_cells, int *num_vertices_per_cell, double *x_vertices, double *y_vertices, int *cell_to_vertex)
struct yac_basic_grid_data yac_generate_basic_grid_data_unstruct_edge(size_t nbr_vertices, size_t nbr_cells, size_t nbr_edges, int *num_edges_per_cell, double *x_vertices, double *y_vertices, int *cell_to_edge, int *edge_to_vertex)
struct yac_basic_grid_data yac_generate_basic_grid_data_cloud(size_t nbr_points, double *x_points, double *y_points)
Definition grid_cloud.c:50
struct yac_basic_grid_data yac_generate_basic_grid_data_unstruct_edge_deg(size_t nbr_vertices, size_t nbr_cells, size_t nbr_edges, int *num_edges_per_cell, double *x_vertices, double *y_vertices, int *cell_to_edge, int *edge_to_vertex)
void yac_basic_grid_data_compute_cell_areas(struct yac_basic_grid_data grid, double *cell_areas)
struct yac_basic_grid_data yac_generate_basic_grid_data_unstruct_edge_ll(size_t nbr_vertices, size_t nbr_cells, size_t nbr_edges, int *num_edges_per_cell, double *x_vertices, double *y_vertices, int *cell_to_edge, int *edge_to_vertex)
struct yac_basic_grid_data yac_generate_basic_grid_data_unstruct_edge_ll_deg(size_t nbr_vertices, size_t nbr_cells, size_t nbr_edges, int *num_edges_per_cell, double *x_vertices, double *y_vertices, int *cell_to_edge, int *edge_to_vertex)
struct yac_basic_grid_data yac_generate_basic_grid_data_cloud_deg(size_t nbr_points, double *x_points, double *y_points)
Definition grid_cloud.c:58
struct yac_basic_grid_data yac_generate_basic_grid_data_curve_2d_deg(size_t nbr_vertices[2], int cyclic[2], double *lon_vertices, double *lat_vertices)
struct yac_basic_grid_data yac_generate_basic_grid_data_curve_2d(size_t nbr_vertices[2], int cyclic[2], double *lon_vertices, double *lat_vertices)
void yac_basic_grid_data_free(struct yac_basic_grid_data grid)
struct yac_basic_grid_data yac_generate_basic_grid_data_unstruct(size_t nbr_vertices, size_t nbr_cells, int *num_vertices_per_cell, double *x_vertices, double *y_vertices, int *cell_to_vertex)
struct yac_basic_grid_data yac_generate_basic_grid_data_reg_2d_deg(size_t nbr_vertices[2], int cyclic[2], double *lon_vertices, double *lat_vertices)
Definition grid_reg2d.c:74
struct yac_basic_grid_data yac_generate_basic_grid_data_unstruct_ll_deg(size_t nbr_vertices, size_t nbr_cells, int *num_vertices_per_cell, double *x_vertices, double *y_vertices, int *cell_to_vertex)
yac_edge_type
Definition grid_cell.h:12
yac_coordinate_pointer vertex_coordinates
size_t * vertex_to_cell_offsets
yac_size_t_2_pointer edge_to_vertex
enum yac_edge_type * edge_type
size_t * cell_to_vertex_offsets
Xt_int yac_int
Definition yac_types.h:15
size_t(* yac_size_t_2_pointer)[2]
Definition yac_types.h:23
double(* yac_coordinate_pointer)[3]
Definition yac_types.h:19