|
IPPL (Independent Parallel Particle Layer)
IPPL
|
#include <NDIndex.h>
Public Types | |
| using | iterator = Index* |
| using | const_iterator = const Index* |
Public Member Functions | |
| KOKKOS_FUNCTION | NDIndex () |
| template<class... Args> | |
| KOKKOS_FUNCTION | NDIndex (const Args &... args) |
| KOKKOS_FUNCTION | NDIndex (const Vector< unsigned, Dim > &sizes) |
| KOKKOS_INLINE_FUNCTION const ippl::Index & | operator[] (unsigned d) const noexcept |
| KOKKOS_INLINE_FUNCTION Index & | operator[] (unsigned d) noexcept |
| KOKKOS_INLINE_FUNCTION unsigned | size () const noexcept |
| KOKKOS_INLINE_FUNCTION bool | empty () const noexcept |
| KOKKOS_INLINE_FUNCTION NDIndex< Dim > | intersect (const NDIndex< Dim > &) const |
| KOKKOS_INLINE_FUNCTION NDIndex< Dim > | grow (int ncells) const |
| KOKKOS_INLINE_FUNCTION NDIndex< Dim > | grow (int ncells, unsigned int dim) const |
| KOKKOS_INLINE_FUNCTION bool | touches (const NDIndex< Dim > &) const |
| KOKKOS_INLINE_FUNCTION bool | contains (const NDIndex< Dim > &a) const |
| KOKKOS_INLINE_FUNCTION bool | split (NDIndex< Dim > &l, NDIndex< Dim > &r, unsigned d, int i) const |
| KOKKOS_INLINE_FUNCTION bool | split (NDIndex< Dim > &l, NDIndex< Dim > &r, unsigned d, double a) const |
| KOKKOS_INLINE_FUNCTION bool | split (NDIndex< Dim > &l, NDIndex< Dim > &r, unsigned d) const |
| KOKKOS_INLINE_FUNCTION bool | split (NDIndex< Dim > &l, NDIndex< Dim > &r) const |
| KOKKOS_INLINE_FUNCTION Vector< size_t, Dim > | length () const |
| KOKKOS_INLINE_FUNCTION Vector< int, Dim > | first () const |
| KOKKOS_INLINE_FUNCTION Vector< int, Dim > | last () const |
| KOKKOS_INLINE_FUNCTION constexpr iterator | begin () |
| KOKKOS_INLINE_FUNCTION constexpr iterator | end () |
| KOKKOS_INLINE_FUNCTION constexpr const_iterator | begin () const |
| KOKKOS_INLINE_FUNCTION constexpr const_iterator | end () const |
Private Member Functions | |
| KOKKOS_FUNCTION | NDIndex (std::initializer_list< Index > indices) |
Private Attributes | |
| Index | indices_m [Dim] |
| Array of indices. | |
| using ippl::NDIndex< Dim >::const_iterator = const Index* |
| using ippl::NDIndex< Dim >::iterator = Index* |
|
inline |
| KOKKOS_FUNCTION ippl::NDIndex< Dim >::NDIndex | ( | const Args &... | args | ) |
Definition at line 11 of file NDIndex.hpp.
References NDIndex().
| KOKKOS_FUNCTION ippl::NDIndex< Dim >::NDIndex | ( | const Vector< unsigned, Dim > & | sizes | ) |
Definition at line 26 of file NDIndex.hpp.
|
private |
Definition at line 17 of file NDIndex.hpp.
References indices_m.
|
constexpr |
Definition at line 186 of file NDIndex.hpp.
References indices_m.
Referenced by ippl::OrthogonalRecursiveBisection< Field, Tp >::findCutAxis().
|
constexpr |
Definition at line 196 of file NDIndex.hpp.
References indices_m.
| KOKKOS_INLINE_FUNCTION bool ippl::NDIndex< Dim >::contains | ( | const NDIndex< Dim > & | a | ) | const |
Definition at line 104 of file NDIndex.hpp.
References Dim, indices_m, and NDIndex().
Referenced by ippl::SubFieldLayout< Dim >::initialize().
|
noexcept |
|
constexpr |
Definition at line 191 of file NDIndex.hpp.
References Dim, and indices_m.
Referenced by ippl::OrthogonalRecursiveBisection< Field, Tp >::findCutAxis().
|
constexpr |
Definition at line 202 of file NDIndex.hpp.
| KOKKOS_INLINE_FUNCTION Vector< int, Dim > ippl::NDIndex< Dim >::first | ( | ) | const |
Definition at line 170 of file NDIndex.hpp.
References indices_m.
Referenced by ippl::PeriodicFace< Field >::apply(), second_order_mur_boundary_conditions::apply(), ippl::assemble_rhs_from_particles(), ippl::NedelecSpace< T, Dim, Order, ElementType, QuadratureType, FieldType >::createFEMVector2d(), ippl::NedelecSpace< T, Dim, Order, ElementType, QuadratureType, FieldType >::createFEMVector3d(), ippl::FFTBase< Field, FFT, Backend, BufferType >::domainToBounds(), ippl::FiniteElementSpace< T, Dim, NumElementDOFs, ElementType, QuadratureType, FieldLHS, FieldRHS >::getElementMeshVertexPoints(), ippl::detail::RegionLayout< T, Dim, UniformCartesian< T, Dim >, position_memory_space >::gethLocalRegions(), ippl::FieldLayout< 2 >::getMatchingIndex(), ippl::UniformCartesian< double, Dim >::getVertexPosition(), BumponTailInstabilityManager< T, Dim >::initializeParticles(), LandauDampingManager< T, Dim >::initializeParticles(), PenningTrapManager< T, Dim >::initializeParticles(), ippl::interpolate_to_diracs(), main(), pack(), ippl::OrthogonalRecursiveBisection< Field, Tp >::perpendicularReduction(), ippl::OrthogonalRecursiveBisection< Field, Tp >::scatterR(), and unpack_impl().
| KOKKOS_INLINE_FUNCTION NDIndex< Dim > ippl::NDIndex< Dim >::grow | ( | int | ncells | ) | const |
Intersect with another NDIndex.
Definition at line 79 of file NDIndex.hpp.
References Dim, indices_m, and NDIndex().
Referenced by ippl::PeriodicFace< Field >::apply(), and ippl::FieldLayout< Dim >::getBounds().
| KOKKOS_INLINE_FUNCTION NDIndex< Dim > ippl::NDIndex< Dim >::grow | ( | int | ncells, |
| unsigned int | dim ) const |
Definition at line 88 of file NDIndex.hpp.
References indices_m, and NDIndex().
| KOKKOS_INLINE_FUNCTION NDIndex< Dim > ippl::NDIndex< Dim >::intersect | ( | const NDIndex< Dim > & | ndi | ) | const |
Intersect with another NDIndex.
Definition at line 70 of file NDIndex.hpp.
References Dim, indices_m, and NDIndex().
Referenced by ippl::PeriodicFace< Field >::apply(), ippl::FFTOpenPoissonSolver< FieldLHS, FieldRHS >::communicateVico(), and ippl::FFTOpenPoissonSolver< FieldLHS, FieldRHS >::communicateVico().
| KOKKOS_INLINE_FUNCTION Vector< int, Dim > ippl::NDIndex< Dim >::last | ( | ) | const |
Definition at line 178 of file NDIndex.hpp.
References indices_m.
Referenced by ippl::PeriodicFace< Field >::apply(), ippl::NedelecSpace< T, Dim, Order, ElementType, QuadratureType, FieldType >::createFEMVector2d(), ippl::NedelecSpace< T, Dim, Order, ElementType, QuadratureType, FieldType >::createFEMVector3d(), ippl::FieldLayout< 2 >::getMatchingIndex(), main(), pack(), ippl::NedelecSpace< T, Dim, Order, ElementType, QuadratureType, FieldType >::reconstructToPoints(), and unpack_impl().
| KOKKOS_INLINE_FUNCTION Vector< size_t, Dim > ippl::NDIndex< Dim >::length | ( | ) | const |
Definition at line 162 of file NDIndex.hpp.
References indices_m.
Referenced by ippl::FieldLayout< Dim >::calcWidths(), ippl::FFTBase< Field, FFT, Backend, BufferType >::domainToBounds(), ippl::FieldLayout< Dim >::initialize(), pack(), split(), and unpack_impl().
|
noexcept |
Definition at line 33 of file NDIndex.hpp.
References indices_m.
|
noexcept |
Definition at line 38 of file NDIndex.hpp.
References indices_m.
|
noexcept |
Definition at line 43 of file NDIndex.hpp.
References Dim, and indices_m.
Referenced by ippl::LagrangeSpace< T, Dim, Order, ElementType, QuadratureType, FieldLHS, FieldRHS >::initializeElementIndices(), ippl::NedelecSpace< T, Dim, Order, ElementType, QuadratureType, FieldType >::initializeElementIndices(), pack(), solver_recv(), ippl::FFT< Cos1Transform, Field >::transform(), ippl::FFT< CosTransform, Field >::transform(), and ippl::FFT< SineTransform, Field >::transform().
| KOKKOS_INLINE_FUNCTION bool ippl::NDIndex< Dim >::split | ( | NDIndex< Dim > & | l, |
| NDIndex< Dim > & | r, | ||
| unsigned | d ) const |
Definition at line 137 of file NDIndex.hpp.
References indices_m, and NDIndex().
| KOKKOS_INLINE_FUNCTION bool ippl::NDIndex< Dim >::split | ( | NDIndex< Dim > & | l, |
| NDIndex< Dim > & | r, | ||
| unsigned | d, | ||
| double | a ) const |
Definition at line 125 of file NDIndex.hpp.
References indices_m, and NDIndex().
| KOKKOS_INLINE_FUNCTION bool ippl::NDIndex< Dim >::split | ( | NDIndex< Dim > & | l, |
| NDIndex< Dim > & | r, | ||
| unsigned | d, | ||
| int | i ) const |
Definition at line 113 of file NDIndex.hpp.
References indices_m, and NDIndex().
Referenced by ippl::OrthogonalRecursiveBisection< Field, Tp >::cutDomain(), and split().
| KOKKOS_INLINE_FUNCTION bool ippl::NDIndex< Dim >::touches | ( | const NDIndex< Dim > & | a | ) | const |
Definition at line 95 of file NDIndex.hpp.
References Dim, indices_m, and NDIndex().
Referenced by ippl::FFTOpenPoissonSolver< FieldLHS, FieldRHS >::communicateVico(), and ippl::FFTOpenPoissonSolver< FieldLHS, FieldRHS >::communicateVico().
|
private |