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 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.

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>