Optimisation of potential settings
Command | Short description |
---|---|
DISPLAY |
Displays potential settings |
FACTOR |
Factorises the potential |
FORCES |
Computes the forces on the wires |
PRINT-CELL |
Prints the cell data |
RESTORE |
Restores the original settings after a SET |
SAVE |
Saves the potential settings |
SET |
Optimises potential settings |
Modification of the cell structure:
Command | Short description |
---|---|
ADD |
Adds elements to the cell |
CHANGE-VOLTAGES |
Modifies the wire, plane and tube potentials |
DELETE |
Deletes elements from the cell |
Three dimensional charges:
Command | Short description |
---|---|
CHARGES |
Adds three dimensional charges to the cell |
DELETE-CHARGES |
Removes three dimensional charges from the cell |
LIST-CHARGES |
Lists the three dimensional charges |
Adding a background field:
Command | Short description |
---|---|
BACKGROUND-FIELD |
Adds a background field to the cell |
DELETE-FIELD-MAP |
Deletes a background field map |
DELETE-BACKGROUND-FIELD |
Removes the background field |
FIELD-MAP |
Reads a field map for use as background field |
READ-FIELD-MAP |
Reads a binary field map as background field |
SAVE-FIELD-MAP |
Saves a background field map in binary format |
Editing and inspecting the gas tables:
Command | Short description |
---|---|
LIST-EXCITATIONS |
List excitation and ionisation levels |
PENNING-TRANSFERS |
Enables and disables Penning transfers |
PLOT-GAS |
Makes the gas plots |
PRINT-GAS |
Prints the gas tables |
General purpose instructions:
Command | Short description |
---|---|
AREA |
Changes the part of the cell that is considered |
DRIFT-AREA |
Sets the part of the cell where electrons drift |
GRID |
Changes the grid density |
OPTIONS |
Switches options off and on |
POINTS |
Sets the number of points on the track |
SELECT |
Selects active wires |
TRACK |
Sets the track |
The coordinate system can not be changed by this instruction. This can only be done in the cell section.
The symbolic variables from the cell section as entered with the DEFINE command can not be used.
After each ADD instruction, the cell is checked, a new cell type is determined and the capacitance matrix is calculated. If you have several elements to add, it is advisable to group them in a single instruction. If you only wish to modify a wire voltage, use CHANGE-VOLTAGES instead.
An ADD statement causes the loss of the current electrode selection established with a SELECT statement.
Format:
ADD [PERIODICITY {X|Y|PHI} length] ... [PLANE {X|Y|R|PHI} coordinate ... [VOLTAGE voltage]] ... [LABEL label] [WIRE LABEL label ... AT position ... [VOLTAGE voltage] ... [DIAMETER diameter]] ... [TENSION tension]] ... [LENGTH length]] ... [DENSITY density]]
Additional information on:
Please note that the AREA affected by this instruction is not the area in which electrons and ions are allowed to drift. The latter area, which is relevant when optimising the drift time, is set with the DRIFT-AREA command.
Format:
See the AREA command in the field section.
The background field is not checked for consistency between the field and potential, nor for compatibility with the boundary conditions. Such checks can be done in the field section using the CHECK instruction.
You have to supply at least 3 formulae: potential, x- component and y-component of the electric field. You may in addition supply the z-component of the electric field. The latter defaults to 0.
If the background field is to be derived from a field map, then the FIELD-MAP statement should precede the BACKGROUND-FIELD statement. The background field map is kept across optimisation and cell sections, as long as the storage occupied by this field is not claimed by a main field map in the cell section. It is therefore not necessary to read a field map again to modify the dependence of the background field map on the field map.
Since the background field map and the main field map occupy the same storage area, you can not apply a field map derived background field to a main field that is also supplied as a field map.
Format:
BACKGROUND-FIELD ... VOLTAGE formula EX formula EY formula [EZ formula]
Example:
background-field voltage= cos(2*x)*sin(2*y) ... ex= 2*sin(2*x)*sin(2*y) ... ey= -2*cos(2*x)*cos(2*y)
Additional information on:
This instruction does not recompute the capacitance matrix if the matrix is still in memory, and is therefore considerably faster than ADD for large cells. You must however use the latter if you need to modify other parameters than the potential, such as the location of a wire or a plane, the radius of the tube or the diameter of a wire.
Format:
CHANGE-VOLTAGES {WIRE wire | PLANE plane | TUBE} VOLTAGE voltage ...
Example:
ch-v w 1 v 1000 w 2 v 3000
Changes the voltage on wire\ 1 to 1000\ V and on wire\ 2 to 3000\ V.
Additional information on:
Adds three dimensional point charges to the cell. These charges are not taken into account for the charge calculation on the wires, they therefore should be seen as, temporary, space charges.
Format:
CHARGES x y z q x y z q ... (blank line)
Example:
charges 0 0 0 100 1 1 1 200
Places one space charge at (0,0,0) and one at (1,1,1). The first has a charge of 100 and the second a charge of 200.
Additional information on:
Format:
DELETE-BACKGROUND-FIELD
Example:
del-backgr
Format:
DELETE-CHARGES
Example:
DELETE-CHARGES
Format:
DELETE-FIELD-MAP
Example:
DELETE-FIELD-MAP
Format:
DISPLAY
Please note that this command does not define the plane over which optimisation is carried out. To change this plane, use AREA.
Format:
See the AREA command in the field section.
Format:
FACTOR [GRID | WIRE | TRACK] ... [NOGROUP | GROUP]
Example:
factor
(All defaults, GRID and NOGROUP, are accepted.)
When computing a background field due to additional charges, all conductors in the chamber should be set to 0\ V. This ensures that the boundary conditions are respected when the basic field and the background field are superimposed.
Background fields usually need scaling since one wishes to study the perturbations as function of the amount of charge. This scaling is performed by the BACKGROUND-FIELD command. The field in the chamber is not modified until this command has been executed.
When computing signals, you identify each of the weighting fields that you have entered by their label to the SELECT command. Weighting fields have a fixed normalisation and the BACKGROUND-FIELD command should therefore not be used for weighting fields.
Also the cell section has a FIELD-MAP command. The field maps entered in the cell section serve as main field, i.e. the field map replaces the field due to wires and planes, while the field maps entered in the optimisation section are used for the computation of the background field. The two field maps share the same storage and can therefore not be used at the same time.
Format:
See the FIELD-MAP command in the cell section.
Example:
See the attached weighting_field example.
Additional information on:
To obtain meaningful results, one should take care to supply, using the ROWS statement of the cell section, the wire length and the wire tension. If one is interested in the gravitational sag, then one should also enter the density of the wire material and the chamber orientation with the GRAVITY.
The wires on which this instruction operates are those selected by the SELECT instruction. These wires do not necessarily have to be located within the current AREA. When one uses the ITERATE option to study collective wire motion, then it is crucial to select all wires that are likely to move.
This instruction offer 2 levels of accuracy, called DETAILED and FAST.
All wires are restored to their nominal location once the calculations have been completed. To study the effect that sag has on the gain, one should displace the wires in the cell section.
Format:
FORCES [PRINT-SAG | NOPRINT-SAG] ... [PLOT-SAG | NOPLOT-SAG] ... [NOKEEP-SAG | KEEP-SAG] ...[PRINT-FORCES | NOPRINT-FORCES] ... [PLOT-FORCES | NOPLOT-FORCES] ... [NOKEEP-FORCES | KEEP-FORCES] ...
[DETAILED | FAST] ... [SCANNING-GRID nx ny] ... [SCANNING-AREA {LARGEST | FIRST-ORDER | ... FIRST-ORDER-ENLARGED-BY fact | ... xmin ymin xmax ymax}] ... [SHOTS nshot] ... [STEPS-PER-SHOT nstep] ... [INTERPOLATION-ORDER order] ... [NOEXTRAPOLATE | EXTRAPOLATE] ...
[ITERATE [n_iter] | NOITERATE] ... [TOLERANCE tolerance] ... [UPDATE-SCALING-FACTOR factor] ... [OFFSET wire x_offset y_offset] ...
[ELECTROSTATICS | NOELECTROSTATICS] ... [GRAVITY | NOGRAVITY]
Example:
select s forces detailed keep-sag
The forces acting on the S wires will be calculated in detail and the sag profiles will be stored in global variables.
Note:
This computation benefits greatly from vector processors and matrix algebra libraries tuned to the hardware (e.g. ESSL).
Additional information on:
The grid is common to all sections.
Format:
GRID number_of_steps_in_x [number_of_steps_in_y]
Example:
GRID 5
Additional information on:
Format:
LIST-CHARGES
Example:
LIST-CHARGES
The same list is shown when issues a PENNING-TRANSFERS command without arguments.
The Magboltz program contains, as part of its cross section catalogue, excitation and dissociative-excitation cross sections. Using these, the program computes for each electric field, and if applicable, also each magnetic field and (E,B) angle, the rates at which excited molecules are produced.
Some of these excited molecules can transfer their excess energy to other molecules, which become ionised as a result. This energy transfer is known as Penning effect. It leads to a, sometimes massive, increase of the gain.
The excited and ionised states are listed if no arguments are given, see LIST-EXCITATIONS.
This command requires the presence of excitation and ionisation rates in the gas tables. These can currently only be entered by running Magboltz version\ 7, called from Garfield version\ 7.22 or later.
Format:
PENNING-TRANSFERS state1 rate1 [PERMITTED | FORCED] [DELAY delay ] [RANGE range]... state2 rate2 [PERMITTED | FORCED] ...
Example: Let 50\ % of all excited neon states that have an energy above the ionisation energy of the admixture, cause ionisations
penning Ne* 50
Additional information on:
These plots are the same as those made in response to the GAS-PLOT option in the &GAS section.
This table is the same as the one made in response to the GAS-PRINT option in the &GAS section.
Contrary to most other commands which take the number of sampling points from the TRACK command, SET uses the number set with POINTS.
This number is used nowhere else.
Format:
POINTS points_on_track
Example:
POINTS 50
[Default: 20]
Format:
PRINT-CELL
Example:
PRINT-CELL
Format:
RESTORE [reference_number]
Example:
save (program replies with the reference number 5; next you try:) set V to average on grid display (You notice you don't like the new settings and therefore\ ...) restore 5
Format:
SAVE
In this section, the FORCES instruction will try to compute displacements for the wires that have been selected and the SET instruction will vary the voltages on such wires. Selection of other electrodes than wires has no effect.
Format:
See the SELECT command in the field section.
Example:
SEL (1 S) 2 F
(Put wire 1 together with all S wires in one group, make wire 2 a group of its own and do the same for each of the F wires.)
Only the potentials on the electrodes that have been subject to a SELECT will be touched during the process. Electrodes that are put together in a group, are shifted collectively.
The field and target functions are compared either over
The command is used e.g. to adjust the voltages on the anode wires such that the field in their proximity has a given value. One can also use SET to adjust the potentials on a drift electrode in a TPC to get the proper drift field. Another application could be improving the drift isochrony from a track.
The method used is that of repeated Householder steps minimising (in the Euclidean norm) the difference between the target and field function. Several conditions can cause the iteration to be stopped:
Format:
SET field_function ... TO {AVERAGE | target_function} ... [WEIGHT weight_function] ... [ON {TRACK | GRID | WIRES}] ... [DISTANCE distance] ... [EPSILON \ε] ... [ITERATE-LIMIT iterlim] ... [PRINT | NOPRINT]
Examples:
&CELL plane y=0 v=0 label=p plane y=2 v=-250 label=q rows s 1 0.0020 0 0.4 1400 f 1 0.0125 0.2 0.4 0 c 4 0.0067 0.1*i 0.8 0 g 2 0.0067 0.2*i 1.4 -67periodicity x=0.4
&OPTIMISE track -0.2 1.9 0.2 1.9 select q set e on track to 125
&FIELD track 0.05 0 0.05 2 plot-field graph e range 100 150
This is a TPC read-out cell similar to the one used by Aleph. It would not be practical to model the chamber with the membrane at its true location, i.e. several metres from the cell. It is therefore replaced by a plane at 2\ cm and we use to SET command to choose the voltage on this plane such that the drift field is 125\ V/cm. The graph verifies that the field has indeed reached the desired setting and that the plane is sufficiently far away from the cell to achieve a constant field.
Additional information on:
The TRACK command is shared between all sections and has therefore a rich format. In this section, only the geometrical aspects are used. Particle types and clustering models need not be specified.
Format:
See the TRACK command in the drift section.
Example:
TRACK 1 1 2 2
Formatted on 21/01/18 at 16:55.