Télécharger assem2.eso

Retour à la liste

Numérotation des lignes :

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

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