diff options
Diffstat (limited to 'Source/Particles/MultiParticleContainer.cpp')
-rw-r--r-- | Source/Particles/MultiParticleContainer.cpp | 36 |
1 files changed, 24 insertions, 12 deletions
diff --git a/Source/Particles/MultiParticleContainer.cpp b/Source/Particles/MultiParticleContainer.cpp index 2e69cd085..67039d8a3 100644 --- a/Source/Particles/MultiParticleContainer.cpp +++ b/Source/Particles/MultiParticleContainer.cpp @@ -397,21 +397,42 @@ MultiParticleContainer::AllocData () void MultiParticleContainer::InitData () { + InitMultiPhysicsModules(); + for (auto& pc : allcontainers) { pc->InitData(); } pc_tmp->InitData(); + +} + +void +MultiParticleContainer::PostRestart () +{ + InitMultiPhysicsModules(); + + for (auto& pc : allcontainers) { + pc->PostRestart(); + } + pc_tmp->PostRestart(); +} + +void +MultiParticleContainer::InitMultiPhysicsModules () +{ + // Init ionization module here instead of in the MultiParticleContainer + // constructor because dt is required to compute ionization rate pre-factors + for (auto& pc : allcontainers) { + pc->InitIonizationModule(); + } // For each species, get the ID of its product species. // This is used for ionization and pair creation processes. mapSpeciesProduct(); - CheckIonizationProductSpecies(); - #ifdef WARPX_QED CheckQEDProductSpecies(); InitQED(); #endif - } void @@ -657,15 +678,6 @@ MultiParticleContainer::SetParticleDistributionMap (int lev, DistributionMapping } void -MultiParticleContainer::PostRestart () -{ - for (auto& pc : allcontainers) { - pc->PostRestart(); - } - pc_tmp->PostRestart(); -} - -void MultiParticleContainer ::GetLabFrameData (const std::string& /*snapshot_name*/, const int /*i_lab*/, const int direction, |