|
YAC 3.13.2
Yet Another Coupler
|


Go to the source code of this file.
Data Structures | |
| struct | yac_interp_weights_data |
Macros | |
| #define | YAC_WEIGHT_FILE_ON_EXISTING_DEFAULT_VALUE (YAC_WEIGHT_FILE_OVERWRITE) |
Enumerations | |
| enum | yac_interp_weights_reorder_type { YAC_MAPPING_ON_SRC , YAC_MAPPING_ON_TGT } |
| enum | yac_weight_file_on_existing { YAC_WEIGHT_FILE_ERROR = 0 , YAC_WEIGHT_FILE_KEEP = 1 , YAC_WEIGHT_FILE_OVERWRITE = 2 , YAC_WEIGHT_FILE_UNDEFINED = 3 } |
| #define YAC_WEIGHT_FILE_ON_EXISTING_DEFAULT_VALUE (YAC_WEIGHT_FILE_OVERWRITE) |
Definition at line 54 of file interp_weights.h.
| Enumerator | |
|---|---|
| YAC_MAPPING_ON_SRC | weights will be applied at source processes |
| YAC_MAPPING_ON_TGT | weights will be applied at target processes |
Definition at line 42 of file interp_weights.h.
Definition at line 47 of file interp_weights.h.
| struct yac_interp_weights_data yac_interp_weights_data_copy | ( | struct yac_interp_weights_data | interp_weights_data | ) |
Generates a copy of a provided instance of type yac_interp_weights_data
| [in] | interp_weights_data | data to be copied |
Definition at line 6433 of file interp_weights.c.

| void yac_interp_weights_data_free | ( | struct yac_interp_weights_data | interp_weights_data | ) |
Frees data associated with an instance of type yac_interp_weights_data
| [in,out] | interp_weights_data | data to be free |
Definition at line 6479 of file interp_weights.c.

| void yac_interp_weights_data_init | ( | struct yac_interp_weights_data * | interp_weights_data | ) |
Initialises an instance of type yac_interp_weights_data with empty data
| [in,out] | interp_weights_data | data to be initialised |
Definition at line 6426 of file interp_weights.c.


| void yac_interp_weights_delete | ( | struct yac_interp_weights * | weights | ) |
Destructor for interpolation weights.
| [in,out] | weights | interpolation weights |
Definition at line 6416 of file interp_weights.c.


| size_t yac_interp_weights_get_interp_count | ( | struct yac_interp_weights * | weights | ) |
returns the count of all target for which the weights contain a stencil
| [in] | weights | interpolation weights |
Definition at line 6392 of file interp_weights.c.

| yac_int * yac_interp_weights_get_interp_tgt | ( | struct yac_interp_weights * | weights | ) |
returns the global ids of all targets for which the weights contain a stencil
| [in] | weights | interpolation weights |
Definition at line 6398 of file interp_weights.c.

| struct yac_interpolation * yac_interp_weights_get_interpolation | ( | struct yac_interp_weights * | weights, |
| enum yac_interp_weights_reorder_type | reorder, | ||
| size_t | collection_size, | ||
| double | frac_mask_fallback_value, | ||
| double | scaling_factor, | ||
| double | scaling_summand, | ||
| char const * | yaxt_exchanger_name, | ||
| int | is_source, | ||
| int | is_target ) |
generates an interpolation from interpolation weights
| [in] | weights | interpolation weights |
| [in] | reorder | determines at which processes the weights are to be applied |
| [in] | collection_size | collection size |
| [in] | frac_mask_fallback_value | fallback value for dynamic fractional masking |
| [in] | scaling_factor | scaling factor |
| [in] | scaling_summand | scaling summand |
| [in] | yaxt_exchanger_name | name of the yaxt exchanger that is to be used in the interpolation |
| [in] | is_source | defined whether the local process is a source |
| [in] | is_target | defined whether the local process is a target |
Definition at line 4837 of file interp_weights.c.


