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.