CERN home page CERN home page Consult pages Consult pages Writeups at CERN Writeups at CERN Garfield pages Garfield pages Help Help &DRIFT &DRIFT INTEGRATION-PARAMETERS INTEGRATION-PARAMETERS Search Keyword index

&DRIFT: INTEGRATION-PARAMETERS


accuracy

Sets the accuracy of Runge_Kutta_Fehlberg drift line integration.

This parameter enters in the update of the step size used in drift line integration. The initial value of this parameter is suitable for chambers with a size of several cm's which have a reasonably complicated field structure. If the field is very simple, or if the chamber is very small, then a smaller value should be chosen.

This parameter has no effect on Monte_Carlo integration.

[This parameter is initially set to 1E-8.]


maximum_step

The maximum step size that is allowed.

The Runge_Kutta_Fehlberg drift line integration method automatically updates the step length at each step. When traversing a large area with a very smooth field, the step size becomes large. If this is not desired, for instance because there is a fine structure behind the smooth area, then one should limit the step size with this option.

Recommended value: a maximum step length of order 1/10th-1/20th of the distance to be traversed.

This parameter has no effect on Monte_Carlo integration.

[By default, there is no limit to the step size.]


step_size

When performing Monte_Carlo drift line integration, one has the choice between 3 methods:
MC-TIME-INTERVAL
A constant time difference between successive steps. The time difference between the steps is set by the user.

Default: 20 psec

MC-DISTANCE-INTERVAL
An approximately constant spatial length for each step. The length of the steps is set by the user. Note that the steps will, as a rule, not have exactly the requested length: differences can arise through non-linearities in the field and through the diffusion process.

This is the most commonly used method since the same settings can be used for both electrons and ions.

Default: 10 micron

MC-STEPS
A simulation of the collision process with at each step a randomly selected distance between 2 collisions, based on the mean free path for the local electric and magnetic field. The user specifies the number of collisions over which to average in each step.

Default: 100 steps

These parameters have no effect on Runge_Kutta_Fehlberg integration.


scale

When performing Monte_Carlo drift line integration, the diffusion tensor is longitudinally stretched at each step to allow for accelerations and transversely stretched to account for convergence of neigbouring drift lines.

Excessively small and large scaling factors are indicative of a locally too large step_size. This is commonly the case in the vicinity of small electrodes such as wires. Garfield therefore reduces the step size locally if the scaling is found to lie outside the range given.

The minimum of the scaling range has to be larger than or equal to 0. The maximum has to be larger than 1.

Using the default range, one effectively uses the expressions for diffusion spread in the limit of infinitely small steps. This is not appropriate in case the mean free path is substantially larger than a few microns.

[Default: 0.95 as minimum and 1.05 as maximum.]


TRAP-RADIUS

Sets the trap distance (in terms of wire radii). If an electron or ion can be attracted by a wire (this depends on the charge on the wire but also on the setting of the option CHECK-ALL-WIRES) and if the particle passes closer by the wire than a distance of
ntrap*radius

then the electron or ion is considered to be caught by the wire.

From the moment a wire is considered caught by a wire, a dedicated integration algorithm takes over which is better at estimating the residual drift time than the default algorithm.

[This parameter is preset to a value of the order of 2-5 (depending on program version). This can be too large if the wires are very thick but it may as well be too small for very thin wires.]


order

Sets the order with which the drift time, the diffusion, the multiplication and the attachment losses are interpolated when using prepared tracks.

For the lower orders, you may also specify the keywords LINEAR, QUADRATIC or PARABOLIC and CUBIC.

Although values between 1 and 10 are accepted, orders larger than 2 are not recommended since they tend to lead to oscillation.

[Default: 2, parabolic interpolation.]


COMPUTE-IF-INTERPOLATION-FAILS

In case a prepared track can not be interpolated at a certain point, this option requests that the drift line be computed.

Reasons why a track can't be interpolated for a point are:

Computation time can increase dramatically if many points need to be computed.

If you specify ABANDON-IF-INTERPOLATION-FAILS, then such points are assigned a status of "Abandoned", a drift time, diffusion, multiplication, loss and incidence angle of 0.

