YetAnotherCoupler 3.2.0_a
Loading...
Searching...
No Matches
Data Structures | Functions
interp_stack_config.c File Reference
#include "config.h"
#include <math.h>
#include <string.h>
#include "geometry.h"
#include "yac_mpi_internal.h"
#include "interp_stack_config.h"
Include dependency graph for interp_stack_config.c:

Go to the source code of this file.

Data Structures

union  yac_interp_stack_config_entry
 
struct  yac_interp_stack_config
 

Functions

struct yac_interp_stack_configyac_interp_stack_config_copy (struct yac_interp_stack_config *interp_stack)
 
static void check_interpolation_type (enum yac_interpolation_list type, char const *routine)
 
static int yac_interp_stack_config_entry_compare (void const *a_, void const *b_)
 
int yac_interp_stack_config_compare (void const *a_, void const *b_)
 
struct interp_method ** yac_interp_stack_config_generate (struct yac_interp_stack_config *interp_stack)
 
static size_t yac_interp_stack_config_get_string_pack_size (char const *string, MPI_Comm comm)
 
static size_t yac_interp_stack_config_get_entry_pack_size (union yac_interp_stack_config_entry *entry, MPI_Comm comm)
 
size_t yac_interp_stack_config_get_pack_size (struct yac_interp_stack_config *interp_stack, MPI_Comm comm)
 
static void yac_interp_stack_config_pack_string (char const *string, void *buffer, int buffer_size, int *position, MPI_Comm comm)
 
static void yac_interp_stack_config_pack_entry (union yac_interp_stack_config_entry *entry, void *buffer, int buffer_size, int *position, MPI_Comm comm)
 
void yac_interp_stack_config_pack (struct yac_interp_stack_config *interp_stack, void *buffer, int buffer_size, int *position, MPI_Comm comm)
 
static void yac_interp_stack_config_unpack_n_string (void *buffer, int buffer_size, int *position, char *string, int max_string_len, MPI_Comm comm)
 
static void yac_interp_stack_config_unpack_entry (void *buffer, int buffer_size, int *position, union yac_interp_stack_config_entry *entry, MPI_Comm comm)
 
struct yac_interp_stack_configyac_interp_stack_config_unpack (void *buffer, int buffer_size, int *position, MPI_Comm comm)
 
struct yac_interp_stack_configyac_interp_stack_config_new ()
 
void yac_interp_stack_config_delete (struct yac_interp_stack_config *interp_stack_config)
 
static union yac_interp_stack_config_entryyac_interp_stack_config_add_entry (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_average_f2c (struct yac_interp_stack_config *interp_stack_config, int reduction_type, int partial_coverage)
 
void yac_interp_stack_config_add_ncc (struct yac_interp_stack_config *interp_stack_config, enum yac_interp_ncc_weight_type weight_type, int partial_coverage)
 
void yac_interp_stack_config_add_ncc_f2c (struct yac_interp_stack_config *interp_stack_config, int weight_type, int partial_coverage)
 
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_nnn_f2c (struct yac_interp_stack_config *interp_stack_config, int type, size_t n, double scale)
 
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_add_conservative_f2c (struct yac_interp_stack_config *interp_stack_config, int order, int enforced_conserv, int partial_coverage, int normalisation)
 
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)
 
void yac_interp_stack_config_add_spmap_f2c (struct yac_interp_stack_config *interp_stack_config, double spread_distance, double max_search_distance, int weight_type, int scale_type, double src_sphere_radius, double tgt_sphere_radius)
 
void yac_interp_stack_config_add_hcsbb (struct yac_interp_stack_config *interp_stack_config)
 
static void check_string (char const *string, char const *file, int line, char const *routine, char const *variable)
 
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_add_fixed (struct yac_interp_stack_config *interp_stack_config, double value)
 
void yac_interp_stack_config_add_check (struct yac_interp_stack_config *interp_stack_config, char const *constructor_key, char const *do_search_key)
 
void yac_interp_stack_config_add_creep (struct yac_interp_stack_config *interp_stack_config, int creep_distance)
 
