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 and microscopic tracking.
[This parameter is initially set to 10\<SUP\>-8\</SUP\>.]
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 and microscopic tracking..
[By default, there is no limit to the step size.]
&CELL &CELL -> plane" y = 0 v = 0 &CELL -> plane" y = 1 v = 1000&GAS co2 add ion-mobility 2e-6 parameters ... transverse-ion-diffusion thermal ... longitudinal-ion-diffusion thermal
&DRIFT int-par monte-carlo-time 0.01 ... monte-carlo-maximum-time 8 area -0.0100 0 0.0100 0.0200
Call plot_drift_area For i From 1 To 5 Do Call drift_ion_mc(0, 0.0190, 0, status, time) Say "{status} {time} microsec" Call plot_drift_line Enddo Call plot_end
Call plot_drift_area For i From 1 To 1000 Do Call drift_ion_mc(0, 0.0190, 0, status, time) Say "{status} {time} microsec" Call get_drift_line(xd, yd, zd, td) Call plot_marker(number(xd[size(xd)]), number(yd[size(yd)]), `function-1`) Enddo Call plot_end
The first plot shows trajectories of 5 ions while the second plot shows the point reached when the cut-off time was reached.
[By default: no maximum]
Steps will have a constant duration in time. Since electrons move much faster than ions, and since the same duration will be used for both, this option is of little practical use in situations where both types of particles are drifting.
[Default: 20 psec]
An approximately constant spatial length will be used for each step. The steps will as a rule not have exactly the requested length as a result of the diffusion process and to a lesser extent also through non-linearities in the field.
This is the most commonly used method since the same settings can be used for both electrons and ions.
[Default: 10 \μm]
When using microscopic tracking, the parameter determines how many collisions occur between 2 collisions which are recorded in the drift path. The parameter does not in any way influence tracking.
[Default: 100 steps]
None of these parameters has an effect on Runge_Kutta_Fehlberg integration.
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 \μm.
[Default: 0.95 as minimum and 1.05 as maximum.]
ntrap*radiusthen the electron or ion is considered to be caught by the wire.
When using microscopic tracking, it is advisable to set the radius to 1, i.e. not to consider an electron caught until it tries to enter 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.]
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.]
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.]
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.]
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.]
Drift-lines that are terminated because of this condition, are given the status "Bend sharper than pi/2".
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 or microscopic method is used.
[The option is on by default.]
[This parameter is preset to a value of the order of 2-5.]
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:
[The default is 10\<SUP\>-3\</SUP\>.]
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.]
As a result, integrating the Townsend and the attachment coefficient over Monte Carlo paths leads to larger multiplications and larger losses than are obtained integrating over Runge Kutta Fehlberg paths. In addition, the integral over Monte Carlo paths is ill-defined since it depends on the step size.
To bypass this problem, programs such as Magboltz compute the Townsend coefficient by counting the number of electrons produced in a unit of projected path length measured along the average direction of motion, not in a unit of distance effectively covered by an electron during its random walk motion.
When the PROJECTED-PATH-INTEGRATION integration parameter is active, Garfield replicates this approach by integrating the Townsend and attachment coefficients 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.
Since electrons occasionally move backwards with respect to the average motion, without this leading to electron losses, the procedure tries to cancel backwards steps against nearby forward steps. A warning message is printed in case of net backwards motion (backscatter).
This option has effect on
[Default is TRUE-PATH-INTEGRATION.]
When this option is selected, you may also wish to inspect the settings of the other isochron related options.
This action of this option can reversed with the MARK-ISOCHRONS option.
Isochrons are drawn using the ISOCHRON polyline representation.
[By default, isochrons are drawn as lines.]
If this option is active, no sorting needs to be done. Hence, the other isochron options are ignored. Plotting isochrons is fast with this option switched on.
This action of this option can reversed with the DRAW-ISOCHRONS option.
Isochrons are marked using the ISOCHRON polymarker representation.
[By default, isochrons are drawn as lines.]
By setting SORT-ISOCHRONS, an attempt is made to order the points in such a manner that the isochrons 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 isochron is sorted as a line or as an arc depends on the setting of ISOCHRON-ASPECT-RATIO-SWITCH. Whether 2 points on an isochron are connected or not depends on the setting of ISOCHRON-CONNECTION-THRESHOLD.
The sorting algorithm by itself is fast - the check on intersects between isochrons 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-ISOCHRONS option is ignored when MARK-ISOCHRONS is in effect.
[By default: sort done]
The fraction iso_thr can be set to any value between 0 (only markers) and 1 (isochrons are only interrupted by drift-line crossings).
Selecting NOISOCHRON-CONNECTION-THRESHOLD is tantamount to setting iso_thr to 1.
[Initial setting: 0.2]
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 isochron is assumed to be linear, otherwise circular.
This switch has effect only when SORT-ISOCHRONS has been switched on.
[Initial setting: 3]
[Initial setting: 0.2]
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]
Formatted on 21/01/18 at 16:55.