aboutsummaryrefslogtreecommitdiff
path: root/Source/Particles/MultiParticleContainer.H
diff options
context:
space:
mode:
authorGravatar MaxThevenet <mthevenet@lbl.gov> 2019-06-18 14:03:14 -0700
committerGravatar MaxThevenet <mthevenet@lbl.gov> 2019-06-18 14:03:14 -0700
commit2628876d44bbd67c17ecb8a8db61a36aea36fad0 (patch)
tree668dcf8ed4208f310021f6023c9c055a9cc3f81d /Source/Particles/MultiParticleContainer.H
parent828b516cd72d0e8cd0dd0225a2fde12aeee8dbff (diff)
parent89df8eb11ed61bd6d6f58a2e096b1eb3a132538a (diff)
downloadWarpX-2628876d44bbd67c17ecb8a8db61a36aea36fad0.tar.gz
WarpX-2628876d44bbd67c17ecb8a8db61a36aea36fad0.tar.zst
WarpX-2628876d44bbd67c17ecb8a8db61a36aea36fad0.zip
Merge branch 'dev' into update_perftest
Diffstat (limited to 'Source/Particles/MultiParticleContainer.H')
-rw-r--r--Source/Particles/MultiParticleContainer.H37
1 files changed, 23 insertions, 14 deletions
diff --git a/Source/Particles/MultiParticleContainer.H b/Source/Particles/MultiParticleContainer.H
index b0968b0cc..869126fef 100644
--- a/Source/Particles/MultiParticleContainer.H
+++ b/Source/Particles/MultiParticleContainer.H
@@ -129,9 +129,7 @@ public:
void Checkpoint (const std::string& dir) const;
- void WritePlotFile( const std::string& dir,
- const amrex::Vector<int>& real_flags,
- const amrex::Vector<std::string>& real_names) const;
+ void WritePlotFile (const std::string& dir) const;
void Restart (const std::string& dir);
@@ -156,6 +154,10 @@ public:
int nSpecies() const {return nspecies;}
+ int nSpeciesBoostedFrameDiags() const {return nspecies_boosted_frame_diags;}
+ int mapSpeciesBoostedFrameDiags(int i) const {return map_species_boosted_frame_diags[i];}
+ int doBoostedFrameDiags() const {return do_boosted_frame_diags;}
+
int nSpeciesDepositOnMainGrid () const {
int r = 0;
for (int i : deposit_on_main_grid) {
@@ -169,17 +171,14 @@ public:
const amrex::Real z_old, const amrex::Real z_new,
const amrex::Real t_boost, const amrex::Real t_lab, const amrex::Real dt,
amrex::Vector<WarpXParticleContainer::DiagnosticParticleData>& parts) const;
-
- //
- // Parameters for the Cherenkov corrector in the FDTD solver.
- // Both stencils are calculated ar runtime.
- //
- // Number of coefficients for the stencil of the NCI corrector.
- // The stencil is applied in the z direction only.
- static constexpr int nstencilz_fdtd_nci_corr=5;
- amrex::Vector<amrex::Array<amrex::Real, nstencilz_fdtd_nci_corr> > fdtd_nci_stencilz_ex;
- amrex::Vector<amrex::Array<amrex::Real, nstencilz_fdtd_nci_corr> > fdtd_nci_stencilz_by;
+ // Inject particles during the simulation (for particles entering the
+ // simulation domain after some iterations, due to flowing plasma and/or
+ // moving window).
+ void ContinuousInjection(const amrex::RealBox& injection_box) const;
+ // Update injection position for continuously-injected species.
+ void UpdateContinuousInjectionPosition(amrex::Real dt) const;
+ int doContinuousInjection() const;
std::vector<std::string> GetSpeciesNames() const { return species_names; }
@@ -192,6 +191,8 @@ protected:
std::vector<std::string> species_names;
+ std::vector<std::string> lasers_names;
+
std::vector<int> deposit_on_main_grid;
std::vector<PCTypes> species_types;
@@ -205,7 +206,15 @@ private:
void ReadParameters ();
+ // Number of species dumped in BoostedFrameDiagnostics
+ int nspecies_boosted_frame_diags = 0;
+ // map_species_boosted_frame_diags[i] is the species ID in
+ // MultiParticleContainer for 0<i<nspecies_boosted_frame_diags
+ std::vector<int> map_species_boosted_frame_diags;
+ int do_boosted_frame_diags = 0;
+
// runtime parameters
- int nspecies = 1; // physical particles only. If WarpX::use_laser, nspecies+1 == allcontainers.size().
+ int nlasers = 0;
+ int nspecies = 1; // physical particles only. nspecies+nlasers == allcontainers.size().
};
#endif /*WARPX_ParticleContainer_H_*/