Skip to content

Commit f8b3270

Browse files
authored
Add PICMI interface for injecting from embedded boundary (#5395)
This adds the option to inject particles from the embedded boundary with PICMI.
1 parent bf90514 commit f8b3270

File tree

1 file changed

+21
-7
lines changed

1 file changed

+21
-7
lines changed

Python/pywarpx/picmi.py

Lines changed: 21 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -691,6 +691,11 @@ def setup_parse_momentum_functions(
691691
class UniformFluxDistribution(
692692
picmistandard.PICMI_UniformFluxDistribution, DensityDistributionBase
693693
):
694+
def init(self, kw):
695+
self.inject_from_embedded_boundary = kw.pop(
696+
"warpx_inject_from_embedded_boundary", False
697+
)
698+
694699
def distribution_initialize_inputs(
695700
self, species_number, layout, species, density_scale, source_name
696701
):
@@ -702,13 +707,22 @@ def distribution_initialize_inputs(
702707
species.add_new_group_attr(source_name, "flux", self.flux)
703708
if density_scale is not None:
704709
species.add_new_group_attr(source_name, "flux", density_scale)
705-
species.add_new_group_attr(
706-
source_name, "flux_normal_axis", self.flux_normal_axis
707-
)
708-
species.add_new_group_attr(
709-
source_name, "surface_flux_pos", self.surface_flux_position
710-
)
711-
species.add_new_group_attr(source_name, "flux_direction", self.flux_direction)
710+
711+
if not self.inject_from_embedded_boundary:
712+
species.add_new_group_attr(
713+
source_name, "flux_normal_axis", self.flux_normal_axis
714+
)
715+
species.add_new_group_attr(
716+
source_name, "surface_flux_pos", self.surface_flux_position
717+
)
718+
species.add_new_group_attr(
719+
source_name, "flux_direction", self.flux_direction
720+
)
721+
else:
722+
species.add_new_group_attr(
723+
source_name, "inject_from_embedded_boundary", True
724+
)
725+
712726
species.add_new_group_attr(source_name, "flux_tmin", self.flux_tmin)
713727
species.add_new_group_attr(source_name, "flux_tmax", self.flux_tmax)
714728

0 commit comments

Comments
 (0)