YetAnotherCoupler 3.2.0_a
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, double scale);
64 struct yac_interp_stack_config * interp_stack_config,
65 int order, int enforced_conserv, int partial_coverage,
68 struct yac_interp_stack_config * interp_stack_config,
69 double spread_distance, double max_search_distance,
70 enum yac_interp_spmap_weight_type weight_type,
71 enum yac_interp_spmap_scale_type scale_type,
72 double src_sphere_radius, double tgt_sphere_radius);
74 struct yac_interp_stack_config * interp_stack_config);
76 struct yac_interp_stack_config * interp_stack_config,
77 char const * filename, char const * src_grid_name,
78 char const * tgt_grid_name);
80 struct yac_interp_stack_config * interp_stack_config, double value);
82 struct yac_interp_stack_config * interp_stack_config,
83 char const * constructor_key, char const * do_search_key);
85 struct yac_interp_stack_config * interp_stack_config, int creep_distance);
87 struct yac_interp_stack_config * interp_stack_config,
88 char const * func_compute_weights_key);
89
90int yac_interp_stack_config_compare(void const * a, void const * b);
92 struct yac_interp_stack_config * interp_stack);
93
95 struct yac_interp_stack_config * interp_stack, MPI_Comm comm);
97 struct yac_interp_stack_config * interp_stack,
98 void * buffer, int buffer_size, int * position, MPI_Comm comm);
100 void * buffer, int buffer_size, int * position, MPI_Comm comm);
101
103 struct yac_interp_stack_config * interp_stack);
106 struct yac_interp_stack_config * interp_stack,
107 size_t interp_stack_idx);
108
110 union yac_interp_stack_config_entry const * interp_stack_entry);
111
113 union yac_interp_stack_config_entry const * interp_stack_entry,
115 int * partial_coverage);
117 union yac_interp_stack_config_entry const * interp_stack_entry,
120 union yac_interp_stack_config_entry const * interp_stack_entry,
121 enum yac_interp_nnn_weight_type * type, size_t * n, double * scale);
123 union yac_interp_stack_config_entry const * interp_stack_entry,
124 int * order, int * enforced_conserv, int * partial_coverage,
127 union yac_interp_stack_config_entry const * interp_stack_entry,
128 double * spread_distance, double * max_search_distance,
131 double * src_sphere_radius, double * tgt_sphere_radius);
133 union yac_interp_stack_config_entry const * interp_stack_entry,
134 char const ** filename, char const ** src_grid_name,
135 char const ** tgt_grid_name);
137 union yac_interp_stack_config_entry const * interp_stack_entry,
138 double * value);
140 union yac_interp_stack_config_entry const * interp_stack_entry,
141 char const ** constructor_key, char const ** do_search_key);
143 union yac_interp_stack_config_entry const * interp_stack_entry,
144 int * creep_distance);
146 union yac_interp_stack_config_entry const * interp_stack_entry,
147 char const ** func_compute_weights_key);
148
149// YAC PUBLIC HEADER STOP
150
151#endif // INTERP_STACK_CONFIG_H
yac_interp_avg_weight_type
struct @8::@9 value
enum callback_type type
yac_interp_method_conserv_normalisation
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)
void yac_interp_stack_config_add_user_file(struct yac_interp_stack_config *interp_stack_config, char const *filename, char const *src_grid_name, char const *tgt_grid_name)
void yac_interp_stack_config_entry_get_user_file(union yac_interp_stack_config_entry const *interp_stack_entry, char const **filename, char const **src_grid_name, char const **tgt_grid_name)
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, double tgt_sphere_radius)
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_nnn(struct yac_interp_stack_config *interp_stack_config, enum yac_interp_nnn_weight_type type, size_t n, double scale)
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_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_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_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, double *tgt_sphere_radius)
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)
int yac_interp_stack_config_compare(void const *a, void const *b)
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_nnn(union yac_interp_stack_config_entry const *interp_stack_entry, enum yac_interp_nnn_weight_type *type, size_t *n, double *scale)
double tgt_sphere_radius
char do_search_key[YAC_MAX_ROUTINE_NAME_LENGTH]
double src_sphere_radius
double max_search_distance
char src_grid_name[YAC_MAX_FILE_NAME_LENGTH]
int partial_coverage
char tgt_grid_name[YAC_MAX_FILE_NAME_LENGTH]
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_spmap_scale_type scale_type
enum yac_interp_method_conserv_normalisation normalisation
char filename[YAC_MAX_FILE_NAME_LENGTH]
enum yac_interp_spmap_weight_type weight_type
char func_compute_weights_key[YAC_MAX_ROUTINE_NAME_LENGTH]