aboutsummaryrefslogtreecommitdiff
path: root/Source/Particles/MultiParticleContainer.cpp
diff options
context:
space:
mode:
authorGravatar MaxThevenet <mthevenet@lbl.gov> 2019-10-28 13:53:37 -0700
committerGravatar MaxThevenet <mthevenet@lbl.gov> 2019-10-28 13:53:37 -0700
commit865cd3ebc0c6e86feecafa0839aa6a3990408c0e (patch)
tree1342545ea7e3db5a55fe11648a69b864ee29c154 /Source/Particles/MultiParticleContainer.cpp
parentda52bf61ba64aac9a90917dcc6744d8b0a58185d (diff)
parent2eac8727874e11c3c8163b3d9ed1ec8854717753 (diff)
downloadWarpX-865cd3ebc0c6e86feecafa0839aa6a3990408c0e.tar.gz
WarpX-865cd3ebc0c6e86feecafa0839aa6a3990408c0e.tar.zst
WarpX-865cd3ebc0c6e86feecafa0839aa6a3990408c0e.zip
Merge branch 'dev' into initial_fields
Diffstat (limited to 'Source/Particles/MultiParticleContainer.cpp')
-rw-r--r--Source/Particles/MultiParticleContainer.cpp31
1 files changed, 17 insertions, 14 deletions
diff --git a/Source/Particles/MultiParticleContainer.cpp b/Source/Particles/MultiParticleContainer.cpp
index c860d21f5..63aa500e9 100644
--- a/Source/Particles/MultiParticleContainer.cpp
+++ b/Source/Particles/MultiParticleContainer.cpp
@@ -38,14 +38,14 @@ MultiParticleContainer::MultiParticleContainer (AmrCore* amr_core)
// Compute the number of species for which lab-frame data is dumped
// nspecies_lab_frame_diags, and map their ID to MultiParticleContainer
// particle IDs in map_species_lab_diags.
- map_species_boosted_frame_diags.resize(nspecies);
- nspecies_boosted_frame_diags = 0;
+ map_species_back_transformed_diagnostics.resize(nspecies);
+ nspecies_back_transformed_diagnostics = 0;
for (int i=0; i<nspecies; i++){
auto& pc = allcontainers[i];
- if (pc->do_boosted_frame_diags){
- map_species_boosted_frame_diags[nspecies_boosted_frame_diags] = i;
- do_boosted_frame_diags = 1;
- nspecies_boosted_frame_diags += 1;
+ if (pc->do_back_transformed_diagnostics){
+ map_species_back_transformed_diagnostics[nspecies_back_transformed_diagnostics] = i;
+ do_back_transformed_diagnostics = 1;
+ nspecies_back_transformed_diagnostics += 1;
}
}
}
@@ -387,8 +387,8 @@ MultiParticleContainer
BL_PROFILE("MultiParticleContainer::GetLabFrameData");
// Loop over particle species
- for (int i = 0; i < nspecies_boosted_frame_diags; ++i){
- int isp = map_species_boosted_frame_diags[i];
+ for (int i = 0; i < nspecies_back_transformed_diagnostics; ++i){
+ int isp = map_species_back_transformed_diagnostics[i];
WarpXParticleContainer* pc = allcontainers[isp].get();
WarpXParticleContainer::DiagnosticParticles diagnostic_particles;
pc->GetParticleSlice(direction, z_old, z_new, t_boost, t_lab, dt, diagnostic_particles);
@@ -603,9 +603,9 @@ namespace
}
// --- product runtime attribs
GpuArray<ParticleReal*,6> runtime_attribs_product;
- bool do_boosted_product = WarpX::do_boosted_frame_diagnostic
- && pc_product->DoBoostedFrameDiags();
- if (do_boosted_product) {
+ bool do_back_transformed_product = WarpX::do_back_transformed_diagnostics
+ && pc_product->doBackTransformedDiagnostics();
+ if (do_back_transformed_product) {
std::map<std::string, int> comps_product = pc_product->getParticleComps();
runtime_attribs_product[0] = soa_product.GetRealData(comps_product[ "xold"]).data() + np_product_old;
runtime_attribs_product[1] = soa_product.GetRealData(comps_product[ "yold"]).data() + np_product_old;
@@ -652,7 +652,7 @@ namespace
// Update xold etc. if boosted frame diagnostics required
// for product species. Fill runtime attribs with a copy of
// current properties (xold = x etc.).
- if (do_boosted_product) {
+ if (do_back_transformed_product) {
runtime_attribs_product[0][ip] = p_source.pos(0);
runtime_attribs_product[1][ip] = p_source.pos(1);
runtime_attribs_product[2][ip] = p_source.pos(2);
@@ -736,14 +736,17 @@ MultiParticleContainer::doFieldIonization ()
#ifdef WARPX_QED
void MultiParticleContainer::InitQED ()
{
+ shr_p_qs_engine = std::make_shared<QuantumSynchrotronEngine>();
+ shr_p_bw_engine = std::make_shared<BreitWheelerEngine>();
+
for (auto& pc : allcontainers) {
if(pc->has_quantum_sync()){
pc->set_quantum_sync_engine_ptr
- (std::make_shared<QuantumSynchrotronEngine>(qs_engine));
+ (shr_p_qs_engine);
}
if(pc->has_breit_wheeler()){
pc->set_breit_wheeler_engine_ptr
- (std::make_shared<BreitWheelerEngine>(bw_engine));
+ (shr_p_bw_engine);
}
}
}