38 SUBROUTINE hist13(IPARG ,IXS ,IXQ ,IXC ,IXT ,
39 2 IXP ,IXR ,ITAB ,PM ,
40 3 NPBY ,IXTG ,IRFE ,LACCELM,
41 4 IPARI ,IPART,ITHGRP ,ITHBUF,CHRUN_OLD,NAMES_AND_TITLES)
50#include "implicit_f.inc"
68 INTEGER IPARG(NPARG,*), IXS(NIXS,*), IXQ(NIXQ,*),
69 . IXC(NIXC,*), IXT(NIXT,*), IXP(NIXP,*), IXR(NIXR,*),
70 . ixtg(nixtg,*),itab(*),
71 . ipari(npari,*),laccelm(3,*),ipart(lipart1,*), npby(nnpby,*),
72 . ithgrp(nithgr,*), ithbuf(*)
76 TYPE(NAMES_AND_TITLES_),
INTENT(IN) :: NAMES_AND_TITLES
80 INTEGER ITITLE(80), IFILNAM(2148), ICODE, I, NJOINV, ,
81 . NG, II, N, IH, ITY, NEL, NFT, K, MTN, NACCELV,NINTERS,
84 CHARACTER EOR*8, *8, FILNAM*100, BLA*7
85 CHARACTER(LEN=LTITLE) :: CARD
86 my_real,
DIMENSION(20) :: TITLE
87 INTEGER :: LEN_TMP_NAME
88 CHARACTER(len=2148) :: TMP_NAME
89 INTEGER,
DIMENSION(20) :: TEXT
90 INTEGER NGLV, NMTV, NINV, NRWV, NRBV, NNODV, NSCV, NELQV, NELSV, NELCV, NELTV, NELPV, NELRV, NELTGV, NELURV
91 INTEGER,
dimension(:),
allocatable :: IWA
107 IF(ityp==101)ninters = ninters + nn
110 filnam=rootnam(1:rootlen)//
'T'//chrun_old
122 OPEN(unit=iuhis,file=tmp_name(1:len_tmp_name),
123 . access=
'SEQUENTIAL',
124 . form=
'UNFORMATTED',status=
'UNKNOWN')
125 ELSEIF(itform==1.OR.itform==2)
THEN
126 OPEN(unit=iuhis,file=tmp_name(1:len_tmp_name),
127 . access='sequential
',
128 . FORM='formatted
',STATUS='unknown
')
129 ELSEIF(ITFORM==3)THEN
131 IFILNAM(I)=ICHAR(TMP_NAME(I:I))
134 CALL OPEN_C(IFILNAM,LEN_TMP_NAME,0)
135 ELSEIF(ITFORM==4)THEN
137 IFILNAM(I)=ICHAR(TMP_NAME(I:I))
140 CALL OPEN_C(IFILNAM,LEN_TMP_NAME,3)
142 ELSEIF(ITFORM==5)THEN
144 IFILNAM(I)=ICHAR(TMP_NAME(I:I))
147 CALL OPEN_C(IFILNAM,LEN_TMP_NAME,6)
152 READ(CARD,'(20a4)
')TITLE
153 WRITE(IUHIS)ICODE,TITLE
154 ELSEIF(ITFORM==1)THEN
156 WRITE(IUHIS,'(a)
')FILNAM(1:ROOTLEN+3)
157 WRITE(IUHIS,'(2a)
')CH8,CARD(1:72)
158 ELSEIF(ITFORM==2)THEN
159 WRITE(IUHIS,'(2a)
')FILNAM(1:ROOTLEN+3),' format
'
160 WRITE(IUHIS,'(a,i5,a,i5,a)
')EOR,1,'i
',72,'c
'
161 WRITE(IUHIS,'(i5,a)
')ICODE,CARD(1:72)
162 ELSEIF(ITFORM==3)THEN
164 5 ITITLE(I)=ICHAR(CARD(I:I))
166 CALL WRITE_I_C(ICODE,1)
167 CALL WRITE_C_C(ITITLE,80)
171.AND.
IF(NSMAT/=0INVSTR<40) THEN
173 IF(ALLOCATED(IWA)) DEALLOCATE(IWA)
174 ALLOCATE(IWA(NUMMAT))
179 IF(IPART(8,N)>=1) IWA(IPART(1,N))=1
208 IF(ALLOCATED(IWA)) DEALLOCATE(IWA)
234 IF (NSECT ==0 ) IWA(24)=NSFLSW
247 CALL WRTDES(IWA,IWA,35,ITFORM,0)
248 IF(ALLOCATED(IWA)) DEALLOCATE(IWA)
249 ALLOCATE(IWA(2*NUMMAT + NPART))
258 IF(IPART(8,N)>=1)THEN
279 CALL WRTDES(IWA,IWA,NSMAT,ITFORM,0)
282 IF(ALLOCATED(IWA)) DEALLOCATE(IWA)
284 ALLOCATE(IWA(NINTERS))
298 CALL WRTDES(IWA,IWA,NINTERS,ITFORM,0)
302 IF(ALLOCATED(IWA)) DEALLOCATE(IWA)
303 ALLOCATE(IWA(NRWALL))
309 CALL WRTDES(IWA,IWA,NRWALL,ITFORM,0)
315 IF(ALLOCATED(IWA)) DEALLOCATE(IWA)
326 IWA(II)=ITAB(NPBY(1,I))
331 CALL WRTDES(IWA,IWA,NSRBY,ITFORM,0)
336 IF(ALLOCATED(IWA)) DEALLOCATE(IWA)
343 CALL WRTDES(IWA,IWA,NSECT,ITFORM,0)
344 ELSEIF(NSFLSW/=0) THEN
345 IF(ALLOCATED(IWA)) DEALLOCATE(IWA)
346 ALLOCATE(IWA(NSFLSW))
352 CALL WRTDES(IWA,IWA,NSFLSW,ITFORM,0)
356 IF(ALLOCATED(IWA)) DEALLOCATE(IWA)
357 ALLOCATE(IWA(NJOINT))
363 CALL WRTDES(IWA,IWA,NJOINT,ITFORM,0)
366 IF(NRBAG+NVOLU/=0) THEN
367 IF(ALLOCATED(IWA)) DEALLOCATE(IWA)
368 ALLOCATE(IWA(NRBAG+NVOLU))
374 CALL WRTDES(IWA,IWA,NRBAG+NVOLU,ITFORM,0)
379 IF(ALLOCATED(IWA)) DEALLOCATE(IWA)
380 ALLOCATE(IWA(NACCELM))
384 CALL WRTDES(IWA,IWA,NACCELM,ITFORM,0)
401 IF(ALLOCATED(IWA)) DEALLOCATE(IWA)
417 CALL WRTDES(IWA,IWA,II,ITFORM,0)
429 MTN=NINT(PM(19,IXS(1,I)))
435 IF(ALLOCATED(IWA)) DEALLOCATE(IWA)
445 MTN=NINT(PM(19,IXS(1,I)))
453 CALL WRTDES(IWA,IWA,II,ITFORM,0)
465 MTN=NINT(PM(19,IXQ(1,I)))
473 IF(ALLOCATED(IWA)) DEALLOCATE(IWA)
483 MTN=NINT(PM(19,IXQ(1,I)))
492 CALL WRTDES(IWA,IWA,II,ITFORM,0)
504 MTN=NINT(PM(19,IXC(1,I)))
510 IF(ALLOCATED(IWA)) DEALLOCATE(IWA)
520 MTN=NINT(PM(19,IXC(1,I)))
528 CALL WRTDES(IWA,IWA,II,ITFORM,0)
540 MTN=NINT(PM(19,IXTG(1,I)))
542 IWA(II)=IXTG(NIXTG,I)
548 IF(ALLOCATED(IWA)) DEALLOCATE(IWA)
558 MTN=NINT(PM(19,IXTG(1,I)))
560 IWA(II)=IXTG(NIXTG,I)
567 CALL WRTDES(IWA,IWA,II,ITFORM,0)
579 MTN=NINT(PM(19,IXT(1,I)))
585 IF(ALLOCATED(IWA)) DEALLOCATE(IWA)
595 MTN=NINT(PM(19,IXT(1,I)))
603 CALL WRTDES(IWA,IWA,II,ITFORM,0)
615 MTN=NINT(PM(19,IXP(1,I)))
621 IF(ALLOCATED(IWA)) DEALLOCATE(IWA)
631 MTN=NINT(PM(19,IXP(1,I)))
640 CALL WRTDES(IWA,IWA,II,ITFORM,0)
655 ELSEIF(ITYP==100) THEN
663 IF(ALLOCATED(IWA)) DEALLOCATE(IWA)
678 ELSEIF(ITYP==100) THEN
682 IWA(II)=ITHBUF(J+2*NN)
688 CALL WRTDES(IWA,IWA,II,ITFORM,0)
subroutine hist13(iparg, ixs, ixq, ixc, ixt, ixp, ixr, itab, pm, npby, ixtg, irfe, laccelm, ipari, ipart, ithgrp, ithbuf, chrun_old, names_and_titles)