PACMAN 0.1.0
Portable Algorithms for Coupling, Mapping, and Adaptive iNterpolation
Loading...
Searching...
No Matches
FTInterpClamp.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
28template <typename ExecSpace, int_t Dim>
30 Kokkos::Profiling::pushRegion("FiniteElement::FTInterpClamp");
31 Kokkos::Profiling::pushRegion("Compute target point FE intersection");
32
34
35 Kokkos::Profiling::popRegion(); // Compute target point FE intersection
36
37 Kokkos::Profiling::pushRegion(
38 "Compute target point projection on triangulated skin mesh");
40 if constexpr (Dim == 1) {
42 } else if constexpr (Dim == 2) {
44 } else if constexpr (Dim == 3) {
46 } else {
47 throw std::runtime_error("Unexpected dimension for projection");
48 }
49
50 Kokkos::Profiling::popRegion(); // Compute target point projection on
51 // triangulated skin mesh
52 Kokkos::Profiling::popRegion(); // FTInterpClamp
53}
54} // namespace FiniteElements
55} // namespace PACMAN
ArborX predicate/callback helpers for PACMAN finite-elements kernels.
void FTInterClamp(Transfer< ExecSpace, Dim > &transfer)
Interpolate target points from FE cells and clamp outside points by projection onto the source mesh s...