C
C======================================================================= C C INCLUDE 'rp3d.inc' C C---------------------------------------------------------------------- C C Date: 2000, January 27 C Coded by Petr Bulant C C---------------------------------------------------------------------- C Common block /BOURA/: INTEGER MBR PARAMETER (MBR=5000) INTEGER NBR,KBR(MBR,3) REAL GBR(MBR,2) COMMON/BOURA/NBR,KBR,GBR SAVE/BOURA/ C C MBR...Dimension of arrays KBR,GBR. C NBR........Number of rays stored in KBR. C KBR...Array of boundary rays lying on the sides of basic triangles C and used only once. If a new triangle is to be divided, C boundary rays are used from KBR. C KBR(J+1,1)...Index of first vertex of the basic triangle. C KBR(J+2,1)...Index of second vertex of the basic triangle. C KBR(J+3,1)...Number of rays, lying on the side formed by C these two rays. C KBR(I,1)...Array of indices of boundary rays. C (I=J+4...J+3+KBR(J+3,1)) C KBR(I,2)...Array of sheets of boundary rays. C KBR(I,3)...Array of types of boundary rays. C GBR(I,1)...Array of normalized ray parameters G1 of boundary rays. C GBR(I,2)...Array of normalized ray parameters G2 of boundary rays. C---------------------------------------------------------------------- C Common block /AUX/: INTEGER MARAY,NARAY PARAMETER (MARAY=20000) INTEGER KARAY(MARAY) COMMON/AUX/KARAY,NARAY SAVE/AUX/ C---------------------------------------------------------------------- C Common block /POLY/: INTEGER MPL PARAMETER (MPL=800) INTEGER NPL,KPL(MPL) COMMON /POLY/NPL,KPL SAVE/POLY/ C MPL ... Maximum dimension of KPL. C NPL ... Number of points of polyline boundary of the region C covered by the basic triangles. C KPL ... Indices of rays forming the polyline. C---------------------------------------------------------------------- C Common block /RAY/: INTEGER MRAY PARAMETER (MRAY=50000) INTEGER NRAY,KRAY(MRAY),ITRAY(MRAY),ISRAY(MRAY) REAL G1RAY(MRAY),G2RAY(MRAY) REAL X1RAY(MRAY),X2RAY(MRAY) REAL G11RAY(MRAY),G12RAY(MRAY),G22RAY(MRAY) REAL S11RAY(MRAY),S12RAY(MRAY),S22RAY(MRAY) REAL G1X1RA(MRAY),G1X2RA(MRAY),G2X1RA(MRAY),G2X2RA(MRAY) COMMON/RAY/NRAY,KRAY,ITRAY,ISRAY,G1RAY,G2RAY,G11RAY,G12RAY, * G22RAY,S11RAY,S12RAY,S22RAY,X1RAY,X2RAY, * G1X1RA,G1X2RA,G2X1RA,G2X2RA SAVE/RAY/ C MRAY... Maximum number of rays in memory (dimension of arrays C KRAY,ITRAY,ISRAY,G1RAY,G2RAY,...) C NRAY... Number of rays in memory - the last ray is the newest one. C NRAY=0 when starting the computation of a new wave. C KRAY... Indices of rays stored in the memory. C ITRAY...Types of rays: C 0:.............. Basic ray. C ITRAY(I).GT.0:.. Boundary ray, ITRAY(I) is the index C of the boundary ray at the other side C of the boundary. C -2:............. Auxiliary ray,not used. C -3:............. Auxiliary ray,used. C -1000-I:........ Two-point ray (to the I'th receiver). C ISRAY.. Sheets of the wave on which the rays lie. C G1RAY,G2RAY... Normalized parameters of rays. C X1RAY,X2RAY... Coordinates of the ray on the ref. surface. C G11RAY,G12RAY,G22RAY... Ray-parameter metric tensor. C S11RAY,S12RAY,S22RAY ... Components of the ray-tube metric tensor, C describing thickness of the ray tubes. C G1X1RA,G1X2RA,G2X1RA,G2X2RA ...Derivations of ray parameters C according to surface coordinates. C---------------------------------------------------------------------- C Common block /TRIAN/: INTEGER MTRI PARAMETER (MTRI=20000) INTEGER NTRI,KTRI(6,MTRI) COMMON/TRIAN/NTRI,KTRI SAVE/TRIAN/ C MTRI... Maximum number of triangles in memory C (dimension of array KTRI). C NTRI... Number of triangles. C KTRI... List of triangles. C KTRI(1,I),KTRI(2,I),KTRI(3,I)...Indices of vertices of the C I-th triangle. C KTRI(4,I)... Index of the I-th triangle. C KTRI(5,I)... Index of the triangle containing the I-th C triangle, zero for basic triangles. C KTRI(6,I)... Type of the I-th triangle. C 0: new triangle. C 1: triangle being processed. C 2: divided triangle. C 3: homogeneous triangle. C 4: triangle with all two-point rays determined. C---------------------------------------------------------------------- C Common block /GLIM/: REAL GLIMIT(4) COMMON/GLIM/GLIMIT SAVE/GLIM/ C GLIMIT ... Limits of the normalized ray domain. C---------------------------------------------------------------------- C Common block /AUXER/: INTEGER MAUAR PARAMETER (MAUAR=10000) INTEGER NAUAR,KAUAR(MAUAR) COMMON/AUXER/NAUAR,KAUAR SAVE/AUXER/ C MAUAR...Maximum number of rays in KAUAR. C NAUAR...Number of rays in KAUAR. C KAUAR...Auxiliary array used in RPERAS (indices of triangles). C---------------------------------------------------------------------- C Common block /DRAYS/: INTEGER MDRAYS PARAMETER (MDRAYS=2000) INTEGER KDRAYS(MDRAYS),NDRAYS COMMON/DRAYS/KDRAYS,NDRAYS SAVE/DRAYS/ C KDRAYS ... Array of indices of the rays, that were used to divide C the side of the homogeneous triangle right once. New C rays are first searched for in this array. C NDRAYS ... Number of the rays in array KDRAYS. C======================================================================= C