aboutsummaryrefslogtreecommitdiff
path: root/Python/pywarpx/picmi.py
diff options
context:
space:
mode:
Diffstat (limited to 'Python/pywarpx/picmi.py')
-rw-r--r--Python/pywarpx/picmi.py16
1 files changed, 15 insertions, 1 deletions
diff --git a/Python/pywarpx/picmi.py b/Python/pywarpx/picmi.py
index a0069ec8f..47f8c562f 100644
--- a/Python/pywarpx/picmi.py
+++ b/Python/pywarpx/picmi.py
@@ -272,7 +272,18 @@ class PseudoRandomLayout(picmistandard.PICMI_PseudoRandomLayout):
class BinomialSmoother(picmistandard.PICMI_BinomialSmoother):
- pass
+ def initialize_inputs(self, solver):
+ pywarpx.warpx.use_filter = 1
+ if self.n_pass is None:
+ # If not specified, do at least one pass in each direction.
+ self.n_pass = 1
+ try:
+ # Check if n_pass is a vector
+ len(self.n_pass)
+ except TypeError:
+ # If not, make it a vector
+ self.n_pass = solver.grid.number_of_dimensions*[self.n_pass]
+ pywarpx.warpx.filter_npass_each_dir = self.n_pass
class CylindricalGrid(picmistandard.PICMI_CylindricalGrid):
@@ -418,6 +429,9 @@ class ElectromagneticSolver(picmistandard.PICMI_ElectromagneticSolver):
if self.cfl is not None:
pywarpx.warpx.cfl = self.cfl
+ if self.source_smoother is not None:
+ self.source_smoother.initialize_inputs(self)
+
class ElectrostaticSolver(picmistandard.PICMI_ElectrostaticSolver):
def initialize_inputs(self):