| struct yac_interpolation * yac_interp_weights_get_interpolation_ext | ( | struct yac_interp_weights const * | weights, |
| struct yac_interpolation_gen_config const * | interp_gen_config, | ||
| int | is_source, | ||
| int | is_target ) |
Generates an interpolation from interpolation weights.
| [in] | weights | Pointer to a valid interpolation weights object. |
| [in] | interp_gen_config | Pointer to a configuration structure defining the interpolation generation options. |
| [in] | is_source | Defined whether the local process is a source. |
| [in] | is_target | Defined whether the local process is a target. |
Definition at line 4858 of file interp_weights.c.


| void yac_interp_weights_get_interpolation_raw | ( | struct yac_interp_weights * | weights, |
| size_t | collection_size, | ||
| double | frac_mask_fallback_value, | ||
| double | scaling_factor, | ||
| double | scaling_summand, | ||
| char const * | yaxt_exchanger_name, | ||
| struct yac_interpolation_exchange ** | interpolation_exchange, | ||
| struct yac_interp_weights_data * | interp_weights_data, | ||
| int | is_source, | ||
| int | is_target ) |
generates a raw interpolation from interpolation weights
In an exchange, the interpolation will receive on all target process the source points required to compute the local target points based on the interpolation data, which is provied by this routine as well.
| [in] | weights | interpolation weights |
| [in] | collection_size | collection size |
| [in] | frac_mask_fallback_value | fallback value for dynamic fractional masking |
| [in] | scaling_factor | scaling factor |
| [in] | scaling_summand | scaling summand |
| [in] | yaxt_exchanger_name | name of the yaxt exchanger that is to be used in the interpolation |
| [out] | interpolation_exchange | interpolation exchange structure |
| [out] | interp_weights_data | interpolation data required to compute local target points from the received source points |
| [in] | is_source | defined whether the local process is a source |
| [in] | is_target | defined whether the local process is a target |
Definition at line 5402 of file interp_weights.c.

| void yac_interp_weights_get_interpolation_raw_ext | ( | struct yac_interp_weights const * | weights, |
| struct yac_interpolation_gen_config const * | interp_gen_config, | ||
| struct yac_interpolation_exchange ** | interpolation_exchange, | ||
| struct yac_interp_weights_data * | interp_weights_data, | ||
| int | is_source, | ||
| int | is_target ) |
generates a raw interpolation from interpolation weights
In an exchange, the interpolation will receive on all target process the source points required to compute the local target points based on the interpolation data, which is provied by this routine as well.
| [in] | weights | interpolation weights |
| [in] | interp_gen_config | Pointer to a configuration structure defining the interpolation generation options. (Reorder configuration is ignored for raw interpolation.) |
| [out] | interpolation_exchange | interpolation exchange structure |
| [out] | interp_weights_data | interpolation data required to compute local target points from the received source points |
| [in] | is_source | defined whether the local process is a source |
| [in] | is_target | defined whether the local process is a target |
Definition at line 5422 of file interp_weights.c.


| struct yac_interp_weights * yac_interp_weights_new | ( | MPI_Comm | comm, |
| enum yac_location | tgt_location, | ||
| enum yac_location * | src_locations, | ||
| size_t | num_src_fields ) |
Constructor for interpolation weights.
| [in] | comm | MPI communicator |
| [in] | tgt_location | location of target field |
| [in] | src_locations | locations of source fields |
| [in] | num_src_fields | number of source fields |
Definition at line 152 of file interp_weights.c.

| void yac_interp_weights_write_to_file | ( | struct yac_interp_weights * | weights, |
| char const * | filename, | ||
| char const * | src_grid_name, | ||
| char const * | tgt_grid_name, | ||
| size_t | src_grid_size, | ||
| size_t | tgt_grid_size, | ||
| enum yac_weight_file_on_existing | on_existing ) |
writes interpolation weights to file
| [in] | weights | interpolation weights |
| [in] | filename | file name |
| [in] | src_grid_name | name of the source grid |
| [in] | tgt_grid_name | name of the target grid |
| [in] | src_grid_size | global size of the source grid |
| [in] | tgt_grid_size | global size of the target grid |
| [in] | on_existing | specifies how YAC is supposed to handle the case of an already existing file with the same name |
Definition at line 6139 of file interp_weights.c.

