I/O & Visualization¶
rhea_io_std.h [source]¶
Typedefs
-
typedef int (*rhea_io_std_fscanf_fn_t)(void *data, void *params, FILE *file_ptr, const size_t n_read)¶
Issues fscanf command with appropriate format string and stores items into
data.- Param data:
[out] Data that is read from file
- Param params:
[in] User parameters
- Param file_ptr:
[in] File pointer
- Param n_read:
[in] Number of items read so far
- Return:
Status returned from fscanf
-
typedef int (*rhea_io_std_fprintf_fn_t)(FILE *file_ptr, const void *data, void *params, const size_t n_written)¶
Issues fprintf command with appropriate format string and stores items from
data.- Param file_ptr:
[in] File pointer
- Param data:
[in] Data that is read from file
- Param params:
[in] User parameters
- Param n_written:
[in] Number of items read so far
- Return:
Status returned from fprintf
Functions
-
size_t rhea_io_std_read_double(double *values, const size_t n_entries, const char *file_path)¶
Reads/writes double values from/to a binary file.
-
size_t rhea_io_std_write_double(const char *file_path, const double *values, const size_t n_entries)¶
-
size_t rhea_io_std_read_float(float *values, const size_t n_entries, const char *file_path)¶
Reads/writes float values from/to a binary file.
-
size_t rhea_io_std_write_float(const char *file_path, const float *values, const size_t n_entries)¶
-
size_t rhea_io_std_read_int(int *values, const size_t n_entries, const char *file_path)¶
Reads/writes int values from/to a binary file.
-
size_t rhea_io_std_write_int(const char *file_path, const int *values, const size_t n_entries)¶
-
size_t rhea_io_std_read_txt(void *data, rhea_io_std_fscanf_fn_t fscanf_fn, void *fscanf_params, const char *file_path)¶
Reads generic data from a text file.
-
size_t rhea_io_std_write_txt(const char *file_path, const void *data, rhea_io_std_fprintf_fn_t fprintf_fn, void *fprintf_params)¶
Writes generic data to a text file.
-
size_t rhea_io_std_read_double_from_txt(double *values, size_t n_entries, const char *file_path)¶
Reads/writes double values from/to a text file.
-
size_t rhea_io_std_write_double_to_txt(const char *file_path, const double *values, size_t n_entries, int n_entries_per_line)¶
-
size_t rhea_io_std_read_float_from_txt(float *values, size_t n_entries, const char *file_path)¶
Reads/writes float values from/to a text file.
-
size_t rhea_io_std_write_float_to_txt(const char *file_path, const float *values, size_t n_entries, int n_entries_per_line)¶
-
size_t rhea_io_std_read_int_from_txt(int *values, size_t n_entries, const char *file_path)¶
Reads int values from a text file.
rhea_io_mpi.h [source]¶
Functions
-
void rhea_io_mpi_add_options(ymir_options_t *opt_sup)¶
Defines options and adds them as sub-options.
-
void rhea_io_mpi_perfmon_init(const int activate, const int skip_if_active)¶
Initializes performance counters.
-
void rhea_io_mpi_perfmon_print(sc_MPI_Comm mpicomm, const int print_wtime, const int print_n_calls, const int print_flops)¶
Prints statistics collected by performance monitors.
-
int rhea_io_mpi_read_broadcast_double(double *values_all, int n_entries, const char *file_path_bin, const char *file_path_txt, sc_MPI_Comm mpicomm)¶
Reads double values from a binary or text file with one processor (i.e., MPI rank), then broadcasts to all processors.
-
int rhea_io_mpi_read_broadcast_float(float *values_all, int n_entries, const char *file_path_bin, const char *file_path_txt, sc_MPI_Comm mpicomm)¶
Reads float values from a binary or text file with one processor (i.e., MPI rank), then broadcasts to all processors.
-
int rhea_io_mpi_read_broadcast_int(int *values_all, int n_entries, const char *file_path_bin, const char *file_path_txt, sc_MPI_Comm mpicomm)¶
Reads int values from a binary or text file with one processor (i.e., MPI rank), then broadcasts to all processors.
-
void rhea_io_mpi_read_scatter_double(double *values_segment, const int *segment_offset, const char *file_path_bin, const char *file_path_txt, sc_MPI_Comm mpicomm)¶
Reads double values from a binary or text file with one processor (i.e., MPI rank), then scatters corresponding segments to all processors.
-
int rhea_io_mpi_read_segment_double(double *values_segment, MPI_Offset segment_offset, int segment_size, char *file_path_bin, sc_MPI_Comm mpicomm)¶
Reads segments of double values from a binary file collectively wity all processors.
-
void rhea_io_mpi_gather_write_double_to_txt(const char *file_path_txt, const double *values_segment, const int *segment_offset, int n_entries_per_line, sc_MPI_Comm mpicomm)¶
Gathers double values from all processors, then writes to a text file with one processor (i.e., MPI rank).
-
int rhea_io_mpi_write_segment_double(char *file_path_bin, double *values_segment, MPI_Offset segment_offset, int segment_size, sc_MPI_Comm mpicomm)¶
Writes segments of double values into a binary file collectively wity all processors.
rhea_vtk.h [source]¶
Functions
-
int rhea_vtk_write_input_data(const char *filepath, ymir_vec_t *temperature, ymir_vec_t *background_temp, ymir_vec_t *composition, ymir_vec_t *weakzone, ymir_vec_t *viscosity, ymir_vec_t *marker, ymir_vec_t *rhs_vel)¶
-
int rhea_vtk_write_observation_data(const char *filepath, ymir_vec_t *plate_label, ymir_vec_t *plate_weight, ymir_vec_t *plate_vel)¶
-
int rhea_vtk_write_solution(const char *filepath, ymir_vec_t *velocity, ymir_vec_t *pressure, ymir_vec_t *viscosity, ymir_vec_t *marker, ymir_vec_t *stress, ymir_vec_t *stress_direction, const double strainrate_dim_1_s)¶
-
int rhea_vtk_write_solution_surf(const char *filepath, ymir_vec_t *velocity_surf, ymir_vec_t *stress_norm_surf, ymir_vec_t *viscosity_surf, ymir_vec_t *marker_surf)¶
-
int rhea_vtk_write_nonlinear_stokes_iteration(const char *filepath, ymir_vec_t *velocity, ymir_vec_t *pressure, ymir_vec_t *viscosity, ymir_vec_t *marker, ymir_vec_t *residual_mom, ymir_vec_t *residual_mass)¶
-
int rhea_vtk_write_nonlinear_stokes_iteration_surf(const char *filepath, ymir_vec_t *velocity_surf, ymir_vec_t *stress_norm_surf, ymir_vec_t *viscosity_surf)¶
-
int rhea_vtk_write_inversion_iteration(const char *filepath, ymir_vec_t *velocity_fwd, ymir_vec_t *pressure_fwd, ymir_vec_t *velocity_adj, ymir_vec_t *pressure_adj, ymir_vec_t *viscosity, ymir_vec_t *marker, ymir_vec_t *stress, ymir_vec_t *stress_direction, const double strainrate_dim_1_s)¶
-
int rhea_vtk_write_inversion_iteration_surf(const char *filepath, ymir_vec_t *velocity_fwd_surf, ymir_vec_t *velocity_adj_surf, ymir_vec_t *velocity_obs_surf, ymir_vec_t *velocity_obs_weight_surf, ymir_vec_t *misfit_surf)¶
-
int rhea_vtk_write_inversion_adjoint(const char *filepath, ymir_vec_t *velocity_adj, ymir_vec_t *pressure_adj, ymir_vec_t *rhs_velocity_adj, ymir_vec_t *rhs_pressure_adj)¶