diff options
author | 2019-11-06 16:22:41 -0800 | |
---|---|---|
committer | 2019-11-07 09:38:01 -0800 | |
commit | bdef308e6c5b4aeed8190b6ecdb25b00a51ca5f9 (patch) | |
tree | 6a8cefd9f739813a0378b21e24cebb5b193fe349 /Python | |
parent | 1b4eaecb0dcc77b4f6cc13ab521140aafc1b97c7 (diff) | |
download | WarpX-bdef308e6c5b4aeed8190b6ecdb25b00a51ca5f9.tar.gz WarpX-bdef308e6c5b4aeed8190b6ecdb25b00a51ca5f9.tar.zst WarpX-bdef308e6c5b4aeed8190b6ecdb25b00a51ca5f9.zip |
Implement space-charge initialization (non-relativistic, single-level)
Diffstat (limited to 'Python')
-rw-r--r-- | Python/pywarpx/picmi.py | 12 |
1 files changed, 6 insertions, 6 deletions
diff --git a/Python/pywarpx/picmi.py b/Python/pywarpx/picmi.py index c4e6803d5..6e9c9153b 100644 --- a/Python/pywarpx/picmi.py +++ b/Python/pywarpx/picmi.py @@ -56,7 +56,7 @@ class Species(picmistandard.PICMI_Species): if self.mass is None: self.mass = element.mass*periodictable.constants.atomic_mass_constant - def initialize_inputs(self, layout): + def initialize_inputs(self, layout, initialize_self_fields=False): self.species_number = pywarpx.particles.nspecies pywarpx.particles.nspecies += 1 @@ -68,7 +68,8 @@ class Species(picmistandard.PICMI_Species): else: pywarpx.particles.species_names += ' ' + self.name - self.species = pywarpx.Bucket.Bucket(self.name, mass=self.mass, charge=self.charge, injection_style = 'python') + self.species = pywarpx.Bucket.Bucket(self.name, mass=self.mass, charge=self.charge, + injection_style = 'python', initialize_self_fields=int(initialize_self_fields)) pywarpx.Particles.particles_list.append(self.species) if self.initial_distribution is not None: @@ -77,9 +78,9 @@ class Species(picmistandard.PICMI_Species): picmistandard.PICMI_MultiSpecies.Species_class = Species class MultiSpecies(picmistandard.PICMI_MultiSpecies): - def initialize_inputs(self, layout): + def initialize_inputs(self, layout, initialize_self_fields=False): for species in self.species_instances_list: - species.initialize_inputs(layout) + species.initialize_inputs(layout, initialize_self_fields) class GaussianBunchDistribution(picmistandard.PICMI_GaussianBunchDistribution): @@ -544,8 +545,7 @@ class Simulation(picmistandard.PICMI_Simulation): self.solver.initialize_inputs() for i in range(len(self.species)): - assert not self.initialize_self_fields[i], Exception('WarpX does not support initializing self fields') - self.species[i].initialize_inputs(self.layouts[i]) + self.species[i].initialize_inputs(self.layouts[i], self.initialize_self_fields[i]) for i in range(len(self.lasers)): self.lasers[i].initialize_inputs() |