CERN home pageCERN home page The Consult PageTHE CONSULT PAGE Writeups at CERNWriteups at CERN GarfieldGarfield This page This page

Articles about Garfield in the CERN Computer News Letters

The following CERN computer news letters (CNL) have carried articles on Garfield: The article for the next CNL contains the list of modifications since the latest official release.

GARFIELD : New program introduced (CNL 197)

The Drift-chamber simulation program GARFIELD (version 1.00, author R. Veenhof) is being added to the Program Library Pool W999 (W5050) with this Computer Newsletter.

The GARFIELD program simulates the behavior of drift-chambers. It can be used to calculate and plot the electrostatic field, the potential and the drift-lines of both electrons and ions in drift chambers. The program is primarily meant for use with chambers consisting only of thin wires, infinite equipotential planes and infinite slabs of dielectric material, and it cannot handle three-dimensional structures. A vectorized version of the program is available and can be activated via the command GARFIELD input file (VECTOR. This version can be used only from accounts enabled to use the Vector Facility. Please refer to the Vectorization News section for more information on the performance of the vectorized version.

GARFIELD will be available on the IBM, VAX, Cray and Apollo computers. Documentation for the program is available from the Program Library Office.

F.Carminati, M.A.Marquina

Performance of the vector version of GARFIELD (CNL 197)

The performance improvement obtained using the vector version of the GARFIELD program is very dependent on the problem handled. In general is between 1 and 10, but for some problems a much more substantial performance gain can be achieved. The gain is basically achieved replacing the CERN Program Library matrix handling routines with the equivalent routines from the highly optimized Engineering and Scientific Subroutine Library from IBM (ESSL). The work of vectorization of the code is still in progress, and some further enhancement in the performance of the vector version can still be expected.

In the following we report a favorable but not artificial test run where a 1000 wires cell has been handled. The input file to GARFIELD is the following:

&CELL rows s 1000 * i i i &FIELD print ex ey e &STOP the timing results from the scalar version are the following: ====================================================== Description of the step CPU time used Reading the cell definition: 111 Checking that the cell makes sense: 698 Finding the cell type (A, B1X etc): 0 Calculating the wire charges: 498072 Printing a table of the field: 2377 the timing results from the scalar version are the following: ====================================================== Description of the step CPU time used Reading the cell definition: 112 Checking that the cell makes sense: 724 Finding the cell type (A, B1X etc): 0 Calculating the wire charges: 14065 Printing a table of the field: 2052 Please note that the time is in true milli-seconds, not accounting units. As can be seen an improvement factor of more than 25 in performance has been achieved in this case.

R.Veenhof, M.A.Marquina


GARFIELD: New version 1.01 (CNL 198)

The drift chamber simulation program GARFIELD has been revised. The main changes are:

GARFIELD: New version 2.06 (CNL 200)

Garfield version 2.06 is a corrected, slightly extended version 2.02:

GARFIELD: new version 3.00 (CNL 201)

A new release of W5050 GARFIELD (Drift Chamber Simulation) is being released with this Newslettter. The new features include: A number of corrections from previous versions 2.02 and 2.06 have been also done.

GARFIELD: new Version 4.0 (CNL 207)

The version of GARFIELD which is being released (4.0) includes a few new instructions and graphics control is enhanced. In addition, some old bugs have been fixed. The drift-time, integrated diffusion coefficient and the avalanche multiplication factor have been added as variables to the optimising formula.

Algebra

Random numbers can be generated in formulae:
RND_UNIFORM
Uniformly distributed random number between 0 and 1.
RND_GAUSS
Normally distributed random number, mean 0 sigma 1.
RND_EXP
Exponential random number with mean 1.
RND_POISSON
Poisson random number.
RND_LANDAU
Landau random number.
Formula simplification is inhibited when random number generators are called. Mode propagation is carried out fully and string operations are supported.

Graphics

Workstations can be created, opened, activated, deactivated, closed and deleted by the user. This opens, amongst other possibilities, the way to producing metafiles in interactive runs. ATC-GKS and GKS-CO have been added as GKS flavours. With GTS-GRAL/GKS release 3.4 X-windows output can now be roduced.

Command line syntax

Because of the changes in the graphics part of the program (at the request of several users outside CERN), the command line syntax had to be changed. Unfortunately the new syntax is not backwards compatible.

Vax:

$ garfield /terminal=(type=T,GKS_id=G,connection=C) /metafile=(type=T,GKS_id=G,offset=O,name=F) /noterminal /nometafile

Apollo and Unix systems:

garfield -terminal type T GKS_id G connection C -metafile type T GKS_id G offset O name F -noterminal -nometafile

VM/CMS:

garfield (terminal(type T GKS_id G connection C) metafile(type T GKS_id G offset O name F) noterminal nometafile) where:
T
symbolic name (e.g. PG7800, PS);
G
GKS identifier for the driver you wish to use;
C
connection identifier;
O
difference between connection identifier and logical unit;
F
name of the file that should receive graphics output.
TYPE and GKS_IDENTIFIER are mutually exclusive. NOTERMINAL and NOMETAFILE suppress the corresponding graphics output.

For VM/CMS only, there is now the possibility to specify the name of the file to which Garfield writes its output during batch runs:

GARFIELD input / output ( options The output file should be specified without file mode. Fields set to = are replaced by their defaults; if the field is still =, it is set to the corresponding field of the input file name.

Technical change for Vax/VMS

GARFIELD is, from version 4.00, linked with the object image of the CLD file. The CLD file must not ,therefore, be inserted in the system command tables anymore. GARFIELD is now started from a symbol: GARF*IELD :== $disk:[directory]GARFRUN.EXE - [default qualifiers] The file GARFRUN.FOR is supplied along with the main program. When installing the program, you should check that GARFRUN looks for the correct directory when starting GARFIELD. GARFRUN has to be linked with the object image of GARFMSG.MSG.

Corrections


GARFIELD: new version 4.18 (CNL 211/212)

The version of Garfield which is being released (4.18) is a revision of the previously released versions 4.06 and 4.12.

Cell section

A new cell type has been added, the tube. This is a cylindrical or polygonal pipe with wires inside. The format of the main related instructions is: TUBE RADIUS r [EDGES n] [VOLTAGE v] This describes the surrounding tube as having radius r, potential v (defaults to 0) and n corners. Instead of EDGES=3, one can type TRIANGLE and similarly for SQUARE, PENTAGON, ... and OCTOGON. To specify a cylinder one may omit the EDGES part by setting n to 0 or by typing CIRCLE.

Note: only circular tubes are currently available.

ROWS [CARTESIAN | POLAR | TUBE] If the TUBE statement doesn't precede the ROWS, one must specify the coordinate system on ROWS. The wires should be listed in cartesian coordinates.

Planes can not be used in conjunction with TUBE, but a periodicity in phi is allowed.

Gas section

The parametrisation of the energy loss fraction of CO2 as used by the MIX instruction has been corrected. The fault only affected the MIX instruction, not ARGON-80-CO2-20 and the like.

Work is in progress to interface Garfield to Magboltz (written by Steve Biagi).

Attachment coefficients can now be entered in the gas section and can be used to compute the electron losses along drift lines.

Drift section

Accuracy parameters entered by the INTEGRATION-PARAMETERS instruction were not transmitted to the integration routines. This has been corrected. A stack depth and accuracy have been added for attachment coefficients.

Garfield: new Version 4.26 (CNL 213)

Version 4.26 of the Garfield program has been introduced. The following improvements were introduced:

Cell section

A minor correction in the classification of cells with a tube.

Gas section

Ion mobilities are now part of the TABLE and can hence depend on the field strength, the keyword on the TABLE command is ION-MOBILITY. If the ion mobility is a constant, then use the format: TABLE E/P DRIFT ION-MOBILITY=0.01 DIFFUSION 1 1 2 10 10 3 20 11 3 100 12 2 1000 12 2 Extrapolation and interpolation methods for the ion mobility are selected in the same way as for the drift velocity, diffusion etc.

The default interpolation method for all gas properties, has been changed to Newton interpolation of order 1.

Drift section

Two new options on XT-PLOT: PRINT-XT-RELATION and PLOT-XT-RELATION. Both are on by default and can be used to suppress the printed table and the graph of the x(t) relation.

The x-axis in the x(t) correlation plots has been changed to match the X-RANGE, not the x part of the AREA.

Two options have been added for PLOT GRAPH: ON and N. The keyword ON should be followed by a curve parametrisation in terms of the variable T which runs from 0 to 1. N specifies the number of points in the graph, for instance

PLOT GRAPH EX ON 'COS(PI*T),SIN(PI*T)' Note the quotes around the curve parametrisation.

The initialisation of the PATH variable in SINGLE has been corrected. Also the PRINT keyword is now properly identified.

The following variables have been added to the selection function and the function to be minimised, used by the MINIMISE instruction:

E
norm of the electric field;
B
norm of the magnetic field;
VELOCITY
norm of the drift velocity.
Interpolation of prepared tracks did not work properly near the end point of the track. This has been corrected.

ARRIVAL-TIME-DISTRIBUTION has two new options:

Time contours plotted with the DRIFT command are now based on 2nd order Newton rather than spline interpolations of the drift line.

Graphics

Correction in the gradient calculating routine used for plotting of contours. The mistake affected most cells with more structure in one direction than in the other.

Frame for polar coordinates plotted in a similar way as for Cartesian coordinates. The GRID option is now honoured.

The order of the arguments to the colour setting routines has been corrected (blue and green were interchanged).

Formulae

Output arguments of procedure calls do not have to be declared as global variable anymore. Any argument which looks like a variable name is added to the list of global variables (with mode 0, i.e. uninitialised).

A new kind of global variable has been added: histogram. In principle, all arithmetic allowed on numbers can be applied to histograms. Mixed mode arithmetic between numbers and histograms is permitted. Various procedures are available to create, display and delete histograms.

Several procedure calls for retrieving information about the cell and for plotting have been added:

CALL LIST_HISTOGRAMS CALL GET_CELL_DATA (number of wires, cell type, coordinates, identifier) CALL GET_CELL_SIZE(xmin, ymin, zmin, xmax, ymax, zmax) CALL GET_WIRE_DATA (iw, x_iw, y_iw, V_iw, d_iw, q_iw, code_iw) CALL GET_PLANE_DATA (yn_1, x_1, V_1, yn_2, x_2, V_2, yn_3, y_3, V_3, yn_4, y_4, V_4) CALL GET_PERIODICITY_DATA (yn_x, s_x, yn_y, s_y) CALL ELECTRIC_FIELD (x, y, ex, ey, ex, e, v, status) CALL PLOT_FRAME (xmin, ymin, xmax, ymax, x_label, y_label, title) CALL PLOT_MARKER (x, y [, marker_type]) CALL PLOT_LINE (x1, y1, x2, y2 [, line_type]) CALL PLOT_TEXT (x1, y1, string [, text_type [, alignment [, orientation]]]) CALL PLOT_END ( [description] ) Example Call get_cell_data(nwire,dummy,dummy) Say "List of wires with a negative charge:" For i From 1 To nwire Do Call get_wire_data(i,xw,yw,vw,dw,qw,codew) If qw>0 Then Iterate Say "Wire i at (x,y)=(xw,yw), type codew" Enddo

Datasets, Input and Output

Garfield writes terminal input to a file. To stop recording, you should type: >> The command to (re)start input recording is: >> record.dat

Compilation

New Patchy flag: *LINUX. This flag has the same effect as for instance *IBMRT or *SUN (UNIX).

Garfield: New Version 4.32 (CNL 215)

Overview of modifications

Cell section

Small refinement of the numerical quality of the potential used for phi-periodic cells in a cylindrical tube.

Correction in the potential for chambers with precisely one plane in x, one in y, no periodicities treated in vector mode. Summing of the single wire contributions for this potential is now done in double precision so as to enhance the accuracy.

Triangular, square up to octogonal tubes are now available. Tubes with more edges can be added on request. Phi-periodicity in polygonal tubes is not yet available.

New option CHARGE-CHECK to verify the quality of the capacitance matrix inversion. Not meaningful for IBM vector compilations because the capacitance matrix is solved without inversion in this case.

Compact format cell datasets written with earlier versions of the program can not be read with the present version.

Gas section

The Lorentz angle has been added to the list of gas properties that can be specified in the TABLE. The extrapolation and interpolation methods can be specified as for other entries.

Both the transverse and the longitudinal components of the diffusion coefficients can be entered via the TABLE statement. The extrapolation and interpolation methods can be specified as for other entries.

Compact format gas datasets written with earlier versions of the program can not be read with the present version.

Drift section

If a Lorentz angle has been specified in the gas section, then this angle will be used instead of the angle used in earlier versions.

An accuracy problem has been detected in the ARRIVAL instruction. The mean arrival time of all electrons was wrong by a few percent as a result of this - the mean arrival time of the selected electron should be correct with the default parameter settings.

The plots and tables produced by the ARRIVAL instructions now also show the spread in the arrival time of all electrons and of the elected electrons. The format of the output dataset has been changed accordingly.

Graphics

No changes.

Formulas

String concatenation should be done with '/' rather than '+', '+' is a commutative operator and the order of the concatenated strings is therefore arbitrary.

Two function, GLOBAL and TYPE, have been added. GLOBAL returns the value of the global variable whose name is given as argument (of type string). TYPE returns the type of its argument in the form of a string.

Several new procedure have been added: DRIFT_ELECTRON, INQUIRE_TYPE, INQUIRE_HISTOGRAM. Their parameter lists are described in the manual and in the help file.

Datasets, Input and Output

No changes.

Compilation

Garfield now runs also on Alpha. The program has been linked with VEST translated versions of the GTS-GRAL/GKS shareable images. A few problems related to the Dec Fortran compiler are under study by Dec.

Front-end programs and EXEC files

The front-end EXEC file on VM will now by default give the metafile the same file name as the input file. The file type if specified as * will be set to METAFILE for Appendix E format metafiles, to PS for PostScript and to EPS for encapsulated PostScript. If you already have defaults stored, then please change the default metafile name to =.*

At the request of users, several array dimensions have been increased. As a result, Garfield now needs approximately 10 Mb to run on VM.

The front-end program for Vax now selects an executable depending on the machine on which the program is to be run.

LSE file

The LSE file, no longer kept up to date since this facility does not seem to meet a demand, is no longer part of the distributed CARDS file.

Garfield version 5.05 / Rob Veenhof, LIP (CNL 218)

Overview of modifications

Cell section

Up to now, 2 formats could be used to enter a row of wires: using increments and using a formula. Only the latter is valid from now on, the 7th and 8th position are now used for the tension on the wire and its length. The two formats are illustrated below: no longer valid still valid rows rows s 5 * 2 3 1000 0.2 0 100 s 5 * 2+i*0.2 3 1000+100*i

Magnetic field section

When entering the magnetic field section, any existing gas data is deleted since the effect of the magnetic field on the transport properties of gasses is now taken into account in the Magboltz interface.

Optimisation section

An instruction, FORCE, has been added to compute the force acting on a wire and its deflection.

Field section

No modifications.

Gas section

The interface with Magboltz is now operational thanks to the work of Georg Viehhauser. Gas mixing via Magboltz can be requested by typing commands like the following: MAGBOLTZ HELIUM-4 30 ISOBUTANE 70 Magboltz computes the drift velocity, the longitudinal and the transverse diffusion coefficients, the Lorentz angle if there is a magnetic field, the Townsend and attachment coefficients.

In the presence of a magnetic field, all these quantities are computed for a series of angles between E and B but for a fixed magnetic field strength. When the quantities are required, they are interpolated in a 2-dimensional table in E/p and E-B angle.

The diffusion coefficients should now be entered multiplied by the square root of the pressure in view of the scaling properties for this quantity. This brings the diffusion in line with the Townsend and attachment coefficients which were already entered in a scaling manner. This modification should be invisble if you use built-in gas mixture and if you use MIX or MAGBOLTZ.

An ion mobility can manually be added to the tables prepared by the MIX and MAGBOLTZ commands.

The kind of axes, linear or logarithmic, for the various gas plots has been brought under user control (AXES statement).

Drift section

The ARRIVAL instruction now accepts several selected electrons in a single instruction - without noticeable increase in CPU time consumption. Moreover, the selected electrons can now also be set to LAST, ONE-BUT-LAST etc.

An instruction similar to ARRIVAL has been added, TIMING, which has the functionality of ARRIVAL but for 2 dimensional areas.

The default angular coverage for the initial search in XT-PLOT has been changed to [-90,+90] degrees.

Graphics

Two options have been added: WAIT-BEFORE-PLOT and WAIT-AFTER-PLOT which can be used to suppress the prompt before and after the plots.

Zhengyong Feng has written an interface from GKS to HIGZ to simplify the life of Garfield users who have a workstation. The article below provides details about this interface. The longer term plan is to replace GKS by PHIGS, not by HIGZ.

Formulae

Very small numbers were sometimes incorrectly set equal to zero. A new constant, a, appearing in the algebra simplication process is now only set equal to a known constant, b, if they do not differ by more than epsilon * (|a| + |b|).

Datasets, Input and Output

No changes.

Compilation

A new patchy flag, HIGZ, has been introduced as an alternative to the various GKS flags. A loader message will be issued for routines GTX and ITX: the interface contains a routine called GTX that calls the HIGZ routine ITX which in turn has an entry point called GTX. See below for more general information about the interface.

Garfield now runs also on csf, both in interactive mode and in batch. All Unix-like machine flags can be used for compilation. Garfield jobs for csf can be submitted from CERNVM via NQS.

Front-end programs and EXEC files

The front-end EXEC and PANEL files for VM has been modified to enable job submission via NQS. These files have also been extended to allow accessing the HIGZ modules. The front-end program for Vax has been extended in a similar way.

LSE file

No longer part of the distribution file.

Interface with HIGZ, Zhengyong Feng (CNL 218)

As a widely used software tool to study drift-chamber properties, it is a little pity that due to the GKS limitation, GARFIELD can not be run with some computers, such as SGI, HP and so on. On the other hand, HIGZ, as a part of standard CERNLIB, is also a graphics tool, can be run with nearly all types of computers.

The goal of this work is just to use HIGZ for replacing GKS in GARFIELD. This work has been done by introducing a minimized GKS-HIGZ interface (+PATCH, GKSHIGZ) and modifying some graphics subroutines in GARFIELD (+PATCH, GRAPHICS) with a flag of HIGZ. Some GKS functions (inquiry, PICK, segments) are missing, but they are not vital for the functioning of Garfield. Text positions of a picture on screen and on paper (by printing ps-file) are different. The positions on paper are mostly expected. However, problems concerning TEXT and PICK should be tasks of the next steps of this work.

GARFIELD with HIGZ has been tested with SGI and HP machines. I don't think there will be any difficulties with other machines. Bugs, questions, critiques and suggestions are highly welcome.

Zhengyong Feng University of Washington, Seattle, USA email: zyfeng@muon.phys.washington.edu FENG@CERNVM.CERN.CH ZYFENG@FNALV.FNAL.GOV

Garfield version 5.10 / Rob Veenhof, Saclay (CNL 220)

Overview of modifications

Cell section

No changes.

Magnetic field section

No changes.

Optimisation section

No changes.

Field section

No changes.

Gas section

In addition to the ion mobility, the Townsend and attachment coefficient can be entered with the MIX and MAGBOLTZ commands.

The Magboltz parametrisations for methane, ethane, propane, isobutane and 'CF' sub 4 have been updated. Parametrisations for 'NO' and 'NO' sub 2 have been provided.

Drift section

SINGLE extended to work for polar coordinates.

Major improvement in the integration of the transverse + longitudinal diffusion in the presence of a magnetic field. In the presence of a strong B field, a cloud that approaches a wire becomes very narrow, but is not aligned with the wire. Rather, the cloud spirals towards the wire. This misalignment was not taken into account correctly and resulted in an underestimate of the diffusion, sometimes by a large factor.

Various parameters related to drift line integration, such as EPSILON, TRAP and parameters used for integrating diffusion, have been moved into the INTEGRATION-PARAMETERS command.

Track interpolation for tracks that cross a tube wall has been improved, in particular the timing histograms for the last electron should be more accurate.

It has correctly been pointed out the the component of the drift velocity parallel to B (the E.B term) is missing if the Lorentz angle is tabulated. This will be addressed in a future release.

Graphics

Argument lists provided for all dummy GKS-HIGZ interface routines. The clash between the GKS routine GTX and the HIGZ entry GTX in routine ITX has been solved. These two steps should simplify the preparation of an executable on Unix machines. Thanks to Ian McLaren.

HIGZ produced PS files are now properly closed. By adding routines that simulate GKS inquiry, various graphics functions (such as setting colour and other attributes) now also work with HIGZ.

Formulae

Various new procedure calls have been added: ion drift lines, file inquiry, histogram fitting and a series of string functions. Since the CALL statement seems to be popular, the documentation for this feature has been extended.

Datasets, Input and Output

Improved error checking in the dataset opening EXEC file for VM.

Compilation

Small modifications in various places for LINUX.

A make file for Unix systems has been provided by Michel Roethlisberger/IBM. The program runs on SP2, taking advantage of the ESSL subroutine library.

Ian McLaren has prepared a compilation procedure for a wide variety of Unix workstations.

The CERN program library is no longer updated on VM. Since the Q-disk front-end EXEC is no longer suitable for running the program, Garfield users are asked to include the following statement in their PROFILE EXEC:

'EXEC GIME RJD 192 * LASAGNE (M -P' and issue once the command: DEFAULTS SET GARFIELD EXP PASSWORD LASAGNE NOPANEL Since the author has changed group, the front-end program on Vax no longer gives access to the EXP version of the program. To be able to access all versions of the program, one should redefine the Garfield symbol as follows: $ garf*ield :== $disk$cr:[garfield]garfrun.exe

Front-end programs and EXEC files

Correction in the front-end EXEC for VM, IBMLIB was not declared as TXTLIB.

LSE file

No longer part of the distribution file.

Evaluation of ESSL on the SP2, Michel Roethlisberger, IBM (CNL 220)

ESSL (Engineering and Scientific Subroutine Library) is now under evaluation on the SP2. ESSL is a state-of-the art collection of 441 subroutines providing a wide range of mathematical functions for scientific and engineering applications. It includes computational area like Linear Algebra, Matrix operations, Eigensystem Analysis, Fourier Transform, Sorting and Searching, Interpolation, Numerical Quadrature, Differential Equations and Random Number Generation) It can be called from applications written in Fortran, C and C++ and is tuned for SP2 processors. Speed-up over 20 compared to standard CERNLIB routines has already been reported. (See GARFIELD version 5.10 / Rob Veenhof.)

For more information, please contact Michel Roethlisberger/IBM Tel: 7080 or 0/7915561, or mro@chvm1.vnet.ibm.com.


Garfield version 5.17 / Rob Veenhof, CEA Saclay (CNL 221)

Overview of modifications

Cell section

It has correctly been pointed out that, although the field is correctly computed in tubes, the charges used in these calculations have no physical meaning - thus making the computation of the forces acting on the wires meaningless. The field routines for D1 cells have now been modified to work with the true charges, the routines for D2, D3 and D4 type cells will follow.

Magnetic field section

No changes.

Optimisation section

No changes.

Field section

No changes.

Gas section

The possibility to enter a cluster size distribution partially as a table and partially as an asymptotic expression, has been added. This feature may be useful if the presence of very large cluster sizes is of importance.

In parallel, work is in progress to interface the HEED program of Igor Smirnov (Gatchina) with Garfield. The HEED program computes amongst others the cluster spacing and cluster size distribution in gas mixtures.

To handle the probability of very large cluster sizes more accurately, the random cluster size generator has been replaced by one that works with higher accuracy and better random number generators.

It has been found that the transverse diffusion inside Magboltz is defined in a frame with the electric field as one of the axes, whereas the transverse component in Garfield is orthogonal to the direction of motion. This inconsistency was discovered shortly before the release, and is therefore present in the currently distributed version.

Drift section

As mentioned in the previous CNL, the component of the drift velocity parallel to B (the E.B term) was missing if the Lorentz angle is tabulated. This term has been added in version 5.11.

The sign of the angle in XT-PLOT has been changed to bring it in line with the angle used by ARRIVAL and TIMING.

The random number generators used, for instance, for arrival time calculations are gradually being replaced by more modern ones.

Signal section

The Polya distribution has been added as an avalanche fluctuation type, either with a fixed mean or with a mean computed by integrating the Townsend coefficient.

Werner Riegler has found that the first part of the leading edge of the ion tails was missing. The missing part corresponds to the signal induced by the ions in the first, approximately, 25 % mu 'm' after the wire. This, and a small mistake in the normalisation of the signals, has been corrected.

Graphics

The graphics control functions have been made to work in HIGZ compilations, giving access to most HIGZ workstation types. The surface plots in &DRIFT and in &FIELD and the contour plot in &DRIFT TABLE have been made to work with HIGZ. The latter two require the colour definitions from the garfinit file described below.

There is a known problem with text plotted at an angle by HIGZ. This problem is being investigated.

An instruction has been added to inspect the set of colours currently defined (!MAP).

A file containing colour definitions and colour representations for many items is available. Users with a colour terminal are advised to read this file in at the beginning of a session. If the file is given the proper name, this will be done automatically at startup. The representation definitions can be modified and further colours can be added but the colours that are present should not be deleted. This file can also contain instructions to define further workstations.

Formulae

Conditions on GLOBAL and CALL statements are now respected. Also, algebra translation of these statements is postponed to execution time in case the statements contain a { } pair.

To simplify entering character constants, a new delimiter, the reverse quote (`) has been introduced. This delimiter is similar to the single and double quote in that it keeps words containing separators together, and similar to the double quote in that there is no case conversion between a pair of reverse quotes. But it differs from the other kinds of quotes in that the quotes form part of the word. To illustrate its use, the two following (equivalent commands):

Global string '"a b c"' Global string `a b c` An instruction (PARSE) has been added which permits obtaining user input while reading an input file.

Datasets, Input and Output

At startup, a file called GARFINIT INPUT * (VM/CMS), GARFIELD.DAT or SYS$LOGIN:GARFIELD.DAT (Vax/VMS) or garfinit, ~/garfinit, ~/Garfield/Files/garfinit (Unix) will be read at startup, if the file exists. This permits a certain amount of tailoring of the graphics, see the graphics section for more details.

Histograms

Corrected clearing global variables to which a histograms will be saved.

The errors on the fit parameters are now returned in the CALL statements, consult the manual for the new argument lists.

Global options

An option (PROGRESS-PRINT) has been added to enable the user to follow the progress of some, particularly lengthy, calculations. This option can be set, like the other global options, from the command line and is then called PROGRESS_PRINT or progress_print depending on the system.

Compilation

No changes.

Front-end programs and EXEC files

The front-end program on Vax now addresses all graphics systems at the same time. The CLD file has been rewritten, the advice of C. W. Hobbs /DEC is gratefully acknowledged.

Garfield version 5.25 / Rob Veenhof, CEA Saclay (CNL 223)

Overview of modifications

Cell section

No changes.

Magnetic field section

No changes.

Optimisation section

The routines computing the forces acting on the wire have been corrected after it had been found that mirror charges were in a few cases not properly taken into account (Pawel Majewski). An option has been added to compute the shape of the wire, which can be useful if the force acting on the wire depends in a non- trivial way on the sag.

A potential for a 3-dimensional point charge inside a round tube with a wire at its center is being introduced. The potential is zero both on the tube wall and on the wire.

Field section

No changes.

Gas section

Various keywords on the MAGBOLTZ command have been modified:
HIGH-PRECISION
has been renamed SECOND-ORDER-TERMS
LOW-PRECISION
has been renamed FIRST-ORDER-TERMS
ITERATE-ALPHA
has been added
SWITCH
has been added
The latter option is recommended - for low field strengths, higher order terms are taken into account, for higher field strengths, the Townsend coefficients are privileged.

The gas identifier generated automatically by the MAGBOLTZ command rounded the fractions to the nearest integer percentage. This has been changed.

The graph of the Townsend and attachment coefficients made in response to the GAS-PLOT option, have been combined into a single plot.

PROGRESS-PRINT now has an effect on MIX and MAGBOLTZ.

Drift section

Track preparation and interpolation has been made 3-dimensional. Track preparation is now also available from the signal section. The interpolation routine has been made 15 % faster.

Signal section

Most of the signal section has been rewritten, both to improve the accuracy and to permit more flexible simulation.

New are the following features:

Various changes have been made to existing commands: The idea is to provide building blocks for making instructions like ARRIVAL based on signals. Since the needs of the users vary substantially, it does not seem meaningful to provide a complete instruction.

Graphics

The WAIT-AFTER-PLOT is now respected when linking with HIGZ.

formulas

Clean-up of global variable re-usage.

A new data type, the matrix, has been added. With it comes a series of procedures.

Users are reminded that curly brackets should only be used to substitute expressions in terms of global variables into normal instructions. They should not be used after IF, DO, GLOBAL, CALL or PARSE (the control statements).

Datasets, Input and Output

For Unix systems, a leading tilde and the environment variables are subsituted in file names.

Global options

The RNDM_initialisation option used to result in calls to RNDM only. Since this random number generator is being replaced by calls to RANLUX, also RANLUX is called a number of times now if the option has been selected.

Compilation

The SP2 version is increasingly making use of the ESSL library, which is substantially faster than the equivalent CERN library routines (factors of order 25 are usual).

Front-end programs and EXEC files

The INPUT_LISTING option has been added as command line argument.

The Linux version has been updated by Alfred Zentek, zentek@dslep01.gsi.de.

Executables, make files, help files etc. for various Unix systems can be found in /afs/cern.ch/user/r/rjd/Garfield/Files.

Documentation

The Garfield manual and a set of examples can be found on WWW via http://consult.cern.ch/writeup/garfield.

Garfield version 5.36 / Rob Veenhof, CEA Saclay (CNL 225)

Overview of modifications

Cell section

In view of the modifications in the &OPTIMISATION section, a new command, GRAVITY, and further arguments in the ROWS listing, have been added. As a result, compact format cell datasets written by earlier versions, should be re-created.

Magnetic field section

The initialisation of the susceptibility of the gas and the wires has been made consistent with the description in the manual. The computation of the B-field in periodic cells has been corrected.

Optimisation section

The FORCES instruction has been further improved. It now computes the profile of a wire, taking the dependence of the forces on the wire displacement, and also the gravitational force, into account. In addition, the instruction can now deal with certain types of collective wire movement. The format of this statement has changed, consult the help file for information.

Field section

A type mismatch in the MULTIPOLE command has been corrected. The command now also prints the 0th order term.

Plotting of the distortion of the magnetic field due to the difference in susceptibility of the wire material and the gas used to be disabled by mistake, this has been corrected now.

An option, KEEP-RESULTS, has been added to the CHECK command to save the surface field in a matrix.

Gas section

Improved estimate of the end-point for the integration of the electron energy distribution functions when using Magboltz. A further overflow protection has been introduced in the calculation of the transverse diffusion coefficients.

The warning on non-convergence issued by the routines that compute the transverse and longitudinal diffusion in Magboltz is now only printed if debugging has been requested. The non-convergence is genuine, but the back-up method to calculate these quantities seems to function satisfactorily.

Correction in the gas table plotting routine to handle cases correctly where both the Townsend and the attachment coefficient are uniformly zero.

Drift section

The SINGLE command didn't return the attachment coefficients correctly. The command has been fixed.

The ARRIVAL instruction now accepts an option KEEP-RESULTS to save the x(t) relation as a set of matrices.

Signal section

The number of sampling points in the signals can be chosen by the user via the RESOLUTION keyword.

Graphics

Cell layouts can now also be plotted on a logarithmic scale and the PLOT_TEXT and PLOT_AREA procedures now respect logarithmic scaling.

Formulae and calls

Various procedures have been added: Some procedures have been modified, for instance PLOT_LINE now accepts an option SMOOTH to plot a smooth line through a set of points.

Datasets, Input and Output

To access the on-line help file from computers on AFS, one no longer needs to have the garfield.packlib soft link.

On Unix systems, the shell used for executing Unix commands is now by default set to the shell from which Garfield was started. A shell can also be selected explicitely by the user using the SHELL command. The best place to put this command is probably .garfinit.

Global options

No changes.

Compilation

No changes.

Documentation

Users are reminded that the on-line help is more detailed than the manual. The Garfield manual, both in HTML and in PostScript format, as well as a set of examples can be found on WWW.

Garfield version 6.05 / Rob Veenhof, CEA Saclay (CNL 226)

The forthcoming release, version 6.05, has a major new feature: an interface with the Heed program written by Igor Smirnov, PNPI St Petersburg. This program simulates the ionisation of gas molecules when a charged particle traverses the chamber. The addition of this interface has implications for the format of many commands in various sections.

Cell section

Wires were plotted at incorrect positions when polar coordinates were used, this has now been fixed.

Magnetic field section

No changes

Optimisation section

A mistake has been found in the electrostatic force calculation routines for potential types B2X and B2Y: the mirror charge of the wire on which the force is calculated, was not taken into account (Almut Tadsen). The mistake, which has been corrected, had no incidence on field calculations.

The forces acting in chambers with a tube were sofar not available. They have now been added.

Field section

No changes

Gas section

To take advantage of the Heed interface, you have to initialise the ionisation properties of the gas mixture. This is achieved via a new command called HEED.

An option has been added to the MAGBOLTZ command to request plots of the energy distribution functions F0, F1, F2, F3.

The transverse diffusion as returned by Magboltz is, in some cases, 20 % lower then in previous releases. This is the result of a modification in the interface, recommended by the author of Magboltz.

The Lorentz angle as computed in the absence of Magboltz generated data had a wrong sign for the 'E' times 'B' term. This has been corrected.

Drift section

A routine has been added that performs Monte-Carlo style integration of drift lines, taking diffusion into account on a step by step basis.

Various instructions in this section have a modified format with a view to the Heed interface and to Monte Carlo drift line integration. In particular, the behaviour of the DRIFT TRACK command has changed.

In a couple of commands, the conversion of internal to polar coordinates has been cleaned up - although the absence of some conversions was inconvenient, results such as drift times, diffusion etc are not believed to have been incorrect.

Signal section

The drift lines used for signal computation can now optionally be computed with the Monte Carlo integration routine.

The buffer for intermediate results now uses an algorithm to re-use entries that were little used or used long ago. This buffer is not directly accessible to the user, error messages related to buffer overflow appeared. It might be appropriate to recall that, at compile time, 2 versions of this buffer are offered: one optimised for hardware that has a lot of memory, and one for hardware with a large cache.

The assignment of electron induced signals to the classes "direct" and "cross induced" has been slightly modified in view of the optional Monte Carlo integration.

Graphics

Better treatment of the case of no terminal graphics output when using the HIGZ interface.

Histograms, Matrices, Formulae and Calls

A couple of new procedures have been added: PLOT_CELL, PLOT_DRIFT_LINE. Also the Monte Carlo drift line calculation routines as well as the Heed cluster generation routines can be accessed via calls.

Plotting of histograms with a total weight equal to zero gave a divide by zero, this has been corrected. Filling of auto-range histograms with weighted entries has been improved.

When iterating and leaving a loop from within a conditional block, the IF context was sometimes incorrectly restored, giving rise to an addressing error, this has been corrected.

The interpretation of A-B-C (and similar for divisions and exponentiations) has been brought in line with what is usual in Fortran, namely A-(B+C) rather than A-(B-C).

Datasets, Input and Output

No changes

Global options

No changes.

Compilation

The compilation procedures have been changed as a result of the addition of the Heed interface.

Documentation

Currently, the most accurate description of the program can be found in the on-line help, the printed manual is not available at the moment, for lack of SGML at CERN. A set of examples can be found on WWW.

HEED version 1.01, detailed simulation of the initial ionization in gases / I. B. Smirnov, PNPI, Russia

The program HEED simulates the initial ionization produced by fast charged particles in gases. It is designed for the simulation of drift and proportional chambers. It is based on the PAI model and simulates also a series of secondary processes. The program simulates the primary interactions of the incident fast charged particle with electrons of the material, and the energy dissipation that results in the creation of conduction electrons. Energy dissipation can take place through deceleration of delta-electrons, through absorption of fluorescence photons and so on.

However, the program does not simulate the drift of conduction electrons to cathodes. The program can be run as a stand-alone batch program, and it is connected to Garfield, a drift-chamber simulation program.

The program is written on Fortran-77.


Garfield version 6.11 / Rob Veenhof, IPN Orsay (CNL 227)

Cell section

Addition of an interface to read field maps generated by finite element electrostatics programs such as Maxwell. This in particular enables one to use Garfield in applications with dielectrics. Interfaces to files generated by other programs than Maxwell can be added.

Magnetic field section

No changes

Optimisation section

No changes.

Field section

No changes.

Gas section

As recommended by the author of Magboltz, Steve Biagi, the default set of cross sections for 'CO' sub 2 used by MAGBOLTZ has been changed from those derived by Phelps and Bulos to those calculated by Nakamura, slightly modified in the low energy region. The Phelps and Bulos cross sections are still available as CO2-OLD while the unmodified Nakamura cross sections are known as CO2-NAKAMURA. The agreement with the Zhao et al. data [NIM A340 (1994) 485] has significantly improved with this modification.

Drift section

The TIMING instruction has been revised in the light of Heed generated tracks and Monte Carlo drift line integration.

Signal section

Users are reminded that it is important to select a clustering model with the TRACK statement prior to a signal calculation. The default clustering model (a fixed number of clusters at regular intervals) is not suitable for signal calculations.

Graphics

The numerical parameters used to compute contours can be modified with the command !CONTOUR-PARAMETERS. This is useful when plotting unusually twisted contours and when plotting contours in a very small area.

The labels on the contours used to be placed in too small gaps when HIGZ was used as graphics systems. This has been fixed.

Histograms, Matrices, Formulae and Calls

No changes.

Datasets, Input and Output

No changes.

Global options

A command line option -noprofile (Unix) or /NOPROFILE (Vax/VMS) has been added to disable reading a .garfinit or GARFINIT.DAT file.

Compilation

As a result of the change in the command line options, the CLD file on Vax/VMS has changed and need to be recompiled.

Documentation

Currently, the most accurate description of the program can be found in the on-line help, the printed manual is not available at the moment, for lack of SGML at CERN. A set of examples can be found on WWW.

Garfield version 6.19 / Rob Veenhof, IPN Orsay and NIKHEF (CNL 229)

The main new feature of this version is the extension of the interface with the Maxwell finite element program, both for 2-dimensional and for 3-dimensional configurations.

Cell section

An interface for Maxwell 3D files has been added, and the interface for 2D files extended to include also the fields needed to compute signals on conductors present in Maxwell models. The very fruitful collaboration with Salvador Iranzo is gratefully acknowledged.

Magnetic field section

No changes.

Optimisation section

A background field and potential, expressed in analytic form, can be added now with the BACKGROUND-FIELD command.

Field section

The axis labeling for PLOT SURFACE in HIGZ compilations has been corrected (the x and y axis labels were interchanged).

A command, VIEWING-PLANE, has been added for making plots of 2D cuts through 3D field maps,

Gas section

The cross section parametrisations for Argon in Magboltz has been replaced. The new cross sections are in better agreement with the Townsend data of Abdullah et al. and of Davies and Milnee. The transport properties at low and moderate fields do not change significantly.

An instruction, called ADD, has been added which enables one to add/replace elements to/of the gas tables.

Comparison of Magboltz calculations and measurements has shown that the diffusions estimates returned sofar by the interface, are less accurate than other estimates available in Magboltz. After consultation with the Steve Biagi, the default set of diffusion coefficients has been modified - the old set can still be obtained via options described in the help file. The transverse diffusion is particularly affected by this modification.

We have also observed that the Townsend coefficients computed with the ITERATE-ALPHA and SWITCH options, although in principle more accurate, agree substantially less well with the data for several gasses than those computed with the NOITERATE-ALPHA option.

The AXES command has been extended and has been renamed PLOT-OPTIONS.

Drift section

Options have been added to the CLUSTERING-HISTOGRAMS command to enable user control of the histogram binning.

Signal section

Routines have been added to compute signals in polygonal tubes.

A numerical inaccuracy has been corrected in cells with 4 equipotential planes. Signals were accurate close to the wires, but inaccurate close to the planes.

Signals can now be computed on conductors for which a weighting field has been entered via the FIELD-MAP command in the cell section.

The units of signals written out to a dataset are now under user control.

Graphics

Vector plots are now drawn with true vectors rather than line elements. The top angle of the vectors can be modified with the ARROW-TOP-ANGLE graphics command. graphics command.

Tickmarks were absent in the first decade of log scaled axes. This has been corrected now.

Two new models of markers have been added: TRIANGLE and HEXAGON, the triangles can have 4 orientations.

Histograms, Matrices, Formulae and Calls

Along with the total number of arithmetic errors, details of their nature are now printed. An option IGNORE-UNDERFLOW has been added to the algebra subsection to set exponential underflows equal to zero, without further warnings.

The argument list of procedure GET_CLUSTER has been modified to include the energy deposited in the cluster.

A mistake in the return arguments of FIT_FUNCTION has been corrected - the correct results were displayed, but they were not stored in the proper global variables.

Procedures have been added for the conversion between matrices and histograms, MATRIX_TO_HISTOGRAM and HISTOGRAM_TO_MATRIX.

A new procedure AVALANCHE has been added. This procedure is an extension of the Monte Carlo drift line integration procedures in that it traces secondary electrons and ions. Transverse and longitudinal diffusion, as well as attachment are taken into account. Inclusion of space charge effects is envisaged.

Datasets, Input and Output

Most WRITE instructions now check whether the dataset to be written to, already contains a member of the same type and with the same name. A set of global options has been added to control the action to be taken if such a member exists.

Global options

See datasets.

Compilation

No changes.

Documentation

Currently, the most accurate description of the program can be found in the on-line help, the printed manual is not available at the moment, for lack of SGML at CERN. A set of examples can be found on WWW.

Garfield version 6.21 / Rob Veenhof, NIKHEF (CNL 231)

Cell section

A new command, SOLIDS has been added which can be used to define the 3-dimensional objects present in the chamber in case the field is derived from a field map. Entering these objects is not mandatory, but is helpful when studying collection efficiencies, computing calibration curves and signals. Some commands like RESET have been modified in line with the addition of the SOLIDS command. It is hoped that this information can in the future be derived from files produced by the finite element programs.

Magnetic field section

No changes.

Optimisation section

Field maps can now also be used for the background field.

Field section

As part of the on-going extension to three dimensional structures, a new scheme has been introduced for selecting the visualisation of the chamber. Apart from the traditional x-y view, it is now possible to produce plots for cut planes and three dimensional impressions of the chamber. The main command affected is AREA which now accepts a considerably extended argument list.

Gas section

Ion diffusion coefficients have been added - they can be set with the PARAMETERS statement and are taken into account when performing Monte Carlo drift line integration for ions. The diffusion coefficients are for the time being assumed not to depend on the field, this limitation can be lifted if needed.

The TEMPERATURE and PRESSURE statements now accept a unit following the temperature and pressure. The latter, for instance, can therefore be entered in more common units like the atm or the hPa rather than in Torr.

Steve Biagi has released a Monte Carlo version of Magboltz which should have a substantially higher accuracy. An interface with this program is being written - meanwhile, interested users should contact Steve Biagi directly.

Drift section

The same extended AREA command as in the field section has been introduced here.

Signal section

No changes.

Graphics

No changes.

Histograms, Matrices, Formulae and Calls

The argument list of PLOT_TRACK and PLOT_DRIFT_LINE has been modified to match the new projection scheme.

Procedures for drifting negatively charged ions have been added.

A procedure that integrates the charge contained in a cylindrical or spherical area has been added. There is now also a procedure that computes the flux of the electric field through a parallelgram.

Intrinsic functions called MINIMUM and MAXIMUM have been added. They operate on histograms and matrices and return the minimum and the maximum number of entries or value of the argument histogram or matrix.

Datasets, Input and Output

No changes.

Global options

No changes.

Compilation

The PaRC service has taken over the production of executables at CERN. They can be accessed as /afs/cern.ch/project/parc/bin/garfield. For further information, please contact parcsp@cern.ch or Juan Manuel Guijarro.

Documentation

Currently, the most accurate description of the program can be found in the on-line help, the printed manual is not available at the moment, for lack of SGML at CERN. A set of examples can be found on WWW.

Garfield version 6.25 / Rob Veenhof, NIKHEF (CNL 232)

Cell section

The interface for Maxwell 3D files computes the dielectric constant by comparing E and D and, by default, identifies the drift region as the medium with the lowest dielectric constant. Until recently, this failed since epsilon was computed as E/D rather than D/E. This has now been corrected. Dielectric constants are now expressed as multiples of epsilon_0.

Commands have been added that perform a save and retrieve of binary field maps. These commands are called SAVE-FIELD-MAP and READ-FIELD-MAP. Binary field maps are about 10 times smaller than Maxwell field maps, and reading them is more than 10 times faster, but binary field maps are not portable between computer systems.

An interface has been added for version 4.0 of the Ansoft program "Maxwell 3D Field Simulator". This is at CERN the successor to version 1.1 of another Ansoft program, "Maxwell 3D Parameter Extractor".

Magnetic field section

No changes.

Optimisation section

Potentials for point charges near a wire, point charges near a tube wall and point charges between a wire and a tube wall have been computed by Thomas Heubrandtner and Bernhard Schnizer, Graz. Most of these potentials have been programmed and are to be introduced in versions coming up over the coming months.

Field section

Options have been added to PLOT GRAPH that give control over the vertical scale of the graph, over the number of points and over the curve to be used for making the graph.

Contours close to conductors and dielectric media were sofar not always drawn. The contour routines have been modified to considerably reduce the region over which this occurs.

Gas section

Heed initialisation data is now stored in compact format gas files, GET automatically initialises Heed.

The procedure TRANSVERSE_DIFFUSION sofar returned the longitudinal diffusion while LONGITUDINAL_DIFFUSION returned the transverse diffusion (Hervé Borel). This has been corrected.

Drift section

Runge-Kutta-Fehlberg drift line integration occasionally abandoned drift lines because of large kink angles in the (x,y) plane while the true kink, including the z-component, was much smaller. This has been corrected and drift lines should less frequently be abandoned now. Large kinks are rare in smooth fields, the most common reason for sharp bends is an attempt to cross a saddle point. Field maps generated by finite element programs however sometimes have discontinuities in the electric field between neighbouring tetrahedrons. To deal with such situations, an option CHECK-KINKS has been added which can be used to suppress the check for sharp bends.

Termination of drift lines for fields derived from a map has been improved.

Facilities are being added for drifting particles in vacuum.

Signal section

No changes.

Graphics

Use of diacritics and ligatures in HIGZ compilations has been simplified - most of them can be obtained via the SGML entity names. For instance, é becomes é.

Histograms, Matrices, Formulae and Calls

A longstanding problem, the incomplete garbage collect of temporary matrices generated when indexing matrices, should be fixed now. Moreover, indexed assignments in loops are now pre-processed rather than interpreted. This should lead to appreciable CPU time savings.

With a view to the increased use of procedures, most procedures now verify that they are called in an appropriate environment. In general this means that e.g. drift procedures should not be called before both a cell and a gas section have been completed.

The ELECTRIC_FIELD, ELECTRIC_FIELD_3 and SIGNAL_FIELD procedures now accept Matrix type arguments. The z-components of the weighting field has been added to the argument list of SIGNAL_FIELD.

Datasets, Input and Output

No changes.

Global options

No changes.

Compilation

No changes.

Documentation

Currently, the most accurate description of the program can be found in the on-line help, the printed manual is not available at the moment, for lack of SGML at CERN. A set of examples can be found on WWW.

Garfield version 6.27 / Rob Veenhof, NIKHEF (CNL 233)

The most significant new feature in Garfield version 6.27 is the calculation of signals on tubes, planes and finite element electrodes.

Cell section

The format of the PLANE, TUBE and FIELD-MAP commands has been extended in line with the modifications in signal computations.

Magnetic field section

No changes.

Optimisation section

No changes.

Field section

The PLOT VECTOR command now plots 3-vectors rather than 2-vectors. For backward compatibility, 2-vectors are still accepted (a value of 0 is assumed for the z-component).

The field plotting area is no longer reset when entering the field and optimisation sections.

Gas section

The PLOT-OPTIONS statement now gives control over the range of the vertical axis of the various graphs.

Drift section

The optimisation, drift and signal sections share a common drift area which is no longer reset when entering the drift and signal sections.

Drift lines that end in a solid are now attributed a status code of the type Hit X solid n where X stands for the label of the solid that has been hit and n for its sequence number as shown in the OPTION CELL-PRINT listing.

Isochrone plotting with drift in field maps, and in 3 dimensions, has been enabled. Only isochrones for drift lines that end on a wire or on a solid are shown. The set of options that control the appearance of isochrones has been enlarged and has been moved to the INTEGRATION-PARAMETERS command. The representation of isochrones has been renamed from DRIFT-CONTOUR to ISOCHRONES - the same change in name should be applied to your .garfinit file.

The CHECK-KINKS option has been renamed REJECT-KINKS and has been moved to the INTEGRATION-PARAMETERS command. Also the CHECK-ALL-WIRES and CHECK-ATTRACTING-WIRES options have been moved to INTEGRATION-PARAMETERS.

In order to avoid confusion, the drift velocity is now written VDX, VDY, VDZ, VD in the PLOT-FIELD command instead of VX, VY, VZ, V. The same naming convention has been adopted in the signal section.

Until now, by default a fixed number of equally spaced clusters were generated on a track. Some users have accidentally computed signals with such tracks. To prevent this, there is no default clustering model anymore. Before issuing a DRIFT TRACK command, one therefore has to specify both a track location and a clustering model. The former default can be obtained with TRACK FIXED.

Signal section

Signal calculations for planes, tubes, wires and solids has been placed on the same footing. For this purpose, all elements can be assigned a label by which the electrodes can be selected via SELECT statements. All signal related commands that used to work in the past should continue to work.

Routines have been added that perform an accurate integration of the induced charge within time windows. These routines can accessed with the PLOT-FIELD command and via a set of procedures.

The signal section now accepts the same AREA statements as the drift and field sections.

The PLOT-FIELD has been replaced by a command in line with the commands by the same name in the field and drift sections. The new command can plot 3-dimensional weighting fields, and in addition show the total charge induced by particles released from a given point and moving to an electrode. Note however that the syntax is not backward compatible.

Graphics

The three dimensional visualisation routines have largely been rewritten. They have become faster and less error-prone.

Several more SGML entities have been added with conversions to their PostScript equivalents for easier typing of formulae and French text.

Histograms, Matrices, Formulae and Calls

In line with the rationalisation of the electrode selection, numerous signal related procedures, such as GET_SIGNAL, now have a read-out group number as first argument, and no longer a wire number.

The drift line computation procedures return several new status codes: all planes and the tube have each been given their own status, and particles that hit a solid receive the status Hit an X solid where X stands for the label of the solid that has been hit. Another significant change is that the various drift procedures return the same status codes as the commands. This will unfortunately make input files fail that search for a wire label in a given position in the string.

Datasets, Input and Output

Global variable substitution is now performed also on input and output redirection commands, as well as on shell commands.

Character 13, which some mailer programs attach at the end of lines in attachments, has been added to the list of characters that are by default translated to a blank.

Compilation, batch

Thanks to Andreas Wagner, a graphical user interface for batch submission has been written in Tk/tcl. This interface can be found in the same directories as the Garfield executables under the name garfield.tcl.

Jeff Templon and Florin Cotorobai have revived the compilation of Garfield on Linux, which sofar has been taken care of by Alfred Zentek.

Documentation

The help pages and the description of the command line format have been rearranged and reformatted for better legibility. Cross references and figures as well as some background information have been added.

Garfield version 6.29 / Rob Veenhof, GSI (CNL 235)

Garfield version 6.29 is a maintenance release with enhancements in the areas of field map interfaces, of signal calculations, and of arrival time distributions for electrodes other than wires.

Cell section

An interface for Tosca generated field maps with parallelepipeds as elements has been written in collaboration with Guido Maria Urciuoli / INFN Gruppo Collegata Sanitá.

Field maps with both an axial periodicity around an axis and a translation periodicity along the same axis, can now be processed.

Elimination of the excluded parts of the background in Maxwell Field Simulator 3D field maps has been improved.

The WIRE-MARKERS option has been made available in the field, drift and signal sections.

Occasionally, plotting the materials present in field map resulted in the screen being coloured uniformly. A new attempt has been made to avoid this.

Magnetic field section

Magnetic fields computed by finite element programs can now be entered via the FIELD-MAP statement in the cell section.

Optimisation section

No changes.

Field section

No changes.

Gas section

Tracing Heed generated delta electrons in external electric and magnetic fields would occasionally stop program execution when the delta left the Heed tracking volume. This has been corrected.

Drift section

Two new clustering models have been added to the TRACK statement. They generate points along the track that are spaced according to the flux of the electric field.

The ARRIVAL-TIME-DISTRIBUTION command has been extended to deal with other electrodes than wires. The command now also operates in the y-z and z-y planes. Existing input files which use this command need to be modified.

Track interpolation has been improved, options have been added to INTEGRATION-PARAMETERS which give better control over the interpolation order and the way delta electrons are dealt with.

Drifting from the intersection between the viewing plane and selected solids has been added.

Signal section

Signal calculation in other electrodes than wires (planes, tube, solids) has been enabled. Electrons arriving on a plane, tube or solid now produce a signal that is classified as direct.

Graphics

No changes.

Histograms, Matrices, Formulae and Calls

No changes.

Datasets, Input and Output

No changes.

Compilation, batch

No changes.

Documentation

Currently, the most accurate information can be found in the help pages and the description of the command line.

Garfield version 7.02 / Rob Veenhof, GSI (CNL 2000-001)

Garfield version 7 comes with a new gas section based on an interface with Magboltz 2.

Cell section

Maxwell generated field maps with rotational symmetry around an axis, such as r-phi maps, can now be read.

Magnetic field section

The format of the COMPONENTS statement has been extended to allow for non-constant, parametrised or tabulated magnetic fields.

Optimisation section

The FORCES command plots, on request, a diagram which shows whether a wire is in stable or labile equilibrium.

The CHANGE-VOLTAGES command now also works for planes and for the tube.

Field section

No changes.

Gas section

Garfield version 7 by default obtains electron transport data from Magboltz 2. An interface with the earlier version, Magboltz 1, has been kept. These 2 programs solve the same transport equations, but use different methods. Magboltz 2 is more stable numerically, and is reported to reach much higher accuracy especially for diffusion and deflection in a magnetic field.

Garfield tries to take maximum advantage of Magboltz 2 by copying the full diffusion matrix, with correlation coefficients, and in a magnetic field, all 3 components of the drift velocity.

As a consequence of the increased amount of gas data extracted from Magboltz, compact format gas datasets generated with Garfield version 6 can not be read with version 7.

Drift section

In collaboration with Peter Cwetanski and Ulrich Moosbrugger, considerable progress has been made in the understanding of avalanche statistics on small scales. This has on the one hand resulted in the PROJECTED-PATH integration parameter, which to a large extent eliminates the dependence of the avalanche size on the Monte Carlo step size. On the other hand, a new procedure RND_MULTIPLICATION has been written which simulates the avalanche fluctuation over a fixed path, taking attachment and multiplication into account.

Signal section

Multiple weighting field maps computed by finite element programs are now accepted. This should simplify the computation of response functions of cathodes segmented in strips and pads.

Graphics

A limited amount of user control of the layout of Cartesian plots is provided through the LAYOUT graphics command.

Environment variables are now expanded in metafile names.

Histograms, Matrices, Formulae and Calls

As usual, many procedures have been added. Of particular importance are a the RND_MULTIPLICATION mentioned before, and random number generators according to functions and histograms (RND_FUNCTION and RND_HISTOGRAM). The function random number generator is based on the FUNLUX routine from the CERN program library.

Garbage collect for matrix assignments in loops has been improved.

Datasets, Input and Output

No changes.

Compilation, batch

No changes.

Documentation

Currently, the most accurate information can be found in the help pages and the description of the command line.

Magboltz 2 / Stephen Biagi, Department of physics, University of Liverpool

The program Magboltz has been updated and improved considerably by using the Monte Carlo integration technique. The details of the solution technique are described and referenced in Nucl. Instr. and Meth. A421 (1999) 234-240.

The Monte Carlo technique allows the solution of the transport equations to be independent of the series expansions in Legendre Polynomials or Spherical Harmonics required by analytic solutions of the Boltzmann equations. The technique lends itself easily to use by non-experts since the only inputs now required are the electric and magnetic fields, the angle between the fields, the temperature and pressure and the fractional composition of the gasses. The program now has the option of calculating its own electron energy integration range, this option is enabled if the energy integration range is set to 0.0.

Intermediate output at six equally spaced integration intervals allows the accuracy of the solution to be monitored. An accuracy of better than 1 % for the drift velocity and 2 % on the diffusion coefficients can usually be guaranteed for a number of collisions given by the setting the input parameter NMAX = 10. It is possible however in very weakly quenched noble gass mixtures with less than 5 % molecular quencher that the solution will require a higher value of NMAX.

In pure noble gasses at low electric fields below the ionisation region where only elastic collisions occur it is recommended that the Magboltz 1 is used. The analytic solution, Magboltz 1, in the elastic limit is an exact solution and the computation time is reduced in this case.

Experience with the new program shows that the accuracy with magnetic fields is much improved this is primarily because the solution is more accurate than the Legendre expansion technique and is equivalent to the Spherical Harmonics expansion solution of Ness and Robson, see e.g. Phys. Rev. 47 E (1993) 327. A typical accuracy equal to measurement accuracy of about 1° can now be obtained for very large Lorentz angles (see first reference).

The program is available as a Fortran listing and includes some comments and instructions in the listing. The external requirements are only an efficient real*8 random number generator. The RNDM2 generator fom the CERN library is used in the program. The typical execution time on an DEC Alpha is about 10 seconds for a better than 1 % calculation accuracy. There is an extensive list of about 30 gasses covered by the program and mixtures of up to any four of them can be simulated.

The author can be contacted at stephen.biagi@hotmail.co.uk for further information.


Garfield version 7.03 / Rob Veenhof, GSI and CERN (CNL 2000-003)

Version 7.03 is a maintenance release.

Cell section

No changes.

Magnetic field section

No changes.

Optimisation section

No changes.

Field section

No changes.

Gas section

An error in the Heed interface has been corrected which led to the loss of one cluster per track if the DELTA-ELECTRONS option was switched off (the option is by default switched on).

Drift section

No changes.

Signal section

No changes.

Graphics

No changes.

Histograms, Matrices, Formulae and Calls

No changes.

Datasets, Input and Output

Two predefined global variables, INPUT and OUTPUT have been added which contain the names of the current input and output files.

Compilation, batch

No changes.

Documentation

Currently, the most accurate information can be found in the help pages and the description of the command line.
Last updated on 21/9/00. The help file currently provides the most up to date information on Garfield. A set of examples should help when getting started. All source files are available via WWW.