Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
cleaning and fixes for PureSoA ParticleTile (#3327)
## Summary * fix return by value/reference mismatch of `id()` and `cpu()` with `decltype(auto)` * update `packParticleData` and `unpackParticleData` for PureSoA * change `getSuperParticle` and add `setSuperParticle` for PureSoA. Remaining issue: super particle has redundant/unused fields for positions, id and cpu * update `ConstParticleTileData` for PureSoA * don’t call `getParticleTileData` in `ParticleTile::id()` etc. as this could be very slow if used in a for loop * use if constexpr instead if SFINAE in a number of places * change PODVector constructor so that `getParticleTileData()` won't allocate memory if no runtime components are used ## Additional background Follow-up to #2878. ## Checklist The proposed changes: - [x] fix a bug or incorrect behavior in AMReX - [ ] add new capabilities to AMReX - [ ] changes answers in the test suite to more than roundoff level - [ ] are likely to significantly affect the results of downstream AMReX users - [ ] include documentation in the code and/or rst files, if appropriate
- Loading branch information