void yac_interp_stack_config_add_user_callback (struct yac_interp_stack_config *interp_stack_config, char const *func_compute_weights_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)
 
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_entry_get_average (union yac_interp_stack_config_entry const *interp_stack_entry, enum yac_interp_avg_weight_type *reduction_type, int *partial_coverage)
 
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)
 
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)
 
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_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_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_entry_get_fixed (union yac_interp_stack_config_entry const *interp_stack_entry, double *value)
 
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)
 
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_entry_get_user_callback (union yac_interp_stack_config_entry const *interp_stack_entry, char const **func_compute_weights_key)
 

Function Documentation

◆ check_interpolation_type()

static void check_interpolation_type ( enum yac_interpolation_list  type,
char const *  routine 
)
inlinestatic

Definition at line 101 of file interp_stack_config.c.

Here is the caller graph for this function:

◆ check_string()

static void check_string ( char const *  string,
char const *  file,
int  line,
char const *  routine,
char const *  variable 
)
static

Definition at line 1178 of file interp_stack_config.c.

Here is the caller graph for this function:

◆ yac_interp_stack_config_add_average()

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 
)
Examples
test_couple_config.c, and test_interp_stack_config.c.

Definition at line 993 of file interp_stack_config.c.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ yac_interp_stack_config_add_average_f2c()

void yac_interp_stack_config_add_average_f2c ( struct yac_interp_stack_config interp_stack_config,
int  reduction_type,
int  partial_coverage 
)

Definition at line 1005 of file interp_stack_config.c.

Here is the call graph for this function:

◆ yac_interp_stack_config_add_check()

void yac_interp_stack_config_add_check ( struct yac_interp_stack_config interp_stack_config,
char const *  constructor_key,
char const *  do_search_key 
)
Examples
test_couple_config.c, and test_instance_parallel2.c.

Definition at line 1224 of file interp_stack_config.c.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ yac_interp_stack_config_add_conservative()

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 
)
Examples
test_couple_config.c.

Definition at line 1088 of file interp_stack_config.c.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ yac_interp_stack_config_add_conservative_f2c()

void yac_interp_stack_config_add_conservative_f2c ( struct yac_interp_stack_config interp_stack_config,
int  order,
int  enforced_conserv,
int  partial_coverage,
int  normalisation 
)

Definition at line 1103 of file interp_stack_config.c.

Here is the call graph for this function:

◆ yac_interp_stack_config_add_creep()

void yac_interp_stack_config_add_creep ( struct yac_interp_stack_config interp_stack_config,
int  creep_distance 
)
Examples
test_couple_config.c.

Definition at line 1257 of file interp_stack_config.c.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ yac_interp_stack_config_add_entry()

static union yac_interp_stack_config_entry * yac_interp_stack_config_add_entry ( struct yac_interp_stack_config interp_stack_config)
static

Definition at line 981 of file interp_stack_config.c.

Here is the caller graph for this function:

◆ yac_interp_stack_config_add_fixed()

void yac_interp_stack_config_add_fixed ( struct yac_interp_stack_config interp_stack_config,
double  value 
)
Examples
test_couple_config.c, test_instance_parallel2.c, test_instance_parallel3.c, and test_interp_stack_config.c.

Definition at line 1214 of file interp_stack_config.c.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ yac_interp_stack_config_add_hcsbb()

void yac_interp_stack_config_add_hcsbb ( struct yac_interp_stack_config interp_stack_config)
Examples
test_couple_config.c.

Definition at line 1169 of file interp_stack_config.c.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ yac_interp_stack_config_add_ncc()

void yac_interp_stack_config_add_ncc ( struct yac_interp_stack_config interp_stack_config,
enum yac_interp_ncc_weight_type  weight_type,
int  partial_coverage 
)
Examples
test_couple_config.c.

Definition at line 1022 of file interp_stack_config.c.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ yac_interp_stack_config_add_ncc_f2c()

