PACMAN 0.1.0
Portable Algorithms for Coupling, Mapping, and Adaptive iNterpolation
Loading...
Searching...
No Matches
interface.hpp
Go to the documentation of this file.
1//
2// This file is subject to the terms and conditions defined in
3// file 'LICENSE', which is part of this source code package.
4//
5
6#pragma once
7
9#include "common/types.hpp"
10namespace PACMAN {
11
12// ---------------------------------------------------------------------------
13// Execution-space constants — re-exported for convenience
14// (same values as ExecSpaces members in common/execspaces.hpp).
15// ---------------------------------------------------------------------------
17
18// ---------------------------------------------------------------------------
19// RBF function constants
20// ---------------------------------------------------------------------------
24 static constexpr unsigned char WENDLANDC0 = 0x10;
25 static constexpr unsigned char WENDLANDC2 = 0x11;
26 static constexpr unsigned char WENDLANDC4 = 0x12;
27 static constexpr unsigned char WENDLANDC6 = 0x13;
28 static constexpr unsigned char WENDLANDC8 = 0x14;
29};
30
68void
69fe_interpolate(int_t spaceDimension, unsigned char execSpace, method_t method,
70 coordinates_t *sourcePoints, int_t nSourcePoints,
71 fp_t *sourceValues, int_t *connVal, int_t connValSize,
72 offset_t *connOff, int_t connOffSize, cell_t *cellTypes,
73 coordinates_t *targetPoints, int_t nTargetPoints,
74 fp_t *targetValues, int_t *targetStatus,
75 bool fortranIndexing = false, int_t nComponents = 1);
76
85void vtk_to_pacman_cell_type(const int_t *vtkTypes, cell_t *pacmanTypes,
86 int_t n);
87
88// ---------------------------------------------------------------------------
89// RBF-PUM C++ interface
90// ---------------------------------------------------------------------------
91
115void
116rbf_interpolate(int_t spaceDimension, unsigned char execSpace,
117 unsigned char rbfFunction, coordinates_t *sourcePoints,
118 int_t nSourcePoints, fp_t *sourceValues,
119 coordinates_t *targetPoints, int_t nTargetPoints,
120 fp_t *targetValues,
121 int_t nComponents = 1);
122
123// ---------------------------------------------------------------------------
124// MLS C++ interface
125// ---------------------------------------------------------------------------
126
148void
149MLS_interpolate(int_t spaceDimension, unsigned char execSpace,
150 coordinates_t *sourcePoints, int_t nSourcePoints,
151 fp_t *sourceValues, coordinates_t *targetPoints,
152 int_t nTargetPoints, fp_t *targetValues,
153 int_t nComponents = 1);
154
155} // namespace PACMAN
double fp_t
Definition types.hpp:15
double coordinates_t
Definition types.hpp:16
void rbf_interpolate(int_t spaceDimension, unsigned char execSpace, unsigned char rbfFunction, coordinates_t *sourcePoints, int_t nSourcePoints, fp_t *sourceValues, coordinates_t *targetPoints, int_t nTargetPoints, fp_t *targetValues, int_t nComponents=1)
C++ interface for RBF-PUM interpolation.
int32_t cell_t
Definition types.hpp:25
void vtk_to_pacman_cell_type(const int_t *vtkTypes, cell_t *pacmanTypes, int_t n)
Convert an array of VTK cell type IDs to PACMAN CellType enum values.
int32_t offset_t
Definition types.hpp:21
void fe_interpolate(int_t spaceDimension, unsigned char execSpace, method_t method, coordinates_t *sourcePoints, int_t nSourcePoints, fp_t *sourceValues, int_t *connVal, int_t connValSize, offset_t *connOff, int_t connOffSize, cell_t *cellTypes, coordinates_t *targetPoints, int_t nTargetPoints, fp_t *targetValues, int_t *targetStatus, bool fortranIndexing, int_t nComponents)
C++ interface for finite-elements interpolation.
Definition interface.cpp:84
int32_t method_t
Definition types.hpp:24
int32_t int_t
Definition types.hpp:18
void MLS_interpolate(int_t spaceDimension, unsigned char execSpace, coordinates_t *sourcePoints, int_t nSourcePoints, fp_t *sourceValues, coordinates_t *targetPoints, int_t nTargetPoints, fp_t *targetValues, int_t nComponents=1)
C++ interface for Moving Least Squares (MLS) interpolation.
Constants representing available Kokkos execution spaces as unsigned chars, usable both from C++ and ...
Constants representing available RBF basis functions as unsigned chars, matching PyBindingsRbf::RbfFu...
Definition interface.hpp:23
static constexpr unsigned char WENDLANDC6
Definition interface.hpp:27
static constexpr unsigned char WENDLANDC8
Definition interface.hpp:28
static constexpr unsigned char WENDLANDC2
Definition interface.hpp:25
static constexpr unsigned char WENDLANDC0
Definition interface.hpp:24
static constexpr unsigned char WENDLANDC4
Definition interface.hpp:26