Hipace
|
Functor that can be used to apply the boundary conditions to the macroparticles inside a ParallelFor kernel. More...
#include <GetAndSetPosition.H>
Public Types | |
using | RType = amrex::ParticleReal |
using | PTDType = typename T_ParTile::ParticleTileDataType |
Public Member Functions | |
EnforceBCandSetPos (const amrex::Geometry &geom) noexcept | |
AMREX_GPU_HOST_DEVICE AMREX_FORCE_INLINE bool | operator() (const PTDType &ptd, const int ip, RType &x, RType &y) const noexcept |
set position and enforces the boundary condition to the plasma particle at index ip and returns if the particle is invalid More... | |
AMREX_GPU_HOST_DEVICE AMREX_FORCE_INLINE bool | operator() (const PTDType &ptd, const int ip, RType &x, RType &y, RType &z) const noexcept |
set position and enforces the boundary condition to the beam particle More... | |
Public Attributes | |
amrex::GpuArray< amrex::Real, AMREX_SPACEDIM > | m_plo |
amrex::GpuArray< amrex::Real, AMREX_SPACEDIM > | m_phi |
int | m_is_per |
Functor that can be used to apply the boundary conditions to the macroparticles inside a ParallelFor kernel.
using EnforceBCandSetPos< T_ParTile >::PTDType = typename T_ParTile::ParticleTileDataType |
using EnforceBCandSetPos< T_ParTile >::RType = amrex::ParticleReal |
|
inlinenoexcept |
Constructor.
geom | geometry used for domain size and periodicity |
|
inlinenoexcept |
set position and enforces the boundary condition to the plasma particle at index ip
and returns if the particle is invalid
[in] | ptd | ParticleTileData |
[in] | ip | index of the particle |
[in] | x | new x position of particle |
[in] | y | new x position of particle |
|
inlinenoexcept |
set position and enforces the boundary condition to the beam particle
[in] | ptd | ParticleTileData |
[in] | ip | index of the particle |
[in] | x | new x position of particle |
[in] | y | new x position of particle |
[in] | z | new x position of particle |
int EnforceBCandSetPos< T_ParTile >::m_is_per |
amrex::GpuArray<amrex::Real,AMREX_SPACEDIM> EnforceBCandSetPos< T_ParTile >::m_phi |
amrex::GpuArray<amrex::Real,AMREX_SPACEDIM> EnforceBCandSetPos< T_ParTile >::m_plo |