aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--Examples/Modules/gaussian_beam/gaussian_beam_PICMI.py2
-rw-r--r--Examples/Tests/Langmuir/langmuir2d_PICMI.py4
-rw-r--r--Examples/Tests/Langmuir/langmuir_PICMI.py4
-rw-r--r--Examples/Tests/Langmuir/langmuir_PICMI_rt.py4
-rw-r--r--Examples/Tests/Langmuir/langmuir_PICMI_rz.py4
-rw-r--r--Python/pywarpx/picmi.py63
6 files changed, 46 insertions, 35 deletions
diff --git a/Examples/Modules/gaussian_beam/gaussian_beam_PICMI.py b/Examples/Modules/gaussian_beam/gaussian_beam_PICMI.py
index b9bfc2864..a3a2330d7 100644
--- a/Examples/Modules/gaussian_beam/gaussian_beam_PICMI.py
+++ b/Examples/Modules/gaussian_beam/gaussian_beam_PICMI.py
@@ -17,7 +17,7 @@ number_sim_particles = 32768
total_charge = 8.010883097437485e-07
beam_rms_size = 0.25
-electron_beam_divergence = -0.04
+electron_beam_divergence = -0.04*picmi.c
em_order = 3
diff --git a/Examples/Tests/Langmuir/langmuir2d_PICMI.py b/Examples/Tests/Langmuir/langmuir2d_PICMI.py
index c8c5a9559..8108a39ba 100644
--- a/Examples/Tests/Langmuir/langmuir2d_PICMI.py
+++ b/Examples/Tests/Langmuir/langmuir2d_PICMI.py
@@ -9,7 +9,9 @@ ymin = -20.e-6
xmax = +20.e-6
ymax = +20.e-6
-uniform_plasma = picmi.UniformDistribution(density=1.e25, upper_bound=[0., None, None], directed_velocity=[0.1, 0., 0.])
+uniform_plasma = picmi.UniformDistribution(density = 1.e25,
+ upper_bound = [0., None, None],
+ directed_velocity = [0.1*picmi.c, 0., 0.])
electrons = picmi.Species(particle_type='electron', name='electrons', initial_distribution=uniform_plasma)
diff --git a/Examples/Tests/Langmuir/langmuir_PICMI.py b/Examples/Tests/Langmuir/langmuir_PICMI.py
index 67f37ec65..d09c90714 100644
--- a/Examples/Tests/Langmuir/langmuir_PICMI.py
+++ b/Examples/Tests/Langmuir/langmuir_PICMI.py
@@ -14,7 +14,9 @@ xmax = +20.e-6
ymax = +20.e-6
zmax = +20.e-6
-uniform_plasma = picmi.UniformDistribution(density=1.e25, upper_bound=[0., None, None], directed_velocity=[0.1, 0., 0.])
+uniform_plasma = picmi.UniformDistribution(density = 1.e25,
+ upper_bound = [0., None, None],
+ directed_velocity = [0.1*picmi.c, 0., 0.])
electrons = picmi.Species(particle_type='electron', name='electrons', initial_distribution=uniform_plasma)
diff --git a/Examples/Tests/Langmuir/langmuir_PICMI_rt.py b/Examples/Tests/Langmuir/langmuir_PICMI_rt.py
index 30540313e..e629e268d 100644
--- a/Examples/Tests/Langmuir/langmuir_PICMI_rt.py
+++ b/Examples/Tests/Langmuir/langmuir_PICMI_rt.py
@@ -14,7 +14,9 @@ xmax = +20.e-6
ymax = +20.e-6
zmax = +20.e-6
-uniform_plasma = picmi.UniformDistribution(density=1.e25, upper_bound=[0., None, None], directed_velocity=[0.1, 0., 0.])
+uniform_plasma = picmi.UniformDistribution(density = 1.e25,
+ upper_bound = [0., None, None],
+ directed_velocity = [0.1*picmi.c, 0., 0.])
electrons = picmi.Species(particle_type='electron', name='electrons', initial_distribution=uniform_plasma)
diff --git a/Examples/Tests/Langmuir/langmuir_PICMI_rz.py b/Examples/Tests/Langmuir/langmuir_PICMI_rz.py
index 4eb998177..88b3947a6 100644
--- a/Examples/Tests/Langmuir/langmuir_PICMI_rz.py
+++ b/Examples/Tests/Langmuir/langmuir_PICMI_rz.py
@@ -9,7 +9,9 @@ zmin = -20.e-6
rmax = +20.e-6
zmax = +20.e-6
-uniform_plasma = picmi.UniformDistribution(density=1.e25, upper_bound=[None, None, 0.], directed_velocity=[0., 0., 0.1])
+uniform_plasma = picmi.UniformDistribution(density = 1.e25,
+ upper_bound = [None, None, 0.],
+ directed_velocity = [0., 0., 0.1*picmi.c])
electrons = picmi.Species(particle_type='electron', name='electrons', initial_distribution=uniform_plasma)
diff --git a/Python/pywarpx/picmi.py b/Python/pywarpx/picmi.py
index f242f8589..f6dc47fec 100644
--- a/Python/pywarpx/picmi.py
+++ b/Python/pywarpx/picmi.py
@@ -94,24 +94,25 @@ class GaussianBunchDistribution(picmistandard.PICMI_GaussianBunchDistribution):
#species.zmin
#species.zmax
+ # --- Note that WarpX takes gamma*beta as input
if np.any(np.not_equal(self.velocity_divergence, 0.)):
species.momentum_distribution_type = "radial_expansion"
- species.u_over_r = self.velocity_divergence[0]
- #species.u_over_y = self.velocity_divergence[1]
- #species.u_over_z = self.velocity_divergence[2]
+ species.u_over_r = self.velocity_divergence[0]/c
+ #species.u_over_y = self.velocity_divergence[1]/c
+ #species.u_over_z = self.velocity_divergence[2]/c
elif np.any(np.not_equal(self.rms_velocity, 0.)):
species.momentum_distribution_type = "gaussian"
- species.ux_m = self.centroid_velocity[0]
- species.uy_m = self.centroid_velocity[1]
- species.uz_m = self.centroid_velocity[2]
- species.ux_th = self.rms_velocity[0]
- species.uy_th = self.rms_velocity[1]
- species.uz_th = self.rms_velocity[2]
+ species.ux_m = self.centroid_velocity[0]/c
+ species.uy_m = self.centroid_velocity[1]/c
+ species.uz_m = self.centroid_velocity[2]/c
+ species.ux_th = self.rms_velocity[0]/c
+ species.uy_th = self.rms_velocity[1]/c
+ species.uz_th = self.rms_velocity[2]/c
else:
species.momentum_distribution_type = "constant"
- species.ux = self.centroid_velocity[0]
- species.uy = self.centroid_velocity[1]
- species.uz = self.centroid_velocity[2]
+ species.ux = self.centroid_velocity[0]/c
+ species.uy = self.centroid_velocity[1]/c
+ species.uz = self.centroid_velocity[2]/c
class UniformDistribution(picmistandard.PICMI_UniformDistribution):
@@ -139,19 +140,20 @@ class UniformDistribution(picmistandard.PICMI_UniformDistribution):
species.profile = "constant"
species.density = self.density
+ # --- Note that WarpX takes gamma*beta as input
if np.any(np.not_equal(self.rms_velocity, 0.)):
species.momentum_distribution_type = "gaussian"
- species.ux_m = self.directed_velocity[0]
- species.uy_m = self.directed_velocity[1]
- species.uz_m = self.directed_velocity[2]
- species.ux_th = self.rms_velocity[0]
- species.uy_th = self.rms_velocity[1]
- species.uz_th = self.rms_velocity[2]
+ species.ux_m = self.directed_velocity[0]/c
+ species.uy_m = self.directed_velocity[1]/c
+ species.uz_m = self.directed_velocity[2]/c
+ species.ux_th = self.rms_velocity[0]/c
+ species.uy_th = self.rms_velocity[1]/c
+ species.uz_th = self.rms_velocity[2]/c
else:
species.momentum_distribution_type = "constant"
- species.ux = self.directed_velocity[0]
- species.uy = self.directed_velocity[1]
- species.uz = self.directed_velocity[2]
+ species.ux = self.directed_velocity[0]/c
+ species.uy = self.directed_velocity[1]/c
+ species.uz = self.directed_velocity[2]/c
if self.fill_in:
species.do_continuous_injection = 1
@@ -185,19 +187,20 @@ class AnalyticDistribution(picmistandard.PICMI_AnalyticDistribution):
for k,v in self.user_defined_kw.items():
setattr(pywarpx.my_constants, k, v)
+ # --- Note that WarpX takes gamma*beta as input
if np.any(np.not_equal(self.rms_velocity, 0.)):
species.momentum_distribution_type = "gaussian"
- species.ux_m = self.directed_velocity[0]
- species.uy_m = self.directed_velocity[1]
- species.uz_m = self.directed_velocity[2]
- species.ux_th = self.rms_velocity[0]
- species.uy_th = self.rms_velocity[1]
- species.uz_th = self.rms_velocity[2]
+ species.ux_m = self.directed_velocity[0]/c
+ species.uy_m = self.directed_velocity[1]/c
+ species.uz_m = self.directed_velocity[2]/c
+ species.ux_th = self.rms_velocity[0]/c
+ species.uy_th = self.rms_velocity[1]/c
+ species.uz_th = self.rms_velocity[2]/c
else:
species.momentum_distribution_type = "constant"
- species.ux = self.directed_velocity[0]
- species.uy = self.directed_velocity[1]
- species.uz = self.directed_velocity[2]
+ species.ux = self.directed_velocity[0]/c
+ species.uy = self.directed_velocity[1]/c
+ species.uz = self.directed_velocity[2]/c
if self.fill_in:
species.do_continuous_injection = 1