aboutsummaryrefslogtreecommitdiff
path: root/Python/pywarpx/picmi.py
diff options
context:
space:
mode:
authorGravatar Dave Grote <grote1@llnl.gov> 2019-06-11 13:49:39 -0700
committerGravatar Dave Grote <grote1@llnl.gov> 2019-06-11 13:49:39 -0700
commit3a6dac11bd60a88669dd3f86b065e7675e276098 (patch)
tree88e8326129da79ed3be8faeffd0afd589cae1585 /Python/pywarpx/picmi.py
parent5b9a4a219450f2f158f3238f525f19bb0670bea6 (diff)
parent4c01a51d48f0f95b6ac309060d279145c5443064 (diff)
downloadWarpX-3a6dac11bd60a88669dd3f86b065e7675e276098.tar.gz
WarpX-3a6dac11bd60a88669dd3f86b065e7675e276098.tar.zst
WarpX-3a6dac11bd60a88669dd3f86b065e7675e276098.zip
Merge branch 'dev' into RZgeometry
Diffstat (limited to 'Python/pywarpx/picmi.py')
-rw-r--r--Python/pywarpx/picmi.py63
1 files changed, 33 insertions, 30 deletions
diff --git a/Python/pywarpx/picmi.py b/Python/pywarpx/picmi.py
index 151de388d..80d8e01e7 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