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.
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.
<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>
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
or
nomMacroPtclsPerStep
set in positionGenerator
, 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
.
<PositionGenerator emitSlab>
kind = bitRevSlabPosGen
<Slab emitSurface>
lowerBounds = [$XSTART$ $-NSIG*DY$ $-NSIG*DZ$]
upperBounds = [$XSTART$ $NSIG*DY$ $NSIG*DZ$ ]
</Slab>
nomMacroPtclsPerStep = 10.
</PositionGenerator>