Skip to content

Diffusion

Heinrich Schindler requested to merge diffusion into master

Modifications to improve the simulation of diffusion in AvalancheMC at low (or zero) electric field.

If the electric field or the drift speed are zero, diffusion steps are simulated by

  • retrieving the low-field mobility μ from the Medium,
  • calculating the diffusion coefficient D = μ kBT/q,
  • drawing Gaussian-distributed random steps in all three directions.
    • In case of fixed time steps Δt, the σ of the Gaussian distribution is given by (2DΔt)1/2.
    • In case of fixed distance steps Δs, we take σ = Δs and calculate the corresponding time step using Δt = σ2/(2D).
    • In case of "collision" steps, we calculate σ using σ = nD/vth, where vth = (2kBT/m)1/2 is the thermal velocity, and subsequently determine the corresponding time step as in the case of fixed distance steps.

Note that the diffusion coefficient D used here has dimensions cm2/ns.

If the drift speed vD is non-zero and fixed-distance (or "collision") steps are used, the time step is calculated using Δt = Δs/vD. After making a step along the direction of the drift velocity, random diffusion steps in the longitudinal (L) and transverse (T) directions are added, with σL,T = (vDΔt)1/2DL,T, where DL,T are the longitudinal and transverse diffusion parameters. Note that the diffusion parameters used here have dimensions cm1/2.

If the drift speed is small, this can lead to very large diffusion steps. A check has been added whether σL,T exceeds Δs. If it does, the time step is limited to Δt = Δs2 / (D2 vD).

Edited by Heinrich Schindler

Merge request reports

Loading