- transparentBndry
transparentBndry¶
Works with VSimPD, and VSimVE 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.
transparentBndry Parameters¶
- 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
andabsTransparentPtclFlag=false
, thentransparency=0.01
will result in (on average) 1 percent of particles passing through the surface untouched (although that 1 percent will be recorded ifrecPassThruPtclFlag=true
), while 99 percent will be diffusely reflectedE.g., if
reflectPtcls=false' and :samp:`absTransparentPtclFlag=true
, thentransparency=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, ifrecPassThruPtclFlag=true
, then a fractiontransparency
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 fraction1-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 fraction1-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
andabsTransparentPtclFlag=false
, then the non-reflected (passing-through) particles will be recorded.If true, and
reflectPtcls=false
andabsTransparentPtclFlag=false
, then all particles willl cross the boundary unchanged, but a fractiontransparency
of them will be recorded.If
reflectPtcls=false
andabsTransparentPtclFlag=true
, this option has no effect.
transparentBndry Example Block¶
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>