|
BioCMAMC-ST
|
#include <move_kernel.hpp>
Public Types | |
| using | TeamPolicy = Kokkos::TeamPolicy<ComputeSpace> |
| using | TeamMember = TeamPolicy::member_type |
Public Member Functions | |
| MoveFunctor ()=default | |
| MoveFunctor (std::size_t p_team_move, std::size_t p_team_leave, MC::ParticlePositions p, MC::ParticleStatus _status, MC::DomainState< ComputeSpace > m, MC::pool_type _random_pool, MC::EventContainer _events, ProbeAutogeneratedBuffer _probes, MC::ParticleAges _ages) | |
| MoveFunctor (std::size_t p_team_move, std::size_t p_team_leave, double _d_t, MC::ParticlePositions p, MC::ParticleStatus _status, std::size_t n_p, MC::DomainState< ComputeSpace > m, MC::pool_type _random_pool, MC::EventContainer _events, ProbeAutogeneratedBuffer _probes, MC::ParticleAges _ages, bool b_move, bool b_leave) | |
| void | update (double _d_t, std::size_t n_p, MC::DomainState< ComputeSpace > move_i, MC::ParticlePositions _positions, MC::ParticleStatus _status, MC::ParticleAges _ages, bool b_move, bool b_leave) |
| bool | need_launch () const |
| KOKKOS_INLINE_FUNCTION void | operator() (TagMove, const Kokkos::TeamPolicy< ComputeSpace >::member_type &team) const |
| KOKKOS_INLINE_FUNCTION void | operator() (TagLeave _tag, const Kokkos::TeamPolicy< ComputeSpace >::member_type &team_handle, std::size_t &local_dead_count) const |
| bool | do_move () const |
| bool | do_leave () const |
| KOKKOS_INLINE_FUNCTION void | operator() (TagLeaveB0D _tag, const Kokkos::TeamPolicy< ComputeSpace >::member_type &team_handle, std::size_t &local_dead_count) const |
| KOKKOS_FUNCTION void | handle_move (const std::size_t idx, const float rng1, const float rng2) const |
| template<typename ExecSpace> | |
| KOKKOS_FORCEINLINE_FUNCTION std::size_t | handle_exit (const std::size_t idx, const Kokkos::View< const MC::LeavingFlow *, ExecSpace > &leaving_flow, std::size_t &dead_count) const |
| KOKKOS_INLINE_FUNCTION void | perform_exit (const bool proba, const std::size_t idx, std::size_t &dead_count) const |
Public Attributes | |
| double | d_t {} |
| MC::ParticlePositions | positions |
| std::size_t | n_particles {} |
| MC::DomainState< ComputeSpace, true > | move |
| MC::pool_type | random_pool |
| MC::ParticleStatus | status |
| MC::EventContainer | events |
| ProbeAutogeneratedBuffer | probes |
| MC::ParticleAges | ages |
| std::size_t | m_p_team_leave {} |
| std::size_t | m_p_team_move {} |
| bool | m_enable_move {} |
| bool | m_enable_leave {} |
| using Simulation::KernelInline::MoveFunctor::TeamMember = TeamPolicy::member_type |
| using Simulation::KernelInline::MoveFunctor::TeamPolicy = Kokkos::TeamPolicy<ComputeSpace> |
|
default |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inlinenodiscard |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
| MC::ParticleAges Simulation::KernelInline::MoveFunctor::ages |
| double Simulation::KernelInline::MoveFunctor::d_t {} |
| MC::EventContainer Simulation::KernelInline::MoveFunctor::events |
| bool Simulation::KernelInline::MoveFunctor::m_enable_leave {} |
| bool Simulation::KernelInline::MoveFunctor::m_enable_move {} |
| std::size_t Simulation::KernelInline::MoveFunctor::m_p_team_leave {} |
| std::size_t Simulation::KernelInline::MoveFunctor::m_p_team_move {} |
| MC::DomainState<ComputeSpace, true> Simulation::KernelInline::MoveFunctor::move |
| std::size_t Simulation::KernelInline::MoveFunctor::n_particles {} |
| MC::ParticlePositions Simulation::KernelInline::MoveFunctor::positions |
| ProbeAutogeneratedBuffer Simulation::KernelInline::MoveFunctor::probes |
| MC::pool_type Simulation::KernelInline::MoveFunctor::random_pool |
| MC::ParticleStatus Simulation::KernelInline::MoveFunctor::status |