aboutsummaryrefslogtreecommitdiff
path: root/Source/Particles/MultiParticleContainer.H
diff options
context:
space:
mode:
Diffstat (limited to 'Source/Particles/MultiParticleContainer.H')
-rw-r--r--Source/Particles/MultiParticleContainer.H35
1 files changed, 27 insertions, 8 deletions
diff --git a/Source/Particles/MultiParticleContainer.H b/Source/Particles/MultiParticleContainer.H
index 9db129b05..65c13e39b 100644
--- a/Source/Particles/MultiParticleContainer.H
+++ b/Source/Particles/MultiParticleContainer.H
@@ -1,3 +1,13 @@
+/* Copyright 2019-2020 Andrew Myers, Ann Almgren, Axel Huebl
+ * David Grote, Jean-Luc Vay, Junmin Gu
+ * Luca Fedeli, Mathieu Lobet, Maxence Thevenet
+ * Remi Lehe, Revathi Jambunathan, Weiqun Zhang
+ * Yinjian Zhao
+ *
+ * This file is part of WarpX.
+ *
+ * License: BSD-3-Clause-LBNL
+ */
#ifndef WARPX_ParticleContainer_H_
#define WARPX_ParticleContainer_H_
@@ -8,6 +18,7 @@
#include <RigidInjectedParticleContainer.H>
#include <PhotonParticleContainer.H>
#include <LaserParticleContainer.H>
+#include <WarpXParserWrapper.H>
#include <AMReX_Particles.H>
#ifdef WARPX_QED
@@ -81,13 +92,6 @@ public:
amrex::Real t, amrex::Real dt);
///
- /// This pushes the particle positions by one half time step for all the species in the
- /// MultiParticleContainer. It is used to desynchronize the particles after initializaton
- /// or when restarting from a checkpoint. This is the electrostatic version.
- ///
- void PushXES (amrex::Real dt);
-
- ///
/// This deposits the particle charge onto rho, accumulating the value for all the species
/// in the MultiParticleContainer. rho is assumed to contain node-centered multifabs.
/// This version is hard-coded for CIC deposition.
@@ -128,7 +132,7 @@ public:
///
/// This pushes the particle positions by one half time step for all the species in the
/// MultiParticleContainer. It is used to desynchronize the particles after initializaton
- /// or when restarting from a checkpoint. This is the electromagnetic version.
+ /// or when restarting from a checkpoint.
///
void PushX (amrex::Real dt);
@@ -215,6 +219,21 @@ public:
IonizationProcess ionization_process;
+ std::string m_B_ext_particle_s = "default";
+ std::string m_E_ext_particle_s = "default";
+ // External fields added to particle fields.
+ amrex::Vector<amrex::Real> m_B_external_particle;
+ amrex::Vector<amrex::Real> m_E_external_particle;
+ // ParserWrapper for B_external on the particle
+ std::unique_ptr<ParserWrapper> m_Bx_particle_parser;
+ std::unique_ptr<ParserWrapper> m_By_particle_parser;
+ std::unique_ptr<ParserWrapper> m_Bz_particle_parser;
+ // ParserWrapper for E_external on the particle
+ std::unique_ptr<ParserWrapper> m_Ex_particle_parser;
+ std::unique_ptr<ParserWrapper> m_Ey_particle_parser;
+ std::unique_ptr<ParserWrapper> m_Ez_particle_parser;
+
+
protected:
// Particle container types