diff options
author | 2022-01-04 09:41:44 -0800 | |
---|---|---|
committer | 2022-01-04 09:41:44 -0800 | |
commit | f08f12835397b9cc05aa4a18fe2f22803501e08d (patch) | |
tree | 32ea0bf724d2726bd504ee8044a0428c8ce0a848 /Python/pywarpx | |
parent | ce851bb9749004dedadf5d41f96c0f0069fedd98 (diff) | |
download | WarpX-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-x | Python/pywarpx/_libwarpx.py | 6 | ||||
-rw-r--r-- | Python/pywarpx/picmi.py | 4 |
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) |