15#ifndef PECLET_VORO_TRANSPOSE_HPP
16#define PECLET_VORO_TRANSPOSE_HPP
18#include <Kokkos_Core.hpp>
20#include "peclet/core/common/view.hpp"
27 Kokkos::View<int*, peclet::core::MemSpace>
recip;
34 using Exec = peclet::core::ExecSpace;
38 aux.
recip = Kokkos::View<int*, peclet::core::MemSpace>(
"recip", nF);
39 aux.
cellOfFacet = Kokkos::View<int*, peclet::core::MemSpace>(
"cellOfFacet", nF);
40 auto recip = aux.
recip;
44 "aux.cellOfFacet", Kokkos::RangePolicy<Exec>(0, N), KOKKOS_LAMBDA(
const int i) {
50 "aux.recip", Kokkos::RangePolicy<Exec>(0, N), KOKKOS_LAMBDA(
const int i) {
58 Real bestErr = Real(1e300);
63 for (
int c = 0; c < 3; ++c) {
64 Real s = view.
area(g, c) + view.
area(h, c);
Definition convex_cell.hpp:40
std::int32_t gid_t
Definition tessellation_view.hpp:41
AuxMaps< Real > buildAuxMaps(const TessellationView< Real > &view)
Build {recip, cellOfFacet} on device from a published view (dense single-domain).
Definition transpose.hpp:33
Definition transpose.hpp:26
Kokkos::View< int *, peclet::core::MemSpace > recip
Definition transpose.hpp:27
Kokkos::View< int *, peclet::core::MemSpace > cellOfFacet
Definition transpose.hpp:28
Definition tessellation_view.hpp:111
KOKKOS_INLINE_FUNCTION Real area(int f, int c) const
Definition tessellation_view.hpp:144
KOKKOS_INLINE_FUNCTION int facetEnd(int i) const
Definition tessellation_view.hpp:140
KOKKOS_INLINE_FUNCTION gid_t facetNbr(int f) const
Definition tessellation_view.hpp:143
KOKKOS_INLINE_FUNCTION gid_t cellSeed(int i) const
Definition tessellation_view.hpp:137
KOKKOS_INLINE_FUNCTION int facetBegin(int i) const
Definition tessellation_view.hpp:139
KOKKOS_INLINE_FUNCTION int numFacets() const
Definition tessellation_view.hpp:136
KOKKOS_INLINE_FUNCTION int numCells() const
Definition tessellation_view.hpp:131
Published, read-only device data layer for the tessellation (migration §2.1, §3).