39 SUBROUTINE hist13(IPARG ,IXS ,IXQ ,IXC ,IXT ,
40 2 IXP ,IXR ,ITAB ,PM ,
41 3 NPBY ,IXTG ,IRFE ,LACCELM,
42 4 IPARI ,IPART,ITHGRP ,ITHBUF,CHRUN_OLD,NAMES_AND_TITLES)
48 use element_mod ,
only : nixs,nixq,nixc,nixp,nixr,nixt,nixtg
52#include "implicit_f.inc"
70 INTEGER IPARG(NPARG,*), IXS(NIXS,*), IXQ(NIXQ,*),
71 . IXC(NIXC,*), IXT(NIXT,*), IXP(NIXP,*), IXR(NIXR,*),
72 . ixtg(nixtg,*),itab(*),
73 . ipari(npari,*),laccelm(3,*),ipart(lipart1,*), npby(nnpby,*),
74 . ithgrp(nithgr,*), ithbuf(*)
78 TYPE(NAMES_AND_TITLES_),
INTENT(IN) :: NAMES_AND_TITLES
82 INTEGER ITITLE(80), IFILNAM(2148), ICODE, I, NJOINV, NRBAGV,
83 . II, N, MTN, NACCELV,NINTERS,
86 CHARACTER EOR*8, CH8*8, FILNAM*100, BLA*7
87 CHARACTER(LEN=LTITLE) :: CARD
88 my_real,
DIMENSION(20) :: TITLE
89 INTEGER :: LEN_TMP_NAME
90 CHARACTER(len=2148) :: TMP_NAME
92 INTEGER NGLV, NMTV, NINV, NRWV, NRBV, NNODV, NSCV, NELQV, NELSV, NELCV, NELTV, NELPV, NELRV, NELTGV, NELURV
93 INTEGER,
dimension(:),
allocatable :: IWA
109 IF(ityp==101)ninters = ninters + nn
112 filnam=rootnam(1:rootlen)//
'T'//chrun_old
124 OPEN(unit=iuhis,file=tmp_name(1:len_tmp_name),
125 . access=
'SEQUENTIAL',
126 . form=
'UNFORMATTED',status=
'UNKNOWN')
127 ELSEIF(itform==1.OR.itform==2)
THEN
128 OPEN(unit=iuhis,file=tmp_name(1:len_tmp_name),
129 . access=
'SEQUENTIAL',
130 . form=
'FORMATTED',status=
'UNKNOWN')
131 ELSEIF(itform==3)
THEN
133 ifilnam(i)=ichar(tmp_name(i:i))
136 CALL open_c(ifilnam,len_tmp_name,0)
137 ELSEIF(itform==4)
THEN
139 ifilnam(i)=ichar(tmp_name(i:i))
142 CALL open_c(ifilnam,len_tmp_name,3)
144 ELSEIF(itform==5)
THEN
146 ifilnam(i)=ichar(tmp_name(i:i))
149 CALL open_c(ifilnam,len_tmp_name,6)
154 READ(card,
'(20A4)')title
155 WRITE(iuhis)icode,title
156 ELSEIF(itform==1)
THEN
158 WRITE(iuhis,
'(A)')filnam(1:rootlen+3)
159 WRITE(iuhis,'(2a)
')CH8,CARD(1:72)
160 ELSEIF(ITFORM==2)THEN
161 WRITE(IUHIS,'(2a)
')FILNAM(1:ROOTLEN+3),' format
'
162 WRITE(IUHIS,'(a,i5,a,i5,a)
')EOR,1,'i
',72,'c
'
163 WRITE(IUHIS,'(i5,a)
')ICODE,CARD(1:72)
164 ELSEIF(ITFORM==3)THEN
166 5 ITITLE(I)=ICHAR(CARD(I:I))
168 CALL WRITE_I_C(ICODE,1)
169 CALL WRITE_C_C(ITITLE,80)
173.AND.
IF(NSMAT/=0INVSTR<40) THEN
175 IF(ALLOCATED(IWA)) DEALLOCATE(IWA)
176 ALLOCATE(IWA(NUMMAT))
181 IF(IPART(8,N)>=1) IWA(IPART(1,N))=1
210 IF(ALLOCATED(IWA)) DEALLOCATE(IWA)
236 IF (NSECT ==0 ) IWA(24)=NSFLSW
249 CALL WRTDES(IWA,IWA,35,ITFORM,0)
250 IF(ALLOCATED(IWA)) DEALLOCATE(IWA)
251 ALLOCATE(IWA(2*NUMMAT + NPART))
260 IF(IPART(8,N)>=1)THEN
281 CALL WRTDES(IWA,IWA,NSMAT,ITFORM,0)
284 IF(ALLOCATED(IWA)) DEALLOCATE(IWA)
286 ALLOCATE(IWA(NINTERS))
300 CALL WRTDES(IWA,IWA,NINTERS,ITFORM,0)
304 IF(ALLOCATED(IWA)) DEALLOCATE(IWA)
305 ALLOCATE(IWA(NRWALL))
311 CALL WRTDES(IWA,IWA,NRWALL,ITFORM,0)
317 IF(ALLOCATED(IWA)) DEALLOCATE(IWA)
328 IWA(II)=ITAB(NPBY(1,I))
333 CALL WRTDES(IWA,IWA,NSRBY,ITFORM,0)
338 IF(ALLOCATED(IWA)) DEALLOCATE(IWA)
345 CALL WRTDES(IWA,IWA,NSECT,ITFORM,0)
346 ELSEIF(NSFLSW/=0) THEN
347 IF(ALLOCATED(IWA)) DEALLOCATE(IWA)
348 ALLOCATE(IWA(NSFLSW))
354 CALL WRTDES(IWA,IWA,NSFLSW,ITFORM,0)
358 IF(ALLOCATED(IWA)) DEALLOCATE(IWA)
359 ALLOCATE(IWA(NJOINT))
365 CALL WRTDES(IWA,IWA,NJOINT,ITFORM,0)
368 IF(NRBAG+NVOLU/=0) THEN
369 IF(ALLOCATED(IWA)) DEALLOCATE(IWA)
370 ALLOCATE(IWA(NRBAG+NVOLU))
376 CALL WRTDES(IWA,IWA,NRBAG+NVOLU,ITFORM,0)
381 IF(ALLOCATED(IWA)) DEALLOCATE(IWA)
382 ALLOCATE(IWA(NACCELM))
386 CALL WRTDES(IWA,IWA,NACCELM,ITFORM,0)
403 IF(ALLOCATED(IWA)) DEALLOCATE(IWA)
419 CALL WRTDES(IWA,IWA,II,ITFORM,0)
431 MTN=NINT(PM(19,IXS(1,I)))
437 IF(ALLOCATED(IWA)) DEALLOCATE(IWA)
447 MTN=NINT(PM(19,IXS(1,I)))
455 CALL WRTDES(IWA,IWA,II,ITFORM,0)
467 MTN=NINT(PM(19,IXQ(1,I)))
475 IF(ALLOCATED(IWA)) DEALLOCATE(IWA)
485 MTN=NINT(PM(19,IXQ(1,I)))
494 CALL WRTDES(IWA,IWA,II,ITFORM,0)
506 MTN=NINT(PM(19,IXC(1,I)))
512 IF(ALLOCATED(IWA)) DEALLOCATE(IWA)
522 MTN=NINT(PM(19,IXC(1,I)))
530 CALL WRTDES(IWA,IWA,II,ITFORM,0)
542 MTN=NINT(PM(19,IXTG(1,I)))
544 IWA(II)=IXTG(NIXTG,I)
550 IF(ALLOCATED(IWA)) DEALLOCATE(IWA)
560 MTN=NINT(PM(19,IXTG(1,I)))
562 IWA(II)=IXTG(NIXTG,I)
569 CALL WRTDES(IWA,IWA,II,ITFORM,0)
581 MTN=NINT(PM(19,IXT(1,I)))
587 IF(ALLOCATED(IWA)) DEALLOCATE(IWA)
597 MTN=NINT(PM(19,IXT(1,I)))
605 CALL WRTDES(IWA,IWA,II,ITFORM,0)
617 MTN=NINT(PM(19,IXP(1,I)))
623 IF(ALLOCATED(IWA)) DEALLOCATE(IWA)
633 MTN=NINT(PM(19,IXP(1,I)))
642 CALL WRTDES(IWA,IWA,II,ITFORM,0)
657 ELSEIF(ITYP==100) THEN
665 IF(ALLOCATED(IWA)) DEALLOCATE(IWA)
680 ELSEIF(ITYP==100) THEN
684 IWA(II)=ITHBUF(J+2*NN)
690 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)