absSavTriCutCell

absSavTriCutCell

Works with VSimPD and VSimMD licenses.

This particle sink removes particles at a cut-cell (conformal) boundary, deleting them from the simulation, and (if requested) recording them. This sink absorbs particles on the triangulated surface (a set of triangles approximating the surface).

When possible (see below), this cut-cell sink calculates and records the exact time that particles cross the boundary, as well as the surface normal and grid cell. (Other cut-cell sinks currently do not do this.) This makes it possible, e.g., for secondaryEmitter to emit a secondary particle with the exact remaining time in the timestep. Thus a secondaryEmitter that preserves particle properties (but perhaps switches species) will not change a particle’s trajectory.

In principle, this sink removes particles that cross the surface into the absorber (specified by the gridBoundary and absorberIsInGridBoundary options). However, in some cases, the behavior is more complicated. If a particle is initially emitted inside the absorber, it typically gets one time step to escape the absorber; if it doesn’t escape, then the particle is absorbed at its initial location (which may not be near the absorber’s surface).

When recording absorbed particles, be aware that particles that are immediately absorbed after being secondary-emitted (based on previously-absorbed primary particles) may not be recorded as absorbed (hence further secondaries won’t be emitted). If this is a problem, it is in cases possible to fix it by making the secondary particles a different species.

absSavTriCutCell Parameters

minDim (integer, optional, default = 1)

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.

gridBoundary (string)

Name of the gridBoundary that the describes the surface of absorption.

absorberIsInGridBoundary (boolean, optional, default = false)

Whether the absorbing material is the interior of the gridBoundary (if true), or in the exterior ( if false).

depositCurrentToCorner (boolean, optional, default = true)

This option should generally be true in electromagnetic simulations, especially for absorption at metallic (conducting) surfaces; it avoids the creation of artificial stationary charges. In electromagnetic simulation, absorbing a charge in the middle of a cell automatically leaves (or rather, leads to electromagnetic fields that act as if there were) a charge that remains at the emission location forever. If this option is true, then electrical current will be deposited from the absorption location to the nearest cell-corner that is inside the absorber.

recordParticleData (boolean, optional, default = true)

Whether absorbed particles should be recorded (either for use in Histories or for secondary emission). The record is cleared after each time step.

absorbLocation (string, optional, default = justOutsideAbsorber)

Where particles should be absorbed, when they are absorbed “at” the surface: justOutsideAbsorber, justInsideAbsorber, or nearestTheSurface (i.e., either inside or outside the absorber). In pathological cases, this request may not be honored.

absSavTriCutCell Example Block

<ParticleSink coneSurfSink>
  kind = absSavTriCutCell
  recordParticleData = true
  gridBoundary = coneSurf
  lowerBounds = [0 0 0]
  upperBounds = [8 8 8]
  depositCurrentToCorner = true
</ParticleSink>