INFN homepage
FLUKA: 8.2.7.1} Fixed format region input Previous Index Next

8.2.7.1} Fixed format region input

          -------------------------
 Each region is described as a combination of one or more bodies, by means
 of the three operator symbols:
                              -,   +,   OR
 referring respectively to the boolean operations of subtraction (or
 complement), intersection and union.

 Each body is referred to by its sequential number in the body description
 table (see above the description of fixed format body input).
 Input for each region extends on one or more lines, in a format which
 depends on the value of IDBG on the Geometry Title line (see above).
 If IDBG = 0, 10 or -10, region input format is (2X,A3,I5,9(A2,I5));
 if IDBG = 100 or -100, region input format is (2X,A3,I5,7(A2,I7));
  * where the 3 characters in columns 3-5 are:
    - on the first input line of a given region, an arbitrary non-blank
      string chosen by the user (it can be used, together with optional
      comment lines, to help identifying  the region or the region
      material).
      Note that regions are identified in the code by an integer number
      corresponding to the order of their input definition: therefore it
      can be useful (but not mandatory) to have that number appearing in
      the string. For instance, if the 5th region is air, it could be
      labelled AI5.
    - on all continuation lines, columns 3-5 must be blank.
  * the integer in columns 6-10 (variable NAZ) is the number of regions which
    can be entered by a particle leaving any of the bodies defined for the
    region being described (leave blank in continuation lines). The NAZ
    number is used to allocate memory for this so-called "contiguity list",
    and it is not essential that it be exact (if left blank, it is set to 5).
    Any number is accepted, but if the final sum of these integers is close to
    the actual sum, tracking speed can be slightly improved.
  * in columns 11-73, alternate as many 2-character fields ('OR' or
    blank) and integer fields (body numbers preceded by + or - sign),
    as are needed to complete the description of that region (see below
    for an explanation of symbol meaning). If one line is not sufficient,
    any number of continuation lines can be added (identified by a
    blank field in column 3-5).

 After the last region description, end with a line having the code END
 in columns 3-5.

 8.2.7.2 Meaning of the + - OR operators
         -------------------------------
 - If a body number appears in a zone description preceded by a +
   operator, it means that the zone being described is wholly contained
   inside the body (boolean intersection).
 - If a body number appears in a zone description preceded by a -
   operator, it means that the zone being described is wholly outside
   the body (boolean complement).

 Obviously, in the description of each region the symbol + must appear at
 least once. Examples:
