From c38f60ee1fe22ae21f9bc38a7d4ff5b1be2d2d5a Mon Sep 17 00:00:00 2001 From: Andrew Myers Date: Mon, 29 Apr 2019 10:18:34 -0700 Subject: add the xold, uxold, etc particle components at runtime if doing boosted frame diagnostics for the particles --- Source/Particles/MultiParticleContainer.cpp | 21 ++++++++++++++++++++- 1 file changed, 20 insertions(+), 1 deletion(-) (limited to 'Source/Particles/MultiParticleContainer.cpp') diff --git a/Source/Particles/MultiParticleContainer.cpp b/Source/Particles/MultiParticleContainer.cpp index 1b644b543..01ea948cd 100644 --- a/Source/Particles/MultiParticleContainer.cpp +++ b/Source/Particles/MultiParticleContainer.cpp @@ -28,7 +28,26 @@ MultiParticleContainer::MultiParticleContainer (AmrCore* amr_core) if (WarpX::use_laser) { allcontainers[n-1].reset(new LaserParticleContainer(amr_core,n-1)); } - pc_tmp.reset(new PhysicalParticleContainer(amr_core)); + pc_tmp.reset(new PhysicalParticleContainer(amr_core)); + + if (WarpX::do_boosted_frame_diagnostic && WarpX::do_boosted_frame_particles) + { + for (int i = 0; i < n; ++i) + { + allcontainers[i]->AddRealComp("xold"); + allcontainers[i]->AddRealComp("yold"); + allcontainers[i]->AddRealComp("zold"); + allcontainers[i]->AddRealComp("uxold"); + allcontainers[i]->AddRealComp("uyold"); + allcontainers[i]->AddRealComp("uzold"); + } + pc_tmp->AddRealComp("xold"); + pc_tmp->AddRealComp("yold"); + pc_tmp->AddRealComp("zold"); + pc_tmp->AddRealComp("uxold"); + pc_tmp->AddRealComp("uyold"); + pc_tmp->AddRealComp("uzold"); + } } void -- cgit v1.2.3