YAC 3.7.0
Yet Another Coupler
Loading...
Searching...
No Matches
interp_stack_config.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 INTERP_STACK_CONFIG_H
6#define INTERP_STACK_CONFIG_H
7
8#include "interp_method_avg.h"
11#include "interp_method_creep.h"
12#include "interp_method_ncc.h"
13#include "interp_method_nnn.h"
14#include "interp_method_fixed.h"
15#include "interp_method_file.h"
16#include "interp_method_hcsbb.h"
17#include "interp_method_spmap.h"
19
20// YAC PUBLIC HEADER START
21
22#define YAC_MAX_ROUTINE_NAME_LENGTH (256)
23#define YAC_MAX_FILE_NAME_LENGTH (512)
24
40
47
50 struct yac_interp_stack_config * interp_stack_config);
52 struct yac_interp_stack_config * interp_stack);
53
55 struct yac_interp_stack_config * interp_stack_config,
56 enum yac_interp_avg_weight_type reduction_type, int partial_coverage);
58 struct yac_interp_stack_config * interp_stack_config,
59 enum yac_interp_ncc_weight_type type, int partial_coverage);
61 struct yac_interp_stack_config * interp_stack_config,
62 enum yac_interp_nnn_weight_type type, size_t n,
63 double max_search_distance, double scale);
65 struct yac_interp_stack_config * interp_stack_config,
66 size_t n, double max_search_distance, double scale);
68 struct yac_interp_stack_config * interp_stack_config,
69 int order, int enforced_conserv, int partial_coverage,
72 struct yac_interp_stack_config * interp_stack_config,
73 double spread_distance, double max_search_distance,
75 enum yac_interp_spmap_scale_type scale_type,
76 double src_sphere_radius, char const * src_filename,
77 char const * src_varname, int src_min_global_id,
78 double tgt_sphere_radius, char const * tgt_filename,
79 char const * tgt_varname, int tgt_min_global_id);
81 struct yac_interp_stack_config * interp_stack_config);
83 struct yac_interp_stack_config * interp_stack_config,
84 char const * filename, enum yac_interp_file_on_missing_file on_missing_file,
87 struct yac_interp_stack_config * interp_stack_config, double value);
89 struct yac_interp_stack_config * interp_stack_config,
90 char const * constructor_key, char const * do_search_key);
92 struct yac_interp_stack_config * interp_stack_config, int creep_distance);
94 struct yac_interp_stack_config * interp_stack_config,
95 char const * func_compute_weights_key);
96
97int yac_interp_stack_config_compare(void const * a, void const * b);
99 struct yac_interp_stack_config * interp_stack);
100
102 struct yac_interp_stack_config * interp_stack, MPI_Comm comm);
104 struct yac_interp_stack_config * interp_stack,
105 void * buffer, int buffer_size, int * position, MPI_Comm comm);
107 void * buffer, int buffer_size, int * position, MPI_Comm comm);
108
110 struct yac_interp_stack_config * interp_stack);
113 struct yac_interp_stack_config * interp_stack,
114 size_t interp_stack_idx);
115
117 union yac_interp_stack_config_entry const * interp_stack_entry);
118
120 union yac_interp_stack_config_entry const * interp_stack_entry,
122 int * partial_coverage);
124 union yac_interp_stack_config_entry const * interp_stack_entry,
127 union yac_interp_stack_config_entry const * interp_stack_entry,
128 enum yac_interp_nnn_weight_type * type, size_t * n,
129 double * max_search_distance, double * scale);
131 union yac_interp_stack_config_entry const * interp_stack_entry,
132 int * order, int * enforced_conserv, int * partial_coverage,
135 union yac_interp_stack_config_entry const * interp_stack_entry,
136 double * spread_distance, double * max_search_distance,
138 enum yac_interp_spmap_scale_type * scale_type,
139 double * src_sphere_radius, char const ** src_filename,
140 char const ** src_varname, int * src_min_global_id,
141 double * tgt_sphere_radius, char const ** tgt_filename,
142 char const ** tgt_varname, int * tgt_min_global_id);
144 union yac_interp_stack_config_entry const * interp_stack_entry,
145 char const ** filename,
149 union yac_interp_stack_config_entry const * interp_stack_entry,
150 double * value);
152 union yac_interp_stack_config_entry const * interp_stack_entry,
153 char const ** constructor_key, char const ** do_search_key);
155 union yac_interp_stack_config_entry const * interp_stack_entry,
156 int * creep_distance);
158 union yac_interp_stack_config_entry const * interp_stack_entry,
159 char const ** func_compute_weights_key);
160
161// YAC PUBLIC HEADER STOP
162
163#endif // INTERP_STACK_CONFIG_H
enum yac_interp_file_on_missing_file on_missing_file
enum yac_interp_file_on_success on_success
enum yac_interp_ncc_weight_type weight_type
yac_interp_avg_weight_type
struct @7::@8 value
enum callback_type type
yac_interp_method_conserv_normalisation
yac_interp_file_on_missing_file
yac_interp_file_on_success
yac_interp_ncc_weight_type
yac_interp_nnn_weight_type
yac_interp_spmap_scale_type
yac_interp_spmap_weight_type
void yac_interp_stack_config_entry_get_creep(union yac_interp_stack_config_entry const *interp_stack_entry, int *creep_distance)
void yac_interp_stack_config_add_check(struct yac_interp_stack_config *interp_stack_config, char const *constructor_key, char const *do_search_key)
size_t yac_interp_stack_config_get_size(struct yac_interp_stack_config *interp_stack)
union yac_interp_stack_config_entry const * yac_interp_stack_config_get_entry(struct yac_interp_stack_config *interp_stack, size_t interp_stack_idx)
yac_interpolation_list
@ YAC_N_NEAREST_NEIGHBOR
@ YAC_CREEP
@ YAC_USER_FILE
@ YAC_USER_CALLBACK
@ YAC_SOURCE_TO_TARGET_MAP
@ YAC_CONSERVATIVE
@ YAC_FIXED_VALUE
@ YAC_UNDEFINED
@ YAC_CHECK
@ YAC_BERNSTEIN_BEZIER
@ YAC_NEAREST_CORNER_CELLS
@ YAC_RADIAL_BASIS_FUNCTION
@ YAC_AVERAGE
enum yac_interpolation_list yac_interp_stack_config_entry_get_type(union yac_interp_stack_config_entry const *interp_stack_entry)
void yac_interp_stack_config_add_spmap(struct yac_interp_stack_config *interp_stack_config, double spread_distance, double max_search_distance, enum yac_interp_spmap_weight_type weight_type, enum yac_interp_spmap_scale_type scale_type, double src_sphere_radius, char const *src_filename, char const *src_varname, int src_min_global_id, double tgt_sphere_radius, char const *tgt_filename, char const *tgt_varname, int tgt_min_global_id)
void yac_interp_stack_config_add_fixed(struct yac_interp_stack_config *interp_stack_config, double value)
void yac_interp_stack_config_add_hcsbb(struct yac_interp_stack_config *interp_stack_config)
void yac_interp_stack_config_add_rbf(struct yac_interp_stack_config *interp_stack_config, size_t n, double max_search_distance, double scale)
void yac_interp_stack_config_add_average(struct yac_interp_stack_config *interp_stack_config, enum yac_interp_avg_weight_type reduction_type, int partial_coverage)
void yac_interp_stack_config_add_creep(struct yac_interp_stack_config *interp_stack_config, int creep_distance)
void yac_interp_stack_config_entry_get_user_file(union yac_interp_stack_config_entry const *interp_stack_entry, char const **filename, enum yac_interp_file_on_missing_file *on_missing_file, enum yac_interp_file_on_success *on_success)
void yac_interp_stack_config_add_nnn(struct yac_interp_stack_config *interp_stack_config, enum yac_interp_nnn_weight_type type, size_t n, double max_search_distance, double scale)
void yac_interp_stack_config_entry_get_ncc(union yac_interp_stack_config_entry const *interp_stack_entry, enum yac_interp_ncc_weight_type *type, int *partial_coverage)
struct yac_interp_stack_config * yac_interp_stack_config_unpack(void *buffer, int buffer_size, int *position, MPI_Comm comm)
void yac_interp_stack_config_delete(struct yac_interp_stack_config *interp_stack_config)
void yac_interp_stack_config_entry_get_user_callback(union yac_interp_stack_config_entry const *interp_stack_entry, char const **func_compute_weights_key)
struct yac_interp_stack_config * yac_interp_stack_config_copy(struct yac_interp_stack_config *interp_stack)
void yac_interp_stack_config_add_conservative(struct yac_interp_stack_config *interp_stack_config, int order, int enforced_conserv, int partial_coverage, enum yac_interp_method_conserv_normalisation normalisation)
void yac_interp_stack_config_entry_get_check(union yac_interp_stack_config_entry const *interp_stack_entry, char const **constructor_key, char const **do_search_key)
struct interp_method ** yac_interp_stack_config_generate(struct yac_interp_stack_config *interp_stack)
void yac_interp_stack_config_entry_get_conservative(union yac_interp_stack_config_entry const *interp_stack_entry, int *order, int *enforced_conserv, int *partial_coverage, enum yac_interp_method_conserv_normalisation *normalisation)
void yac_interp_stack_config_entry_get_average(union yac_interp_stack_config_entry const *interp_stack_entry, enum yac_interp_avg_weight_type *reduction_type, int *partial_coverage)
size_t yac_interp_stack_config_get_pack_size(struct yac_interp_stack_config *interp_stack, MPI_Comm comm)
void yac_interp_stack_config_add_user_file(struct yac_interp_stack_config *interp_stack_config, char const *filename, enum yac_interp_file_on_missing_file on_missing_file, enum yac_interp_file_on_success on_success)
int yac_interp_stack_config_compare(void const *a, void const *b)
void yac_interp_stack_config_entry_get_nnn(union yac_interp_stack_config_entry const *interp_stack_entry, enum yac_interp_nnn_weight_type *type, size_t *n, double *max_search_distance, double *scale)
void yac_interp_stack_config_add_ncc(struct yac_interp_stack_config *interp_stack_config, enum yac_interp_ncc_weight_type type, int partial_coverage)
void yac_interp_stack_config_add_user_callback(struct yac_interp_stack_config *interp_stack_config, char const *func_compute_weights_key)
struct yac_interp_stack_config * yac_interp_stack_config_new()
void yac_interp_stack_config_pack(struct yac_interp_stack_config *interp_stack, void *buffer, int buffer_size, int *position, MPI_Comm comm)
void yac_interp_stack_config_entry_get_fixed(union yac_interp_stack_config_entry const *interp_stack_entry, double *value)
void yac_interp_stack_config_entry_get_spmap(union yac_interp_stack_config_entry const *interp_stack_entry, double *spread_distance, double *max_search_distance, enum yac_interp_spmap_weight_type *weight_type, enum yac_interp_spmap_scale_type *scale_type, double *src_sphere_radius, char const **src_filename, char const **src_varname, int *src_min_global_id, double *tgt_sphere_radius, char const **tgt_filename, char const **tgt_varname, int *tgt_min_global_id)
char do_search_key[YAC_MAX_ROUTINE_NAME_LENGTH]
double max_search_distance
int partial_coverage
int creep_distance
int enforced_conserv
int order
double spread_distance
char constructor_key[YAC_MAX_ROUTINE_NAME_LENGTH]
enum yac_interp_avg_weight_type reduction_type
enum yac_interp_method_conserv_normalisation normalisation
char filename[YAC_MAX_FILE_NAME_LENGTH]
char func_compute_weights_key[YAC_MAX_ROUTINE_NAME_LENGTH]