41 . IXT,ITRUOFF,IXP,IPOUOFF,IXR,IRESOFF,
42 . IXTG,ITRIOFF,FXBIPM,LSUBMODEL)
54#include "implicit_f.inc"
64 INTEGER ITABM1(*),FXBIPM(NBIPM,*)
65 INTEGER IXS(NIXS,*),ISOLOFF(*),
66 * ixc(nixc,*),isheoff(*),
67 * ixt(nixt,*),itruoff(*),
68 * ixp(nixp,*),ipouoff(*),
69 * ixr(nixr,*),iresoff(*),
70 * ixtg(nixtg,*),itrioff(*)
75 INTEGER NFX,ID,NMOD,NMST,NBNO,NME,NTR,ADRGLM,
76 . ADRCP,ADRLM,ADRFLS,ADRDLS,ADRVAR,ADRRPM,IMOD,INO,I,LEN,
77 . nlig,nres,ilig,adrcp2,ir,adrnod,numno(10),idamp,ishell,
78 . adrmcd,iblo,ifile,imin,imax
81 INTEGER II,NALL,LENGTH,FLAG,SIZE_STIFF,SIZE_MASS
82 my_real rdum1,rdum2,rdum3,rdum4,rdum5
83 CHARACTER(LEN=NCHARTITLE) :: TITR
84 CHARACTER :: MESS*40,NWLINE*100,FXBFILE*100,EXTENSION*3
86 INTEGER,
DIMENSION(:),
ALLOCATABLE :: ITAG
88 INTEGER :: LEN_TMP_NAME
89 CHARACTER(len=2148) :: TMP_NAME
90 LOGICAL :: IS_AVAILABLE
96 ALLOCATE (itag(numnod))
108 is_available = .false.
124 . option_titr = titr)
127 CALL hm_get_intv(
'node_IDm',idum1 ,is_available,lsubmodel)
128 CALL hm_get_intv(
'Imin' ,imin ,is_available,lsubmodel)
129 CALL hm_get_intv(
'Imax' ,imax ,is_available,lsubmodel)
134 length = len_trim(fxbfile)
135 IF (length > 2) extension = fxbfile(length-2:length)
137 IF ((extension ==
"pch").OR.(extension ==
"PCH"))
THEN
141 . size_mass,itabm1,fxbfile,id,titr)
145 IF (itag(i) > 0)
THEN
151 fxbipm(42,nfx) = size_stiff
152 fxbipm(43,nfx) = size_mass
161 OPEN(unit=ificm,file=tmp_name(1:len_tmp_name),
162 . access=
'SEQUENTIAL',form=
'FORMATTED',
163 . status=
'OLD',err=999)
165 CALL fxrline(ificm,nwline,id,titr)
166 READ(nwline,fmt=
'(7I8)',err=9999)
167 . nmod, nmst, nbno, ishell, idamp, iblo, ifile
169 IF (ishell == 0)
THEN
175 IF (imax == 0) imax = nmod
177 imax =
min(nmod,imax)
179 adrmcd = adrmcd+nme*nme
184 CALL fxrline(ificm,nwline,id,titr)
185 READ(nwline,
'(10I8)',err=9999)
188 nod = usr2sys(numno(i),itabm1,mess,id)
193 CALL fxrline(ificm,nwline,id,titr)
194 READ(nwline,
'(10I8)',err=9999)
195 . (numno(i),i=1,nres)
197 nod = usr2sys(numno(i),itabm1,mess,id)
203 CALL fxrline(ificm,nwline,id,titr)
204 READ(nwline,
'(5F16.0)',err=9999)
205 . rdum1,rdum2,rdum3,rdum4,rdum5
206 CALL fxrline(ificm,nwline,id,titr)
207 READ(nwline,
'(5F16.0)',err=9999)
208 . rdum1,rdum2,rdum3,rdum4,rdum5
211 CALL fxrline(ificm,nwline,id,titr)
212 READ(nwline,
'(2F16.0)',err=9999)
221 CALL fxrline(ificm,nwline,id,titr)
222 CALL fxrline(ificm,nwline,id,titr)
228 CALL fxrline(ificm,nwline,id,titr)
229 CALL fxrline(ificm,nwline,id,titr)
238 CALL fxrline(ificm,nwline,id,titr)
239 READ(nwline,
'(5F16.0)',err=9999)
240 . rdum1,rdum2,rdum3,rdum4,rdum5
243 CALL fxrline(ificm,nwline,id,titr)
244 READ(nwline,
'(5F16.0)',err=9
245 . rdum1,rdum2,rdum3,rdum4,rdum5
250 len = nmst*(2*nmod-nmst+1)/2
254 CALL fxrline(ificm,nwline,id,titr)
255 READ(nwline,
'(5F16.0)',err=9999)
259 CALL fxrline(ificm,nwline,id,titr)
260 READ(nwline,
'(5F16.0)',err=9999)
261 . rdum1,rdum2,rdum3,rdum4,rdum5
265 IF ((nmod-nmst) > 0)
THEN
270 CALL fxrline(ificm,nwline,id,titr)
271 READ(nwline,
'(5F16.0)',err=9
272 . rdum1,rdum2,rdum3,rdum4,rdum5
275 CALL fxrline(ificm,nwline,id,titr)
276 READ(nwline,
'(5F16.0)',err=9999)
277 . rdum1,rdum2,rdum3,rdum4,rdum5
289 CALL fxrline(ificm,nwline,id,titr)
290 READ(nwline,
'(5F16.0)',err=9999)
291 . rdum1,rdum2,rdum3,rdum4,rdum5
294 CALL fxrline(ificm,nwline,id,titr)
295 READ(nwline,
'(5F16.0)',err=9999)
296 . rdum1,rdum2,rdum3,rdum4,rdum5
306 CALL fxrline(ificm,nwline,id,titr)
307 READ(nwline,
'(5F16.0)',err=9999)
308 . rdum1,rdum2,rdum3,rdum4,rdum5
311 CALL fxrline(ificm,nwline,id,titr)
312 READ(nwline,
'(5F16.0)',err=9999)
313 . rdum1,rdum2,rdum3,rdum4,rdum5
322 CALL fxrline(ificm,nwline,id,titr)
323 READ(nwline,
'(5F16.0)',err=9999)
324 . rdum1,rdum2,rdum3,rdum4,rdum5
327 CALL fxrline(ificm,nwline,id,titr)
328 READ(nwline,
'(5F16.0)',err=9999)
329 . rdum1,rdum2,rdum3,rdum4,rdum5
339 lennod = lennod + nbno
340 lenmat = lenmat + size_stiff + size_mass
344 nall = itag(ixs(2,ii)) * itag(ixs(3,ii)) *
345 + itag(ixs(4,ii)) * itag(ixs(5,ii)) *
346 + itag(ixs(6,ii)) * itag(ixs(7,ii)) *
347 + itag(ixs(8,ii)) * itag(ixs(9,ii))
356 + itag(ixc(4,ii)) * itag(ixc(5,ii))
364 nall = itag(ixt(2,ii)) * itag(ixt(3,ii))
372 nall = itag(ixp(2,ii)) * itag(ixp(3,ii))
380 nall = itag(ixr(2,ii)) * itag(ixr(3,ii))
388 nall = itag(ixtg(2,ii)) * itag(ixtg(3,ii)) * itag(ixtg(4,ii))
397 IF (
ALLOCATED(itag))
DEALLOCATE (itag)
401 IF (
ALLOCATED(itag))
DEALLOCATE (itag)
4039999
CALL ancmsg(msgid=566,
410 IF (
ALLOCATED(itag))
DEALLOCATE (itag)
subroutine ancmsg(msgid, msgtype, anmode, i1, i2, i3, i4, i5, i6, i7, i8, i9, i10, i11, i12, i13, i14, i15, i16, i17, i18, i19, i20, r1, r2, r3, r4, r5, r6, r7, r8, r9, c1, c2, c3, c4, c5, c6, c7, c8, c9, prmode)