Télécharger assem2.eso

Retour à la liste

Numérotation des lignes :

  1. C ASSEM2 SOURCE PV 17/07/19 21:15:01 9508
  2. SUBROUTINE ASSEM2(ITRAV1,ITOPO1,INUIN1,IMINI1,MMMTRI,IPO1,INCTR1
  3. $ ,IITOP1)
  4. C
  5. C **** SUBROUTINE POUR FAIRE L'ASSEMBLAGE DE MATRICES SYMETRIQUES
  6. C EN VUE D'UN TRAITEMENT PAR METHODE DE KROUT.
  7. C
  8. C EN ENTREE:
  9. C **** ITRAV1 : POINTEUR OBJET MRIGIDITE
  10. C **** ITOPO1 : POINTEUR SEGMENT DE TRAVAIL ITOPO ( VOIR ASSEM1)
  11. C **** IITOP1 : POINTEUR SEGMENT DE TRAVAIL IITOP ( VOIR ASSEM1)
  12. C **** INUIN1 : POINTEUR SEGMENT DE TRAVAIL INUINV(VOIR ASSEM1)
  13. C **** IMINI1 : POINTEUR SEGMENT DE TRAVAIL IMINI (VOIR ASSEM1)
  14. C **** IPO1 : POINTEUR SEGMENT DE TRAVAIL IPOS (VOIR ASSEM1)
  15. C **** MMMTRI : POINTEUR OBJET MATRICE TRIANGULARISEE (NON MODIFIE)
  16. C (VOIR SMMATRI)
  17. *
  18. * modif janvier 2015 toutes les inconnues d'un noeud commencent à la même colonne
  19. *
  20. IMPLICIT REAL*8 (A-H,O-Z)
  21. IMPLICIT INTEGER(I-N)
  22. -INC CCOPTIO
  23. -INC SMELEME
  24. -INC SMRIGID
  25. -INC SMMATRI
  26. -INC CCREEL
  27. SEGMENT,INUINV(NNGLOB)
  28. SEGMENT,ITOPO(IENNO)
  29. SEGMENT,IITOP(NNOE+1)
  30. SEGMENT,IMINI(INC)
  31. SEGMENT,IPOS(NNOE1)
  32. SEGMENT,INCTRR(NIRI)
  33. SEGMENT,INCTRA(NLIGRE)
  34. SEGMENT,IPV(NNOE)
  35. SEGMENT,VMAX(INC)
  36.  
  37. C
  38. C **** CES TABLEAUX SERVENT AU REPERAGE DE LA MATRICE POUR L'ASSEMBLAG
  39. C **** IL SERONT TOUS SUPPRIMES EN FIN D'ASSEMBLAGE.
  40. C
  41. **
  42. SEGMENT,IVAL(NNN)
  43. SEGMENT,ITRA(NNN,2)
  44. SEGMENT TRATRA
  45. REAL*8 XTRA(INCRED,INCDIF)
  46. INTEGER LTRA(INC,INCDIF)
  47. INTEGER NTRA(INCRED,INCDIF)
  48. INTEGER MTRA(INCDIF)
  49. ENDSEGMENT
  50. C **** IVAL(I)=J : LA I EME LIGNE D'UNE PETITE MATRICE S'ASSEMBLE
  51. C DANS LA J EME DE LA GRANDE.
  52. C **** ITRAV(I,1)=J : LA IEME INCONNUE DU NOEUD EN COURS D'ASSEMBLAGE
  53. C ET QUI SE TROUVE DANS LA PETITE MATRICE SE TROUVE
  54. C EN J EME POSITION DE LA PETITE MATRICE.
  55. C **** ITRAV(I,2) : LA IEME INCONNUE DU NOEUD EN COURS D'ASSEMBLAGE
  56. C PRESENT DANS LA PETITE MATRICE EST EN JEME
  57. C POSITION DANS LA GRANDE
  58. SEGMENT,RA(N1,N1)*D
  59. SEGMENT JNOMUL
  60. LOGICAL INOMUL(NNR)
  61. ENDSEGMENT
  62. REAL*8 DMAX,COER,DDDD,DMAXY,DMAXGE
  63. LOGICAL NOMUL
  64. *
  65. * PV ON ACTIVE UNE FOIS POUR TOUTES LES MELEME DESCR... DE LA RIGIDITE
  66. * ON EN PROFITE POUR CREER INOMUL
  67. C
  68. C **** RECHERCHE DE LA DIMENSION MAX DE IVAL,ET SEGINI DE IVAL ET ITRA
  69. C
  70. INCTRR=INCTR1
  71. SEGACT,INCTRR
  72. MRIGID=ITRAV1
  73. SEGACT,MRIGID
  74. NNR=IRIGEL(/2)
  75. NNN=0
  76. SEGINI JNOMUL
  77. DO 1 IRI=1,NNR
  78. INCTRA=INCTRR(IRI)
  79. SEGACT INCTRA
  80. DESCR=IRIGEL(3,IRI)
  81. SEGACT, DESCR
  82. IPT1=IRIGEL(1,IRI)
  83. SEGACT IPT1
  84. * XMATRI=IRIGEL(4,IRI)
  85. * SEGACT XMATRI
  86. NA=LISINC(/2)
  87. NNN=MAX(NA,NNN)
  88. INOMUL(IRI)=.TRUE.
  89. IF(IPT1.ITYPEL.EQ.22) INOMUL(IRI)=.FALSE.
  90. 1 CONTINUE
  91. SEGINI,IVAL
  92. SEGINI,ITRA
  93. C
  94. C **** ACTIVATION DES SEGMENTS DE TRAVAILS ET DE MMATRI
  95. C
  96. IMINI=IMINI1
  97. SEGACT,IMINI
  98. N1=IMINI(/1)
  99. ITOPO=ITOPO1
  100. SEGACT,ITOPO
  101. IITOP=IITOP1
  102. SEGACT,IITOP
  103. INUINV=INUIN1
  104. SEGACT,INUINV
  105. IPOS=IPO1
  106. SEGACT,IPOS
  107. NNOE=IPOS(/1)-1
  108. INC=IPOS(NNOE+1)
  109. MMATRI=MMMTRI
  110. SEGACT,MMATRI*MOD
  111. SEGINI,MDIAG
  112. SEGINI,MILIGN
  113. IILIGN=MILIGN
  114. IDIAG=MDIAG
  115. MINCPO=IINCPO
  116. SEGACT,MINCPO
  117. INCDIF=INCPO(/1)
  118. MIMIK=IIMIK
  119. SEGACT,MIMIK
  120. SEGINI IPV
  121. INCRED=0
  122. DO 80 INO =1,NNOE
  123. ICOMPT=0
  124. MAXELE = (IITOP(INO+1)-IITOP(INO))/2
  125. DO 81 IELE=1,MAXELE
  126. IIU=IITOP(INO) + IELE + IELE -2
  127. IEL=ITOPO(IIU)
  128. IRI=ITOPO(IIU+1)
  129. MELEME=IRIGEL(1,IRI)
  130. DO 83 I=1,NUM(/1)
  131. IP=INUINV(NUM(I,IEL))
  132. IF (IP.GT.INO) GOTO 83
  133. IF (IPV(IP).EQ.INO) GOTO 83
  134. IPV(IP)=INO
  135. ICOMPT=ICOMPT+1
  136. 83 CONTINUE
  137. 81 CONTINUE
  138. INCRED=MAX(INCRED,ICOMPT)
  139. 80 CONTINUE
  140. SEGSUP IPV
  141. INCRED=INCRED*INCDIF
  142. SEGINI TRATRA
  143. segini vmax
  144. C
  145. C **** BOUCLE *100* SUR LES NUMEROS DE NOEUDS QUE L'ON ASSEMBLE
  146. C
  147. LLVNUL=0
  148. IJMAX=0
  149. NJTOT=0
  150. NNOE=IPOS(/1)-1
  151. DNORME=0.
  152. SEGINI MDNOR
  153. IDNORM=MDNOR
  154. *
  155. * en cas de normalisation des variables.
  156. *
  157. IF(NORINC.NE.0) THEN
  158. inwuit=0
  159. CALL ASSE10(ITRAV1,1,MDNOR,MIMIK,MINCPO,INUIN1,inwuit)
  160. ELSE
  161. DO 53 IU=1,INC
  162. DNOR(IU)=1.d0
  163. 53 CONTINUE
  164. ENDIF
  165. * On balaye les noeuds dans l'ordre des elements
  166. DO 100 JR=1,IRIGEL(/2)
  167. IPT6=IRIGEL(1,JR)
  168. DO 100 JL=1,IPT6.num(/2)
  169. DO 100 JP=1,IPT6.num(/1)
  170. INO=INUINV(IPT6.NUM(JP,JL))
  171. ** DO 100 INO=1,NNOE
  172. IF (ILIGN(INO).NE.0) GOTO 100
  173. DO 101 IIT=1,INCDIF
  174. MTRA(IIT)=0
  175. 101 CONTINUE
  176. IPRE=IPOS(INO)+1
  177. IDER=IPOS(INO+1)
  178. LLVVA=0
  179. C
  180. C **** BOUCLE *99* SUR LES ELEMENTS TOUCHANT LE NOEUD INO
  181. C POUR LES ELEMNTS MULTIPLICATEUR ON NE FAIT PAS
  182. C L'ASSEMBLAGE
  183. C
  184. MAXELE= (IITOP(INO+1) -IITOP(INO))/2
  185. DO 99 IELE=1,MAXELE
  186. IIU=IITOP(INO) + IELE + IELE - 2
  187. IEL=ITOPO(IIU)
  188. IRI=ITOPO(IIU+1)
  189. MELEME=IRIGEL(1,IRI)
  190. DESCR=IRIGEL(3,IRI)
  191. INCTRA=INCTRR(IRI)
  192. XMATRI=IRIGEL(4,IRI)
  193. SEGACT XMATRI
  194. COER=COERIG(IRI)
  195. C
  196. C **** NOMUL =.FALSE. IL EXISTE UN MULTUIPLICATEUR
  197. C **** INITIALISATION DE IVAL. IVAL(I)=J VEUT DIRE QUE
  198. C **** LA I EME LIGNE DE LA PETITE MATRICE S'ASSEMBLE DANS
  199. C **** LA J EME DE LA GRANDE MATRICE.
  200. C
  201. NIN=LISINC(/2)
  202. NOMUL=INOMUL(IRI)
  203. NA=0
  204. DO 98 ICO=1,NIN
  205. IJA=INUINV(NUM(NOELEP(ICO),IEL))
  206. IJB=INCTRA(ICO)
  207. IVAL(ICO)=INCPO(IJB,IJA)
  208. IF(IJA.NE.INO) GO TO 98
  209. NA=NA+1
  210. ITRA(NA,1)=ICO
  211. ITRA(NA,2)=IVAL(ICO)
  212. 98 CONTINUE
  213. * XMATRI=IMATTT(IEL)
  214. * SEGACT,XMATRI
  215. C
  216. C **** BOUCLE *85* SUR LES INCONNUES DE LA PETITE MATRICE
  217. C
  218. DO 95 IK=1,NIN
  219. IO=IVAL(IK)
  220. IF(IO.GT.IDER) GO TO 95
  221. IPOO=IK*NIN - NIN
  222. DO 90 INCC=1,NA
  223. INCO=ITRA(INCC,2)
  224. IF(IO.GT.INCO) GO TO 90
  225. ILOC=INCO-IPRE+1
  226. JJ=ITRA(INCC,1)
  227. * IF(IK.LE.JJ) THEN
  228. * IPO=(JJ*(JJ-1))/2+IK
  229. * ELSE
  230. * IPO=(IK*(IK-1))/2+JJ
  231. * ENDIF
  232. IPO=IPOO+JJ
  233. ILTT= LTRA(IO,ILOC)
  234. IF(ILTT.EQ.0) THEN
  235. LLVVA=LLVVA+1
  236. IMMTT=MTRA(ILOC)+1
  237. MTRA(ILOC)=IMMTT
  238. XTRA(IMMTT,ILOC)=0.D0
  239. NTRA(IMMTT,ILOC)=IO
  240. LTRA(IO,ILOC)=IMMTT
  241. ILTT=IMMTT
  242. ENDIF
  243. xr = (re(ik,jj,iel)+xpetit)/(re(jj,ik,iel)+xpetit)
  244. if (xr.lt.1.d0-5*xzprec.or.xr.gt.1.d0+5*xzprec) call erreur(1044)
  245. if (ierr.ne.0) return
  246. IF(NOMUL) THEN
  247. XTRA(ILTT,ILOC)=XTRA(ILTT,ILOC)+RE(IK,JJ,IEL)*COER
  248. ENDIF
  249. 90 CONTINUE
  250. 95 CONTINUE
  251. SEGDES,XMATRI
  252. 99 CONTINUE
  253. C
  254. C *** COMPACTAGE DES LIGNES, EN MEME TEMPS CALCUL DE IJMAXQUI SERA
  255. C *** LA DIMENSION MAX D'UN SEGMENT LIGN.
  256. C *** LE SEGMENT ASSOCIE A UNE LIGNE (SEGMENT LLIGN)EST DE LA FORME :
  257. C *** IMMMM(NA) PERMET DE SAVOIR SI UN MOUVENENT D'ENSEMBLE SUR LA
  258. C *** LIGNE EXISTE. IPPO(NA+1) DONNE LA POSITION DANS XXVA LA 1ERE
  259. C *** VALEUR DE LA LIGNE .XXVA VALEUR DE LA MATRICE.
  260. C *** LINC(I)DONNE LE NUMERO DE LA COLONNE DU IEME ELEM DE XXVA
  261. C
  262. NA = IDER-IPRE+1
  263. LLVNUL=LLVNUL+LLVVA
  264. SEGINI,LLIGN
  265. ILIGN(INO)=LLIGN
  266. NBA=0
  267. DO 120 JPA=1,NA
  268. IIIN=IPRE+JPA -1
  269. IMMMM(JPA)=IIIN
  270. IPPO(JPA)=NBA
  271. DO 121 IPAK = 1,MTRA(JPA)
  272. IUNPAK=NTRA(IPAK,JPA)
  273. LTRA(IUNPAK,JPA)=0
  274. NBA=NBA+1
  275. LINC(NBA)=IUNPAK
  276. XXVA(NBA)=XTRA(IPAK,JPA)
  277. ** write (6,*) 'assem2 iiin nba xxva(nba)',
  278. ** > iiin,nba,xxva(nba)
  279. vmax(iiin)=max(abs(xxva(nba)),vmax(iiin))
  280. IF(IIIN.EQ.IUNPAK) DIAG(IIIN)=XXVA(NBA)
  281. 121 CONTINUE
  282. 120 CONTINUE
  283. IPPO(NA+1)= NBA
  284. NJMAX= 0
  285. * recherche du mini globale sur toutes les inconnues
  286. LPA=IPRE
  287. DO 126 JPA=IPRE,IDER
  288. IPNO(JPA)=INO
  289. IPDE=IPPO(JPA-IPRE+1)+1
  290. IPDF=IPPO(JPA-IPRE+2)
  291. DO 155 JHT=IPDE,IPDF
  292. LPA=MIN(LPA,LINC(JHT))
  293. 155 CONTINUE
  294. 126 CONTINUE
  295. DO 127 JPA=IPRE,IDER
  296. LDEB(JPA-IPRE+1)=LPA
  297. NNA= JPA- LPA +1
  298. NJMAX=NJMAX+NNA
  299. 127 continue
  300. NJTOT=NJTOT+NJMAX
  301. IF(IJMAX.LT.NJMAX) IJMAX=NJMAX
  302. SEGDES,LLIGN
  303. 100 CONTINUE
  304. SEGSUP TRATRA
  305. C
  306. C **** ON REPREND TOUTE LES MATRICES CONTENANT LES MULTIPLICATEURS
  307. C **** POUR MULTIPLIER TOUS LEURS TERMES PAR UNE NORME ATTACHEE
  308. C **** A CHAQUE MULTIPLICATEUR.PUIS ON LES ASSEMBLE.
  309. C
  310. * d'abord etablir une norme generale pour le cas ou on n'arrive pas
  311. * a calculer la norme particuliere
  312. DMAXGE=xpetit
  313. DO 378 I=1,INC
  314. ** write (6,*) ' assem2 diag vmav ',diag(i),vmax(i)
  315. DMAXGE=MAX(DMAXGE,abs(vmax(i)))
  316. 378 CONTINUE
  317. if (iimpi.ne.0 )
  318. > write (6,*) ' nb inconnues facteur multiplicatif general ',
  319. > INC,DMAXGE
  320. if (dmaxge.lt.xpetit/xzprec*10) dmaxge=1.d0
  321. IENMU=0
  322. 375 IENMU1 = IENMU
  323. IENMU=0
  324. DO 376 I=1,NNR
  325. IF(.NOT.INOMUL(I)) IENMU=IENMU+1
  326. 376 CONTINUE
  327. IF( IENMU.EQ.0) GO TO 3750
  328. MIMIK=IIMIK
  329. SEGACT,MIMIK
  330. DO 11 I=1,NNR
  331. IF(INOMUL(I)) GO TO 11
  332. DESCR=IRIGEL(3,I)
  333. N3=LISINC(/2)
  334. COER=COERIG(I)
  335. MELEME=IRIGEL(1,I)
  336. INCTRA=INCTRR(I)
  337. XMATRI=IRIGEL(4,I)
  338. SEGACT XMATRI
  339. N2=NUM(/2)
  340. IF (RE(/3).EQ.0) THEN
  341. INOMUL(I)=.TRUE.
  342. SEGDES XMATRI
  343. GOTO 11
  344. ENDIF
  345. * XMATRI=IMATTT(1)
  346. * SEGACT,XMATRI
  347. N1=RE(/1)
  348. if (n1.ne.re(/2)) call erreur(1044)
  349. if (ierr.ne.0) return
  350. SEGINI,RA
  351. DO 14 IEL=1,N2
  352. DO 15 ICO=1,N3
  353. IJA=INUINV(NUM(NOELEP(ICO),IEL))
  354. IJB=INCTRA(ICO)
  355. IVAL(ICO)=INCPO(IJB,IJA)
  356. 15 CONTINUE
  357. DMAX=xpetit
  358. if (n3.lt.3) then
  359. do ico=1,n3
  360. DMAX=MAX(DMAX,vmax(IVAL(ICO)))
  361. enddo
  362. endif
  363. DO 19 ICO=3,N3
  364. DMAX=MAX(DMAX,vmax(IVAL(ICO)))
  365. 19 CONTINUE
  366. ** write (6,*) ' assem2 dmax dmaxge ',dmax,dmaxge
  367. C AUX FINS D'EVITER DES PROBLEMES DANS LA DECOMPOSITION
  368. IF( IIMPI. EQ.1524 ) WRITE(IOIMP,7391)DMAX,IENMU,IENMU1
  369. 1,I,IEL
  370. 7391 FORMAT(' DMAX IENMU IENMU1 I IEL',1E12.5,4I3)
  371. ** write (6,*) ' assem2 dmax dmxge',dmax,dmaxge
  372. IF(DMAX.LE.xzprec*dmaxge.AND.IENMU.NE.IENMU1.AND.IEL.EQ.1)GOTO 377
  373. IF(DMAX.LE.xzprec*dmaxge) DMAX = DMAXGE
  374. * facteur de normalisation cf PV pour ne pas avoir de pivot nul
  375. DMAX=DMAX*1.5
  376. * on penalise la matrice en cas de resolution iterative
  377. **pv if (nucrou.eq.1) DMAX=DMAX*1D5
  378. ** write (6,*) ' assem2 i iel dmax ',i,iel,dmax
  379. * XMATRI=IMATTT(IEL)
  380. * SEGACT,XMATRI
  381. DMAXY=SQRT(XPETIT)*1D5
  382. if (norinc.eq.0) dmaxy=1.D0
  383. DO 821 ICO=3,N1
  384. DMAXY = MAX ( DMAXY, ABS( RE(ICO,1,IEL)))
  385. *82110 CONTINUE
  386. 821 CONTINUE
  387. * if (dmaxy.lt.1d-50) write (6,*) (re(ico,1),ico=1,n1)
  388. ** if (dmaxy.lt.1d+50)write (6,*)' assem2 dmax dmaxy ',
  389. ** > dmax,dmaxy,dmaxge
  390. DMAX = DMAX / DMAXY
  391. IF( IIMPI. EQ.1524 ) WRITE(IOIMP,7398) DMAX
  392. 7398 FORMAT(' facteur multiplicatif de norme ',e12.5)
  393. DO 21 ICO=1,N1
  394. DO 2110 IKO=1,N1
  395. RA(ICO,IKO)=RE(ICO,IKO,IEL)*DMAX*COER
  396. 2110 CONTINUE
  397. 21 CONTINUE
  398. ** write (6,*) ' dmax ',dmax
  399. ** si on ne booste pas l'egalite des mults on a des problemes de precision sur ceux ci
  400. if (norinc.eq.0) dmaxy=dmaxy*2.d0
  401. RA(1,1)=RA(1,1)*DMAXY
  402. RA(2,1)=RA(2,1)*DMAXY
  403. RA(1,2)=RA(1,2)*DMAXY
  404. RA(2,2)=RA(2,2)*DMAXY
  405. DO 22 ICO=1,2
  406. DNOR(IVAL(ICO))=DMAX
  407. 22 CONTINUE
  408. if (abs(dmax).gt. 1d50) write (6,*) ' assem2 dmax dmaxy ',dmax,
  409. > dmaxy,dmaxge
  410. DO 24 ICO=1,N3
  411. INO=INUINV(NUM(NOELEP(ICO),IEL))
  412. IO=IVAL(ICO)
  413. if (ico.eq.1) io1=io
  414. if (ico.eq.2) io2=io
  415. LLIGN=ILIGN(INO)
  416. SEGACT,LLIGN*MOD
  417. DIAG(IO)=DIAG(IO)+RA(ICO,ICO)
  418. DO 132 JLIJ=1,IMMMM(/1)
  419. JLIJ1=JLIJ
  420. IF( IMMMM(JLIJ).EQ.IO) GO TO 133
  421. 132 CONTINUE
  422. IF(IIMPI.EQ.1524) WRITE(IOIMP,7354)
  423. 7354 FORMAT( ' PREMIERE ERREUR 5')
  424. CALL ERREUR(5)
  425. RETURN
  426. 133 CONTINUE
  427. * IREE=ICO*N3-ICO
  428. DO 26 IRO=1,N3
  429. IA=IVAL(IRO)
  430. IF(IA.GT.IO) GO TO 26
  431. * IF(IRO.LE.ICO) IRE=(ICO*(ICO-1))/2+IRO
  432. * IF(IRO.GT.ICO) IRE=(IRO*(IRO-1))/2+ICO
  433. JLT=IPPO(JLIJ1+1)
  434. JLD=IPPO(JLIJ1)+1
  435. DO 134 JL=JLD,JLT
  436. JL1=JL
  437. IF(LINC(JL).EQ.IA) GO TO 135
  438. 134 CONTINUE
  439. IF(IIMPI.NE.1524) WRITE(IOIMP,7355)
  440. 7355 FORMAT( ' DEUXIEME ERREUR 5')
  441. CALL ERREUR(5)
  442. RETURN
  443. 135 CONTINUE
  444. XXVA(JL1)=XXVA(JL1)+RA(ICO,IRO)
  445. 26 CONTINUE
  446. SEGDES,LLIGN
  447. 24 CONTINUE
  448. * on stocke dans ittr les couples de LX
  449. ittr(io1)=io2
  450. ittr(io2)=io1
  451. 14 CONTINUE
  452. INOMUL(I)=.TRUE.
  453. 377 CONTINUE
  454. SEGSUP,RA
  455. 11 CONTINUE
  456. GO TO 375
  457. 3750 CONTINUE
  458. DO 18 IK=1,NNR
  459. INCTRA=INCTRR(IK)
  460. SEGSUP,INCTRA
  461. 18 CONTINUE
  462. * PV ON DESACTIVE TOUT
  463. NNR=IRIGEL(/2)
  464. DO 2 IRI=1,NNR
  465. DESCR=IRIGEL(3,IRI)
  466. SEGDES DESCR
  467. IPT1=IRIGEL(1,IRI)
  468. SEGDES IPT1
  469. XMATRI=IRIGEL(4,IRI)
  470. SEGDES XMATRI
  471. 2 CONTINUE
  472.  
  473. INTERR(1)=NJTOT
  474. IF(IIMPI.EQ.1457) WRITE(IOIMP,4821) LLVNUL,NJTOT
  475. 4821 FORMAT(' NB DE VALEURS NON NULLES DANS LA MATRICE ',I9,/
  476. # ' NB DE VALEURS DANS LA MATRICE ',I9)
  477. IF(NORINC.NE.0) THEN
  478. CALL ASSE10(MRIGID,2,MDNOR,MIMIK,MINCPO,INUIN1,inwuit)
  479. SEGDES,MRIGID
  480. ELSE
  481. SEGDES,MRIGID
  482. ENDIF
  483. SEGSUP,INCTRR
  484. SEGDES,MDIAG
  485. SEGDES,MIMIK
  486. SEGDES,MDNOR
  487. SEGSUP,IMINI
  488. SEGSUP,ITOPO
  489. SEGSUP,IITOP
  490. SEGDES,MILIGN
  491. SEGSUP,INUINV
  492. SEGDES,MMATRI
  493. MMMTRI=MMATRI
  494. SEGDES,MINCPO
  495. SEGDES,IPOS
  496. SEGSUP,IVAL,ITRA,JNOMUL,vmax
  497. RETURN
  498. END
  499.  
  500.  
  501.  
  502.  
  503.  
  504.  
  505.  
  506.  
  507.  
  508.  
  509.  
  510.  
  511.  
  512.  
  513.  
  514.  
  515.  
  516.  
  517.  
  518.  
  519.  
  520.  
  521.  
  522.  
  523.  
  524.  
  525.  
  526.  
  527.  
  528.  
  529.  
  530.  
  531.  

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