core 1.5.0
Shared MPI block decomposition, asynchronous ghost-layer exchange, SDF geometry, load balancing (header-only C++20)
Loading...
Searching...
No Matches
peclet::core::geom::SceneQueryDevice< Real, MemSpace > Class Template Reference

Owns everything a SceneQueryView needs on ONE memory space: the DeviceScene, the extracted sphere-union arrays when the scene is a plain sphere union (mode selected ONCE, here), the candidate-grid CSR, and the periodicity. More...

#include <device_scene.hpp>

Public Member Functions

 SceneQueryDevice ()=default
 
SceneQueryView< Real > view () const
 POD view for kernels; valid while this object lives.
 
bool sphereFast () const
 
bool accelerated () const
 
const DeviceScene< Real, MemSpace > & scene () const
 

Static Public Member Functions

static SceneQueryDevice build (const SceneBuilder< Real > &b, Vec3< Real > origin, Vec3< Real > extent, PeriodicBox< Real > box, bool accelerate=true, int nbHint=0)
 Build from a host SceneBuilder.
 

Detailed Description

template<class Real, class MemSpace = typename Kokkos::DefaultExecutionSpace::memory_space>
class peclet::core::geom::SceneQueryDevice< Real, MemSpace >

Owns everything a SceneQueryView needs on ONE memory space: the DeviceScene, the extracted sphere-union arrays when the scene is a plain sphere union (mode selected ONCE, here), the candidate-grid CSR, and the periodicity.

flow's set_scene, the resolved-CFD-DEM coupling and the AMR device builders are meant to hold one of these instead of private uploads.

Definition at line 165 of file device_scene.hpp.

Constructor & Destructor Documentation

◆ SceneQueryDevice()

template<class Real , class MemSpace = typename Kokkos::DefaultExecutionSpace::memory_space>
peclet::core::geom::SceneQueryDevice< Real, MemSpace >::SceneQueryDevice ( )
default

Member Function Documentation

◆ build()

template<class Real , class MemSpace = typename Kokkos::DefaultExecutionSpace::memory_space>
static SceneQueryDevice peclet::core::geom::SceneQueryDevice< Real, MemSpace >::build ( const SceneBuilder< Real > &  b,
Vec3< Real >  origin,
Vec3< Real >  extent,
PeriodicBox< Real >  box,
bool  accelerate = true,
int  nbHint = 0 
)
inlinestatic

Build from a host SceneBuilder.

origin/extent bound the candidate grid's coverage (queries outside fall back to full scans — exact); accelerate=false skips the grid (right for a handful of instances, e.g. a single stirrer).

Definition at line 172 of file device_scene.hpp.

References peclet::core::geom::buildSceneCandidateGrid(), peclet::core::geom::buildSphereCandidateGrid(), peclet::core::geom::extractSphereUnion(), peclet::core::geom::DeviceScene< Real, MemSpace >::from(), and peclet::core::geom::SceneBuilder< Real >::view().

◆ view()

template<class Real , class MemSpace = typename Kokkos::DefaultExecutionSpace::memory_space>
SceneQueryView< Real > peclet::core::geom::SceneQueryDevice< Real, MemSpace >::view ( ) const
inline

◆ sphereFast()

template<class Real , class MemSpace = typename Kokkos::DefaultExecutionSpace::memory_space>
bool peclet::core::geom::SceneQueryDevice< Real, MemSpace >::sphereFast ( ) const
inline

Definition at line 225 of file device_scene.hpp.

◆ accelerated()

template<class Real , class MemSpace = typename Kokkos::DefaultExecutionSpace::memory_space>
bool peclet::core::geom::SceneQueryDevice< Real, MemSpace >::accelerated ( ) const
inline

Definition at line 226 of file device_scene.hpp.

◆ scene()

template<class Real , class MemSpace = typename Kokkos::DefaultExecutionSpace::memory_space>
const DeviceScene< Real, MemSpace > & peclet::core::geom::SceneQueryDevice< Real, MemSpace >::scene ( ) const
inline

Definition at line 227 of file device_scene.hpp.


The documentation for this class was generated from the following file: