- bitRevSlabPosGen
bitRevSlabPosGen¶
Position generator that loads and emits particles based on a slab object. The slab object is defined by specifying the upper and lower bounds of a rectangular slab region. Within this slab region, bitRevSlabPosGen generates positions for particles based on the bit-reversed algorithm.
For loading particles into a volume (usually at initialization only), you must specify a slab block that has the name loadSlab.
bitRevSlabPosGen can also emit particles from a surface that is normal to one of the coordinate axes. To specify this surface, you must have a slab block with the name emitSurface and one (and only one) of the components of the upper and lower bounds vectors must be equal to each other. The component of the upper and lower bounds that is equal specifies the normal direction to the emitSurface, and the other components determine the area of the emitSurface.
To emit particles from the emitSurface, you must also specify the ptclsPerCell parameter for loading as well as the emitDirSign and the sweepRate parameters.
bitRevSlabPosGen Parameters when Loading¶
- ptclsPerCell (integer, default = 0)
Determines the number of macroparticles that will be loaded per cell inside the loadSlab. Loading particles also requires that the user specify the
ptclsPerCell
parameter. The default (0
) is that no particles are loaded.
- numPhysPtclsPerStep (float, default = 0.0)
Determines the number of physical particles to load per time step. When this option is given it overrides the ptclsPerCell parameter.
Example bitRevSlabPosGen Block in Loading Mode¶
<PositionGenerator bitRevSlab>
kind = bitRevSlabPosGen
<Slab loadSlab>
lowerBounds = [$XSTART +LX/2. - 1*DX$ $YSTART + LY/2. -DY$ $ZSTART + LZ/2. -DZ$]
upperBounds = [$XSTART + LX/2.$ $YSTART + LY/2.$ $ZSTART + LZ/2.$]
</Slab>
ptclsPerCell = NOMPPC
</PositionGenerator>
bitRevSlabPosGen Parameters when Emitting¶
- nomMacroPtclsPerCellStep (floating point, default = 0)
Emitting only - Specifies the nominal macro particles to emit per cell per time step. If this value is set and
sweepRate
ornomMacroPtclsPerStep
set inpositionGenerator
, then it causes an exception and the user is advised to choose only one option.
Note
If the user considers an emission source and does not set
sweepRate
or nomMacroPtclsPerStep
(in
positionGenerator
) or nomMacroPtclsPerCellStep
,
then it causes an exception and the user is advised to specify
one of these options.
- emitDirSign (integer, default = 1)
Determines the direction of emission from the
emitSurface
.
Example bitRevSlabPosGen Block in Emitting Mode¶
<PositionGenerator emitSlab>
kind = bitRevSlabPosGen
<Slab emitSurface>
lowerBounds = [$XSTART$ $-NSIG*DY$ $-NSIG*DZ$]
upperBounds = [$XSTART$ $NSIG*DY$ $NSIG*DZ$ ]
</Slab>
nomMacroPtclsPerStep = 10.
</PositionGenerator>