YAC 3.21.0
Yet Another Coupler
Loading...
Searching...
No Matches
interp_method_callback.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_METHOD_CALLBACK_H
6#define INTERP_METHOD_CALLBACK_H
7
9
10// YAC PUBLIC HEADER START
11
12#ifndef TYPEDEF_YAC_FUNC_COMPUTE_WEIGHTS
13#define TYPEDEF_YAC_FUNC_COMPUTE_WEIGHTS
14
15// Remark: make sure that this typedef is consistent with the one in yac.h
17 double const tgt_coords[3], int src_cell_id, size_t src_cell_idx,
18 int const ** global_results_points, double ** result_weights,
19 size_t * result_count, void * user_data);
20#endif
21
22#define YAC_INTERP_CALLBACK_COMPUTE_WEIGHTS_KEY_DEFAULT (NULL)
23
34
46 void * user_data, char const * key);
47
59 void ** user_data);
60
65
66// YAC PUBLIC HEADER STOP
67
68// Modular config constructor for vtable-based config system
69
77
84
85#endif // INTERP_METHOD_CALLBACK_H
Defines the interface of the interpolation method "base class" in YAC.
void * user_data
char * key
void yac_interp_method_callback_get_compute_weights_callback(char const *key, yac_func_compute_weights *compute_weights_callback, void **user_data)
void(* yac_func_compute_weights)(double const tgt_coords[3], int src_cell_id, size_t src_cell_idx, int const **global_results_points, double **result_weights, size_t *result_count, void *user_data)
struct yac_interp_method_config * yac_interp_method_config_default_callback_new(void)
Creates a callback interpolation method configuration with default parameters.
struct interp_method * yac_interp_method_callback_new(yac_func_compute_weights compute_weights_callback, void *user_data)
void yac_interp_method_callback_add_compute_weights_callback(yac_func_compute_weights compute_weights_callback, void *user_data, char const *key)
void yac_interp_method_callback_buf_free()
static void compute_weights_callback(double const tgt_coords[3], int src_cell_id, size_t src_cell_idx, int const **global_results_points, double **result_weights, size_t *result_count, void *user_data)