aboutsummaryrefslogtreecommitdiff
path: root/Python/pywarpx
diff options
context:
space:
mode:
authorGravatar Roelof Groenewald <40245517+roelof-groenewald@users.noreply.github.com> 2022-01-04 09:41:44 -0800
committerGravatar GitHub <noreply@github.com> 2022-01-04 09:41:44 -0800
commitf08f12835397b9cc05aa4a18fe2f22803501e08d (patch)
tree32ea0bf724d2726bd504ee8044a0428c8ce0a848 /Python/pywarpx
parentce851bb9749004dedadf5d41f96c0f0069fedd98 (diff)
downloadWarpX-f08f12835397b9cc05aa4a18fe2f22803501e08d.tar.gz
WarpX-f08f12835397b9cc05aa4a18fe2f22803501e08d.tar.zst
WarpX-f08f12835397b9cc05aa4a18fe2f22803501e08d.zip
Allow Dirichlet BCs on r boundaries in RZ (electrostatic) (#2714)
* allow Dirichlet BCs in r when r_min != 0 with ES RZ simulations * handle the rmax boundary condition setting properly when rmin == 0 * add ability to specify rmin and rmax potentials through picmi
Diffstat (limited to 'Python/pywarpx')
-rwxr-xr-xPython/pywarpx/_libwarpx.py6
-rw-r--r--Python/pywarpx/picmi.py4
2 files changed, 4 insertions, 6 deletions
diff --git a/Python/pywarpx/_libwarpx.py b/Python/pywarpx/_libwarpx.py
index 52bebf46a..9de822739 100755
--- a/Python/pywarpx/_libwarpx.py
+++ b/Python/pywarpx/_libwarpx.py
@@ -312,12 +312,10 @@ class LibWarpX():
'''
if self.geometry_dim == '3d':
dimensions = {'x' : 0, 'y' : 1, 'z' : 2}
- elif self.geometry_dim == '2d':
+ elif self.geometry_dim == '2d' or self.geometry_dim == 'rz':
dimensions = {'x' : 0, 'z' : 1}
elif self.geometry_dim == '1d':
dimensions = {'z' : 0}
- elif self.geometry_dim == 'rz':
- dimensions = {'r': 0, 'z': 1}
else:
raise RuntimeError(f"Unknown simulation geometry: {self.geometry_dim}")
@@ -334,7 +332,7 @@ class LibWarpX():
else:
if self.geometry_dim == '3d':
boundary_num = 6
- elif self.geometry_dim == '2d':
+ elif self.geometry_dim == '2d' or self.geometry_dim == 'rz':
boundary_num = 4
elif self.geometry_dim == '1d':
boundary_num = 2
diff --git a/Python/pywarpx/picmi.py b/Python/pywarpx/picmi.py
index 49aac44dc..695c6c207 100644
--- a/Python/pywarpx/picmi.py
+++ b/Python/pywarpx/picmi.py
@@ -410,8 +410,8 @@ class CylindricalGrid(picmistandard.PICMI_CylindricalGrid):
self.blocking_factor_x = kw.pop('warpx_blocking_factor_x', None)
self.blocking_factor_y = kw.pop('warpx_blocking_factor_y', None)
- self.potential_xmin = None
- self.potential_xmax = None
+ self.potential_xmin = kw.pop('warpx_potential_lo_r', None)
+ self.potential_xmax = kw.pop('warpx_potential_hi_r', None)
self.potential_ymin = None
self.potential_ymax = None
self.potential_zmin = kw.pop('warpx_potential_lo_z', None)