Velocities and Internal Variables of Particles

VelocityGenerator:

Used by xvLoaderEmitter particle sources to determine the velocities (and all internal variables) of particles when loaded or emitted into the simulation. All xvLoaderEmitter blocks must have a VelocityGenerator block. See the documentation for each velocity generator for more details and parameters.

Relativistic and Non-Relativistic Velocity

Vorpal uses either relativistic or non-relativistic velocity based on particle species:

non-relativistic

Simple velocity; applies to velocities for particle species:

  • nonRelBoris

  • nonRelES

relativistic`

Applies to all other particle species.

Internal Variables Associated with Particles

Internal variables associated with particles may include such quantities as particle-weight and tag. For variably-weighted particles, Vorpal tracks the weight as an additional internal variable. The velocity vector component designations are:

  • component0:

    x coordinate

  • component1:

    y coordinate

  • component2:

    z coordinate

  • component3:

    x component of the velocity or the \(\gamma v\).

  • component4:

    y component of the velocity or the \(\gamma v\).

  • component5:

    z-components of the velocity or the \(\gamma v\).

  • component6-8:

    component**n**: Consult table below.

Velocity Vector Component Designations for component:

Particle Species

component6

component7

component8

freeRel

N/A

N/A

N/A

nonRelBoris

N/A

N/A

N/A

nonRelES

N/A

N/A

N/A

relBoris

N/A

N/A

N/A

relBorisVW

w

N/A

N/A

relBorisDF

w

N/A

N/A

relBorisBallisticVW

w

N/A

N/A

relBorisTagged

tag

N/A

N/A

relBorisVWTagged

tag

w

N/A

relBorisVWScale

tag

scale

w

relBorisEffMassExtd

valleyIndex

w

N/A

nonRelEsEffMassExtd

valleyIndex

w

N/A

Legend:

symbol

value

v

velocity

\(\gamma v\)

gamma*v

w

weight

tag

particle tag

scale

particle scale factor

Variable Weight Particles

For the particular case of variable weight particles, you must specify one or the other, never both, of the following:

  • currentDensityFunc

  • Behavior of component3 in the velocity generator

One should use currentDensityFunc to set the weight of the particles in an emission source, not component3. (If you attempt to specify both a currentDensityFunc and a component3 inside a VelocityGenerator, then the value of component3 in the VelocityGenerator will be overridden by the currentDensityFunc.)

When loading particles, component3 is required to determine the weight of the particles.