33 SUBROUTINE outp_r_t(KEY ,TEXT ,ELBUF_TAB,IPARG ,DD_IAD,
34 2 IXR ,IGEO ,GEO ,SIZLOC,SIZP0 ,
40 use element_mod ,
only : nixr
44#include "implicit_f.inc"
59 INTEGER IPARG(NPARG,*), DD_IAD(NSPMD+1,*),
60 . IXR(NIXR,*),IGEO(NPROPGI,*),SIZLOC,SIZP0,SIZ_WR
64 TYPE (ELBUF_STRUCT_),
TARGET,
DIMENSION(NGROUP) :: ELBUF_TAB
68 INTEGER I,J,JJ,ICAS_OLD,K
69 INTEGER NG, NEL, NFT, ITY,
70 . jj_old, ngf, ngl, nn, len, nuvar,
71 . liad, ius, mlw2,nad,
72 . mt,iprop,igtyp,compteur,l,ii(6),iv
73 INTEGER,
DIMENSION(NSPGROUP) :: JJ_LOC
74 INTEGER,
DIMENSION(NSPGROUP+1,NSPMD) :: ADRESS
76 . wa(sizloc),wap0(siz_wr),wap0_loc(sizp0)
78 TYPE(g_bufel_) ,
POINTER :: GBUF
81 WRITE(iugeo,
'(2A)')
'/SPRING /',key
82 WRITE(iugeo,
'(A)') text
91 ngl = ngl + dd_iad(ispmd+1,nn)
95 gbuf => elbuf_tab(ng)%GBUF
99 igtyp = igeo(11,iprop)
109 wa(jj + 1) = gbuf%FOR(i)
110 wa(jj + 2) = gbuf%TOTDEPL(i)
111 wa(jj + 3) = gbuf%FOREP(i)
112 wa(jj + 4) = gbuf%DEP_IN_TENS(i)
113 wa(jj + 5) = gbuf%DEP_IN_COMP(i)
114 wa(jj + 6) = gbuf%LENGTH(i)
115 wa(jj + 7) = gbuf%EINT(i)
119 ELSEIF (igtyp == 12)
THEN
125 wa(jj + 1) = gbuf%FOR(i)
126 wa(jj + 2) = gbuf%TOTDEPL(i)
127 wa(jj + 3) = gbuf%FOREP(i)
128 wa(jj + 4) = gbuf%DEP_IN_TENS(i)
129 wa(jj + 5) = gbuf%DEP_IN_COMP(i)
130 wa(jj + 6) = gbuf%LENGTH(i)
131 wa(jj + 7) = gbuf%EINT(i)
132 wa(jj + 8) = gbuf%DFS(i)
136 ELSEIF (igtyp == 8 .OR. igtyp == 13 .OR. igtyp == 25
137 . .OR. igtyp == 23)
THEN
143 ii(j) = (j-1)*nel + 1
147 wa(jj + (j-1)*5 + 1) = gbuf%FOR(ii(j) + i - 1)
148 wa(jj + (j-1)*5 + 2) = gbuf%TOTDEPL(ii(j) + i - 1)
149 wa(jj + (j-1)*5 + 3) = gbuf%FOREP(ii(j) + i - 1)
150 wa(jj + (j-1)*5 + 4) = gbuf%DEP_IN_TENS(ii(j) + i - 1)
151 wa(jj + (j-1)*5 + 5) = gbuf%DEP_IN_COMP(ii(j) + i - 1)
152 wa(jj + (j-1)*5 + 16)= gbuf%MOM(ii(j) + i - 1)
153 wa(jj + (j-1)*5 + 17)= gbuf%TOTROT(ii(j) + i - 1)
154 wa(jj + (j-1)*5 + 18)= gbuf%MOMEP(ii(j) + i - 1)
155 wa(jj + (j-1)*5 + 19)= gbuf%ROT_IN_TENS(ii(j) + i - 1)
156 wa(jj + (j-1)*5 + 20)= gbuf%ROT_IN_COMP(ii(j) + i - 1)
157 wa(jj + j + 30) = gbuf%LENGTH(ii(j) + i - 1)
159 wa(jj + 34) = gbuf%EINT(i)
162 wa(jj + j + 34) = gbuf%E6(ii(j) + i - 1)
168 ELSEIF (igtyp == 26)
THEN
174 wa(jj + 1) = gbuf%FOR(i)
175 wa(jj + 2) = gbuf%TOTDEPL(i)
176 wa(jj + 3) = gbuf%FOREP(i)
177 wa(jj + 4) = gbuf%LENGTH(i)
178 wa(jj + 5) = gbuf%EINT(i)
179 wa(jj + 6) = gbuf%DV(i)
183 ELSEIF (igtyp == 29 .OR. igtyp == 30 .OR. igtyp == 31 .OR.
184 . igtyp == 32 .OR. igtyp == 33 .OR. igtyp == 35 .OR.
185 . igtyp == 36 .OR. igtyp == 44 .OR. igtyp == 45 .OR.
187 nuvar = nint(geo(25,iprop))
194 ii(j) = (j-1)*nel + 1
195 wa(jj + (j-1)*2 + 1) = gbuf%FOR(ii(j) + i - 1)
196 wa(jj + (j-1)*2 + 2) = gbuf%V_REPCVT(ii(j) + i - 1)
197 wa(jj + (j-1)*2 + 7) = gbuf%MOM(ii(j) + i - 1)
198 wa(jj + (j-1)*2 + 8) = gbuf%VR_REPCVT(ii(j) + i - 1)
200 wa(jj + 13) = gbuf%EINT(i)
211 wa(jj + j) = gbuf%VAR(iv)
220 jj_loc(nn) = jj - compteur
229 wap0_loc(1:jj) = wa(1:jj)
232 adress(nn,1) = jj_loc(nn-1) + adress(nn-1,1)
242 IF ((adress(nn+1,k)-1-adress(nn,k)) > =0)
THEN
243 DO l = adress(nn,k),adress(nn+1,k)-1
244 compteur = compteur + 1
245 wap0(compteur) = wap0_loc(l)
254 DO WHILE (j < jj_old+1)
255 igtyp = nint(wap0(j))
256 nel = nint(wap0(j+1))
257 nuvar = nint(wap0(j+2))
262 IF (icas_old /= 1)
THEN
265 IF (outyy_fmt == 2)
THEN
266 WRITE(iugeo,
'(A)')
'#FORMAT:(1P5E12.5) #(F(I),DL(I),FEP(I),DPL(I),DPL2(I),I=1,NEL)'
267 WRITE(iugeo,
'(A)')
'#FORMAT:(1P2E12.5) #(XLO(I),EI(I),I=1,NEL)'
269 WRITE(iugeo,
'(A)')
'#FORMAT:(1P5E20.13) #(F(I),DL(I),FEP(I),DPL(I),DPL2(I),I=1,NEL)'
270 WRITE(iugeo,
'(A)')
'#FORMAT:(1P2E20.13) #(XLO(I),EI(I),I=1,NEL)'
273 IF (outyy_fmt == 2)
THEN
274 WRITE(iugeo,
'(2I8)')igtyp,nel
276 WRITE(iugeo,
'(2I10)')igtyp,nel
279 IF (outyy_fmt == 2)
THEN
281 WRITE(iugeo,
'(1P5E12.5)') (wap0(j-1+k),k=1,5)
282 WRITE(iugeo,
'(1P2E12.5)') (wap0(j-1+k),k=6,7)
285 WRITE(iugeo,
'(1P5E20.13)')(wap0(j-1+k),k=1,5)
286 WRITE(iugeo,
'(1P2E20.13)')(wap0(j-1+k),k=6,7)
291 ELSEIF (igtyp == 12)
THEN
293 IF (icas_old /= 2)
THEN
295 IF (outyy_fmt == 2)
THEN
296 WRITE(iugeo,
'(A)')
'#FORMAT:(1P5E12.5) #(F(I),DL(I),FEP(I),DPL(I),DPL2(I),I=1,NEL)'
297 WRITE(iugeo,
'(A)')
'#FORMAT:(1P3E12.5) #(XL0(I),EI(I),DFS(I),I=1,NEL)'
299 WRITE(iugeo,
'(A)')
'#FORMAT:(1P5E20.13) #(F(I),DL(I),FEP(I),DPL(I),DPL2(I),I=1,NEL)'
300 WRITE(iugeo,
'(A)')
'#FORMAT:(1P3E20.13) #(XL0(I),EI(I),DFS(I),I=1,NEL)'
303 IF (outyy_fmt == 2)
THEN
304 WRITE(iugeo,
'(2I8)')igtyp,nel
306 WRITE(iugeo,
'(2I10)')igtyp,nel
309 IF (outyy_fmt == 2)
THEN
311 WRITE(iugeo,
'(1P5E12.5)') (wap0(j-1+k),k=1,5)
312 WRITE(iugeo,
'(1P3E12.5)') (wap0(j-1+k),k=6,8)
315 WRITE(iugeo,
'(1P5E20.13)')(wap0(j-1+k),k=1,5)
316 WRITE(iugeo,
'(1P3E20.13)')(wap0(j-1+k),k=6,8)
321 ELSEIF (igtyp == 8 .OR. igtyp == 13 .OR. igtyp == 25
322 . .OR. igtyp == 23 )
THEN
324 IF (icas_old /= 3)
THEN
326 IF (outyy_fmt == 2)
THEN
327 WRITE(iugeo,
'(A)')
'#FORMAT:(1P5E12.5) #(FX(I),DX(I),FXEP(I),DPX(I),DPX2(I),I=1,NEL)'
328 WRITE(iugeo,
'(A)')
'#FORMAT:(1P5E12.5) #(FY(I),DY(I),FYEP(I),DPY(I),DPY2(I),I=1,NEL)'
329 WRITE(iugeo,
'(A)')
'#FORMAT:(1P5E12.5) #(FZ(I),DZ(I),FZEP(I),DPZ(I),DPZ2(I),I=1,NEL)'
330 WRITE(iugeo,
'(A)')
'#FORMAT:(1P5E12.5) #(XMOM(I),RX(I),XMEP(I),RPX(I),RPX2(I),I=1,NEL)'
331 WRITE(iugeo,
'(A)')
'#FORMAT:(1P5E12.5) #(YMOM(I),RY(I),YMEP(I),RPY(I),RPY2(I),I=1,NEL)'
332WRITE(iugeo,
'(A)')
'#FORMAT:(1P5E12.5) #(ZMOM(I),RZ(I),ZMEP(I),RPZ(I),RPZ2(I),I=1,NEL)'
333 WRITE(iugeo,
'(A)')
'#FORMAT:(1P5E12.5) #(XLO(I),YL0(I),ZL0(I),EI(I),E1(I),I=1,NEL)'
334 WRITE(iugeo,
'(2A)')
'#FORMAT:(1P5E12.5) #(E2(I),E3(I),E4(I),E5(I),E6(I),I=1,NEL)'
336 WRITE(iugeo,
'(A)')
'#FORMAT:(1P5E20.13) #(FX(I),DX(I),FXEP(I),DPX(I),DPX2(I),I=1,NEL)'
337 WRITE(iugeo,
'(A)')
'#FORMAT:(1P5E20.13) #(FY(I),DY(I),FYEP(I),DPY(I),DPY2(I),I=1,NEL)'
338 WRITE(iugeo,
'(A)')
'#FORMAT:(1P5E20.13) #(FZ(I),DZ(I),FZEP(I),DPZ(I),DPZ2(I),I=1,NEL)'
339 WRITE(iugeo,
'(A)')
'#FORMAT:(1P5E20.13) #(XMOM(I),RX(I),XMEP(I),RPX(I),RPX2(I),I=1,NEL)'
340 WRITE(iugeo,
'(A)')
'#FORMAT:(1P5E20.13) #(YMOM(I),RY(I),YMEP(I),RPY(I),RPY2(I),I=1,NEL)'
341 WRITE(iugeo,
'(A)')
'#FORMAT:(1P5E20.13) #(ZMOM(I),RZ(I),ZMEP(I),RPZ(I),RPZ2(I),I=1,NEL)'
342 WRITE(iugeo,
'(A)')
'#FORMAT:(1P5E20.13) #(XLO(I),YL0(I),ZL0(I),EI(I),E1(I),I=1,NEL)'
343 WRITE(iugeo,
'(2A)')
'#FORMAT:(1P5E20.13) #(E2(I),E3(I),E4(I),E5(I),E6(I),I=1,NEL)'
346 IF (outyy_fmt == 2)
THEN
347 WRITE(iugeo,
'(2I8)')igtyp,nel
349 WRITE(iugeo,
'(2I10)')igtyp,nel
352 IF (outyy_fmt == 2)
THEN
353 WRITE(iugeo,
'(1P5E12.5)') (wap0(j-1+k),k=1,40)
355 WRITE(iugeo,
'(1P5E20.13)')(wap0(j-1+k),k=1,40)
360 ELSEIF (igtyp == 26)
THEN
362 IF (icas_old /= 2)
THEN
364 IF (outyy_fmt == 2)
THEN
365 WRITE(iugeo,
'(A)')
'#FORMAT:(1P3E12.5) #(F(I),DL(I),FEP(I),I=1,NEL)'
366 WRITE(iugeo,
'(A)')
'#FORMAT:(1P3E12.5) #(XL0(I),EI(I),DV(I),I=1,NEL)'
368 WRITE(iugeo,
'(A)')
'#FORMAT:(1P3E20.13) #(F(I),DL(I),FEP(I),I=1,NEL)'
369 WRITE(iugeo,
'(A)')
'#FORMAT:(1P3E20.13) #(XL0(I),EI(I),DV(I),I=1,NEL)'
372 IF (outyy_fmt == 2)
THEN
373 WRITE(iugeo,
'(2I8)') igtyp,nel
375 WRITE(iugeo,
'(2I10)')igtyp,nel
378 IF (outyy_fmt == 2)
THEN
379 WRITE(iugeo,
'(1P3E12.5)') (wap0(j-1+k),k=1,3)
380 WRITE(iugeo,
'(1P3E12.5)') (wap0(j-1+k),k=4,6)
382 WRITE(iugeo,
'(1P3E20.13)')(wap0(j-1+k),k=1,3)
383 WRITE(iugeo,
'(1P3E20.13)')(wap0(j-1+k),k=4,6)
388 ELSEIF (igtyp == 29 .OR. igtyp == 30 .OR. igtyp == 31 .OR.
389 . igtyp == 32 .OR. igtyp == 33 .OR. igtyp == 35 .OR.
390 . igtyp == 36 .OR. igtyp == 44 .OR. igtyp == 45 .OR.
393 IF (icas_old /= 4)
THEN
395 IF (outyy_fmt == 2)
THEN
396 WRITE(iugeo,
'(A)')
'#FORMAT:(1P2E12.5) #(FX(I),DX(I),I=1,NEL)'
397 WRITE(iugeo,
'(A)')
'#FORMAT:(1P2E12.5) #(FY(I),DY(I),I=1,NEL)'
398 WRITE(iugeo,
'(A)')
'#FORMAT:(1P2E12.5) #(FZ(I),DZ(I),I=1,NEL)'
399 WRITE(iugeo,
'(A)')
'#FORMAT:(1P2E12.5) #(XMOM(I),RX(I),I=1,NEL)'
400 WRITE(iugeo,
'(A)')
'#FORMAT:(1P2E12.5) #(YMOM(I),RY(I),I=1,NEL)'
401 WRITE(iugeo,
'(A)')
'#FORMAT:(1P2E12.5) #(ZMOM(I),RZ(I),I=1,NEL)'
402 WRITE(iugeo,
'(A)')
'#FORMAT:(1P1E12.5) #(EI(I),I=1,NEL)'
407 WRITE(iugeo,
'(A)')
'#FORMAT:(1P5E12.5) #(UVAR(I,J),J=1,NUVAR),I=1,NEL)'
409 WRITE(iugeo,
'(A)')
'#FORMAT:(1P2E20.13) #(FX(I),DX(I),I=1,NEL)'
410 WRITE(iugeo,
'(A)')
'#FORMAT:(1P2E20.13) #(FY(I),DY(I),I=1,NEL)'
411 WRITE(iugeo,
'(A)')
'#FORMAT:(1P2E20.13) #(FZ(I),DZ(I),I=1,NEL)'
412 WRITE(iugeo,
'(A)')
'#FORMAT:(1P2E20.13) #(XMOM(I),RX(I),I=1,NEL)'
413 WRITE(iugeo,
'(A)')
'#FORMAT:(1P2E20.13) #(YMOM(I),RY(I),I=1,NEL)'
414 WRITE(iugeo,
'(A)')
'#FORMAT:(1P2E20.13) #(ZMOM(I),RZ(I),I=1,NEL)'
415 WRITE(iugeo,
'(A)')
'#FORMAT:(1P1E20.13) #(EI(I),I=1,NEL)'
420 WRITE(iugeo,
'(A)')
'#FORMAT:(1P5E20.13) #(UVAR(I,J),J=1,NUVAR),I=1,NEL)'
423 IF (outyy_fmt == 2)
THEN
424 WRITE(iugeo,
'(3I8)') igtyp,nel,nuvar
426 WRITE(iugeo,
'(3I10)')igtyp,nel,nuvar
429 IF (outyy_fmt == 2)
THEN
431 WRITE(iugeo,
'(1P2E12.5)') (wap0(j-1+k),k=1,2)
432 WRITE(iugeo,
'(1P2E12.5)') (wap0(j-1+k),k=3,4)
433 WRITE(iugeo,
'(1P2E12.5)') (wap0(j-1+k),k=5,6)
434 WRITE(iugeo,
'(1P2E12.5)') (wap0(j-1+k),k=7,8)
435 WRITE(iugeo,
'(1P2E12.5)') (wap0(j-1+k),k=9,10)
436 WRITE(iugeo,
'(1P2E12.5)') (wap0(j-1+k),k=11,12)
437 WRITE(iugeo,
'(1P1E12.5)') wap0(j-1+13)
440 WRITE(iugeo,
'(1P2E20.13)') (wap0(j-1+k),k=1,2)
441 WRITE(iugeo,
'(1P2E20.13)') (wap0(j-1+k),k=3,4)
442 WRITE(iugeo,
'(1P2E20.13)') (wap0(j-1+k),k=5,6)
443 WRITE(iugeo,
'(1P2E20.13)') (wap0(j-1+k),k=7,8)
444 WRITE(iugeo,
'(1P2E20.13)') (wap0(j-1+k),k=9,10)
445 WRITE(iugeo,
'(1P2E20.13)') (wap0(j-1+k),k=11,12)
446 WRITE(iugeo,
'(1P1E20.13)') wap0(j-1+13)
458 IF (outyy_fmt == 2)
THEN
459 WRITE(iugeo,
'(1P5E12.5)') (wap0(j-1+k),k=1,nuvar)
461 WRITE(iugeo,
'(1P5E20.13)')(wap0(j-1+k),k=1,nuvar)
482 use element_mod ,
only : nixr
486#include "implicit_f.inc"
490#include "param_c.inc"
491#include "com01_c.inc"
493#include "scr16_c.inc"
497 INTEGER IPARG(NPARG,*),DD_IAD(NSPMD+1,*),WASZ,WASZP,
498 . IXR(NIXR,*),IGEO(NPROPGI,*),SIZ_WRITE_LOC(NSPGROUP+1)
504 INTEGER NGF,NGL,NN,ITY,NEL,NG,JJ,
505 . P0ARSZ2,WASZ2,IPROP,NUVAR,IGTYP,NFT,I
509 IF (outp_rs(2) == 1)
THEN
514 ngl = ngl + dd_iad(ispmd+1,nn)
521 igtyp = igeo(11,iprop)
525 ELSEIF (igtyp == 12)
THEN
527 ELSEIF (igtyp == 8 .OR. igtyp == 13 .OR. igtyp == 25
528 . .OR. igtyp == 23 )
THEN
530 ELSEIF (igtyp == 26)
THEN
532 ELSEIF (igtyp == 29 .OR. igtyp == 30 .OR. igtyp == 31 .OR.
533 . igtyp == 32 .OR. igtyp == 33 .OR. igtyp == 35 .OR.
534 . igtyp == 36 .OR. igtyp == 44 .OR. igtyp == 45 .OR.
547 siz_write_loc(nn) = jj
549 siz_write_loc(nspgroup+1) = wasz