collisions.mac

This macro file can be imported to an input file with

$ import collisions

It is imported by VSim whenever a simulation contains particles.

This macro file is available to all packages.

This macro file defines macros for adding collisions between particles and particles and between particles and fluids into a simulation.

Uses: collisionsinz.mac, collisionsmc.mac, and collisionsrxn.mac

To add collisions to your simulation with the collisions.mac macros involves 3 defining steps.

  • Create the neutral gas using the fluids.mac macro addNeutralGas
  • Specify the type of collisions (electrons or ions) by including a macro for either addElectronNeutralFluidCollisions or addIonNeutralFluidCollisions
  • Specify which types of collisions for each species where choices are
    • Electrons: Elastic, Excitation, Ionization
    • Ions: Charge Exchange, Momentum Exchange

Examples

Here are some example uses of the macros in this macro file:

addNeutralGas(XeNeutralGas, Xe, initGasDen, 300., True, [zMin, rMin], [zMax, rMax])

addElectronNeutralFluidCollisions(elecNeutralColl, electrons, XeNeutralGas)

addElectronNeutralFluidIonizationCollision(elecIonization, elecNeutralColl, electrons, XePlus, isotropic, EvaluatedElectronDataLibrary, eedl.dat)

addElectronNeutralFluidElasticCollision(elecElastic, elecNeutralColl, isotropic, EvaluatedElectronDataLibrary, eedl.dat)

addElectronNeutralFluidExcitationCollision(elecExcitation, elecNeutralColl, isotropic, EvaluatedElectronDataLibrary, eedl.dat)

Public Macros

addElectronNeutralFluidCollisions(name, impactElectrons, neutralGas)

Add collisions between an electron species and a neutral background gas.

Parameters:
  • name – The name of this collision process.
  • impactElectrons – The name of the impacting electron species.
  • neutralGas – The name of the neutral background gas.
addIonNeutralFluidCollisions(name, impactIons, neutralGas)

Add collisions between an ion species and a neutral background gas.

Parameters:
  • name – The name of this collision process.
  • impactElectrons – The name of the impacting electron species.
  • neutralGas – The name of the neutral background gas.
addElectronNeutralFluidElasticCollision(name, owningCollider, productDist, crossSectionType)

Add elastic collision with built in cross-sectioning.

Parameters:
  • name – The name of this collision process.
  • owningCollider – The collisions parent that defines the impact species and the neutral gas. The name used for the addElectronNeutralFluidCollisions macro.
  • productDist – The distribution of product velocities after collision. Choice of isotropic or VahediSurendra.
  • crossSectionType – The cross section calculation method. Choice of userDefinedCrossSection or EvaluatedElectronDataLibrary.
addElectronNeutralFluidElasticCollision(name, owningCollider, productDist, crossSectionType, dataFile)

Add elastic collision with file defined in cross-sectioning.

Parameters:
  • name – The name of this collision process.
  • owningCollider – The collisions parent that defines the impact species and the neutral gas. The name used for the addElectronNeutralFluidCollisions macro.
  • productDist – The distribution of product velocities after collision. Choice of isotropic or VahediSurendra.
  • crossSectionType – The cross section calculation method. Choice of userDefinedCrossSection or EvaluatedElectronDataLibrary.
  • dataFile – The file containing the cross section data.
addElectronNeutralFluidExcitationCollision(name, owningCollider, productDist, crossSectionType)

Add excitation collision with built in cross-sectioning.

Parameters:
  • name – The name of this collision process.
  • owningCollider – The collisions parent that defines the impact species and the neutral gas. The name used for the addElectronNeutralFluidCollisions macro.
  • productDist – The distribution of product velocities after collision. Choice of isotropic or VahediSurendra.
  • crossSectionType – The cross section calculation method. Choice of userDefinedCrossSection or EvaluatedElectronDataLibrary.
addElectronNeutralFluidExcitationCollision(name, owningCollider, productDist, crossSectionType, dataFile)

Add excitation collision with file defined in cross-sectioning.

