5#ifndef INTERP_METHOD_SPMAP_H
6#define INTERP_METHOD_SPMAP_H
41#define YAC_INTERP_SPMAP_SPREAD_DISTANCE_DEFAULT (0.0)
42#define YAC_INTERP_SPMAP_MAX_SEARCH_DISTANCE_DEFAULT (0.0)
43#define YAC_INTERP_SPMAP_WEIGHTED_DEFAULT (YAC_INTERP_SPMAP_AVG)
44#define YAC_INTERP_SPMAP_SCALE_TYPE_DEFAULT (YAC_INTERP_SPMAP_NONE)
45#define YAC_INTERP_SPMAP_SPHERE_RADIUS_DEFAULT (1.0)
46#define YAC_INTERP_SPMAP_FILENAME_DEFAULT (NULL)
47#define YAC_INTERP_SPMAP_VARNAME_DEFAULT (NULL)
48#define YAC_INTERP_SPMAP_MIN_GLOBAL_ID_DEFAULT (0)
49#define YAC_INTERP_SPMAP_CELL_AREA_CONFIG_DEFAULT (NULL)
50#define YAC_INTERP_SPMAP_SCALE_CONFIG_DEFAULT (NULL)
51#define YAC_INTERP_SPMAP_DEFAULT_CONFIG (NULL)
52#define YAC_INTERP_SPMAP_OVERWRITE_DEFAULT (NULL)
342 void *
buffer,
int buffer_size,
int * position, MPI_Comm comm);
345 void *
buffer,
int buffer_size,
int * position, MPI_Comm comm);
347 void *
buffer,
int buffer_size,
int * position,
350 void *
buffer,
int buffer_size,
int * position,
char const * yac_spmap_cell_area_config_get_filename(struct yac_spmap_cell_area_config const *cell_area_config)
size_t yac_spmap_overwrite_configs_get_pack_size(struct yac_spmap_overwrite_config const *const *overwrite_configs, MPI_Comm comm)
struct yac_spmap_cell_area_config const * yac_spmap_scale_config_get_tgt_cell_area_config(struct yac_spmap_scale_config const *scale_config)
yac_interp_spmap_scale_type
@ YAC_INTERP_SPMAP_NONE
weights are not scaled
@ YAC_INTERP_SPMAP_INVTGTAREA
@ YAC_INTERP_SPMAP_SRCAREA
@ YAC_INTERP_SPMAP_FRACAREA
void yac_interp_spmap_config_unpack(void *buffer, int buffer_size, int *position, struct yac_interp_spmap_config **spmap_config, MPI_Comm comm)
struct yac_interp_spmap_config const * yac_spmap_overwrite_config_get_spmap_config(struct yac_spmap_overwrite_config const *overwrite_config)
double yac_spmap_cell_area_config_get_sphere_radius(struct yac_spmap_cell_area_config const *cell_area_config)
void yac_interp_spmap_config_delete(struct yac_interp_spmap_config *spmap_config)
struct yac_spmap_cell_area_config * yac_spmap_cell_area_config_file_new(char const *filename, char const *varname, yac_int min_global_id)
struct yac_spmap_overwrite_config * yac_spmap_overwrite_config_new(struct yac_point_selection const *src_point_selection, struct yac_interp_spmap_config const *config)
void yac_spmap_overwrite_configs_delete(struct yac_spmap_overwrite_config **overwrite_configs)
struct yac_point_selection const * yac_spmap_overwrite_config_get_src_point_selection(struct yac_spmap_overwrite_config const *overwrite_config)
int yac_interp_spmap_config_compare(struct yac_interp_spmap_config const *a, struct yac_interp_spmap_config const *b)
yac_interp_spmap_cell_area_provider
@ YAC_INTERP_SPMAP_CELL_AREA_FILE
@ YAC_INTERP_SPMAP_CELL_AREA_YAC
yac_int yac_spmap_cell_area_config_get_min_global_id(struct yac_spmap_cell_area_config const *cell_area_config)
void yac_spmap_overwrite_configs_unpack(void *buffer, int buffer_size, int *position, struct yac_spmap_overwrite_config ***overwrite_configs, MPI_Comm comm)
enum yac_interp_spmap_cell_area_provider yac_spmap_cell_area_config_get_type(struct yac_spmap_cell_area_config const *cell_area_config)
yac_interp_spmap_weight_type
int yac_spmap_overwrite_config_compare(struct yac_spmap_overwrite_config const *a, struct yac_spmap_overwrite_config const *b)
void yac_spmap_overwrite_configs_pack(struct yac_spmap_overwrite_config const *const *overwrite_configs, void *buffer, int buffer_size, int *position, MPI_Comm comm)
double yac_interp_spmap_config_get_max_search_distance(struct yac_interp_spmap_config const *spmap_config)
struct yac_spmap_cell_area_config const * yac_spmap_scale_config_get_src_cell_area_config(struct yac_spmap_scale_config const *scale_config)
char const * yac_spmap_cell_area_config_get_varname(struct yac_spmap_cell_area_config const *cell_area_config)
void yac_interp_spmap_config_pack(struct yac_interp_spmap_config const *spmap_config, void *buffer, int buffer_size, int *position, MPI_Comm comm)
struct interp_method * yac_interp_method_spmap_new(struct yac_interp_spmap_config const *default_config, struct yac_spmap_overwrite_config const *const *overwrite_configs)
struct yac_interp_spmap_config * yac_interp_spmap_config_new(double spread_distance, double max_search_distance, enum yac_interp_spmap_weight_type weight_type, struct yac_spmap_scale_config const *scale_config)
void yac_spmap_scale_config_delete(struct yac_spmap_scale_config *scale_config)
struct yac_spmap_scale_config const * yac_interp_spmap_config_get_scale_config(struct yac_interp_spmap_config const *spmap_config)
size_t yac_interp_spmap_config_get_pack_size(struct yac_interp_spmap_config const *spmap_config, MPI_Comm comm)
struct yac_interp_spmap_config * yac_interp_spmap_config_copy(struct yac_interp_spmap_config const *spmap_config)
double yac_interp_spmap_config_get_spread_distance(struct yac_interp_spmap_config const *spmap_config)
void yac_spmap_cell_area_config_delete(struct yac_spmap_cell_area_config *cell_area_config)
enum yac_interp_spmap_scale_type yac_spmap_scale_config_get_type(struct yac_spmap_scale_config const *scale_config)
struct yac_spmap_overwrite_config ** yac_spmap_overwrite_configs_copy(struct yac_spmap_overwrite_config const *const *overwrite_configs)
struct yac_spmap_cell_area_config * yac_spmap_cell_area_config_yac_new(double sphere_radius)
enum yac_interp_spmap_weight_type yac_interp_spmap_config_get_weight_type(struct yac_interp_spmap_config const *spmap_config)
void yac_spmap_overwrite_config_delete(struct yac_spmap_overwrite_config *overwrite_config)
struct yac_spmap_scale_config * yac_spmap_scale_config_new(enum yac_interp_spmap_scale_type scale_type, struct yac_spmap_cell_area_config const *source_cell_area_config, struct yac_spmap_cell_area_config const *target_cell_area_config)
struct yac_spmap_scale_config * scale_config
double max_search_distance
struct yac_point_selection * src_point_selection
struct yac_interp_spmap_config * config