CERN homepage INFN homepage
FLUKA: 13.2.10} lattic.f (symmetry transformation for lattice geometry) Previous Index Next

13.2.10} lattic.f (symmetry transformation for lattice geometry)


 Subroutine LATTIC is activated by one or more LATTICE cards in the
 geometry input (see 8}). It is expected to transform coordinates and
 direction cosines from any lattice cell (defined by card LATTICE) to
 the reference system in which the basic structure has been described.
 The user is expected to provide a transformation of coordinates and
 vector direction cosines from each lattice cell to the corresponding
 basic structure (in ENTRY LATTIC) and of direction cosines from the
 basic structure to each corresponding lattice cell (in ENTRY LATNOR).


* LATTIC (position and direction symmetry transformation from lattice
cell to prototype structure) Argument list: XB(1), XB(2), XB(3) : actual physical position coordinates in IRLTGG lattice cell WB(1), WB(2), WB(3) : actual physical direction cosines in IRLTGG lattice cell DIST : current step length SB(1), SB(2), SB(3) : transformed coordinates in prototype cell UB(1), UB(2), UB(3) : transformed cosines in prototype cell IR : region number in prototype cell IRLTGG : lattice cell number IRLT : array containing region indices corresponding to lattice cells IFLAG : reserved variable LATTIC returns the tracking point coordinates (SB) and direction cosines(UB) in the reference prototype geometrical structure, corresponding to real position/direction XB, WB in the actual cell IRLTGG (defined as input region IR by a LATTICE card). When the lattice option is activated, the tracking proceeds in two different systems: the "real" one, and that of the basic symmetry unit. Particle positions and directions are swapped from their real values to their symmetric ones in the basic cell, to perform the physical transport in the regions and materials that form the prototype geometrical structure and back again to the real world. The correspondence between "real" and "basic" position/direction depends on the symmetry transformation and on the lattice cell number.
* LATNOR (LATtice cell NORmal transformation from prototype structure to
lattice cell) Argument list: UN(1), UN(2), UN(3) : direction cosines of the vector normal to the surface, in the prototype cell (entry values) and in the lattice cell (returned values) IRLTNO : present lattice cell number Entry LATNOR transforms the direction cosines stored in the vector UN(3) from the system of the basic prototype unit to that of the real world in lattice cell number IRLTNO. Therefore, this cosine transformation must be the inverse of that performed on the cosines by the LATTIC entry: but while LATTIC maps vector UB to a different vector WB, LATNOR maps the UN vector to itself. Note that if the transformation implies a rotation, it is necessary to save first the incoming UN cosines to local variables, to avoid overwriting the vector before all transformation statements are executed.
Different symmetry transformations can of course be implemented in the same LATTIC routine (each being activated by a different cell number or range of cell numbers). The advantage of the lattice geometry is to avoid describing in detail the geometry of repetitive multi-modular structures. It must be realised, however, that a penalty is generally paid in computer efficiency. Also, a region contained in the prototype cell and all those "mapped" to it inside lattice cells are treated by the program as if they were connected with "non-overlapping ORs" into a single region. Therefore, any region-based scoring (options SCORE, USRTRACK, etc.) can only provide quantities averaged over the whole structure. More detailed information must be obtained by region-independent options such as USRBIN or by user-written routines (MGDRAW). The USRBIN and EVENTBIN options, with
= 8, can also be used to request a special binning type which activates the MUSRBR, LUSRBL, FUSRBV user routines to recover lattice information (see routine musrbr.f below) A transformation between a lattice cell and a prototype region can alternatively be defined without resorting to the LATTIC user routine. In this case, the transformation is defined via a ROT-DEFIni card and the correspondence is established by giving the transformation index in the
of the LATTICE card (see Chap. 8}).

Previous Index Next