80 INTEGER,
PARAMETER :: NBMAXNSHARE = 10
82 INTEGER,
PARAMETER :: MAXNPROC = 100000
83 INTEGER,
PARAMETER :: MAXADDCH = 10
84 INTEGER,
PARAMETER :: MAXVAR = 100
85 INTEGER,
PARAMETER :: MAXALLVARLENGTH = 3200
88 INTEGER NELEM, NPOIN, NDP, NELEM2, NPOIN2, NDUM
91 INTEGER,
ALLOCATABLE :: IKLES(:)
92 INTEGER,
ALLOCATABLE :: IKLES3D(:)
93 INTEGER,
ALLOCATABLE :: IRAND(:)
95 REAL,
ALLOCATABLE :: F(:,:)
100 INTEGER TIME(3), DATE(3)
102 CHARACTER(LEN=80) :: TITLE
103 CHARACTER(LEN=32) :: VARI
104 CHARACTER(LEN=PATH_LEN) :: NAMEINP
107 INTEGER ISTOP, ISTART, ILOOP
108 INTEGER I_LEN, I_S, I_SP, I_LENINP
115 INTEGER,
ALLOCATABLE :: EPART(:), NPART(:)
145 INQUIRE (file=
'RESULT_SEQ_METIS',exist=is)
150 OPEN(unit=72,file=
'PARTEL.PAR')
157 INQUIRE (file=nameinp,exist=is)
159 WRITE (
lu,
'('' FILE DOES NOT EXIST: '',A30)') nameinp
167 IF (nameinp(i_sp-i:i_sp-i) .NE.
' ')
EXIT 174 WRITE(
lu,*)
'ATTENTION:' 175 WRITE(
lu,*)
'THE NAME OF THE INPUT FILE:' 177 WRITE(
lu,*)
'IS LONGER THAN ',
path_len,
' CHARACTERS' 178 WRITE(
lu,*)
'WHICH IS THE LONGEST APPLICABLE NAME FOR TELEMAC ' 179 WRITE(
lu,*)
'INPUT AND OUTPUT FILES. STOPPED. ' 184 OPEN(ninp,file=nameinp,status=
'OLD',form=
'UNFORMATTED')
194 IF(vari(j:j).EQ.
' ') vari(j:j) =
'-' 197 IF (istop.GT.maxallvarlength)
THEN 198 WRITE(
lu,*)
'VARIABLE NAMES TOO LONG FOR STRIN ALLVAR' 199 WRITE(
lu,*)
'STOPPED.' 209 READ (ninp) (ib(i), i=1,10)
210 IF (ib(8).NE.0.OR.ib(9).NE.0)
THEN 211 WRITE(
lu,*)
'THIS IS A PARTIAL OUTPUT FILE' 212 WRITE(
lu,*)
'MAYBE MEET GRETEL BEFORE...' 216 IF (ib(10).EQ.1)
THEN 217 READ(ninp) date(1), date(2), date(3), time(1), time(2), time(3)
220 READ (ninp) nelem,npoin,ndp,ndum
223 nelem2 = nelem/(nplan-1)
224 IF (mod(npoin,nplan).NE.0)
THEN 225 WRITE (
lu,*)
'BUT NPOIN2 /= NPOIN3/NPLAN!' 229 IF (mod(nelem,(nplan-1)).NE.0)
THEN 230 WRITE (
lu,*)
'BUT NELEM2 /= NELEM3/NPLAN!' 241 ELSEIF (ndp.EQ.6)
THEN 252 ALLOCATE (ikles(nelem2*3),stat=err)
253 CALL check_allocate (err,
'IKLES')
255 ALLOCATE (ikles3d(nelem*ndp),stat=err)
256 CALL check_allocate (err,
'IKLES3D')
258 ALLOCATE (irand(npoin),stat=err)
259 CALL check_allocate (err,
'IRAND')
262 ALLOCATE (f(npoin,nvar+2),stat=err)
263 CALL check_allocate (err,
'IRAND')
268 READ(ninp) ((ikles((k-1)*ndp+j),j=1,ndp),k=1,nelem)
270 READ(ninp) ((ikles3d((k-1)*ndp+j),j=1,ndp),k=1,nelem)
273 ikles((k-1)*3+j)=ikles3d((k-1)*6+j)
278 READ(ninp) (irand(j),j=1,npoin)
279 READ(ninp) (f(j,1),j=1,npoin)
280 READ(ninp) (f(j,2),j=1,npoin)
293 READ(ninp) (f(j,k), j=1,npoin)
299 ALLOCATE (epart(nelem2),stat=err)
300 CALL check_allocate (err,
'EPART')
301 ALLOCATE (npart(npoin2),stat=err)
302 CALL check_allocate (err,
'NPART')
305 CALL partitioner(1, nelem2, npoin, 3, nparts, ikles, epart, npart)
307 OPEN(unit=256,file=
'RESULT_SEQ_METIS')
309 WRITE(256,*) epart(i)
integer, parameter path_len