Skip to content

Commit d158107

Browse files
authored
Forward SoA Names to Temporary Tiles (BLAST-WarpX#6413)
Ensure temporary particle tiles have access to SoA names, by passing in the names from their referenced PC.
1 parent e06f5f2 commit d158107

File tree

3 files changed

+9
-3
lines changed

3 files changed

+9
-3
lines changed

Source/Diagnostics/ReducedDiags/FieldProbeParticleContainer.cpp

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -63,7 +63,9 @@ FieldProbeParticleContainer::AddNParticles (int lev,
6363
using PinnedTile = typename ContainerLike<amrex::PinnedArenaAllocator>::ParticleTileType;
6464

6565
PinnedTile pinned_tile;
66-
pinned_tile.define(NumRuntimeRealComps(), NumRuntimeIntComps());
66+
auto soa_rdata_names = GetRealSoANames();
67+
auto soa_idata_names = GetIntSoANames();
68+
pinned_tile.define(NumRuntimeRealComps(), NumRuntimeIntComps(), &soa_rdata_names, &soa_idata_names);
6769

6870
for (int i = 0; i < np; i++)
6971
{

Source/Particles/Sorting/Partition.cpp

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -135,7 +135,9 @@ PhysicalParticleContainer::PartitionParticlesInBuffers(
135135
{
136136
// Prepare temporary particle tile to copy to
137137
ParticleTileType ptile_tmp;
138-
ptile_tmp.define(NumRuntimeRealComps(), NumRuntimeIntComps());
138+
auto soa_rdata_names = GetRealSoANames();
139+
auto soa_idata_names = GetIntSoANames();
140+
ptile_tmp.define(NumRuntimeRealComps(), NumRuntimeIntComps(), &soa_rdata_names, &soa_idata_names);
139141
ptile_tmp.resize(np);
140142

141143
// Copy and re-order the data of the current particle tile

Source/Particles/WarpXParticleContainer.cpp

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -220,7 +220,9 @@ WarpXParticleContainer::AddNParticles (int /*lev*/, long n,
220220

221221
using PinnedTile = typename ContainerLike<amrex::PinnedArenaAllocator>::ParticleTileType;
222222
PinnedTile pinned_tile;
223-
pinned_tile.define(NumRuntimeRealComps(), NumRuntimeIntComps());
223+
auto soa_rdata_names = GetRealSoANames();
224+
auto soa_idata_names = GetIntSoANames();
225+
pinned_tile.define(NumRuntimeRealComps(), NumRuntimeIntComps(), &soa_rdata_names, &soa_idata_names);
224226

225227
const std::size_t np = iend-ibegin;
226228

0 commit comments

Comments
 (0)