[By default, drift lines are computed when needed.]


CHECK-ALL-WIRES

Depending on their charge, wire can either attract a particle, repel it or have no effect. Wires can also have a multipole moment which makes them attractive from one side and not from another.

If the CHECK-ALL-WIRES option is in effect, then all wires, no matter their charge, are considered able to catch a particle. As soon as a particle comes closer to any wire than the TRAP-RADIUS, an attempt will be made to drift it to the wire.

This is meaningful if you have e.g. dipole (q=0) type wires, but this is harmful if you particles pass near repelling wires, such as gating grids. This option also interferes with calculation of signals due to ions drifting from the neighbourhood of the sense wires.

When not needed, this option also wastes a lot of CPU time.

[By default, only attracting wires are checked.]


CHECK-ATTRACTING-WIRES

When the CHECK-ATTRACTING-WIRES option is in effect, a particle will not be considered caught when it comes closer than the trap radius to a wire that is charged such that it can not attract the particle that is drifting.

This is usually the recommended mode but there are cases, such as the presence of wires with almost no net charge, but with a multipole moment, where the alternative is better suited.

[This option is on by default.]


REJECT-KINKS

This option requests drift line calculation to be aborted if the drift line makes a bend sharper than 90 degrees. Such bends rarely occur in smooth fields, the most common case is a drift line that tries to cross a saddle point. The REJECT-KINKS option will ensure that the drift line doesn't repeatedly go back and forth across the saddle point.

Since fields obtained with finite element methods occasionally have areas with very uneven fields, it may be advisable in such cases to switch the option off.

This option has effect when drift line integration is performed using the Runge_Kutta_Fehlberg method, but not when the Monte_Carlo method is used.

[The option is on by default.]


ncloud

Sets the distance from the wire (in multiples of the wire radii) at which the integration routine for combined longitudinal and transverse diffusion changes from accumulating the diffusion covariance matrix to projecting the accumulated probability distribution onto the target wire.

[This parameter is preset to a value of the order of 2-5.]


method

When both transverse and longitudinal diffusion have been entered in the gas section, the diffusion is calculated by propagating a cloud along the drift line.

When the drift line approaches the wire, the cloud as a whole is projected onto the wire. For this phase, various algorithms are put at your disposal:

Additional information on:
   
 


eps

A step is subdivided if the difference between the first and second order estimates differ more than a fraction epsilon of the total first order estimate without subdivisions.

[The default is 1.0E-3.]


stack

The stack depth is the maximum number of subdivisions allowed during the integration, in order to achieve the requested accuracy.

This parameter should be set to a small value (1 or 2) if the field is interpolated in a finite element map because the electric field, and hence the quantity to be integrated, is usually discontinuous across element boundaries.

If the field is computed from analytic formulae, then the maximum stack depth has usually little impact on the integration of the diffusion coefficients, since the latter are normally fairly smoothly varying quantities.

For the integration of the Townsend coefficient however, which suddenly grows from 0 to an appreciable value, the stack depth is a critical parameter in the accuracy of the computation. Although CPU time can go up rapidly with stack depth, it is a good idea to keep a large value: when not needed, no use of the stack is made.

[Default is 2, the maximum is given by MXSTCK, usually set to 5. The smallest permitted value is 1 and this setting will usually already give a reasonable accuracy. The default stack depth is large and may result in excessively lengthy computations.]


PROJECTED-PATH-INTEGRATION

Monte_Carlo drift paths are longer than the mean drift paths as computed with the Runge_Kutta_Fehlberg method. Moreover, the path length computed with the Monte Carlo method increases with decreasing step length.

As a result, integrating quantities such as the Townsend and the attachment coefficient over Runge Kutta Fehlberg paths leads to smaller multiplications and larger losses than those obtained integrating over Monte Carlo paths, while the integral over the latter is ill defined since it depends on the step size.

When the PROJECTED-PATH-INTEGRATION integration parameter is active, the Townsend and attachment coefficients are integrated over path segments projected on the local drift velocity vector. This ensures that the path length integral doesn't depend on the step size used in Monte Carlo integration.

