Quick launch:
Last version:
News:
FLUKA 2023.3.0 is available. Flair-2.3-0dpy3 bug fixes |
[ <--- prev -- ] [ HOME ] [ -- next ---> ] ## ROT-DEFIniDefines rotations and translations to be applied to binnings and lattices
WHAT(1) : assigns a transformation index and the corresponding rotation axis =< 0.0 : the card is ignored if SDUM is empty, otherwise SDUM is kept as the rotation name, and the first free rotation number is used > 1000 : interpreted as j + i * 1000 > 100 and < 1000 : interpreted as i + j * 100 (note the inversion of i and j!) > 0 and =< 100 : interpreted as i, and j assumed to be = 0 where i = index of the rotation j = 1 rotation with respect to x axis = 2 rotation with respect to y axis = 0 or 3 rotation with respect to z axis (see Note 4) Default = 0.0 (no transformation defined) WHAT(2) = Polar angle of the rotation (Theta, 0...180 degrees) Default = no default WHAT(3) = Azimuthal angle of the rotation (Phi, -180...180 degrees) Default = no default WHAT(4) = X_offset for the translation Default = no default WHAT(5) = Y_offset for the translation Default = no default WHAT(6) = Z_offset for the translation Default = no default SDUM : name of the transformation Default: a name will provided by the program Default (option ROT-DEFIni not given): no transformation is defined Notes: - 1) FLUKA binnings (spatial meshes independent of the problem geometry, designed to score average or event-by-event quantities) are generally defined as Cartesian structures parallel to the coordinate axes, or as cylindrical structures parallel to the z-axis. However, it is possible to define binnings with any arbitrary position and direction in space, by means of transformations described by commands ROT-DEFIni and ROTPRBIN. Command ROT-DEFIni defines rotations/translations to be applied to binnings (requested by the user by means of EVENTBIN or USRBIN). Each transformation defined by ROT-DEFIni is assigned a number WHAT(1) which can be applied to one or more binnings. The correspondence between transformation index and binning number is assigned via option ROTPRBIN.
- 2) Command ROT-DEFIni can be used also to define roto-translations to be applied to lattice cells. Command LATTICE (see description in Chap. 8, Combinatorial Geometry) sets the correspondence between transformation index and lattice cell.
- 3) Command ROT-DEFIni can be used also to define roto-translations to be applied to bodies in the geometry, as requested by the $Start_transform....$End_transform directive (see Chap. 8, Combinatorial Geometry).
- 4) The transformation matrices are: (cth = cos(Theta), sth = sin(Theta), cph = cos(Phi), sph = sin(Phi))
j = 1 : | X_new | | cth sth 0 | | 1 0 0 | | X_old+X_offset | | Y_new | = | -sth cth 0 | | 0 cph sph | | Y_old+Y_offset | | Z_new | | 0 0 1 | | 0 -sph cph | | Z_old+Z_offset | j = 2 : | X_new | | 1 0 0 | | cph 0 -sph | | X_old+X_offset | | Y_new | = | 0 cth sth | | 0 1 0 | | Y_old+Y_offset | | Z_new | | 0 -sth cth | | sph 0 cph | | Z_old+Z_offset | j = 3 : | X_new | | cth 0 -sth | | cph sph 0 | | X_old+X_offset | | Y_new | = | 0 1 0 | | -sph cph 0 | | Y_old+Y_offset | | Z_new | | sth 0 cth | | 0 0 1 | | Z_old+Z_offset | Rij = Tik Pkj | X_new | | cph cth sph cth -sth | | X_old+X_offset | | Y_new | = | -sph cph 0 | | Y_old+Y_offset | | Z_new | | cph sth sph sth cth | | Z_old+Z_offset | and the inverse R(^-1)ij = P(^-1)ik T(^-1)kj | X_old | | cph -sph 0 | | cth 0 sth | |X_new| |X_offset| | Y_old | = | sph cph 0 | | 0 1 0 | |Y_new|-|Y_offset| | Z_old | | 0 0 1 | | -sth 0 cth | |Z_new| |Z_offset| | X_old | | cph cth -sph cph sth | | X_new | | X_offset | | Y_old | = | sph cth cph sph sth | | Y_new |-| Y_offset | | Z_old | | -sth 0 cth | | Z_new | | Z_offset | For example:
(assume zero offset and [x,y,z] = old frame, [x',y',z'] = new frame)
j = 1: x' = y j = 2: x' = x j = 3: x' = -z y' = -x y' = z y' = y z' = z z' = -y z' = x Theta = 0, Phi = pi/2: j = 1: x' = x j = 2: x' = -z j = 3: x' = y y' = z y' = y y' = -x z' = -y z' = x z' = z That is, the vector which has position angles Theta and Phi with respect to the j_th axis in the original system, will become the j_th axis in the rotated system. For the special case Theta=0 this implies a rotation of Phi in the original frame. In practice it is more convenient to think about the inverse rotation, the one which takes the j_th versor into the versor with Theta and Phi - 5) Note that a transformation can be defined recursively, for example with two cards pointing to the same transformation. If Pij is the rotation corresponding to the first card and Tij the one corresponding to the second card, the overall rotation will be Rij = Tik Pkj
Example (number based): *...+....1....+....2....+....3....+....4....+....5....+....6....+....7....+....8 ROT-DEFI 201.0 0.0 90.0 -100.0 80.0 -500.0 USRBIN 11.0 201.0 70.0 30.0 0.0 1000.0tot-dose USRBIN 0.0 0.0 0.0 10.0 1.0 6.0& ROTPRBIN -1.0 1.0 0.0 1.0 1.0 1.0 * Here the transformation is applied to a cylindrical binning. * Track-lengths are scored in the binning with its axis * parallel to the x-axis of the coordinate frame: * Xmin = 100.0, Xmax = 1100.0 * Rmin = 0.0, Rmax = 30.0 * ( Y , Z ) coordinate of the binning axis = ( -80.0 , 500.0 ) The same example, name based: *...+....1....+....2....+....3....+....4....+....5....+....6....+....7....+....8 ROT-DEFI 201.0 0.0 90.0 -100.0 80.0 -500. FromZtoX USRBIN 11.0 201.0 70.0 30.0 0.0 1000.0tot-dose USRBIN 0.0 0.0 0.0 10.0 1.0 6.0& ROTPRBIN -1.0 FromZtoX 0.0 tot-dose 0.0 0.0 |

© FLUKA Team 2000–2023