|
IPPL (Independent Parallel Particle Layer)
IPPL
|
#include <ParticleLayout.h>
Public Types | |
| typedef T | value_type |
| typedef std::int64_t | index_type |
| typedef Vector< T, Dim > | vector_type |
| using | particle_position_type = ParticleAttrib<vector_type, PositionProperties...> |
| using | position_memory_space = typename particle_position_type::memory_space |
| using | position_execution_space = typename particle_position_type::execution_space |
| typedef std::array< BC, 2 *Dim > | bc_container_type |
Public Member Functions | |
| ParticleLayout () | |
| ~ParticleLayout ()=default | |
| template<class PBase> | |
| void | update (PBase &) |
| void | setParticleBC (bc_container_type bcs) |
| const bc_container_type & | getParticleBC () const |
| void | setParticleBC (BC bc) |
| void | applyBC (const particle_position_type &R, const NDRegion< T, Dim > &nr) |
Static Public Attributes | |
| static constexpr unsigned | dim = Dim |
Private Attributes | |
| bc_container_type | bcs_m |
| the list of boundary conditions for this set of particles | |
Definition at line 44 of file ParticleLayout.h.
| typedef std::array<BC, 2 * Dim> ippl::detail::ParticleLayout< T, Dim, PositionProperties >::bc_container_type |
Definition at line 54 of file ParticleLayout.h.
| typedef std::int64_t ippl::detail::ParticleLayout< T, Dim, PositionProperties >::index_type |
Definition at line 47 of file ParticleLayout.h.
| using ippl::detail::ParticleLayout< T, Dim, PositionProperties >::particle_position_type = ParticleAttrib<vector_type, PositionProperties...> |
Definition at line 50 of file ParticleLayout.h.
| using ippl::detail::ParticleLayout< T, Dim, PositionProperties >::position_execution_space = typename particle_position_type::execution_space |
Definition at line 52 of file ParticleLayout.h.
| using ippl::detail::ParticleLayout< T, Dim, PositionProperties >::position_memory_space = typename particle_position_type::memory_space |
Definition at line 51 of file ParticleLayout.h.
| typedef T ippl::detail::ParticleLayout< T, Dim, PositionProperties >::value_type |
Definition at line 46 of file ParticleLayout.h.
| typedef Vector<T, Dim> ippl::detail::ParticleLayout< T, Dim, PositionProperties >::vector_type |
Definition at line 48 of file ParticleLayout.h.
|
inline |
Definition at line 59 of file ParticleLayout.h.
|
default |
| void ippl::detail::ParticleLayout< T, Dim, Properties >::applyBC | ( | const particle_position_type & | R, |
| const NDRegion< T, Dim > & | nr ) |
Apply the given boundary conditions to the current particle positions.
| R | is the particle position attribute |
| nr | is the NDRegion |
Definition at line 34 of file ParticleLayout.hpp.
References bcs_m, Dim, ippl::ParticleAttrib< T, Properties >::getView(), ippl::detail::isUpper(), ippl::NO, ippl::PERIODIC, ippl::REFLECTIVE, and ippl::SINK.
|
inline |
Copy over the given boundary conditions.
| bcs | are the boundary conditions |
Definition at line 79 of file ParticleLayout.h.
|
inline |
Use the same boundary condition on each face
| bcs | are the boundary conditions |
Definition at line 85 of file ParticleLayout.h.
|
inline |
Copy over the given boundary conditions.
| bcs | are the boundary conditions |
Definition at line 73 of file ParticleLayout.h.
|
inline |
Definition at line 64 of file ParticleLayout.h.
|
private |
the list of boundary conditions for this set of particles
Definition at line 97 of file ParticleLayout.h.
Referenced by applyBC().
|
staticconstexpr |
Definition at line 56 of file ParticleLayout.h.