YetAnotherCoupler 3.2.0_a
Loading...
Searching...
No Matches
interp_weights_internal.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_WEIGHTS_INTERNAL_H
6#define INTERP_WEIGHTS_INTERNAL_H
7
8#include "interp_weights.h"
10#include "dist_grid_internal.h"
11
20 struct yac_interp_weights * weights, struct remote_points * tgts,
21 double fixed_value);
22
32 struct yac_interp_weights * weights, struct remote_points * tgts,
33 size_t * num_src_per_tgt, struct remote_point * srcs, double * w);
34
43 struct yac_interp_weights * weights, struct remote_points * tgts,
44 size_t * num_src_per_tgt, struct remote_point * srcs);
45
53 struct yac_interp_weights * weights, struct remote_points * tgts,
54 struct remote_point * srcs);
55
70 struct yac_interp_weights * weights, struct remote_points * tgts,
71 size_t * num_src_per_field_per_tgt, struct remote_point ** srcs_per_field,
72 double * w, size_t num_src_fields);
73
87 struct yac_interp_weights * weights, struct remote_points * tgts,
88 size_t * num_src_per_field_per_tgt, struct remote_point ** srcs_per_field,
89 size_t num_src_fields);
90
101 struct yac_interp_weights * weights, struct remote_points * tgts,
102 size_t * src_field_indices, struct remote_point ** srcs_per_field,
103 size_t num_src_fields);
104
118 struct yac_interp_weights * weights, struct remote_points * tgts,
119 size_t * num_stencils_per_tgt, size_t * stencil_indices,
120 int * stencil_ranks, double * w);
121
127MPI_Comm yac_interp_weights_get_comm(struct yac_interp_weights * weights);
128
129#endif // INTERP_WEIGHTS_INTERNAL_H
130
void yac_interp_weights_add_fixed(struct yac_interp_weights *weights, struct remote_points *tgts, double fixed_value)
void yac_interp_weights_add_sum_mf(struct yac_interp_weights *weights, struct remote_points *tgts, size_t *num_src_per_field_per_tgt, struct remote_point **srcs_per_field, size_t num_src_fields)
void yac_interp_weights_add_wsum(struct yac_interp_weights *weights, struct remote_points *tgts, size_t *num_src_per_tgt, struct remote_point *srcs, double *w)
void yac_interp_weights_wcopy_weights(struct yac_interp_weights *weights, struct remote_points *tgts, size_t *num_stencils_per_tgt, size_t *stencil_indices, int *stencil_ranks, double *w)
void yac_interp_weights_add_wsum_mf(struct yac_interp_weights *weights, struct remote_points *tgts, size_t *num_src_per_field_per_tgt, struct remote_point **srcs_per_field, double *w, size_t num_src_fields)
MPI_Comm yac_interp_weights_get_comm(struct yac_interp_weights *weights)
void yac_interp_weights_add_direct(struct yac_interp_weights *weights, struct remote_points *tgts, struct remote_point *srcs)
void yac_interp_weights_add_sum(struct yac_interp_weights *weights, struct remote_points *tgts, size_t *num_src_per_tgt, struct remote_point *srcs)
void yac_interp_weights_add_direct_mf(struct yac_interp_weights *weights, struct remote_points *tgts, size_t *src_field_indices, struct remote_point **srcs_per_field, size_t num_src_fields)