void yac_interp_stack_config_add_ncc_f2c ( struct yac_interp_stack_config interp_stack_config,
int  weight_type,
int  partial_coverage 
)

Definition at line 1034 of file interp_stack_config.c.

Here is the call graph for this function:

◆ yac_interp_stack_config_add_nnn()

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 
)
Examples
test_couple_config.c.

Definition at line 1050 of file interp_stack_config.c.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ yac_interp_stack_config_add_nnn_f2c()

void yac_interp_stack_config_add_nnn_f2c ( struct yac_interp_stack_config interp_stack_config,
int  type,
size_t  n,
double  scale 
)

Definition at line 1070 of file interp_stack_config.c.

Here is the call graph for this function:

◆ yac_interp_stack_config_add_spmap()

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 
)
Examples
test_couple_config.c.

Definition at line 1120 of file interp_stack_config.c.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ yac_interp_stack_config_add_spmap_f2c()

void yac_interp_stack_config_add_spmap_f2c ( struct yac_interp_stack_config interp_stack_config,
double  spread_distance,
double  max_search_distance,
int  weight_type,
int  scale_type,
double  src_sphere_radius,
double  tgt_sphere_radius 
)

Definition at line 1139 of file interp_stack_config.c.

Here is the call graph for this function:

◆ yac_interp_stack_config_add_user_callback()

void yac_interp_stack_config_add_user_callback ( struct yac_interp_stack_config interp_stack_config,
char const *  func_compute_weights_key 
)
Examples
test_couple_config.c.

Definition at line 1267 of file interp_stack_config.c.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ yac_interp_stack_config_add_user_file()

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 
)
Examples
test_couple_config.c.

Definition at line 1190 of file interp_stack_config.c.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ yac_interp_stack_config_compare()

int yac_interp_stack_config_compare ( void const *  a_,
void const *  b_ 
)
Examples
test_couple_config.c, and test_interp_stack_config.c.

Definition at line 286 of file interp_stack_config.c.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ yac_interp_stack_config_copy()

struct yac_interp_stack_config * yac_interp_stack_config_copy ( struct yac_interp_stack_config interp_stack)

Definition at line 87 of file interp_stack_config.c.

Here is the caller graph for this function:

◆ yac_interp_stack_config_delete()

void yac_interp_stack_config_delete ( struct yac_interp_stack_config interp_stack_config)
Examples
test_couple_config.c, test_instance_parallel2.c, test_instance_parallel3.c, and test_interp_stack_config.c.

Definition at line 974 of file interp_stack_config.c.

Here is the caller graph for this function:

◆ yac_interp_stack_config_entry_compare()

static int yac_interp_stack_config_entry_compare ( void const *  a_,
void const *  b_ 
)
static

Definition at line 121 of file interp_stack_config.c.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ yac_interp_stack_config_entry_get_average()

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 
)

Definition at line 1310 of file interp_stack_config.c.

◆ yac_interp_stack_config_entry_get_check()

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 
)

Definition at line 1416 of file interp_stack_config.c.

◆ yac_interp_stack_config_entry_get_conservative()

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 
)

Definition at line 1353 of file interp_stack_config.c.

◆ yac_interp_stack_config_entry_get_creep()

void yac_interp_stack_config_entry_get_creep ( union yac_interp_stack_config_entry const *  interp_stack_entry,
int *  creep_distance 
)

Definition at line 1429 of file interp_stack_config.c.

◆ yac_interp_stack_config_entry_get_fixed()

void yac_interp_stack_config_entry_get_fixed ( union yac_interp_stack_config_entry const *  interp_stack_entry,
double *  value 
)

Definition at line 1404 of file interp_stack_config.c.

◆ yac_interp_stack_config_entry_get_ncc()

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 
)

Definition at line 1324 of file interp_stack_config.c.

◆ yac_interp_stack_config_entry_get_nnn()

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 
)

Definition at line 1338 of file interp_stack_config.c.

◆ yac_interp_stack_config_entry_get_spmap()

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 
)

Definition at line 1369 of file interp_stack_config.c.

