Skip to content

Commit 706a11f

Browse files
committed
Remove PinnedMemoryParticleContainer
Would be cleaner if `WarpXParticleContainer` had no purely virtual member functions.
1 parent 1e7a703 commit 706a11f

16 files changed

+32
-42
lines changed

Source/Diagnostics/BTDiagnostics.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1469,7 +1469,7 @@ BTDiagnostics::InitializeParticleBuffer (const MultiParticleContainer& mpc)
14691469
for (int isp = 0; isp < m_particles_buffer[i].size(); ++isp) {
14701470
m_totalParticles_in_buffer[i][isp] = 0;
14711471
const int idx = mpc.getSpeciesID(m_output_species_names[isp]);
1472-
m_particles_buffer[i][isp] = std::make_unique<PinnedMemoryParticleContainer>(mpc.GetParticleContainer(idx).make_alike<amrex::PolymorphicArenaAllocator>());
1472+
m_particles_buffer[i][isp] = std::make_unique<WarpXParticleContainer::Base>(mpc.GetParticleContainer(idx).make_alike<amrex::PolymorphicArenaAllocator>());
14731473
m_particles_buffer[i][isp]->SetArena(amrex::The_Pinned_Arena());
14741474

14751475
// SoA component names

Source/Diagnostics/BoundaryScrapingDiagnostics.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -100,7 +100,7 @@ BoundaryScrapingDiagnostics::InitializeParticleBuffer (const MultiParticleContai
100100
for (int i_buffer = 0; i_buffer < m_num_buffers; ++i_buffer) {
101101
for (auto const& species_name : m_output_species_names){
102102
WarpXParticleContainer* pc = &mpc.GetParticleContainerFromName(species_name);
103-
PinnedMemoryParticleContainer* bnd_buffer = particle_buffer.getParticleBufferPointer(species_name, i_buffer);
103+
WarpXParticleContainer::Base* bnd_buffer = particle_buffer.getParticleBufferPointer(species_name, i_buffer);
104104
m_output_species[i_buffer].push_back(ParticleDiag(m_diag_name, species_name, pc, bnd_buffer));
105105
}
106106
}

Source/Diagnostics/ComputeDiagFunctors/BackTransformParticleFunctor.H

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -208,7 +208,7 @@ class BackTransformParticleFunctor final : public ComputeParticleDiagFunctor
208208
public:
209209
BackTransformParticleFunctor(WarpXParticleContainer *pc_src, std::string species_name, int num_buffers);
210210
/** Computes the Lorentz transform of source particles to obtain lab-frame data in pc_dst*/
211-
void operator () (PinnedMemoryParticleContainer& pc_dst, int &TotalParticleCounter, int i_buffer) const override;
211+
void operator () (WarpXParticleContainer::Base& pc_dst, int &TotalParticleCounter, int i_buffer) const override;
212212
void InitData() override;
213213
/** \brief Prepare data required to back-transform particle attributes for lab-frame snapshot, i_buffer
214214
*

Source/Diagnostics/ComputeDiagFunctors/BackTransformParticleFunctor.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -80,7 +80,7 @@ BackTransformParticleFunctor::BackTransformParticleFunctor (
8080

8181

8282
void
83-
BackTransformParticleFunctor::operator () (PinnedMemoryParticleContainer& pc_dst, int &totalParticleCounter, int i_buffer) const
83+
BackTransformParticleFunctor::operator () (WarpXParticleContainer::Base& pc_dst, int &totalParticleCounter, int i_buffer) const
8484
{
8585
if (m_perform_backtransform[i_buffer] == 0) { return; }
8686
auto &warpx = WarpX::GetInstance();

Source/Diagnostics/ComputeDiagFunctors/ComputeParticleDiagFunctor.H

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,6 @@
88
#define WARPX_COMPUTEPARTICLEDIAGFUNCTOR_H_
99

1010
#include "Particles/WarpXParticleContainer.H"
11-
#include "Particles/PinnedMemoryParticleContainer.H"
1211
#include <AMReX.H>
1312
#include <AMReX_AmrParticles.H>
1413

@@ -59,7 +58,7 @@ public:
5958
* \param[out] totalParticlesInBuffer total number of particles in the container
6059
* \param[in] i_buffer snapshot index for which the particle buffer is processed
6160
*/
62-
virtual void operator () (PinnedMemoryParticleContainer& pc_dst, int &totalParticlesInBuffer, int i_buffer = 0) const = 0;
61+
virtual void operator () (WarpXParticleContainer::Base& pc_dst, int &totalParticlesInBuffer, int i_buffer = 0) const = 0;
6362
virtual void InitData () {}
6463
};
6564

Source/Diagnostics/Diagnostics.H

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,6 @@
77
#include "ComputeDiagFunctors/ComputeParticleDiagFunctor.H"
88
#include "FlushFormats/FlushFormat_fwd.H"
99
#include "Particles/WarpXParticleContainer.H"
10-
#include "Particles/PinnedMemoryParticleContainer.H"
1110

1211
#include <AMReX_IntVect.H>
1312
#include <AMReX_REAL.H>
@@ -327,7 +326,7 @@ protected:
327326
/** Array of species indices that dump temperature per species */
328327
amrex::Vector<int> m_T_per_species_index;
329328
/** Vector of particle buffer vectors for each snapshot */
330-
amrex::Vector< amrex::Vector<std::unique_ptr<PinnedMemoryParticleContainer> > > m_particles_buffer;
329+
amrex::Vector< amrex::Vector<std::unique_ptr<WarpXParticleContainer::Base> > > m_particles_buffer;
331330
/** Vector of pointers to functors to compute particle output per species*/
332331
amrex::Vector< std::unique_ptr<ComputeParticleDiagFunctor> > m_all_particle_functors;
333332

Source/Diagnostics/FlushFormats/FlushFormatPlotfile.cpp

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@
66
#include "Particles/Filter/FilterFunctors.H"
77
#include "Particles/WarpXParticleContainer.H"
88
#include "Particles/ParticleIO.H"
9-
#include "Particles/PinnedMemoryParticleContainer.H"
9+
#include "Particles/WarpXParticleContainer.H"
1010
#include "Utils/Interpolate.H"
1111
#include "Utils/Parser/ParserUtils.H"
1212
#include "Utils/TextMsg.H"
@@ -359,7 +359,7 @@ FlushFormatPlotfile::WriteParticles(const std::string& dir,
359359
{
360360
for (const auto& part_diag : particle_diags) {
361361
WarpXParticleContainer* pc = part_diag.getParticleContainer();
362-
PinnedMemoryParticleContainer* pinned_pc = part_diag.getPinnedParticleContainer();
362+
WarpXParticleContainer::Base* pinned_pc = part_diag.getPinnedParticleContainer();
363363
auto tmp = isBTD ?
364364
pinned_pc->make_alike<amrex::PolymorphicArenaAllocator>() :
365365
pc->make_alike<amrex::PolymorphicArenaAllocator>();

Source/Diagnostics/ParticleDiag/ParticleDiag.H

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44
#include "ParticleDiag_fwd.H"
55

66
#include "Particles/WarpXParticleContainer_fwd.H"
7-
#include "Particles/PinnedMemoryParticleContainer.H"
7+
#include "Particles/WarpXParticleContainer.H"
88

99
#include <AMReX_Parser.H>
1010
#include <AMReX_REAL.H>
@@ -18,9 +18,9 @@ class ParticleDiag
1818
{
1919
public:
2020
ParticleDiag(const std::string& diag_name, const std::string& name,
21-
WarpXParticleContainer* pc, PinnedMemoryParticleContainer *pinned_pc = nullptr);
21+
WarpXParticleContainer* pc, WarpXParticleContainer::Base *pinned_pc = nullptr);
2222
[[nodiscard]] WarpXParticleContainer* getParticleContainer() const { return m_pc; }
23-
[[nodiscard]] PinnedMemoryParticleContainer* getPinnedParticleContainer() const { return m_pinned_pc; }
23+
[[nodiscard]] WarpXParticleContainer::Base* getPinnedParticleContainer() const { return m_pinned_pc; }
2424
[[nodiscard]] std::string getSpeciesName() const { return m_name; }
2525
amrex::Vector<int> m_plot_flags;
2626
bool m_plot_phi = false; // Whether to output the potential phi on the particles
@@ -39,7 +39,7 @@ private:
3939
std::string m_diag_name;
4040
std::string m_name;
4141
WarpXParticleContainer* m_pc;
42-
PinnedMemoryParticleContainer* m_pinned_pc;
42+
WarpXParticleContainer::Base* m_pinned_pc;
4343
};
4444

4545
#endif // WARPX_PARTICLEDIAG_H_

Source/Diagnostics/ParticleDiag/ParticleDiag.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@ using namespace amrex;
1616

1717
ParticleDiag::ParticleDiag (
1818
const std::string& diag_name, const std::string& name,
19-
WarpXParticleContainer* pc, PinnedMemoryParticleContainer* pinned_pc):
19+
WarpXParticleContainer* pc, WarpXParticleContainer::Base* pinned_pc):
2020
m_diag_name(diag_name), m_name(name), m_pc(pc), m_pinned_pc(pinned_pc)
2121
{
2222
//variable to set m_plot_flags size

Source/Diagnostics/ParticleIO.cpp

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -250,10 +250,10 @@ MultiParticleContainer::WriteHeader (std::ostream& os) const
250250
}
251251

252252
void
253-
storePhiOnParticles ( PinnedMemoryParticleContainer& tmp,
253+
storePhiOnParticles ( WarpXParticleContainer::Base& tmp,
254254
ElectrostaticSolverAlgo electrostatic_solver_id, bool is_full_diagnostic ) {
255255

256-
using PinnedParIter = typename PinnedMemoryParticleContainer::ParIterType;
256+
using PinnedParIter = typename WarpXParticleContainer::ParIterType;
257257

258258
WARPX_ALWAYS_ASSERT_WITH_MESSAGE(
259259
(electrostatic_solver_id == ElectrostaticSolverAlgo::LabFrame) ||

0 commit comments

Comments
 (0)