|
peclet.voro 1.0.0
Device-native moving-particle Voronoi dynamics
|
Published, read-only device data layer for the tessellation (migration §2.1, §3). More...
#include <cmath>#include <cstdint>#include <Kokkos_Core.hpp>#include <map>#include <vector>#include "peclet/core/common/view.hpp"

Go to the source code of this file.
Classes | |
| struct | peclet::voro::HostTessellation< Real > |
| Host-side CSR buffers — the conversion target and the round-trip oracle. More... | |
| struct | peclet::voro::TessellationView< Real > |
Namespaces | |
| namespace | peclet |
| namespace | peclet::voro |
| namespace | peclet::voro::detail |
Typedefs | |
| using | peclet::voro::gid_t = std::int32_t |
Functions | |
| gid_t | peclet::voro::toGid (std::uint32_t id) |
| template<class Real > | |
| std::vector< int > | peclet::voro::buildReciprocalMap (const HostTessellation< Real > &t) |
| template<class T > | |
| Kokkos::View< T *, peclet::core::MemSpace > | peclet::voro::detail::viewFrom (const std::vector< T > &h, const std::string &label) |
| template<class Real > | |
| TessellationView< Real > | peclet::voro::upload (const HostTessellation< Real > &h) |
| Upload a HostTessellation to device Views. | |
Published, read-only device data layer for the tessellation (migration §2.1, §3).
This is the stable boundary between the tessellation engine and its consumers (physics, microstructure analysis, ...). Consumers parallel_for over a data-oriented CSR view of per-cell / per-facet quantities and never touch the half-edge internals — which is what keeps the engine reusable (plan §1).
Pieces:
Storage is an exclusive-scan facet offset (mean cell ~15 facets, so CSR, not the 128 cap) plus packed facet arrays. Per-facet 3-vectors are stored flat (3*f + c) so the layout is unambiguous across backends; coalescing layout is retuned in Phase 7.
Requires Kokkos; only included by the device build (-DVORFLOW_KOKKOS=ON). This is a core header: it must never include a physics header (see §1).