CERN home page CERN home page Consult pages Consult pages Writeups at CERN Writeups at CERN Garfield pages Garfield pages Help Help &DRIFT &DRIFT This page This page Table of contents Keyword index

&DRIFT: methods


velocity

In the absence of a magnetic field, the drift velocity vector for both electrons and ions is parallel with the electric field.

The magnitude of the drift velocity vector is taken from the gas tables. Mainly for historic reasons, the tables list the velocity for electrons and the velocity divided by the field (usually called mobility) for ions, a difference that is of a merely formal nature.

The magnitude of the drift velocity of electrons and the mobility of ions can be entered with the TABLE and ADD gas section commands. Electron velocities can in addition be computed with MAGBOLTZ and MIX.

In the presence of a magnetic field, both electrons and ions experience a force which is perpendicular to both the E field and the B field. In vacuum, particles will follow in general a spiraling trajectory. In chamber gasses however, both electrons and ions undergo frequent scattering as a result of which they move in a straight line. The angle between the line of motion and the E field vector is called Lorentz angle.

The Lorentz angle for electrons can be manually inserted in the gas tables, and it can also be computed. If the angle is present in the tables, then the drift velocity vector is chosen such that:

If the Lorentz angle for electrons is not present in the gas tables, then the drift velocity vector is computed with the formula:

        Q mu     /                    2        \
v = -----------  | E  +  mu ExB  +  mu B (E.B) |
              2  \                             /
    1 + (mu B)
where mu stands for the mobility and Q for the charge.

Since the Lorentz angle for ions can currently not be entered in the gas tables, the same formula is used for ions.


Runge_Kutta_Fehlberg

Runge Kutta Fehlberg integration is initialised with

The method iterates over the following steps:

  1. Given a starting point, the velocity at the starting point, and a time step, compute 2 estimates of the next point on the drift line: These 2 estimates are based on the drift velocity at the starting point and the velocity at only 3 new locations.
  2. The time step is updated by comparing the 2nd and 3rd order estimates with the requested accuracy:
                            accuracy
           dt' =  dt sqrt -----------
                          |z_2 - z_3|
    
  3. The step is repeated if:
  4. The position is updated with the 2nd order estimate.
  5. The velocity is updated according to the end-point velocity of the step, which is one of the 3 velocity vectors that were computed under 1.

The iteration ends when any of the following conditions is satisfied:

The strength of this algorithm is that it takes very long steps in areas where the field is nearly constant and small steps in areas with a varying field. This saves computation time and improves the overall accuracy of the calculation.

The method is well adapted to fields that are smooth, such as analytic potentials. Field maps in contrast are sometimes not even continuous. This algorithm has difficulties coping with such rough maps - the Monte Carlo method is then a better choice.


Monte_Carlo

The Monte Carlo drift line integration method is initialised by:

The method iterates over the following steps:

  1. From the velocity and the time step, compute a step length, assuming the velocity to be constant over the step.
  2. Compute the transverse and longitudinal diffusion coefficients at the starting location, scale with the square root of the step length. Here too, we assume the diffusion is constant over the step.
  3. Generate a diffusion step, with 1 longitudinal component in the direction of the drift velocity and 2 transverse components according to 3 uncorrelated Gaussian distributions.
  4. Update the location by adding the step due to the velocity and the random step due to diffusion.

The iteration ends when any of the following conditions is satisfied:

The most striking difference between Monte Carlo and Runge Kutta integration is that the latter will, for a given starting point, always compute the same path while Monte Carlo integration will lead to different trajectories (provided lateral diffusion is appreciable).

Monte Carlo integration is intrinsically robust and is therefore well suited when integrating non-smooth fields such as those encountered in field maps.

The Monte Carlo method is also to be prefered for very small scale detectors at the scale of the diffusion.

However, care must be taken to adjust the step size. If the steps are too large, the method is inaccurate. If they are too small, the maximum number of steps will be reached before the particle has reached an electrode.


diffusion

Diffusion is primarily a spatial effect. While a particle drifts, it will on average follow the drift velocity vector, both in direction and in speed. Additionally, it will be scattered transversely, an effect known as transverse diffusion, and it will at times move a bit slower or faster, an effect known as longitudinal diffusion.

