YetAnotherCoupler 3.5.2
Loading...
Searching...
No Matches
duplicate_stencils.c File Reference
#include <string.h>
#include <mpi.h>
#include "interp_weights_internal.h"
#include "basic_grid.h"
#include "utils_common.h"
#include "yac_mpi_internal.h"
Include dependency graph for duplicate_stencils.c:

Go to the source code of this file.

Data Structures

struct  dup_info
 
struct  stencil_info
 

Functions

static MPI_Datatype get_dup_info_mpi_datatype (MPI_Comm comm)
 
static MPI_Datatype get_stencil_info_mpi_datatype (MPI_Comm comm)
 
static int compare_dup_info_orig_global_ids (const void *a, const void *b)
 
static int compare_stencil_info_tgt_global_id (const void *a, const void *b)
 
static int compute_bucket (yac_int value, int comm_size)
 
void yac_duplicate_stencils (struct yac_interp_weights *weights, struct yac_basic_grid *tgt_grid, yac_int *tgt_orig_global_id, size_t *tgt_duplicated_idx, size_t nbr_duplicated, enum yac_location location)
 
void yac_duplicate_stencils_f2c (struct yac_interp_weights *weights, struct yac_basic_grid *tgt_grid, yac_int *tgt_orig_global_id, size_t *tgt_duplicated_idx, size_t nbr_duplicated, int location)
 

Function Documentation

◆ compare_dup_info_orig_global_ids()

static int compare_dup_info_orig_global_ids ( const void * a,
const void * b )
static

Definition at line 68 of file duplicate_stencils.c.

Here is the caller graph for this function:

◆ compare_stencil_info_tgt_global_id()

static int compare_stencil_info_tgt_global_id ( const void * a,
const void * b )
static

Definition at line 77 of file duplicate_stencils.c.

Here is the caller graph for this function:

◆ compute_bucket()

static int compute_bucket ( yac_int value,
int comm_size )
inlinestatic

Definition at line 86 of file duplicate_stencils.c.

Here is the caller graph for this function:

◆ get_dup_info_mpi_datatype()

static MPI_Datatype get_dup_info_mpi_datatype ( MPI_Comm comm)
static

Definition at line 26 of file duplicate_stencils.c.

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

◆ get_stencil_info_mpi_datatype()

static MPI_Datatype get_stencil_info_mpi_datatype ( MPI_Comm comm)
static

Definition at line 48 of file duplicate_stencils.c.

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

◆ yac_duplicate_stencils()

void yac_duplicate_stencils ( struct yac_interp_weights * weights,
struct yac_basic_grid * tgt_grid,
yac_int * tgt_orig_global_id,
size_t * tgt_duplicated_idx,
size_t nbr_duplicated,
enum yac_location location )

Duplicates stencils for specified target points in a yac_interp_weights data structure.

Parameters
[in,out]weightsweights data structure
[in]tgt_gridtarget grid
[in]tgt_orig_global_idglobal ids of target points, whose interpolation stencils are to be duplicated
[in]tgt_duplicated_idxlocal ids of target points, who are to interpolated using the duplicated stencils
[in]nbr_duplicatednumber of stencils that are to be duplicated
[in]locationlocation of target points
Remarks
this operation is collective for all processes involved in the creation of the weights data structure
Examples
test_duplicate_stencils_parallel.c.

Definition at line 90 of file duplicate_stencils.c.

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

◆ yac_duplicate_stencils_f2c()

void yac_duplicate_stencils_f2c ( struct yac_interp_weights * weights,
struct yac_basic_grid * tgt_grid,
yac_int * tgt_orig_global_id,
size_t * tgt_duplicated_idx,
size_t nbr_duplicated,
int location )

Definition at line 298 of file duplicate_stencils.c.

Here is the call graph for this function: