The EPOC++ physics packages#
With EPOC++, we plan to move away from the old scheme of hacking each individual physics package into the code, and instead look to create a single physics package interface. This new framework should be able to reproduce the behaviour of the FORTRAN physics packages, allow the use of any sampling technique on any process, and provide an easy way to add new packages.
- Physics package overview
- Physics package features
- Physics package manager class
- Physics package class
- Physics table class
- Particle variable class
- Sampling methods
- Event trigger probability
- Optical depth method
- Physically increased rates
- Weighted collisional processes
- Cumulative density functions
- Adding a new physics package
- Test processes
- Example 1: Basic sampling
- Example 1.0
- Example 1.1
- Example 1.2
- 1D density plotter
- Example 2: Secondary particles
- Example 2.0
- Example 2.1
- Example 2.2
- Example 2.3
- Example 2.4
- Example 3: Field background
- Example 3.0
- Example 3.1
- Phase space plotter
- Current density plotter
- Example 4: Particle background
- Example 4.0
- Example 4.1
- Example 4.2
- Example 4.3
- Example 5: Collisions
- Example 5.0
- Bremsstrahlung
- Cross sections
- Photon sampling
- Plasma-screening
- Angular distribution
- Positron bremsstrahlung
- Example: Basic
- Example: Plasma-screening
- Example: Angular distribution
- Example: Positron bremsstrahlung
- Python energy spectrum plotter
- Python angular distribution plotter
- Bethe-Heitler e-e+
- Cross sections
- Pair particle energies
- Angular distribution
- Example: Bethe-Heitler
- Bethe-Heitler muon pair production
- Cross sections
- Pair particle energies
- Angular distribution
- Example: Muon pair production
- Nuclear trident
- Cross sections
- Pair particle energies
- Angular distribution
- Example: Nuclear trident
- Field ionisation
- Multiphoton ionisation
- Tunnelling ionisation
- Barrier-suppression ionisation (classical)
- Classical ionisation (strong-field)
- Combined ionisation rate
- Field energy loss
- Ionisation kinematics
- Example: Multiphoton
- Example: Tunnelling
- Example: Barrier-suppression
- Example: Classical model
- Collisional ionisation
- Ionisation tables
- Cross sections
- MBELL method
- RBEB method
- Ejected electron energies
- Incident electron recoil
- Example: Collisional ionisation
- Number density evolution
- Recombination
- Dielectronic recombination
- Radiative recombination
- Three-body recombination
- Ion-rest-frame transformations
- Example: Dielectronic and radiative recombination
- Example: Three-body recombination
- Unfinished work
- Packages
- Multiple triggers per timestep
- Master blocks
- Output/restart
- Python interface
- Tidy up tables