The transverse component of diffusion, usually the largest of the two, will make a particle follow a trajectory that differs from the mean. Longitudinal diffusion will only have an effect on the drift time.

If diffusion does not cause the particles starting at one and the same point to reach different electrodes, the dominant effect of diffusion is a fluctuation in arrival time. One should note that this fluctuation is not only due to the longitudinal part of diffusion - also the transverse part plays a role.

Garfield offers several methods to estimate the effect of diffusion:

Additional information on:
  
 


multiplication

The gas multiplication over a drift path is estimated as the exponentiated integral of the Townsend coefficient over the path:

     integral alpha dz
M = e

The integration is performed using the Newton-Raphson technique over each step of the drift line, repeatedly bisecting a step until either the maximum stack depth has been reached, or until the difference between the trapezoidal and the quadratic estimate over a section becomes less than a fraction eps of the trapezoidal estimate without bisection of the integral over the entire path.

The integral of the Townsend coefficient over a drift path computed with the Monte_Carlo technique is larger than the integral over a drift path from the same point computed with the Runge_Kutta_Fehlberg method. The reason for this difference is that the path length for Monte Carlo integration is larger than for RKF integration.

Magboltz computes Townsend coefficients for use with an RKF path. The PROJECTED-PATH-INTEGRATION integration parameter can in certain contexts be used to reduce the step size dependence of the integral over Monte Carlo paths.


attachment

The attachment losses over a drift path are estimated as the exponentiated integral of the attachment coefficient over the path:

      - integral eta dz
L = e

The integration is performed using the Newton-Raphson technique over each step of the drift line, repeatedly bisecting a step until either the maximum stack depth has been reached, or until the difference between the trapezoidal and the quadratic estimate over a section becomes less than a fraction eps of the trapezoidal estimate without bisection of the integral over the entire path.

The integral of the attachment coefficient over a drift path computed with the Monte_Carlo technique is larger than the integral over a drift path from the same point computed with the Runge_Kutta_Fehlberg method. The reason for this difference is that the path length for Monte Carlo integration is larger than for RKF integration.

Magboltz computes attachment coefficients for use with an RKF path. The PROJECTED-PATH-INTEGRATION integration parameter can in certain contexts be used to reduce the step size dependence of the integral over Monte Carlo paths.


status

All drift line integration routines return status information which tells what happened to the particle that has been drifting.

When the integration routines are called through commands, the status is, on request, printed as part of the output. If the routines are called via procedures, then the status is usually one of the output arguments.

The status is usually shown or returned as a string, shown in the second column of the table below. Occasionally however, a numeric status code is returned, shown in the third column.

The DRIFT_INFORMATION procedure returns on request the status of the last drift line that has been computed in either of these 2 formats.

Drift line ended because ... Status string Numeric status code
Particle left the drift area Left the drift area -1
More than MXLIST steps Too many steps -2
Various faults Calculations abandoned -3
Hit an equipotential plane Hit a plane -4
Entered a dielectricum Left drift medium -5
Left the finite element mesh Left the mesh -6
Hit the plane on the left Hit the minimum x plane -11
Hit the plane on the right Hit the maximum x plane -12
Hit the plane on the bottom Hit the minimum y plane -13
Hit the plane on the top Hit the maximum y plane -14
Hit the tube wall Hit the tube -15
Hit a wire of type X Hit X wire N 1 ... MXWIRE
Hit a replica of an X-wire Hit a replica of X wire N MXWIRE+1 ... 2*MXWIRE
Ended in a solid of type X Hit X solid N 2*MXWIRE+1 ... 2*MXWIRE+MXSOLI
Other cases (shouldn't occur) Unknown other

The "X" in the status code for wires, replicas of wires and solids is replaced by the corresponding wire label or the corresponding solid label (see SOLIDS). "N" is replaced by the respective sequence number.


Go to the top level, to &DRIFT, to methods, to the topic index or to the table of contents.

Formatted on 0099-12-08 at 15:52.