BioCMAMC-ST
Simulation::KernelInline::MoveFunctor Struct Reference

#include <move_kernel.hpp>

Collaboration diagram for Simulation::KernelInline::MoveFunctor:
[legend]

Public Member Functions

 MoveFunctor ()=default
 MoveFunctor (MC::ParticlePositions p, MC::ParticleStatus _status, MoveInfo< ComputeSpace > m, MC::pool_type _random_pool, MC::EventContainer _events, ProbeAutogeneratedBuffer _probes, MC::ParticleAges _ages, MC::ParticleSamples _random)
 MoveFunctor (double _d_t, MC::ParticlePositions p, MC::ParticleStatus _status, std::size_t n_p, MoveInfo< ComputeSpace > m, MC::pool_type _random_pool, MC::EventContainer _events, ProbeAutogeneratedBuffer _probes, MC::ParticleAges _ages, MC::ParticleSamples _random, bool b_move, bool b_leave)
void update (const ComputeSpace &ex, double _d_t, std::size_t n_p, MoveInfo< ComputeSpace > &&move_i, MC::ParticlePositions _positions, MC::ParticleStatus _status, MC::ParticleAges _ages, MC::ParticleSamples _random, bool b_move, bool b_leave)
KOKKOS_INLINE_FUNCTION void operator() (TagMove _tag, const Kokkos::TeamPolicy< ComputeSpace >::member_type &team_handle) const
KOKKOS_INLINE_FUNCTION void operator() (TagLeave _tag, const std::size_t &idx, std::size_t &local_dead_count) const
bool need_launch () const
KOKKOS_FUNCTION void handle_move (const std::size_t idx) const
KOKKOS_INLINE_FUNCTION void inner_handle_exit (const std::size_t i_flow, const std::size_t idx, std ::size_t &dead_count, const double liquid_volume, const std::size_t position) const
KOKKOS_FORCEINLINE_FUNCTION void handle_exit (std::size_t idx, std::size_t &dead_count) const

Public Attributes

double d_t {}
MC::ParticlePositions positions
std::size_t n_particles {}
MoveInfo< ComputeSpace > move
MC::pool_type random_pool
MC::ParticleStatus status
MC::EventContainer events
ProbeAutogeneratedBuffer probes
MC::ParticleAges ages
MC::ParticleSamples random
bool enable_move {}
bool enable_leave {}

Constructor & Destructor Documentation

◆ MoveFunctor() [1/3]

Simulation::KernelInline::MoveFunctor::MoveFunctor ( )
default
Here is the caller graph for this function:

◆ MoveFunctor() [2/3]

Simulation::KernelInline::MoveFunctor::MoveFunctor ( MC::ParticlePositions p,
MC::ParticleStatus _status,
MoveInfo< ComputeSpace > m,
MC::pool_type _random_pool,
MC::EventContainer _events,
ProbeAutogeneratedBuffer _probes,
MC::ParticleAges _ages,
MC::ParticleSamples _random )
inline
Here is the call graph for this function:

◆ MoveFunctor() [3/3]

Simulation::KernelInline::MoveFunctor::MoveFunctor ( double _d_t,
MC::ParticlePositions p,
MC::ParticleStatus _status,
std::size_t n_p,
MoveInfo< ComputeSpace > m,
MC::pool_type _random_pool,
MC::EventContainer _events,
ProbeAutogeneratedBuffer _probes,
MC::ParticleAges _ages,
MC::ParticleSamples _random,
bool b_move,
bool b_leave )
inline

Member Function Documentation

◆ handle_exit()

KOKKOS_FORCEINLINE_FUNCTION void Simulation::KernelInline::MoveFunctor::handle_exit ( std::size_t idx,
std::size_t & dead_count ) const
inline
Here is the call graph for this function:
Here is the caller graph for this function:

◆ handle_move()

KOKKOS_FUNCTION void Simulation::KernelInline::MoveFunctor::handle_move ( const std::size_t idx) const
inline
Here is the call graph for this function:
Here is the caller graph for this function:

◆ inner_handle_exit()

KOKKOS_INLINE_FUNCTION void Simulation::KernelInline::MoveFunctor::inner_handle_exit ( const std::size_t i_flow,
const std::size_t idx,
std ::size_t & dead_count,
const double liquid_volume,
const std::size_t position ) const
inline
Here is the call graph for this function:
Here is the caller graph for this function:

◆ need_launch()

bool Simulation::KernelInline::MoveFunctor::need_launch ( ) const
inlinenodiscard

◆ operator()() [1/2]

KOKKOS_INLINE_FUNCTION void Simulation::KernelInline::MoveFunctor::operator() ( TagLeave _tag,
const std::size_t & idx,
std::size_t & local_dead_count ) const
inline
Here is the call graph for this function:

◆ operator()() [2/2]

KOKKOS_INLINE_FUNCTION void Simulation::KernelInline::MoveFunctor::operator() ( TagMove _tag,
const Kokkos::TeamPolicy< ComputeSpace >::member_type & team_handle ) const
inline
Here is the call graph for this function:

◆ update()

void Simulation::KernelInline::MoveFunctor::update ( const ComputeSpace & ex,
double _d_t,
std::size_t n_p,
MoveInfo< ComputeSpace > && move_i,
MC::ParticlePositions _positions,
MC::ParticleStatus _status,
MC::ParticleAges _ages,
MC::ParticleSamples _random,
bool b_move,
bool b_leave )
inline

Member Data Documentation

◆ ages

MC::ParticleAges Simulation::KernelInline::MoveFunctor::ages

◆ d_t

double Simulation::KernelInline::MoveFunctor::d_t {}

◆ enable_leave

bool Simulation::KernelInline::MoveFunctor::enable_leave {}

◆ enable_move

bool Simulation::KernelInline::MoveFunctor::enable_move {}

◆ events

MC::EventContainer Simulation::KernelInline::MoveFunctor::events

◆ move

MoveInfo<ComputeSpace> Simulation::KernelInline::MoveFunctor::move

◆ n_particles

std::size_t Simulation::KernelInline::MoveFunctor::n_particles {}

◆ positions

MC::ParticlePositions Simulation::KernelInline::MoveFunctor::positions

◆ probes

ProbeAutogeneratedBuffer Simulation::KernelInline::MoveFunctor::probes

◆ random

MC::ParticleSamples Simulation::KernelInline::MoveFunctor::random

◆ random_pool

MC::pool_type Simulation::KernelInline::MoveFunctor::random_pool

◆ status

MC::ParticleStatus Simulation::KernelInline::MoveFunctor::status

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