transparentBndry
Works with VSimPD, and VSimMD licenses.
In this particle sink, a portion particles are transferred through with the remainder either reflected or absorbed at the boundaries. The fraction of particles that are either transferred or reflected through the boundary is based on the transparency parameter which is expected to be between 0 and 1.0. For every particle at the boundary, a random number is picked and compared with the given transparency parameter.
In absorb mode if the random number is below the transparency parameter, the particle is absorbed at the boundary. For example, if transparency = 0.10, 90% of particles are transmitted through the boundary. Absorb mode is enabled by setting the absTransparenPtclFlag parameter to True.
In reflect mode if the random number is above the transparency parameter, the particle is reflected at a user specified velocity. For example, if transparency = 0.90, 90% of particles are transmitted through the boundary. Reflect mode is enabled by setting the reflectPtcls parameter to True.
minDim (integer)
Minimum dimensionality for which this sink is applicable (1, 2, or 3).
lowerBounds (integer vector)
Gives lower bounds of the particle sink in cell indices.
upperBounds (integer vector)
Gives upper bounds of the particle sink in cell indices.
direction (double vector)
The direction of the outward normal for the reflecting plane in the case that particle is reflected at the boundary.
surface (double, required)
The location of the reflecting plane in the case that particle is reflected at the boundary.
transparency (double, required)
The transparency parameter which is a value between 0 and 1.0. Particle at the boundary are transferred through the boundary or reflected at the boundary based on the transparency parameter and operating mode.
E.g., if
reflectPtcls=true
and
absTransparentPtclFlag=false
,
then transparency=0.01
will result
in (on average) 1 percent of particles passing through the surface
untouched (although that 1 percent will be recorded if
recPassThruPtclFlag=true
), while 99 percent will be
diffusely reflected
E.g., if
reflectPtcls=false' and
:samp:`absTransparentPtclFlag=true
,
then transparency=0.01
will result in (on average) 99 percent
of particles passing through untouched, while 1 percent will be absorbed
(and recorded).
In this case, recPassThruPtclFlag
has no effect.
E.g., if
reflectPtcls=false' and
:samp:`absTransparentPtclFlag=false
,
then all particles will pass through the surface unchanged.
However, if recPassThruPtclFlag=true
, then a fraction
transparency
of particles crossing the surface will be
recorded.
absTransparentPtclFlag (flag, optional, default = false)
A flag to enable absorb mode of the boundary.
This cannot be set to true if reflectPtcls is true.
If true, a fraction of transparency
of particles will
be absorbed in the cell where they cross the boundary (and recorded)
while a fraction 1-transparency
will pass through unchanged.
reflectPtcls (flag, optional, default = false)
A flag to enable reflect mode of the boundary. This cannot be set to true if absTransparentPtclFlag is also true.
If true, a fraction of transparency
of particles will
pass through unchanged,
while a fraction 1-transparency
will be diffusively-reflected.
The average and thermal velocities of the diffusively-reflected
particles are given by vbar and vsig respectively.
vbar (double vector)
Average velocity of the particles in the x, y, and z directions. Only applied to reflected particles.
vsig (double vector)
Positive value denoting the thermal velocity in the x, y, and z directions. Only applied to reflected particles.
recPassThruPtclFlag (flag, optional, default = false)
If true, and reflectPtcls=true
and
absTransparentPtclFlag=false
,
then the non-reflected (passing-through) particles will be recorded.
If true, and reflectPtcls=false
and
absTransparentPtclFlag=false
,
then all particles willl cross the boundary unchanged, but a fraction
transparency
of them will be recorded.
If reflectPtcls=false
and absTransparentPtclFlag=true
,
this option has no effect.
In this example, 80 percent of particles crossing the boundary will be
diffusively-reflected, and 20 percent will pass through without any
change. The 20 percent will not be recorded because
recPassThruPtclFlag=false
by default.
<ParticleSink rightXeIonAbsorber>
kind = transparentBndry
# Bounds specified with physical indexing
lowerBounds = [ABS_LOC_LB -1 -1]
upperBounds = [ABS_LOC_UB NY1 NZ1]
direction = [-1.0 0.0 0.0]
surface = $XMIDm1 + 0.25*DX$
# this is the param that decides percentage transmitted, or absorbed
transparency = 0.8
# CANNOT HAVE absTransparentPtclFlag and reflectPtcls = true.
# if true this will absorb percentage particles = transparency
# absTransparentPtclFlag = true
# if true the percentage reflected particles = 1 - transparancey
reflectPtcls = true
# thermal velocity of the reflected particles (so only applies if reflectPtcls = true)
vsig = [VTH_TRNS VTH_TRNS VTH_TRNS]
# average velocity of the reflected particles (so only applies if reflectPtcls = true)
vbar = [-1.e6 0.0 0.0]
</ParticleSink>