*...+....1....+....2....+....3....+....4....+....5....+....6....+....7..
BA1 4 +7 +3
* (the above zone is the part of space common to body 7 and 3)
MU2 7 +3 -4 -7 +20
* (the above zone is the part of space common to body 3 and 20,
* excluding however that which is inside body 4 and that which is
* inside 7)
AIR 5 +19
* (the latter zone coincides entirely with body 19)
- In some instances a region may be described in terms of subregions (or "zones") lumped together. The OR operator is used as a boolean union operator in order to combine subregions (partially overlapping or not). Subregions (also called "zones" in this manual) are formed as intersections or differences as explained above, and then the region is formed by a union of these subregions. When OR operators are used there are always two or more of them, and they refer to all body numbers following them until the next OR or the end of the region description, each body being preceded by its + or - sign. Examples:
*...+....1....+....2....+....3....+....4....+....5....+....6....+....7...
SA7 11OR +4 +6 -7 -8OR +6 +3 -21
* <---- first subregion -----><- second subregion ->
G18 2OR +9OR +15OR +1OR +8 -2OR +8 -3OR +8 +18
* < 1st >< 2nd >< 3rd ><--- 4th ----><--- 5th ----><--- 6th ---->
OR +12 -10 -11 -13 -14
*< blank ><---- 7th and last subregion -----> (continuation line)
Region END card Region data must be terminated by a card with the string END in column 3-5. 8.2.7.3 Free format region input ------------------------ Each region is described as a combination of one or more bodies, by means of the three operator symbols: -, +, | referring respectively to the boolean operations of subtraction (or complement), intersection and union. Each body is referred to by its "name" (an alphanumeric string of up to 8 characters, the first character being alphabetical) in the body description table (see above the description of free format body input). Input for each region starts on a new line and extends on as many continuation lines as are needed, each line having a maximum length of 132 characters. It is of the form: REGNAME NAZ boolean zone expression or REGNAME NAZ | boolean zone expression | boolean zone expression | ... where REGNAME, NAZ and the remaining part are separated by one or more blanks. - REGNAME is the region "name" (an arbitrary unique alphanumeric character string chosen by the user). The region name must begin by an alphabetical character and must not be longer than 8 characters. - NAZ is an integer indicating (approximately) the number of regions which can be entered by a particle leaving any of the bodies appearing in the region description that follows. The NAZ number is used to allocate memory for this so-called "contiguity list", and it is not essential that it be exact. Any number is accepted, but if the final sum of these integers is close to the actual sum, tracking speed can be slightly improved. In free format input, {\tt NAZ} may not be left blank. - If NAZ is negative is enforcing the use of DNEAR (see GLOBAL card) for that specific zone, which will result in more efficient tracking in this zone. - If NAZ is positive the use of DNEAR will be decided by the code depending or not the existance of overlapping zones. - "boolean zone expression" is a sequence of one or more body names preceded by the operators + (intersection) or - (complement or subtraction). A zone expression can be contained inside one or more sets of left and right parentheses. Several zone expressions can be combined by the union operator | (corresponding to OR in fixed format input). When | operators are used there are always two or more of them, and they refer to all bodies following them until the next | or the end of the region description, each body being preceded by its + or - sign. In evaluating the expressions, the highest operator precedence is given to parentheses (the most inner ones first), followed by the | operator. In each zone expression, at least one body name preceded by + must be present. If one line is not sufficient, any number of continuation lines can be added. Blanks are ignored. Region description ends with a line containing the single string END. 8.2.7.4 Meaning of the + - | operators ------------------------------ - If a body name is preceded by a + operator in an expression describing a zone (or a zone component surrounded by parentheses) it means that the zone or zone component being described is wholly contained inside the body (boolean intersection). - If a body name is preceded by a - operator in an expression describing a zone (or a zone component surrounded by parentheses) it means that the zone or zone component being described is wholly outside the body (boolean complement). Obviously, in the description of each region the symbol + must appear at least once. The same is true for each zone (subregion delimited by | operators) and for each zone component (subzone delimited by parentheses) Examples of regions consisting of a single zone: lastlayr 4 +bigball +slab * Region "lastlayr" is the part of space common to body "bigball" and body * "slab" MidVacuu 7 +cylind2 -slit -sqrhole +Plane1 * Region "MidVacuu" is the part of space common to bodies "cylind2" and * "Plane1", excluding however that which is inside body "slit" and that which * is inside body "sqrhole" H2Osphere 5 +marble * Region "H2Osphere" coincides entirely with body "marble" Examples of regions consisting of the union of several zones, possibly (but not necessarily) partially overlapping: Corners 6 | +dice +topNorth | +dice +topEast | +dice +topSouth | +dice +topWest | +dice +botNorth | +dice +botEast | +dice +botSouth | +dice +botWest * Region "Corners" is made of the 8 corners of a cube, each of which is * obtained by the intersection of a cubic body "dice" and a tilted plane * described by vector pointing to the centre of the cube twoparts 0 | +leftpart -outerbox | +rghtpart +topplane * Region "twoparts" is the sum of two parts of space: the space points which * are inside body "leftpart" but not inside body "outerbox", plus those which * are common to bodies "rghtpart" and "topplane" Examples of a region defined as a single zone by means of parentheses: AirAroun 5 + tunnel + Column - (+outrpipe-innrpipe) * Region "AirAroun" contains the space points located inside the intersection * of body "tunnel" and body "Column", with the exception of those which are * inside body "outrpipe" but not inside body "innrpipe" CmplexRg | +longcyl + (+shortcyl +vertPla1 -vertPla2) | (+Brick | + ceeling - floor) * Region CmplexRg is the union of two zones. The first zone is the * intersection of body "longcyl" with a portion of space contained inside * both bodies "shortcyl" and "vertPla1" but not inside body "vertPla2". * The second zone is the union of the space points inside body "Brick" * and the space points contained by body "ceeling" but located outside * body "floor".

Previous Index Next