MCPcopy Create free account
hub / github.com/AMReX-Codes/amrex / CapacityOfParticlesInGrid

Method CapacityOfParticlesInGrid

Src/Particle/AMReX_ParticleContainerI.H:594–608  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

592template <std::integral I>
593requires (sizeof(I) >= sizeof(Long))
594void
595ParticleContainer_impl<ParticleType, NArrayReal, NArrayInt, Allocator, CellAssignor>::CapacityOfParticlesInGrid (LayoutData<I>& mem, int lev) const
596{
597 AMREX_ASSERT(lev >= 0 && lev < std::ssize(m_particles));
598
599 AMREX_ASSERT(BoxArray::SameRefs(mem.boxArray(), ParticleBoxArray(lev)) &&
600 mem.DistributionMap() == ParticleDistributionMap(lev));
601
602 [[maybe_unused]] Gpu::NoSyncRegion no_sync{};
603 for (ParConstIterType pti(*this, lev); pti.isValid(); ++pti)
604 {
605 int gid = pti.index();
606 mem[gid] += static_cast<I>(pti.capacity());
607 }
608}
609
610//
611// This includes both valid and invalid particles since invalid particles still take up space.

Callers 1

testNeighborListFunction · 0.80

Calls 5

DistributionMapMethod · 0.80
boxArrayMethod · 0.45
isValidMethod · 0.45
indexMethod · 0.45
capacityMethod · 0.45

Tested by

no test coverage detected