22 char const filename[] =
"test_vtk_output_1.vtk";
46 unsigned num_points_per_cell[] = {1,3,4,5};
53 vtk_file, cell_corners, num_points_per_cell,
num_cells);
55 unsigned cell_scalars_uint[] = {0,1,2};
56 int cell_scalars_int[] = {0,1,2};
57 float cell_scalars_float[] = {0,1,2};
58 double cell_scalars_double[] = {0,1,2};
60 vtk_file, cell_scalars_uint,
num_cells,
"cell_scalars_uint");
62 vtk_file, cell_scalars_int,
num_cells,
"cell_scalars_int");
64 vtk_file, cell_scalars_float,
num_cells,
"cell_scalars_float");
66 vtk_file, cell_scalars_double,
num_cells,
"cell_scalars_double");
68 unsigned point_scalars_uint[
NUM_POINTS] = {UINT_MAX, 0,1,2,3,4,5,6,7,8,9,10,11};
69 int point_scalars_int[
NUM_POINTS] = {-1, 0,1,2,3,4,5,6,7,8,9,10,11};
70 float point_scalars_float[
NUM_POINTS] = {-1, 0,1,2,3,4,5,6,7,8,9,10,11};
73 point_scalars_double[i] =
76 vtk_file, point_scalars_uint,
NUM_POINTS,
"point_scalars_uint");
78 vtk_file, point_scalars_int,
NUM_POINTS,
"point_scalars_int");
80 vtk_file, point_scalars_float,
NUM_POINTS,
"point_scalars_float");
82 vtk_file, point_scalars_double,
NUM_POINTS,
"point_scalars_double");
93 unsigned num_vertices;
97 unsigned * vertices_of_cell;
101 n, &
num_cells, &num_vertices, &x_vertices, &y_vertices, &z_vertices,
102 &vertices_of_cell, &face_id);
106 double (*func)(double, double);
118 char const filename[] =
"test_vtk_output_2.vtk";
121 double * point_data =
xmalloc(3 * num_vertices *
sizeof(*point_data));
122 for (
unsigned i = 0;
i < num_vertices; ++
i) {
123 point_data[3 *
i + 0] = x_vertices[
i];
124 point_data[3 *
i + 1] = y_vertices[
i];
125 point_data[3 *
i + 2] = z_vertices[
i];
127 unsigned * num_points_per_cell =
129 for (
unsigned i = 0;
i <
num_cells; ++
i) num_points_per_cell[i] = 4;
134 vtk_file, vertices_of_cell, num_points_per_cell,
num_cells);
136 double * field_data =
xmalloc(num_vertices *
sizeof(*field_data));
137 for (
size_t i = 0;
i <
sizeof(test_funcs) /
sizeof(test_funcs[0]); ++
i) {
139 for (
unsigned j = 0; j < num_vertices; ++j) {
142 XYZtoLL(point_data + 3 * j, &lon, &lat);
144 field_data[j] = test_funcs[
i].func(lon, lat);
148 vtk_file, field_data, num_vertices, test_funcs[i].func_name);
152 free(num_points_per_cell);
163 free(vertices_of_cell);
void yac_generate_cubed_sphere_grid_information(unsigned n, unsigned *num_cells, unsigned *num_vertices, double **x_vertices, double **y_vertices, double **z_vertices, unsigned **cell_to_vertex, unsigned **face_id)
static void XYZtoLL(double const p_in[], double *lon, double *lat)
double yac_test_one(double lon, double lat)
double yac_test_ana_fcos(double lon, double lat)
double yac_test_func_deg(double lon, double lat)
double yac_test_harmonic(double lon, double lat)
double yac_test_vortex(double lon, double lat)
double yac_test_func(double lon, double lat)
double yac_test_ana_fcossin(double lon, double lat)
double yac_test_gulfstream(double lon, double lat)
void yac_vtk_write_cell_scalars_uint(YAC_VTK_FILE *vtk_file, unsigned *scalars, unsigned num_cells, char *name)
void yac_vtk_write_cell_scalars_float(YAC_VTK_FILE *vtk_file, float *scalars, unsigned num_cells, char *name)
void yac_vtk_write_cell_scalars_double(YAC_VTK_FILE *vtk_file, double *scalars, unsigned num_cells, char *name)
void yac_vtk_write_cell_scalars_int(YAC_VTK_FILE *vtk_file, int *scalars, unsigned num_cells, char *name)
void yac_vtk_write_point_scalars_uint(YAC_VTK_FILE *vtk_file, unsigned *scalars, unsigned num_points, char *name)
void yac_vtk_write_point_data_ll(YAC_VTK_FILE *vtk_file, double *point_data_lon, double *point_data_lat, unsigned num_points)
void yac_vtk_write_point_scalars_double(YAC_VTK_FILE *vtk_file, double *scalars, unsigned num_points, char *name)
void yac_vtk_write_point_data(YAC_VTK_FILE *vtk_file, double *point_data, unsigned num_points)
void yac_vtk_write_point_scalars_int(YAC_VTK_FILE *vtk_file, int *scalars, unsigned num_points, char *name)
void yac_vtk_close(YAC_VTK_FILE *vtk_file)
void yac_vtk_write_cell_data(YAC_VTK_FILE *vtk_file, unsigned *cell_corners, unsigned *num_points_per_cell, unsigned num_cells)
YAC_VTK_FILE * yac_vtk_open(const char *filename, const char *title)
void yac_vtk_write_point_scalars_float(YAC_VTK_FILE *vtk_file, float *scalars, unsigned num_points, char *name)
general routines for writing vtk files