Télécharger zonag.eso

Retour à la liste

Numérotation des lignes :

  1. C ZONAG SOURCE AM 18/03/13 21:15:05 9776
  2.  
  3. C====================================================================
  4. C localisation de points dans des elements d une zone elementaire
  5. C zonage et construction d un tableau de correspondance
  6. C
  7. C Entrees :
  8. C ip1 pointeur sur le maillage elementaire massif
  9. C ip2 pointeur sur le maillage poi1
  10. C iexx pointeur sur un segment contenant les points deja vus
  11. C (eviter comptage des points aux frontieres de 2 sous zones
  12. C et le traitement des points qui sont des noeuds de ip1)
  13. C ITR : COMPTEUR MIS A JOUR DANS ZONAG
  14. C Sorties :
  15. C iccoun pointeur sur le segment ICOUNT contenant le tableau de
  16. C correspondance suivant
  17. C IEINT(1,N) numero du point du meleme IP2
  18. C IEINT(2,N) numero de l element du meleme IP1 le contenant
  19. C IEINT(3,N) numero de la souszone ISZ correspondant a IP1
  20. C MAXPZ nombre de points de IP2 contenus dans la s_zone (N max)
  21. C====================================================================
  22. SUBROUTINE ZONAG(ISZ,IP1,IP2,ICCOUN,IEXX,ITR)
  23.  
  24. IMPLICIT INTEGER(I-N)
  25. IMPLICIT REAL*8 (A-H,O-Z)
  26.  
  27. -INC CCOPTIO
  28. -INC CCREEL
  29. -INC CCGEOME
  30.  
  31. -INC SMCOORD
  32. -INC SMELEME
  33.  
  34. DATA EPSI/1.D-5/
  35.  
  36. SEGMENT iexclu
  37. INTEGER IDEJVU(nbpti)
  38. ENDSEGMENT
  39.  
  40. SEGMENT icount
  41. INTEGER NBPTOT
  42. INTEGER MAXPZ(nbsz)
  43. INTEGER IEINT(3,NODES)
  44. REAL*8 QQQ(3,NODES)
  45. ENDSEGMENT
  46.  
  47. SEGMENT inomil(0)
  48.  
  49. segment wrk4
  50. real*8 qsi(3),xel(3,nbnn),shpp(6,nbnn)
  51. endsegment
  52. segment wrkl
  53. real*8 shpl(6,nbnnl),xell(3,nbnnl)
  54. endsegment
  55.  
  56. SEGMENT ISEG1
  57. REAL*8 XLIM(2,NBEL),YLIM(2,NBEL),ZLIM(2,NBEL)
  58. ENDSEGMENT
  59. SEGMENT ISEG3
  60. INTEGER NIZO(NZO+1), NUMZO(NZO), IDEJ(NZO)
  61. ENDSEGMENT
  62. SEGMENT ISEG5
  63. INTEGER NNMEL(ILON)
  64. ENDSEGMENT
  65.  
  66. DIMENSION XPU(3)
  67.  
  68. IDIM1 = IDIM + 1
  69. * write(ioimp,*) 'ZONAGE',isz,ip1,ip2
  70.  
  71. IPT2 = IP2
  72. C* SEGACT IPT2 <- Actif en E/S et non modifie
  73. NODES = IPT2.NUM(/2)
  74.  
  75. IPT1 = IP1
  76. C* SEGACT IPT1 <- Actif en E/S et non modifie
  77. NBNN1 = IPT1.NUM(/1)
  78. NBEL1 = IPT1.NUM(/2)
  79. KELE1 = IPT1.ITYPEL
  80.  
  81. ** write(ioimp,*) 'ZONAGE',nbnn1,nbel1,kele1, nodes
  82.  
  83. icount = ICCOUN
  84. C* SEGACT,icount*MOD <- Actif en E/S en etat modifiable
  85.  
  86. iexclu = IEXX
  87. C* SEGACT,iexclu*MOD <- Actif en E/S en etat modifiable
  88.  
  89. NBEL = NBEL1
  90. SEGINI ISEG1
  91.  
  92. XZO = 0.D0
  93. YZO = 0.D0
  94. ZZO = 0.D0
  95. XZA = XGRAND
  96. YZA = XGRAND
  97. ZZA = XGRAND
  98. XTOMI = +XGRAND
  99. XTOMA = -XGRAND
  100. YTOMI = +XGRAND
  101. YTOMA = -XGRAND
  102. ZTOMI = +XGRAND
  103. ZTOMA = -XGRAND
  104. D_X = 0.D0
  105. D_Y = 0.D0
  106. D_Z = 0.D0
  107. DO 200 I1 = 1, NBEL1
  108. XMI = +XGRAND
  109. XMA = -XGRAND
  110. YMI = +XGRAND
  111. YMA = -XGRAND
  112. ZMI = +XGRAND
  113. ZMA = -XGRAND
  114. DO I2 = 1, NBNN1
  115. IB = IPT1.NUM(I2,I1)
  116. c* iexclu.IDEJVU(IB) = 2 <- Deja fait dans ACCRO.eso
  117. IA = (IB-1)*IDIM1
  118. XMI = MIN(XMI,XCOOR(IA+1))
  119. XMA = MAX(XMA,XCOOR(IA+1))
  120. YMI = MIN(YMI,XCOOR(IA+2))
  121. YMA = MAX(YMA,XCOOR(IA+2))
  122. IF (IDIM.EQ.3) THEN
  123. ZMI = MIN(ZMI,XCOOR(IA+3))
  124. ZMA = MAX(ZMA,XCOOR(IA+3))
  125. ENDIF
  126. ENDDO
  127. XLIM(1,I1) = XMI
  128. XLIM(2,I1) = XMA
  129. YLIM(1,I1) = YMI
  130. YLIM(2,I1) = YMA
  131. D_X = XMA - XMI
  132. XZO = MAX(XZO,D_X)
  133. XZA = MIN(XZA,D_X)
  134. XTOMI = MIN(XMI,XTOMI)
  135. XTOMA = MAX(XMA,XTOMA)
  136. D_Y = YMA - YMI
  137. YZO = MAX(YZO,D_Y)
  138. YZA = MIN(YZA,D_Y)
  139. YTOMI = MIN(YMI,YTOMI)
  140. YTOMA = MAX(YMA,YTOMA)
  141. IF (IDIM.EQ.3) THEN
  142. ZLIM(1,I1)=ZMI
  143. ZLIM(2,I1)=ZMA
  144. D_Z = ZMA - ZMI
  145. ZZO = MAX(ZZO,D_Z)
  146. ZZA = MIN(ZZA,D_Z)
  147. ZTOMI = MIN(ZMI,ZTOMI)
  148. ZTOMA = MAX(ZMA,ZTOMA)
  149. ENDIF
  150. 200 CONTINUE
  151. D_X = 1.D-4 * (XTOMA - XTOMI)
  152. XPR = MIN(XZO*1.D-2, D_X*0.5D0)
  153. XTOMI = XTOMI - D_X
  154. XTOMA = XTOMA + D_X
  155. D_X = XTOMA - XTOMI
  156. XZA = MIN(XZA*0.97D0, D_X)
  157. NXZO = D_X / XZA + 1
  158. XZO = XZA
  159. c
  160. D_Y = 1.D-4 * (YTOMA - YTOMI)
  161. YPR = MIN(YZO*1.D-2, D_Y*0.5D0)
  162. YTOMI = YTOMI - D_Y
  163. YTOMA = YTOMA + D_Y
  164. D_Y = YTOMA - YTOMI
  165. YZA = MIN(YZA*0.97D0, D_Y)
  166. NYZO = D_Y / YZA + 1
  167. YZO = YZA
  168. c*d WRITE(6,FMT='('' NXZO NYZO'',2I7)') NXZO,NYZO
  169. NZZO = 1
  170. IF (IDIM.EQ.3) THEN
  171. D_Z = (ZTOMA - ZTOMI) * 1.D-4
  172. ZPR = MIN(ZZO*1.D-2, 0.5D0*D_Z)
  173. ZTOMI = ZTOMI - D_Z
  174. ZTOMA = ZTOMA + D_Z
  175. D_Z = ZTOMA - ZTOMI
  176. ZZA = MIN(ZZA*0.97D0, D_Z)
  177. IF (ZZA.EQ.0.D0) THEN
  178. NZZO = 1
  179. ELSE
  180. NZZO = D_Z / ZZA + 1
  181. ENDIF
  182. ZZO = ZZA
  183. c*d WRITE(6,FMT='('' zz0,zzA,ztomi,ztoma'',4e12.5)')
  184. c*d $ xzo,xza,ztomi,ztoma
  185. ENDIF
  186. c*d WRITE(6,*) XTOMI, XTOMA
  187. c*d WRITE(6,*) YTOMI ,YTOMA
  188. c*d WRITE(6,*) ZTOMI ,ZTOMA
  189. IF (D_X.LT.EPSI) THEN
  190. XTOMA = XTOMA + EPSI/2
  191. XTOMI = XTOMI - EPSI/2
  192. XZO = EPSI
  193. D_X = XTOMA - XTOMI
  194. ENDIF
  195. IF (D_Y.LT.EPSI) THEN
  196. YTOMA = YTOMA + EPSI/2
  197. YTOMI = YTOMI - EPSI/2
  198. YZO = EPSI
  199. D_Y = YTOMA - YTOMI
  200. ENDIF
  201. IF (IDIM.EQ.3) THEN
  202. IF (D_Z.LT.EPSI) THEN
  203. ZTOMA = ZTOMA + EPSI/2
  204. ZTOMI = ZTOMI - EPSI/2
  205. ZZO = EPSI
  206. D_Z = ZTOMA - ZTOMI
  207. ENDIF
  208. ENDIF
  209. C_______________________________
  210. NXDEP = MIN(NXZO,10)
  211. NYDEP = MIN(NYZO,10)
  212. IF (IDIM.EQ.2) THEN
  213. r_z = FLOAT(NXZO)*FLOAT(NYZO)
  214. IF (r_z.GT.100000.) THEN
  215. XY=SQRT(r_z)/90
  216. NXZO=MAX(INT(NXZO/XY),NXDEP)
  217. NYZO=MAX(INT(NYZO/XY),NYDEP)
  218. r_z = FLOAT(NXZO)*FLOAT(NYZO)
  219. IF (r_z.GT.100000.) THEN
  220. XY=SQRT(r_z)/60
  221. NXZO=MAX(INT(NXZO/XY),NXDEP)
  222. NYZO=MAX(INT(NYZO/XY),NYDEP)
  223. ENDIF
  224. XZO= D_X /NXZO
  225. YZO= D_Y /NYZO
  226. NXZO = D_X /XZO +1
  227. NYZO = D_Y /YZO +1
  228. ENDIF
  229. c*d WRITE(6,FMT='('' XZO NXZO YZO NYZO '' , E12.5,I5,E12.5,I5)')
  230. c*d $ XZO ,NXZO, YZO, NYZO
  231. ELSE
  232. NZDEP=MIN(NZZO,10)
  233. r_z = FLOAT(NXZO)*FLOAT(NYZO)*FLOAT(NZZO)
  234. IF (r_z .GT.250000.) THEN
  235. XYZ = r_z**0.33333333D0/25
  236. NXZO=MAX(INT(NXZO/XYZ),NXDEP)
  237. NYZO=MAX(INT(NYZO/XYZ),NYDEP)
  238. NZZO=MAX(INT(NZZO/XYZ),NZDEP)
  239. r_z = FLOAT(NXZO)*FLOAT(NYZO)*FLOAT(NZZO)
  240. IF (r_z.GT.250000.) THEN
  241. XYZ = r_z**0.3333333333D0/25
  242. NXZO=MAX(INT(NXZO/XYZ),NXDEP)
  243. NYZO=MAX(INT(NYZO/XYZ),NYDEP)
  244. NZZO=MAX(INT(NZZO/XYZ),NZDEP)
  245. c*d IF(IIMPI.NE.0)WRITE(IOIMP,FMT='('' NXZO NYZO NZZO ''
  246. c*d $ ,4I7) ') NXZO,NYZO,NZZO
  247. r_z = FLOAT(NXZO)*FLOAT(NYZO)*FLOAT(NZZO)
  248. IF (r_z.GT.250000.) THEN
  249. XYZ = r_z**0.3333333333D0/25
  250. NXZO=MAX(INT(NXZO/XYZ),NXDEP)
  251. NYZO=MAX(INT(NYZO/XYZ),NYDEP)
  252. NZZO=MAX(INT(NZZO/XYZ),NZDEP)
  253. ENDIF
  254. ENDIF
  255. XZO=D_X / NXZO
  256. YZO=D_Y / NYZO
  257. ZZO=D_Z / NZZO
  258. NXZO= D_X / XZO +1
  259. NYZO= D_Y / YZO +1
  260. NZZO= D_Z / ZZO +1
  261. ENDIF
  262. ENDIF
  263. *
  264. * ON VEUT CONSTRUIRE LA LISTE DES ELEMENTS TOUCHANT UNE ZONE
  265. * POUR CELA ON COMMENCE PAR COMPTER COMBIEN D'ELEMENTS TOUCHENT
  266. * CHAQUE ZONE ET EN MEME TEMPS ON STOCKE LES ZONES TOUCHEES
  267. * PAR CHAQUE ELEMENT ET LEUR NOMBRE
  268. NXYZO = NXZO*NYZO
  269. NZO = NXYZO*NZZO
  270. c*d WRITE(IOIMP,FMT='('' NZO NXZO NYZO NZZO ''
  271. c*d $,4I7) ') NZO,NXZO,NYZO,NZZO
  272.  
  273. SEGINI ISEG3
  274.  
  275. DO 230 I1=1,NBEL1
  276. NIZ1X = INT( (XLIM(1,I1)-XTOMI-XPR) / XZO ) + 1
  277. NIZ1Y = INT( (YLIM(1,I1)-YTOMI-YPR) / YZO ) + 1
  278. NIZ2X = INT( (XLIM(2,I1)-XTOMI+XPR) / XZO ) + 1
  279. NIZ2Y = INT( (YLIM(2,I1)-YTOMI+YPR) / YZO ) + 1
  280. IF(IDIM.EQ.3) THEN
  281. NIZ1Z=INT((ZLIM(1,I1)-ZTOMI-ZPR)/ZZO) +1
  282. NIZ2Z=INT((ZLIM(2,I1)-ZTOMI+ZPR)/ZZO) +1
  283. DO 231 L3=NIZ1Z,NIZ2Z
  284. DO 2311 L1=NIZ1Y,NIZ2Y
  285. DO 23111 L2=NIZ1X,NIZ2X
  286. NIZA = L2 + ( L1-1) * NXZO + ( L3-1)*NXYZO
  287. NUMZO(NIZA) = NUMZO(NIZA) +1
  288. 23111 CONTINUE
  289. 2311 CONTINUE
  290. 231 CONTINUE
  291. ELSE
  292. DO 232 L1=NIZ1Y,NIZ2Y
  293. DO 2321 L2=NIZ1X,NIZ2X
  294. NIZA = L2 + ( L1-1) * NXZO
  295. NUMZO(NIZA) = NUMZO(NIZA) +1
  296. 2321 CONTINUE
  297. 232 CONTINUE
  298. ENDIF
  299. 230 CONTINUE
  300. *
  301. * CONSTRUCTION DU TABLEAU D'ADRESSAGE DU TABLEAU DONNANT LES
  302. * ELEMENTS CONCERNES PAR UNE ZONE
  303. *
  304. ILON=0
  305. NIZO(1)=1
  306. DO 240 L1=1,NZO
  307. NIZO(L1+1)=NIZO(L1)+NUMZO(L1)
  308. ILON=ILON+ NUMZO(L1)
  309. 240 CONTINUE
  310. C WRITE(6,FMT='('' ILON '',I5)') ILON
  311. C WRITE(6,109) (KKK,NUMZO(KKK),(NELZO(KI,KKK),KI=1,4),KKK=1,NBEL)
  312. C 109 FORMAT(I6,I5,4I5)
  313. C WRITE(6,110)( NIZO(KI),KI=1,NZO+1)
  314. C 110 FORMAT(16I5)
  315.  
  316. SEGINI ISEG5
  317.  
  318. DO 250 I1=1,NBEL
  319. NIZ1X=INT((XLIM(1,I1)-XTOMI-XPR)/XZO) +1
  320. NIZ1Y=INT((YLIM(1,I1)-YTOMI-YPR)/YZO) +1
  321. NIZ2X=INT((XLIM(2,I1)-XTOMI+XPR)/XZO) +1
  322. NIZ2Y=INT((YLIM(2,I1)-YTOMI+YPR)/YZO) +1
  323. IF(IDIM.EQ.3) THEN
  324. NIZ1Z=INT((ZLIM(1,I1)-ZTOMI-ZPR)/ZZO) +1
  325. NIZ2Z=INT((ZLIM(2,I1)-ZTOMI+ZPR)/ZZO) +1
  326. DO 251 L3=NIZ1Z,NIZ2Z
  327. DO 2511 L1=NIZ1Y,NIZ2Y
  328. DO 25111 L2=NIZ1X,NIZ2X
  329. NIZA = L2 + (L1-1) * NXZO + (L3-1)*NXYZO
  330. IAD=NIZO(NIZA)+IDEJ(NIZA)
  331. NNMEL(IAD)=I1
  332. IDEJ(NIZA)=IDEJ(NIZA)+1
  333. 25111 CONTINUE
  334. 2511 CONTINUE
  335. 251 CONTINUE
  336. ELSE
  337. DO 252 L1=NIZ1Y,NIZ2Y
  338. DO 2521 L2=NIZ1X,NIZ2X
  339. NIZA = L2 + ( L1-1) * NXZO
  340. IAD=NIZO(NIZA)+IDEJ(NIZA)
  341. NNMEL(IAD)=I1
  342. IDEJ(NIZA)=IDEJ(NIZA)+1
  343. 2521 CONTINUE
  344. 252 CONTINUE
  345. ENDIF
  346. 250 CONTINUE
  347. *
  348. nbnn = NBNN1
  349. C
  350. segini wrk4
  351. segini inomil
  352. C element quaf ? si oui kell=numero lineaire correspondant
  353. C si non kell=0
  354. CALL NQF2NL(KELE1,kell)
  355. IF (IERR.NE.0) RETURN
  356. IF (KELL.NE.0) THEN
  357. nsom = nbsom(KELE1)
  358. nbnnl = NBNNE(kell)
  359. IF (nsom.NE.nbnnl) THEN
  360. call erreur(5)
  361. return
  362. endif
  363. idx = nspos(KELE1)-1
  364. segini wrkl
  365. do i=1,nbnnl
  366. inomil(**)=i
  367. enddo
  368. ELSE
  369. kd = kdegre(KELE1)
  370. C element quadratiques
  371. if (kd.eq.3) then
  372. nso = nbsom(KELE1)
  373. idx = nspos(KELE1)-1
  374. do 762 i=1,nbnn
  375. do 763 j=1,nso
  376. iso = ibsom(idx+j)
  377. if (i.eq.iso) goto 762
  378. 763 continue
  379. inomil(**)= i
  380. 762 continue
  381. C elements lineaires
  382. else if (kd.eq.2) then
  383. do i=1,nbnn
  384. inomil(**)=i
  385. enddo
  386. endif
  387. ENDIF
  388. C write(6,*) (inomil(i),i=1,inomil(/1))
  389.  
  390. C* IA1 = 0
  391. C* IF (KELE1.EQ.14 .OR. KELE1.EQ.15) IA1 = 1
  392. C* IF (KELE1.EQ.16 .OR. KELE1.EQ.17) IA1 = 7
  393.  
  394. C on va tourner sur les elements poi1
  395.  
  396.  
  397. DO 2 K = 1, NODES
  398. IP = IPT2.NUM(1,K)
  399. C write(ioimp,*) 'on cherche l element contenant le noeud' ,ip
  400. IF (iexclu.IDEJVU(IP).NE.0) GOTO 2
  401.  
  402. IREFP = (IP-1) * IDIM1
  403. XPU(1) = XCOOR(IREFP+1)
  404. IF (XPU(1).LT.XTOMI.OR.XPU(1).GT.XTOMA) GOTO 2
  405. XPU(2) = XCOOR(IREFP+2)
  406. IF (XPU(2).LT.YTOMI.OR.XPU(2).GT.YTOMA) GOTO 2
  407. XPU(3) = 0.D0
  408. IF (IDIM.EQ.3) THEN
  409. XPU(3) = XCOOR(IREFP+3)
  410. IF (XPU(3).LT.ZTOMI.OR.XPU(3).GT.ZTOMA) GOTO 2
  411. ENDIF
  412. INDZO=INT((XPU(1)-XTOMI)/XZO)+ 1 +INT((XPU(2)-YTOMI)/YZO)*NXZO
  413. IF (IDIM.EQ.3) INDZO=INDZO+INT((XPU(3)-ZTOMI)/ZZO)*NXZO*NYZO
  414. IDEB = NIZO(INDZO)
  415. IFIN = NIZO(INDZO+1)-1
  416. C write(6,fmt='('' ideb ifin'',2i5)') ideb,ifin ,indzo
  417. IF (IDEB.GT.IFIN) GO TO 2
  418. C
  419. ITROU = 1
  420. C-------------------------------------------------
  421. DO 11 KK = IDEB,IFIN
  422. jkk = NNMEL(KK)
  423.  
  424. * write(6,*) ' '
  425. * write(6,*) 'recherche point ',ip, 'ds elem ',jkk,'itrou',ITROU
  426.  
  427. C Dans le cas "ACCRO", on cherche tout d'abord si le noeud
  428. C appartient aux deux maillages car si oui on ne le stocke pas dans
  429. C les noeuds a traiter ensuite (pas de rigidite a construire)
  430. C Deja fait auparavant !
  431. c* DO jl = 1, NBNN1
  432. c* IF (IP.EQ.IPT1.NUM(jl,jkk)) THEN
  433. c* ITROU = 2
  434. c* GOTO 19
  435. c* ENDIF
  436. c* ENDDO
  437.  
  438. CALL DOXE(xcoor,idim,nbnn,ipt1.num,jkk,xel)
  439. * cas quaf
  440. IF (kell.NE.0) THEN
  441. DO innl = 1, nbnnl
  442. jl = ibsom(idx+innl)
  443. DO iid = 1, idim
  444. xell(iid,innl) = xel(iid,jl)
  445. ENDDO
  446. ENDDO
  447. CALL qsijs(xell,kell,nbnnl,idim,xpu,SHPL,qsi,iret)
  448. CALL qsijs2(xel,KELE1,nbnn,idim,xpu,SHPP,qsi,iret)
  449. ELSE
  450. CALL qsijs(xel,KELE1,nbnn,idim,xpu,SHPP,qsi,iret)
  451. ENDIF
  452. IF (IRET.NE.0) GOTO 11
  453. C
  454. C write(6,fmt='(8E12.5)')(shpp(1,ih),ih=1,nbnn)
  455. if (kell.ne.0) then
  456. do i=1,inomil(/1)
  457. ilp= inomil(i)
  458. if( shpl(1,ilp).lt.0.D0) goto 11
  459. enddo
  460. else
  461. do i=1,inomil(/1)
  462. ilp= inomil(i)
  463. if (shpp(1,ilp).lt.0.D0) goto 11
  464. enddo
  465. endif
  466. GOTO 100
  467. 11 CONTINUE
  468. C on n a rien trouve pour ce point
  469. ITROU = 0
  470. 100 CONTINUE
  471.  
  472. 19 CONTINUE
  473. IF (ITROU.EQ.1) THEN
  474. C on a trouve l element contenant le point K attention
  475. iexclu.IDEJVU(ip) = 1
  476. itr = itr + 1
  477. icount.IEINT(1,itr) = IP
  478. icount.IEINT(2,itr) = JKK
  479. icount.IEINT(3,itr) = ISZ
  480. icount.QQQ(1,itr) = qsi(1)
  481. icount.QQQ(2,itr) = qsi(2)
  482. icount.QQQ(3,itr) = qsi(3)
  483. * write(6,*) 'trouve point' ,IP, 'Element' ,JKK
  484. C write(6,2375)ip,j,(xpu(i1),i1=1,idim),(qsi(i2),i2=1,idim)
  485. 2375 format(2i4,6e12.5)
  486. C* ELSE IF (ITROU.EQ.2) THEN
  487. C* iexclu.IDEJVU(ip) = 2
  488. C*C write(6,*) 'trouve point' ,IP, 'noeud Element' ,jll,JKK
  489. ENDIF
  490.  
  491. 2 CONTINUE
  492.  
  493.  
  494. icount.MAXPZ(ISZ) = ITR - ICOUNT.NBPTOT
  495. icount.NBPTOT = ITR
  496.  
  497. segsup wrk4,inomil
  498. IF (KELL.NE.0) SEGSUP wrkl
  499. SEGSUP,ISEG1,ISEG5,ISEG3
  500. C
  501. C le tableau des correspondances est termine
  502. C
  503. C* SEGDES,IPT1,IPT2 <- Actifs en E/S et non modifies
  504. C* SEGDES,icount,iexclu <- Actifs en E/S et modifies
  505.  
  506. RETURN
  507. END
  508.  
  509.  
  510.  
  511.  

© Cast3M 2003 - Tous droits réservés.
Mentions légales