◆ yac_interp_stack_config_entry_get_type()

enum yac_interpolation_list yac_interp_stack_config_entry_get_type ( union yac_interp_stack_config_entry const *  interp_stack_entry)

Definition at line 1304 of file interp_stack_config.c.

Here is the caller graph for this function:

◆ yac_interp_stack_config_entry_get_user_callback()

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 
)

Definition at line 1441 of file interp_stack_config.c.

◆ yac_interp_stack_config_entry_get_user_file()

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 
)

Definition at line 1389 of file interp_stack_config.c.

◆ yac_interp_stack_config_generate()

struct interp_method ** yac_interp_stack_config_generate ( struct yac_interp_stack_config interp_stack)

Definition at line 305 of file interp_stack_config.c.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ yac_interp_stack_config_get_entry()

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 
)

Definition at line 1291 of file interp_stack_config.c.

Here is the caller graph for this function:

◆ yac_interp_stack_config_get_entry_pack_size()

static size_t yac_interp_stack_config_get_entry_pack_size ( union yac_interp_stack_config_entry entry,
MPI_Comm  comm 
)
static

Definition at line 461 of file interp_stack_config.c.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ yac_interp_stack_config_get_pack_size()

size_t yac_interp_stack_config_get_pack_size ( struct yac_interp_stack_config interp_stack,
MPI_Comm  comm 
)

Definition at line 535 of file interp_stack_config.c.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ yac_interp_stack_config_get_size()

size_t yac_interp_stack_config_get_size ( struct yac_interp_stack_config interp_stack)

Definition at line 1284 of file interp_stack_config.c.

Here is the caller graph for this function:

◆ yac_interp_stack_config_get_string_pack_size()

static size_t yac_interp_stack_config_get_string_pack_size ( char const *  string,
MPI_Comm  comm 
)
static

Definition at line 444 of file interp_stack_config.c.

Here is the caller graph for this function:

◆ yac_interp_stack_config_new()

struct yac_interp_stack_config * yac_interp_stack_config_new ( )
Examples
test_couple_config.c, test_instance_parallel2.c, test_instance_parallel3.c, and test_interp_stack_config.c.

Definition at line 965 of file interp_stack_config.c.

Here is the caller graph for this function:

◆ yac_interp_stack_config_pack()

void yac_interp_stack_config_pack ( struct yac_interp_stack_config interp_stack,
void *  buffer,
int  buffer_size,
int *  position,
MPI_Comm  comm 
)

Definition at line 724 of file interp_stack_config.c.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ yac_interp_stack_config_pack_entry()

static void yac_interp_stack_config_pack_entry ( union yac_interp_stack_config_entry entry,
void *  buffer,
int  buffer_size,
int *  position,
MPI_Comm  comm 
)
static

Definition at line 573 of file interp_stack_config.c.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ yac_interp_stack_config_pack_string()

static void yac_interp_stack_config_pack_string ( char const *  string,
void *  buffer,
int  buffer_size,
int *  position,
MPI_Comm  comm 
)
static

Definition at line 551 of file interp_stack_config.c.

Here is the caller graph for this function:

◆ yac_interp_stack_config_unpack()

struct yac_interp_stack_config * yac_interp_stack_config_unpack ( void *  buffer,
int  buffer_size,
int *  position,
MPI_Comm  comm 
)

Definition at line 939 of file interp_stack_config.c.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ yac_interp_stack_config_unpack_entry()

static void yac_interp_stack_config_unpack_entry ( void *  buffer,
int  buffer_size,
int *  position,
union yac_interp_stack_config_entry entry,
MPI_Comm  comm 
)
static

Definition at line 764 of file interp_stack_config.c.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ yac_interp_stack_config_unpack_n_string()

static void yac_interp_stack_config_unpack_n_string ( void *  buffer,
int  buffer_size,
int *  position,
char *  string,
int  max_string_len,
MPI_Comm  comm 
)
static

Definition at line 739 of file interp_stack_config.c.

Here is the caller graph for this function: