PACMAN 0.1.0
Portable Algorithms for Coupling, Mapping, and Adaptive iNterpolation
Loading...
Searching...
No Matches
FTInterpExtrap.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
12
13namespace PACMAN {
14
15namespace FiniteElements {
16
29template <typename ExecSpace, int_t Dim>
31 Kokkos::Profiling::pushRegion("FiniteElement::FTInterpExtrap");
32
33 Kokkos::Profiling::pushRegion("Compute target point FE intersection");
35
36 Kokkos::Profiling::popRegion(); // Compute target point FE intersection
37
38 Kokkos::Profiling::pushRegion(
39 "Compute target point projection on triangulated skin mesh");
41 if constexpr (Dim == 1) {
43 } else if constexpr (Dim == 2) {
45 } else if constexpr (Dim == 3) {
47 } else {
48 throw std::runtime_error("Unexpected dimension for projection");
49 }
50 Kokkos::Profiling::popRegion(); // Compute target point projection on
51 // triangulated skin mesh
52
53 Kokkos::Profiling::popRegion(); // FTInterpExtrap
54}
55} // namespace FiniteElements
56} // namespace PACMAN
ArborX predicate/callback helpers for PACMAN finite-elements kernels.
void FTInterExtrap(Transfer< ExecSpace, Dim > &transfer)
Interpolate target points from FE cells and extrapolate outside points via projection onto the source...