35 1 ELBUF_TAB ,IPARG ,GEO ,IGEO ,IXR ,
36 2 WA ,WAP0 ,IPARTR ,IPART_STATE ,STAT_INDXR,
42 use element_mod ,
only : nixr
46#include "implicit_f.inc"
59 INTEGER IXR(NIXR,*),IPARG(NPARG,*),IGEO(NPROPGI,*),
60 . IPARTR(*),IPART_STATE(*),STAT_INDXR(*)
63 TYPE (ELBUF_STRUCT_),
DIMENSION(NGROUP),
TARGET :: ELBUF_TAB
64 double precision WA(*),WAP0(*)
68 INTEGER I,J,K,N,II(6),IV,JJ,LEN,IOFF,NEL,NFT,LFT,
69 . LLT,ITY,ID,IPRT0,IPRT,IGTYP,IPROP,NUVAR,J_FIN
70 INTEGER PTWA(STAT_NUMELR),
71 . ptwa_p0(0:
max(1,stat_numelr_g))
73 TYPE(g_bufel_) ,
POINTER :: GBUF
76 ./
'#---1----|----2----|----3----|----4----|----5----|----6----|'/
78 ./
'----7----|----8----|----9----|----10---|'/
84 IF (stat_numelr == 0)
GOTO 100
90 gbuf => elbuf_tab(ng)%GBUF
94 igtyp = igeo(11,iprop)
101 IF (ipart_state(iprt) == 0) cycle
102 wa(jj + 1) = gbuf%OFF(i)
104 wa(jj + 3) = ixr(nixr,n)
111 wa(jj + 1) = gbuf%FOR(i)
112 wa(jj + 2) = gbuf%TOTDEPL(i)
113 wa(jj + 3) = gbuf%FOREP(i)
114 wa(jj + 4) = gbuf%DEP_IN_TENS(i)
115 wa(jj + 5) = gbuf%DEP_IN_COMP(i)
116 wa(jj + 6) = gbuf%LENGTH(i)
117 wa(jj + 7) = gbuf%EINT(i)
121 ELSEIF (igtyp == 12)
THEN
123 wa(jj + 1) = gbuf%FOR(i)
124 wa(jj + 2) = gbuf%TOTDEPL(i)
125 wa(jj + 3) = gbuf%FOREP(i)
126 wa(jj + 4) = gbuf%DEP_IN_TENS(i)
127 wa(jj + 5) = gbuf%DEP_IN_COMP(i)
128 wa(jj + 6) = gbuf%LENGTH(i)
129 wa(jj + 7) = gbuf%EINT(i)
130 wa(jj + 8) = gbuf%DFS(i)
134 ELSEIF (igtyp == 8 .OR. igtyp == 13 .OR. igtyp == 25
135 . .OR. igtyp == 23 )
THEN
138 ii(j) = (j-1)*nel + 1
141 wa(jj + (j-1)*5 + 1) = gbuf%FOR(ii(j) + i - 1)
142 wa(jj + (j-1)*5 + 2) = gbuf%TOTDEPL(ii(j) + i - 1)
143 wa(jj + (j-1)*5 + 3) = gbuf%FOREP(ii(j) + i - 1)
144 wa(jj + (j-1)*5 + 4) = gbuf%DEP_IN_TENS(ii(j) + i - 1)
145 wa(jj + (j-1)*5 + 5) = gbuf%DEP_IN_COMP(ii(j) + i - 1)
146 wa(jj + (j-1)*5 + 16)= gbuf%MOM(ii(j) + i - 1)
147 wa(jj + (j-1)*5 + 17)= gbuf%TOTROT(ii(j) + i - 1)
148 wa(jj + (j-1)*5 + 18)= gbuf%MOMEP(ii(j) + i - 1)
149 wa(jj + (j-1)*5 + 19)= gbuf%ROT_IN_TENS(ii(j) + i - 1)
150 wa(jj + (j-1)*5 + 20)= gbuf%ROT_IN_COMP(ii(j) + i - 1)
151 wa(jj + j + 30) = gbuf%LENGTH(ii(j) + i - 1)
153 wa(jj + 34) = gbuf%EINT(i)
155 wa(jj + j + 34) = gbuf%E6(ii(j) + i - 1)
159 ELSEIF (igtyp == 26)
THEN
161 wa(jj + 1) = gbuf%FOR(i)
162 wa(jj + 2) = gbuf%TOTDEPL(i)
163 wa(jj + 3) = gbuf%FOREP(i)
164 wa(jj + 4) = gbuf%LENGTH(i)
165 wa(jj + 5) = gbuf%EINT(i)
166 wa(jj + 6) = gbuf%DV(i)
169 ELSEIF (igtyp == 29 .OR. igtyp == 30 .OR. igtyp == 31 .OR.
170 . igtyp == 32 .OR. igtyp == 33 .OR. igtyp == 35 .OR.
171 . igtyp == 36 .OR. igtyp == 44 .OR. igtyp == 45 .OR.
174 nuvar = nint(geo(25,iprop))
177 ii(j) = (j-1)*nel + 1
178 wa(jj + (j-1)*2 + 1) = gbuf%FOR(ii(j) + i - 1)
179 wa(jj + (j-1)*2 + 2) = gbuf%V_REPCVT(ii(j) + i - 1)
180 wa(jj + (j-1)*2 + 7) = gbuf%MOM(ii(j) + i - 1)
181 wa(jj + (j-1)*2 + 8) = gbuf%VR_REPCVT(ii(j) + i - 1)
183 wa(jj + 13) = gbuf%EINT(i)
192 wa(jj + j) = gbuf%VAR(iv)
227 IF (ispmd == 0 .AND. len > 0)
THEN
235 ioff = nint(wap0(j + 1))
237 iprt = nint(wap0(j + 2))
238 id = nint(wap0(j + 3))
239 igtyp = nint(wap0(j + 4))
240 nuvar = nint(wap0(j + 5))
245 IF (iprt /= iprt0)
THEN
246 WRITE(iugeo,
'(A)') delimit
247 WRITE(iugeo,
'(A)')
'/INISPRI/FULL'
249 .
'#----------------------------------------------------------'
250 WRITE(iugeo,
'(A)')
'#SPRING_ID PROP_TYPE NUVAR'
251 WRITE(iugeo,
'(A)')
'#FORMAT:(1P5E20.13) #(F(I),DL(I),FEP(I),DPL(I),DPL2(I),I=SPRING_ID)'
252 WRITE(iugeo,
'(A)')
'#FORMAT:(1P2E20.13) #(XLO(I),EI(I),I=SPRING_ID)'
254 .
'#----------------------------------------------------------'
259 WRITE(iugeo,
'(3I10)') id,igtyp,nuvar
261 WRITE(iugeo,
'(1P5E20.13)')(wap0(j+k),k=1,5)
262 WRITE(iugeo,
'(1P2E20.13)')(wap0(j+k),k=6,7)
264 ELSEIF (igtyp == 12)
THEN
266 IF (iprt /= iprt0)
THEN
267 WRITE(iugeo,
'(A)') delimit
268 WRITE(iugeo,
'(A)')
'/INISPRI/FULL'
270 .
'#----------------------------------------------------------'
272 .
'#SPRING_ID PROP_TYPE NUVAR'
273 WRITE(iugeo,
'(A)')
'#FORMAT:(1P5E20.13) #(F(I),DL(I),FEP(I),DPL(I),DPL2(I),I=SPRING_ID)'
274 WRITE(iugeo,
'(A)')
'#FORMAT:(1P3E20.13) #(XL0(I),EI(I),DFS(I),I=SPRING_ID)'
276 .
'#----------------------------------------------------------'
280 WRITE(iugeo,'(3i10)
') ID,IGTYP,NUVAR
281!! WRITE(IUGEO,'(1p5e20.13)
')(WAP0(J+K),K=1,8)
282 WRITE(IUGEO,'(1p5e20.13)
')(WAP0(J+K),K=1,5)
283 WRITE(IUGEO,'(1p3e20.13)
')(WAP0(J+K),K=6,8)
285.OR..OR.
ELSEIF (IGTYP == 8 IGTYP == 13 IGTYP == 25
286.OR.
. IGTYP == 23 ) THEN
288 IF (IPRT /= IPRT0) THEN
289 WRITE(IUGEO,'(a)
') DELIMIT
290 WRITE(IUGEO,'(a)
')'/inispri/full
'
292 . '#----------------------------------------------------------'
294 .
'#SPRING_ID PROP_TYPE NUVAR'
295 WRITE(iugeo,
'(A)')
'#FORMAT:(1P5E20.13) #(FX(I),DX(I),FXEP(I),DPX(I),DPX2(I),I=SPRING_ID)'
296 WRITE(iugeo,
'(A)')
'#FORMAT:(1P5E20.13) #(FY(I),DY(I),FYEP(I),DPX(I),DPX2(I),I=SPRING_ID)'
297 WRITE(iugeo,
'(A)')
'#FORMAT:(1P5E20.13) #(FZ(I),DZ(I),FZEP(I),DPX(I),DPX2(I),I=SPRING_ID)'
298 WRITE(iugeo,
'(A)')
'#FORMAT:(1P5E20.13) #(XMOM(I),RX(I),XMEP(I),RPX(I),RPX2(I),I=SPRING_ID)'
299 WRITE(iugeo,
'(A)')
'#FORMAT:(1P5E20.13) #(YMOM(I),RY(I),YMEP(I),RPY(I),RPY2(I),I=SPRING_ID)'
300 WRITE(iugeo,
'(A)')
'#FORMAT:(1P5E20.13) #(ZMOM(I),RZ(I),ZMEP(I),RPZ(I),RPZ2(I),I=SPRING_ID)'
301WRITE(iugeo,
'(A)')
'#FORMAT:(1P5E20.13) #(XLO(I),YL0(I),ZL0(I),EI(I),E1(I),I=SPRING_ID)'
302 WRITE(iugeo,
'(2A)')
'#FORMAT:(1P5E20.13) #(E2(I),E3(I),E4(I),E5(I),E6(I),I=SPRING_ID)'
304 .
'#----------------------------------------------------------'
308 WRITE(iugeo,
'(3I10)') id,igtyp,nuvar
309 WRITE(iugeo,
'(1P5E20.13)')(wap0(j+k),k=1,40)
311 ELSEIF (igtyp == 26)
THEN
313 IF (iprt /= iprt0)
THEN
314 WRITE(iugeo,
'(A)') delimit
315 WRITE(iugeo,
'(A)')
'/INISPRI/FULL'
317 .
'#----------------------------------------------------------'
319 .
'#SPRING_ID PROP_TYPE NUVAR'
320 WRITE(iugeo,
'(A)')
'#FORMAT:(1P3E20.13) #(F(I),DL(I),FEP(I),I=SPRING_ID)'
321 WRITE(iugeo,
'(A)')
'#FORMAT:(1P3E20.13) #(XL0(I),EI(I),DV(I),I=SPRING_ID)'
323 .
'#----------------------------------------------------------'
327 WRITE(iugeo,
'(3I10)') id,igtyp,nuvar
328 WRITE(iugeo,
'(1P3E20.13)')(wap0(j+k),k=1,3)
329 WRITE(iugeo,
'(1P3E20.13)')(wap0(j+k),k=4,6)
331 ELSEIF (igtyp == 29 .OR. igtyp == 3
332 . igtyp == 32 .OR. igtyp == 33 .OR. igtyp == 35 .OR.
333 . igtyp == 36 .OR. igtyp == 44 .OR. igtyp == 45 .OR.
336 IF (iprt /= iprt0)
THEN
337 WRITE(iugeo,
'(A)') delimit
338 WRITE(iugeo,
'(A)')
'/INISPRI/FULL'
340 .
'#----------------------------------------------------------'
342 .
'#SPRING_ID PROP_TYPE NUVAR'
343 WRITE(iugeo,
'(A)')
'#FORMAT:(1P2E20.13) #(FX(I),DX(I),I=SPRING_ID)'
344 WRITE(iugeo,
'(A)')
'#FORMAT:(1P2E20.13) #(FY(I),DY(I),I=SPRING_ID)'
345 WRITE(iugeo,
'(A)')
'#FORMAT:(1P2E20.13) #(FZ(I),DZ(I),I=SPRING_ID)'
346 WRITE(iugeo,
'(A)')
'#FORMAT:(1P2E20.13) #(XMOM(I),RX(I),I=SPRING_ID)'
347 WRITE(iugeo,
'(A)')
'#FORMAT:(1P2E20.13) #(YMOM(I),RY(I),I=SPRING_ID)'
348 WRITE(iugeo,
'(A)')
'#FORMAT:(1P2E20.13) #(ZMOM(I),RZ(I),I=SPRING_ID)'
349 WRITE(iugeo,
'(A)')
'#FORMAT:(1P1E20.13) #(EI(I),I=1,NEL)'
354 WRITE(iugeo,
'(A)')
'#FORMAT:(1P5E20.13) #(UVAR(I,J),J=1,NUVAR),I=SPRING_ID)'
356 .
'#----------------------------------------------------------'
360 WRITE(iugeo,
'(3I10)') id,igtyp,nuvar
362 WRITE(iugeo,
'(1P2E20.13)') (wap0(j+k),k=1,2)
363 WRITE(iugeo,
'(1P2E20.13)') (wap0(j+k),k=3,4)
364 WRITE(iugeo,
'(1P2E20.13)') (wap0(j+k),k=5,6)
365 WRITE(iugeo,
'(1P2E20.13)') (wap0(j+k),k=7,8)
366 WRITE(iugeo,
'(1P2E20.13)') (wap0(j+k),k=9,10)
367 WRITE(iugeo,
'(1P2E20.13)') (wap0(j+k),k=11,12)
368 WRITE(iugeo,
'(1P1E20.13)') wap0(j+13)
376 WRITE(iugeo,
'(1P5E20.13)')(wap0(j_fin+k),k=1,nuvar)