Parameters:
  • name – The name of this collision process.
  • owningCollider – The collisions parent that defines the impact species and the neutral gas. The name used for the addElectronNeutralFluidCollisions macro.
  • productDist – The distribution of product velocities after collision. Choice of isotropic or VahediSurendra.
  • crossSectionType – The cross section calculation method. Choice of userDefinedCrossSection or EvaluatedElectronDataLibrary.
  • dataFile – The file containing the cross section data.
addElectronNeutralFluidIonizationCollision(name, owningCollider, productElectrons, productIons, productDist, crossSectionType)

Add ionization collision with built in cross sectioning.

Parameters:
  • name – The name of this collision process.
  • owningCollider – The collisions parent that defines the impact species and the neutral gas. The name used for the addElectronNeutralFluidCollisions macro.
  • productElectrons – The name of the product electron species.
  • productIons – The name of the product ion species.
  • productDist – The distribution of product velocities after collision. Choice of isotropic or VahediSurendra.
  • crossSectionType – The cross section calculation method. Choice of builtIn, userDefinedCrossSection or EvaluatedElectronDataLibrary.
addElectronNeutralFluidIonizationCollision(name, owningCollider, productElectrons, productIons, productDist, crossSectionType, dataFile)

Add ionization collision with file defined in cross-sectioning.

Parameters:
  • name – The name of this collision process.
  • owningCollider – The collisions parent that defines the impact species and the neutral gas. The name used for the addElectronNeutralFluidCollisions macro.
  • productElectrons – The name of the product electron species.
  • productIons – The name of the product ion species.
  • productDist – The distribution of product velocities after collision. Choice of isotropic or VahediSurendra.
  • crossSectionType – The cross section calculation method. Choice of builtIn, userDefinedCrossSection or EvaluatedElectronDataLibrary.
  • dataFile – The file containing the cross section data.
addIonNeutralFluidChargeExchangeCollision(name, owningCollider, productDist, crossSectionType)

Add charge exchange collision with built in cross-sectioning.

Parameters:
  • name – The name of this collision process.
  • owningCollider – The collisions parent that defines the impact species and the neutral gas. The name used for the addIonNeutralFluidCollisions macro.
  • productDist – The distribution of product velocities after collision. Choice of backward.
  • crossSectionType – The cross section calculation method. Choice of builtIn or userDefinedCrossSection.
addIonNeutralFluidChargeExchangeCollision(name, owningCollider, productDist, crossSectionType, dataFile)

Add charge exchange collision with file defined in cross-sectioning.

Parameters:
  • name – The name of this collision process.
  • owningCollider – The collisions parent that defines the impact species and the neutral gas. The name used for the addIonNeutralFluidCollisions macro.
  • productDist – The distribution of product velocities after collision. Choice of backward.
  • crossSectionType – The cross section calculation method. Choice of builtIn or userDefinedCrossSection.
  • dataFile – The file containing the cross section data.
addIonNeutralFluidMomentumExchangeCollision(name, owningCollider, productDist, crossSectionType)

Add momentum exchange collision with built in cross-sectioning.

Parameters:
  • name – The name of this collision process.
  • owningCollider – The collisions parent that defines the impact species and the neutral gas. The name used for the addIonNeutralFluidCollisions macro.
  • productDist – The distribution of product velocities after collision. Choice of backward
  • crossSectionType – The cross section calculation method. Choice of builtIn or userDefinedCrossSection
addIonNeutralFluidMomentumExchangeCollision(name, owningCollider, productDist, crossSectionType, dataFile)

Add momentum exchange collision with file defined in cross sectioning

Parameters:
  • name – The name of this collision process
  • owningCollider – The collisions parent that defines the impact species and the neutral gas. The name used for the addIonNeutralFluidCollisions macro.
  • productDist – The distribution of product velocities after collision. Choice of backward.
  • crossSectionType – The cross section calculation method. Choice of builtIn or userDefinedCrossSection.
  • dataFile – The file containing the cross section data.