diff options
author | 2021-11-05 09:59:37 -0700 | |
---|---|---|
committer | 2021-11-05 09:59:37 -0700 | |
commit | bb0a9e38f461b89cd8370485a9bc4d83d74e2ae8 (patch) | |
tree | c3586458aab6ed045319611a2c5010c2922da5c7 /Python/pywarpx/picmi.py | |
parent | 3684af17bbbe04fdc6dd84ff2a646c8a77076b73 (diff) | |
download | WarpX-bb0a9e38f461b89cd8370485a9bc4d83d74e2ae8.tar.gz WarpX-bb0a9e38f461b89cd8370485a9bc4d83d74e2ae8.tar.zst WarpX-bb0a9e38f461b89cd8370485a9bc4d83d74e2ae8.zip |
PICMI: Add max_grid_size, blocking_factor in (x,y,z) (#2524)
* PICMI: Add amr.max_grid_size_<x,y,z>
* Set All Flags in Python
* PICMI: Add amr.blocking_factor_<x,y,z>
Diffstat (limited to '')
-rw-r--r-- | Python/pywarpx/picmi.py | 28 |
1 files changed, 28 insertions, 0 deletions
diff --git a/Python/pywarpx/picmi.py b/Python/pywarpx/picmi.py index 741ae6e6e..460b21602 100644 --- a/Python/pywarpx/picmi.py +++ b/Python/pywarpx/picmi.py @@ -403,7 +403,11 @@ class CylindricalGrid(picmistandard.PICMI_CylindricalGrid): """ def init(self, kw): self.max_grid_size = kw.pop('warpx_max_grid_size', 32) + self.max_grid_size_x = kw.pop('warpx_max_grid_size_x', None) + self.max_grid_size_y = kw.pop('warpx_max_grid_size_y', None) self.blocking_factor = kw.pop('warpx_blocking_factor', None) + 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 @@ -418,7 +422,11 @@ class CylindricalGrid(picmistandard.PICMI_CylindricalGrid): # Maximum allowable size of each subdomain in the problem domain; # this is used to decompose the domain for parallel calculations. pywarpx.amr.max_grid_size = self.max_grid_size + pywarpx.amr.max_grid_size_x = self.max_grid_size_x + pywarpx.amr.max_grid_size_y = self.max_grid_size_y pywarpx.amr.blocking_factor = self.blocking_factor + pywarpx.amr.blocking_factor_x = self.blocking_factor_x + pywarpx.amr.blocking_factor_y = self.blocking_factor_y assert self.lower_bound[0] >= 0., Exception('Lower radial boundary must be >= 0.') assert self.bc_rmin != 'periodic' and self.bc_rmax != 'periodic', Exception('Radial boundaries can not be periodic') @@ -458,7 +466,11 @@ class CylindricalGrid(picmistandard.PICMI_CylindricalGrid): class Cartesian2DGrid(picmistandard.PICMI_Cartesian2DGrid): def init(self, kw): self.max_grid_size = kw.pop('warpx_max_grid_size', 32) + self.max_grid_size_x = kw.pop('warpx_max_grid_size_x', None) + self.max_grid_size_y = kw.pop('warpx_max_grid_size_y', None) self.blocking_factor = kw.pop('warpx_blocking_factor', None) + 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 = kw.pop('warpx_potential_lo_x', None) self.potential_xmax = kw.pop('warpx_potential_hi_x', None) @@ -473,7 +485,11 @@ class Cartesian2DGrid(picmistandard.PICMI_Cartesian2DGrid): # Maximum allowable size of each subdomain in the problem domain; # this is used to decompose the domain for parallel calculations. pywarpx.amr.max_grid_size = self.max_grid_size + pywarpx.amr.max_grid_size_x = self.max_grid_size_x + pywarpx.amr.max_grid_size_y = self.max_grid_size_y pywarpx.amr.blocking_factor = self.blocking_factor + pywarpx.amr.blocking_factor_x = self.blocking_factor_x + pywarpx.amr.blocking_factor_y = self.blocking_factor_y # Geometry pywarpx.geometry.coord_sys = 0 # Cartesian @@ -509,7 +525,13 @@ class Cartesian2DGrid(picmistandard.PICMI_Cartesian2DGrid): class Cartesian3DGrid(picmistandard.PICMI_Cartesian3DGrid): def init(self, kw): self.max_grid_size = kw.pop('warpx_max_grid_size', 32) + self.max_grid_size_x = kw.pop('warpx_max_grid_size_x', None) + self.max_grid_size_y = kw.pop('warpx_max_grid_size_y', None) + self.max_grid_size_z = kw.pop('warpx_max_grid_size_z', None) self.blocking_factor = kw.pop('warpx_blocking_factor', None) + self.blocking_factor_x = kw.pop('warpx_blocking_factor_x', None) + self.blocking_factor_y = kw.pop('warpx_blocking_factor_y', None) + self.blocking_factor_z = kw.pop('warpx_blocking_factor_z', None) self.potential_xmin = kw.pop('warpx_potential_lo_x', None) self.potential_xmax = kw.pop('warpx_potential_hi_x', None) @@ -524,7 +546,13 @@ class Cartesian3DGrid(picmistandard.PICMI_Cartesian3DGrid): # Maximum allowable size of each subdomain in the problem domain; # this is used to decompose the domain for parallel calculations. pywarpx.amr.max_grid_size = self.max_grid_size + pywarpx.amr.max_grid_size_x = self.max_grid_size_x + pywarpx.amr.max_grid_size_y = self.max_grid_size_y + pywarpx.amr.max_grid_size_z = self.max_grid_size_z pywarpx.amr.blocking_factor = self.blocking_factor + pywarpx.amr.blocking_factor_x = self.blocking_factor_x + pywarpx.amr.blocking_factor_y = self.blocking_factor_y + pywarpx.amr.blocking_factor_z = self.blocking_factor_z # Geometry pywarpx.geometry.coord_sys = 0 # Cartesian |