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.