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"
10#include <vector>
11
12namespace PACMAN {
13
14// ---------------------------------------------------------------------------
15// Execution-space constants — re-exported for convenience
16// (same values as ExecSpaces members in common/execspaces.hpp).
17// ---------------------------------------------------------------------------
19
20// ---------------------------------------------------------------------------
21// RBF function constants
22// ---------------------------------------------------------------------------
26 static constexpr unsigned char WENDLANDC0 = 0x10;
27 static constexpr unsigned char WENDLANDC2 = 0x11;
28 static constexpr unsigned char WENDLANDC4 = 0x12;
29 static constexpr unsigned char WENDLANDC6 = 0x13;
30 static constexpr unsigned char WENDLANDC8 = 0x14;
31};
32
35 std::vector<fp_t>
37 std::vector<int_t>
40};
41
78 fp_t *sourceValues, int_t *connVal, int_t connValSize,
81
91 int_t n);
92
101
102// ---------------------------------------------------------------------------
103// RBF-PUM C++ interface
104// ---------------------------------------------------------------------------
105
108 std::vector<fp_t>
110};
111
134 unsigned char rbfFunction, coordinates_t *sourcePoints,
135 int_t nSourcePoints, fp_t *sourceValues,
137
138// ---------------------------------------------------------------------------
139// MLS C++ interface
140// ---------------------------------------------------------------------------
141
144 std::vector<fp_t>
146};
147
169 fp_t *sourceValues, coordinates_t *targetPoints,
171
172} // namespace PACMAN
double fp_t
Definition types.hpp:15
double coordinates_t
Definition types.hpp:16
FeInterpolateResult 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, bool fortranIndexing)
C++ interface for finite-elements interpolation.
Definition interface.cpp:89
int32_t cell_t
Definition types.hpp:25
RbfInterpolateResult 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)
C++ interface for RBF-PUM interpolation.
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
MLSInterpolateResult MLS_interpolate(int_t spaceDimension, unsigned char execSpace, coordinates_t *sourcePoints, int_t nSourcePoints, fp_t *sourceValues, coordinates_t *targetPoints, int_t nTargetPoints)
C++ interface for Moving Least Squares (MLS) interpolation.
int32_t method_t
Definition types.hpp:24
int32_t int_t
Definition types.hpp:18
int_t vtk_cell_dim(int_t vtkCellType)
Return the topological dimension for a VTK cell type identifier.
Constants representing available Kokkos execution spaces as unsigned chars, usable both from C++ and ...
Result of a finite-elements interpolation call.
Definition interface.hpp:34
std::vector< int_t > targetStatus
TransferStatus code per target point (same underlying int_t as TransferStatus enum).
Definition interface.hpp:38
std::vector< fp_t > targetValues
Interpolated scalar value per target point.
Definition interface.hpp:36
Result of a Moving Least Squares interpolation call.
std::vector< fp_t > targetValues
Interpolated scalar value per target point.
Constants representing available RBF basis functions as unsigned chars, matching PyBindingsRbf::RbfFu...
Definition interface.hpp:25
static constexpr unsigned char WENDLANDC6
Definition interface.hpp:29
static constexpr unsigned char WENDLANDC8
Definition interface.hpp:30
static constexpr unsigned char WENDLANDC2
Definition interface.hpp:27
static constexpr unsigned char WENDLANDC0
Definition interface.hpp:26
static constexpr unsigned char WENDLANDC4
Definition interface.hpp:28
Result of an RBF-PUM interpolation call.
std::vector< fp_t > targetValues
Interpolated scalar value per target point.