37
38
39
40#include "implicit_f.inc"
41
42
43
44#include "mvsiz_p.inc"
45
46
47
48#include "parit_c.inc"
49#include "scr18_c.inc"
50
51
52
53 INTEGER, INTENT(IN) :: NEL
54 INTEGER, INTENT(IN) :: NFT
55 INTEGER, INTENT(IN) :: JTHE
56 INTEGER, INTENT(IN) :: NODADT_THERM
58 . offg(*),fskyv(lsky,8),fsky(8,lsky),sti(*),
59 . f11(*),f21(*),f31(*),f12(*),f22(*),f32(*),
60 . f13(*),f23(*),f33(*),f14(*),f24(*),f34(*),
61 . them(mvsiz,4),fthesky(*),condnsky(*),conde(*)
62 INTEGER IADS(8,*)
63
64
65
66
67 INTEGER I, II, K,J
69 . off_l
70
71 off_l = 0.
72 DO i=1,nel
73
74 off_l =
min(off_l,offg(i))
75 ENDDO
76 IF(off_l<zero)THEN
77 DO i=1,nel
78 IF(offg(i)<zero)THEN
79 f11(i)=zero
80 f21(i)=zero
81 f31(i)=zero
82 f12(i)=zero
83 f22(i)=zero
84 f32(i)=zero
85 f13(i)=zero
86 f23(i)=zero
87 f33(i)=zero
88 f14(i)=zero
89 f24(i)=zero
90 f34(i)=zero
91 sti(i)=zero
92 ENDIF
93 ENDDO
94 ENDIF
95 IF(jthe < 0 ) THEN
96 IF(off_l<=zero)THEN
97 DO j=1,4
98 DO i=1,nel
99 IF(offg(i)<=zero)THEN
100 them(i,j)=zero
101 ENDIF
102 ENDDO
103 ENDDO
104 ENDIF
105 IF(nodadt_therm == 1) THEN
106 IF(off_l<zero)THEN
107 DO i=1,nel
108 IF(offg(i)<zero)THEN
109 conde(i)=zero
110 ENDIF
111 ENDDO
112 ENDIF
113 ENDIF
114 ENDIF
115
116
117 DO i=1,nel
118 sti(i)=half*sti(i)
119 END DO
120 IF(nodadt_therm == 1 ) THEN
121 DO i=1,nel
122 conde(i)=fourth*conde(i)
123 END DO
124 ENDIF
125
126 IF(ivector==1) THEN
127#include "vectorize.inc"
128 DO i=1,nel
129 ii=i+nft
130 k = iads(1,ii)
131 fskyv(k,1)=f11(i)
132 fskyv(k,2)=f21(i)
133 fskyv(k,3)=f31(i)
134 fskyv(k,4)=zero
135 fskyv(k,5)=zero
136 fskyv(k,6)=zero
137 fskyv(k,7)=sti(i)
138
139 k = iads(3,ii)
140 fskyv(k,1)=f12(i)
141 fskyv(k,2)=f22(i)
142 fskyv(k,3)=f32(i)
143 fskyv(k,4)=zero
144 fskyv(k,5)=zero
145 fskyv(k,6)=zero
146 fskyv(k,7)=sti(i)
147
148 k = iads(6,ii)
149 fskyv(k,1)=f13(i)
150 fskyv(k,2)=f23(i)
151 fskyv(k,3)=f33(i)
152 fskyv(k,4)=zero
153 fskyv(k,5)=zero
154 fskyv(k,6)=zero
155 fskyv(k,7)=sti(i)
156
157 k = iads(5,ii)
158 fskyv(k,1)=f14(i)
159 fskyv(k,2)=f24(i)
160 fskyv(k,3)=f34(i)
161 fskyv(k,4)=zero
162 fskyv(k,5)=zero
163 fskyv(k,6)=zero
164 fskyv(k,7)=sti(i)
165
166 ENDDO
167 ELSE
168 DO i=1,nel
169 ii=i+nft
170 k = iads(1,ii)
171 fsky(1,k)=f11(i)
172 fsky(2,k)=f21(i)
173 fsky(3,k)=f31(i)
174 fsky(7,k)=sti(i)
175
176 k = iads(3,ii)
177 fsky(1,k)=f12(i)
178 fsky(2,k)=f22(i)
179 fsky(3,k)=f32(i)
180 fsky(7,k)=sti(i)
181
182 k = iads(6,ii)
183 fsky(1,k)=f13(i)
184 fsky(2,k)=f23(i)
185 fsky(3,k)=f33(i)
186 fsky(7,k)=sti(i)
187
188 k = iads(5,ii)
189 fsky(1,k)=f14(i)
190 fsky(2,k)=f24(i)
191 fsky(3,k)=f34(i)
192 fsky(7,k)=sti(i)
193
194 ENDDO
195 ENDIF
196
197 IF(jthe < 0) THEN
198 DO i=1,nel
199 ii=i+nft
200 k = iads(1,ii)
201 fthesky(k)=them(i,1)
202
203 k = iads(3,ii)
204 fthesky(k)=them(i,2)
205
206 k = iads(6,ii)
207 fthesky(k)=them(i,3)
208
209 k = iads(5,ii)
210 fthesky(k)=them(i,4)
211
212 ENDDO
213 IF(nodadt_therm == 1 ) THEN
214 DO i=1,nel
215 ii=i+nft
216 k = iads(1,ii)
217 condnsky(k)=conde(i)
218
219 k = iads(3,ii)
220 condnsky(k)=conde(i)
221
222 k = iads(6,ii)
223 condnsky(k)=conde(i)
224
225 k = iads(5,ii)
226 condnsky(k)=conde(i)
227
228 ENDDO
229 ENDIF
230 ENDIF
231
232 RETURN