This option has effect on

[Default is TRUE-PATH-INTEGRATION.]


DRAW-ISOCHRONES

Requests isochrones to be drawn as lines, rather than marked.

When this option is selected, you may also wish to inspect the settings of the other isochrone related options.

This action of this option can reversed with the MARK-ISOCHRONES option.

Isochrones are drawn using the ISOCHRONES polyline representation.

[By default, isochrones are drawn as lines.]


MARK-ISOCHRONES

Requests marking the points on the isochrones.

If this option is active, no sorting needs to be done. Hence, the other isochrone options are ignored. Plotting isochrones is fast with this option switched on.

This action of this option can reversed with the DRAW-ISOCHRONES option.

Isochrones are marked using the ISOCHRONES polymarker representation.

[By default, isochrones are drawn as lines.]


SORT-ISOCHRONES

Depending on the source of the points that serve to draw the isochrones, they can be in some definite order or not.

By setting SORT-ISOCHRONES, an attempt is made to order the points in such a manner that the isochrones appear as reasonably smooth lines. Any attempt to do so is likely to fail for certain cases. Moreover, sorting can take a large amount of computing time - the problem is related to the notorious "travelling salesperson problem (TSP)".

Garfield, for these reasons uses a simple algorithm to sort the points on a contour: each contour is classified as being either linear or arcs. Linear contours are sorted along the main axis, points on arcs by angle with respect to the centre of gravity. Arcs that appear to be nearly full loops are drawn as closed contours, otherwise as an open arc. Whether an isochrone is sorted as a line or as an arc depends on the setting of ISOCHRONE-ASPECT-RATIO-SWITCH. Whether 2 points on an isochrone are connected or not depends on the setting of ISOCHRONE-CONNECTION-THRESHOLD.

The sorting algorithm by itself is fast - the check on intersects between isochrones and drift lines in contrast is fairly time consuming.

Sorting is not useful (hence potentially harmful) when the drift lines come from a track on which the points are ordered - which is usually the case. The sort is useful on the other hand for drift lines starting from wires or other electrodes.

The SORT-ISOCHRONES option is ignored when MARK-ISOCHRONES is in effect.

[By default: sort done]


ISOCHRONE-CONNECTION-THRESHOLD

Points on an isochrone are only joined if they are less than a fraction iso_thr away from each other on the screen. Points that can not be connected are shown by a marker.

The fraction iso_thr can be set to any value between 0 (only markers) and 1 (isochrones are only interrupted by drift line crossings).

Selecting NOISOCHRONE-CONNECTION-THRESHOLD is tantamount to setting iso_thr to 1.

[Initial setting: 0.2]


ISOCHRONE-ASPECT-RATIO-SWITCH

When an isochrone appears to be more or less circular, its points are ordered by increasing angle with respect to the centre of gravity. If the isochrone, on the other hand, seems to be more or less linear, the points are ordered along the longest principal axis of the distribution.

Whether the set is circular or linear is decided by computing the RMS in the two principal axes of the point distribution. If the ratio of these two RMS's exceeds iso_aspect, then the isochrone is assumed to be linear, otherwise circular.

This switch has effect only when SORT-ISOCHRONES has been switched on.

[Initial setting: 3]


ISOCHRONE-LOOP-THRESHOLD

Isochrones that appears to be circular (rather than linear, see ISOCHRONE-ASPECT-RATIO-SWITCH for the conditions under which this happens) are closed if the largest distance between 2 points doesn't exceed a fraction iso_loop of the total length of the isochrone.

[Initial setting: 0.2]


CHECK-ISOCHRONE-CROSSINGS

Requests ensuring that drift lines do not cross isochrones.

Such crossings can for instance occur if the drift lines from a track flow left or right of an intermediate object, which itself also attracts some electrons, to a wire located behind the object.

This check is fairly time consuming.

[By default: check done]


Go to the top level, to &DRIFT, to INTEGRATION-PARAMETERS, to the topic index, to the table of contents, or to the full text.

Formatted on 0108-03- at 04:26.