1
C @(#)long.for 19.1 (ES0-DMD) 02/25/03 13:30:46
2
C===========================================================================
3
C Copyright (C) 1995 European Southern Observatory (ESO)
5
C This program is free software; you can redistribute it and/or
6
C modify it under the terms of the GNU General Public License as
7
C published by the Free Software Foundation; either version 2 of
8
C the License, or (at your option) any later version.
10
C This program is distributed in the hope that it will be useful,
11
C but WITHOUT ANY WARRANTY; without even the implied warranty of
12
C MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13
C GNU General Public License for more details.
15
C You should have received a copy of the GNU General Public
16
C License along with this program; if not, write to the Free
17
C Software Foundation, Inc., 675 Massachusetss Ave, Cambridge,
20
C Corresponding concerning ESO-MIDAS should be addressed as follows:
21
C Internet e-mail: midas@eso.org
22
C Postal address: European Southern Observatory
23
C Data Management Division
24
C Karl-Schwarzschild-Strasse 2
25
C D 85748 Garching bei Muenchen
27
C===========================================================================
29
SUBROUTINE LONG(W1,W2,W3,W4,DR1,DR2,DR3,DR4,I,J,Z,A)
30
C ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
31
C.PURPOSE: calculates system matrix elements in the case of black corners
32
C -------------------------------------------------------------------------
34
DOUBLE PRECISION W1,W2,W3,W4
35
DOUBLE PRECISION DR1, DR2, DR3, DR4
37
DOUBLE PRECISION Z(64,10),A(21,22)
39
DOUBLE PRECISION D1, D2, D3, D4
41
D1 = (DR1+DR2+DR3+DR4)/4.0
42
D2 = (DR2+DR4-DR1-DR3)/4.0
43
D3 = (DR1+DR2-DR3-DR4)/4.0
44
D4 = (DR2+DR3-DR1-DR4)/4.0
50
A(1,2) = A(1,2) + Z(I,1)*W2
51
A(1,3) = A(1,3) + Z(J,1)*W3
52
A(1,4) = A(1,4) + Z(I,2)*W1
53
A(1,5) = A(1,5) + Z(I,1)*Z(J,1)*W4
54
A(1,6) = A(1,6) + Z(J,2)*W1
55
A(1,7) = A(1,7) + Z(I,3)*W2
56
A(1,8) = A(1,8) + Z(I,2)*Z(J,1)*W3
57
A(1,9) = A(1,9) + Z(I,1)*Z(J,2)*W2
58
A(1,10) = A(1,10) + Z(J,3)*W3
59
A(1,11) = A(1,11) + Z(I,4)*W1
60
A(1,12) = A(1,12) + Z(I,3)*Z(J,1)*W4
61
A(1,13) = A(1,13) + Z(I,2)*Z(J,2)*W1
62
A(1,14) = A(1,14) + Z(I,1)*Z(J,3)*W4
63
A(1,15) = A(1,15) + Z(J,4)*W1
64
A(1,16) = A(1,16) + Z(I,5)*W2
65
A(1,17) = A(1,17) + Z(I,4)*Z(J,1)*W3
66
A(1,18) = A(1,18) + Z(I,3)*Z(J,2)*W2
67
A(1,19) = A(1,19) + Z(I,2)*Z(J,3)*W3
68
A(1,20) = A(1,20) + Z(I,1)*Z(J,4)*W2
69
A(1,21) = A(1,21) + Z(J,5)*W3
70
A(2,16) = A(2,16) + Z(I,6)*W1
71
A(2,17) = A(2,17) + Z(I,5)*Z(J,1)*W4
72
A(2,18) = A(2,18) + Z(I,4)*Z(J,2)*W1
73
A(2,19) = A(2,19) + Z(I,3)*Z(J,3)*W4
74
A(2,20) = A(2,20) + Z(I,2)*Z(J,4)*W1
75
A(2,21) = A(2,21) + Z(I,1)*Z(J,5)*W4
76
A(3,21) = A(3,21) + Z(J,6)*W1
77
A(4,16) = A(4,16) + Z(I,7)*W2
78
A(4,17) = A(4,17) + Z(I,6)*Z(J,1)*W3
79
A(4,18) = A(4,18) + Z(I,5)*Z(J,2)*W2
80
A(4,19) = A(4,19) + Z(I,4)*Z(J,3)*W3
81
A(4,20) = A(4,20) + Z(I,3)*Z(J,4)*W2
82
A(4,21) = A(4,21) + Z(I,2)*Z(J,5)*W3
83
A(5,21) = A(5,21) + Z(I,1)*Z(J,6)*W2
84
A(6,21) = A(6,21) + Z(J,7)*W3
85
A(7,16) = A(7,16) + Z(I,8)*W1
86
A(7,17) = A(7,17) + Z(I,7)*Z(J,1)*W4
87
A(7,18) = A(7,18) + Z(I,6)*Z(J,2)*W1
88
A(7,19) = A(7,19) + Z(I,5)*Z(J,3)*W4
89
A(7,20) = A(7,20) + Z(I,4)*Z(J,4)*W1
90
A(7,21) = A(7,21) + Z(I,3)*Z(J,5)*W4
91
A(8,21) = A(8,21) + Z(I,2)*Z(J,6)*W1
92
A(9,21) = A(9,21) + Z(I,1)*Z(J,7)*W4
93
A(10,21) = A(10,21) + Z(J,8)*W1
94
A(11,16) = A(11,16) + Z(I,9)*W2
95
A(11,17) = A(11,17) + Z(I,8)*Z(J,1)*W3
96
A(11,18) = A(11,18) + Z(I,7)*Z(J,2)*W2
97
A(11,19) = A(11,19) + Z(I,6)*Z(J,3)*W3
98
A(11,20) = A(11,20) + Z(I,5)*Z(J,4)*W2
99
A(11,21) = A(11,21) + Z(I,4)*Z(J,5)*W3
100
A(12,21) = A(12,21) + Z(I,3)*Z(J,6)*W2
101
A(13,21) = A(13,21) + Z(I,2)*Z(J,7)*W3
102
A(14,21) = A(14,21) + Z(I,1)*Z(J,8)*W2
103
A(15,21) = A(15,21) + Z(J,9)*W3
104
A(16,16) = A(16,16) + Z(I,10)*W1
105
A(16,17) = A(16,17) + Z(I,9)*Z(J,1)*W4
106
A(16,18) = A(16,18) + Z(I,8)*Z(J,2)*W1
107
A(16,19) = A(16,19) + Z(I,7)*Z(J,3)*W4
108
A(16,20) = A(16,20) + Z(I,6)*Z(J,4)*W1
109
A(16,21) = A(16,21) + Z(I,5)*Z(J,5)*W4
110
A(17,21) = A(17,21) + Z(I,4)*Z(J,6)*W1
111
A(18,21) = A(18,21) + Z(I,3)*Z(J,7)*W4
112
A(19,21) = A(19,21) + Z(I,2)*Z(J,8)*W1
113
A(20,21) = A(20,21) + Z(I,1)*Z(J,9)*W4
114
A(21,21) = A(21,21) + Z(J,10)*W1
115
A(1,22) = A(1,22) + D1
116
A(2,22) = A(2,22) + D2*Z(I,1)
117
A(3,22) = A(3,22) + D3*Z(J,1)
118
A(4,22) = A(4,22) + D1*Z(I,2)
119
A(5,22) = A(5,22) + D4*Z(I,1)*Z(J,1)
120
A(6,22) = A(6,22) + D1*Z(J,2)
121
A(7,22) = A(7,22) + D2*Z(I,3)
122
A(8,22) = A(8,22) + D3*Z(I,2)*Z(J,1)
123
A(9,22) = A(9,22) + D2*Z(I,1)*Z(J,2)
124
A(10,22) = A(10,22) + D3*Z(J,3)
125
A(11,22) = A(11,22) + D1*Z(I,4)
126
A(12,22) = A(12,22) + D4*Z(I,3)*Z(J,1)
127
A(13,22) = A(13,22) + D1*Z(I,2)*Z(J,2)
128
A(14,22) = A(14,22) + D4*Z(I,1)*Z(J,3)
129
A(15,22) = A(15,22) + D1*Z(J,4)
130
A(16,22) = A(16,22) + D2*Z(I,5)
131
A(17,22) = A(17,22) + D3*Z(I,4)*Z(J,1)
132
A(18,22) = A(18,22) + D2*Z(I,3)*Z(J,2)
133
A(19,22) = A(19,22) + D3*Z(I,2)*Z(J,3)
134
A(20,22) = A(20,22) + D2*Z(I,1)*Z(J,4)
135
A(21,22) = A(21,22) + D3*Z(J,5)