@@ -691,6 +691,11 @@ def setup_parse_momentum_functions(
691691class 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