Télécharger chasup.eso

Retour à la liste

Numérotation des lignes :

  1. C CHASUP SOURCE CB215821 18/09/11 21:15:06 9913
  2. SUBROUTINE CHASUP(IPMODL,IPOI1,IPOI2,IRET,IPLAC)
  3. C---------------------------------------------------------------------
  4.  
  5. C ENTREES:
  6. C
  7. C IPMODL Pointeur sur un MMODEL
  8. C IPOI1 Pointeur sur un MCHAML
  9. C IPLAC Indique le type de support demandé :
  10. C 1 scalaire aux NOEUDS
  11. C 2 scalaire au CENTRE DE GRAVITE
  12. C 3 scalaire aux points d'integration de la RAIDEUR
  13. C 4 scalaire aux points d'integration de la MASSE
  14. C 5 scalaire aux points de CONTRAINTES
  15. C
  16. C AM 14/6/07 SI IPLAC EST NEGATIF, ON RECUPERE UN CHAMP QUI
  17. C NE CONTIENT PAS LES COMPOSANTES COMPLEXES (NON SCALAIRES)
  18. C QU'ON A N'A PAS PU CHANGER
  19. C SINON, ON SORT EN ERREUR
  20. C
  21. C SORTIE:
  22. C
  23. C IPOI2 Pointeur sur un MCHAML
  24. C IRET =0 Si tout est ok
  25. C Sinon contient le numero d'erreur
  26. C
  27. C I.MONNIER le 31.05.90
  28. C
  29. C---------------------------------------------------------------------
  30. IMPLICIT INTEGER(I-N)
  31. IMPLICIT REAL*8(A-H,O-Z)
  32. -INC CCOPTIO
  33. -INC SMMODEL
  34. -INC SMCHAML
  35. -INC SMELEME
  36. -INC SMINTE
  37. -INC SMCOORD
  38. CHARACTER*8 CHARIN,CHARTY,MO8,MO24a,MO24b
  39. C
  40. SEGMENT SWORK
  41. REAL*8 VAL1(NBPGA1),VAL2(NBPGAU),VALN(NBNN)
  42. REAL*8 SHP(6,NBNN) ,XE(3,NBNN)
  43. ENDSEGMENT
  44. C
  45. SEGMENT SWORK2
  46. INTEGER LETAB(N22)
  47. ENDSEGMENT
  48. *
  49. * NBPGA1,NBPGAU DESIGNENT LES TAILLES MAX DES CHAMPS CH1 ET CH2
  50. * N1PTE1,N1PTEL DESIGNENT LES TAILLES EFFECTIVES DE CES CHAMPS
  51. *
  52. SEGMENT INFO
  53. INTEGER INFELL(JG)
  54. ENDSEGMENT
  55. C
  56. IRET =0
  57. IPOIN1=0
  58. C
  59. C ACTIVATION DU MODELE
  60. C
  61. MMODEL=IPMODL
  62. SEGACT MMODEL
  63. NSOUS1=KMODEL(/1)
  64. C
  65. C ACTIVATION DES MCHELM
  66. C
  67. MCHEL1 =IPOI1
  68. SEGACT MCHEL1
  69. NSOUS=MCHEL1.ICHAML(/1)
  70. IF(NSOUS.GT.NSOUS1)THEN
  71. * on va essayer de reduir le champ
  72. call reduaf(mchel1,mmodel,mchel2,0,ire,kerre)
  73. ** if (ire.ne.1) then
  74. ** call erreur(kerre)
  75. ** IRET=553
  76. ** SEGDES MMODEL,MCHEL1
  77. ** RETURN
  78. ** endif
  79. if (ire.eq.1) mchel1=mchel2
  80. SEGACT MCHEL1,mmodel
  81. NSOUS=MCHEL1.ICHAML(/1)
  82. ENDIF
  83. N1=NSOUS
  84. L1=MCHEL1.TITCHE(/1)
  85. N3=MCHEL1.INFCHE(/2)
  86. NINF=N3
  87. IF (N3.LT.6) N3=6
  88. SEGINI MCHELM
  89. TITCHE=MCHEL1.TITCHE
  90. IFOCHE=IFOUR
  91. IPOI2=MCHELM
  92. iresu=0
  93. C
  94. C ON BOUCLE SUR LES SOUS-ZONES DU MCHAML
  95. C
  96. DO 100 ISOUS=1,NSOUS
  97. *
  98. IMACHE(ISOUS)=MCHEL1.IMACHE(ISOUS)
  99. CONCHE(ISOUS)=MCHEL1.CONCHE(ISOUS)
  100. DO 191 IP=1,NINF
  101. INFCHE(ISOUS,IP)=MCHEL1.INFCHE(ISOUS,IP)
  102. 191 CONTINUE
  103. C
  104. C MISE EN CONCORDANCE DES POINTEURS DE MAILLAGE
  105. C
  106. MELEME=IMACHE(ISOUS)
  107. INS=0
  108. DO 151 IO=1,NSOUS1
  109. IMODEL=KMODEL(IO)
  110. SEGACT IMODEL
  111. CALL PLACE(FORMOD,FORMOD(/2),IDARC,'DARCY ')
  112. IPMAIL=IMAMOD
  113. C
  114. C CAS DE LA FORMULATION DARCY ON VA EXTRAIRE LE MAILLAGE SOMMET
  115. IF(IDARC.NE.0)THEN
  116. CALL LEKMOD(MMODEL,IPTABL,INEFMD)
  117. CHARIN = 'MAILLAGE'
  118. CALL LEKTAB(IPTABL,CHARIN, IOBRE)
  119. IF (IERR.NE.0) RETURN
  120. IPT1 = IOBRE
  121. IPMAIL= IOBRE
  122. segact ipt1
  123. IF(N1.GT.1.and.ipt1.lisous(/1).ge.n1)THEN
  124. SEGACT IPT1
  125. IPMAIL= IPT1.LISOUS(ISOUS)
  126. c SEGDES IPT1
  127. ENDIF
  128. ENDIF
  129. IF (IPMAIL.EQ.MELEME) INS=INS+1
  130. 151 CONTINUE
  131. DO 150 IO=1,NSOUS1
  132. IMODEL=KMODEL(IO)
  133. SEGACT IMODEL
  134. CALL PLACE(FORMOD,FORMOD(/2),IDARC,'DARCY ')
  135. IPMAIL=IMAMOD
  136. C
  137. C CAS DE LA FORMULATION DARCY ON VA EXTRAIRE LE MAILLAGE SOMMET
  138. IF(IDARC.NE.0)THEN
  139. CALL LEKMOD(MMODEL,IPTABL,INEFMD)
  140. CHARIN = 'MAILLAGE'
  141. CALL LEKTAB(IPTABL,CHARIN, IOBRE)
  142. IF (IERR.NE.0) RETURN
  143. IPT1 = IOBRE
  144. IPMAIL= IOBRE
  145. SEGACT IPT1
  146. IF(N1.GT.1.and.ipt1.lisous(/1).ge.n1)THEN
  147. IPMAIL= IPT1.LISOUS(ISOUS)
  148. C SEGDES IPT1
  149. ENDIF
  150. ENDIF
  151. MO24a=CONCHE(ISOUS)
  152. MO24b=CONMOD
  153. IF (IPMAIL.EQ.MELEME.AND.(INS.GE.1.OR.MO24a.EQ.MO24b))GOTO 160
  154. C SEGDES IMODEL
  155. 150 CONTINUE
  156. *
  157. IRET=472
  158. C SEGDES,MCHEL1
  159. * SEGDES,MMODEL
  160. SEGSUP MCHELM
  161. RETURN
  162. *
  163. 160 MELE=NEFMOD
  164.  
  165. * write(6,*) 'mele ',mele
  166. * on saute si element sans les supports
  167. if(mele.eq.22 ) go to 100
  168. if(mele.eq.259) go to 100
  169. if(mele.eq.107) go to 100
  170. if(mele.eq.165) go to 100
  171. if(mele.eq.261) go to 100
  172.  
  173. *
  174. * DANS LE CAS DES COQUES INTEGREES ON SORT EN ERREUR
  175. *
  176. IF (NINF.LT.4.OR.MCHEL1.INFCHE(ISOUS,4).EQ.0) THEN
  177. MINTE1=0
  178. IPLACA=0
  179. ELSE
  180. MINTE1=MCHEL1.INFCHE(ISOUS,4)
  181. IPLACA=MCHEL1.INFCHE(ISOUS,6)
  182. ENDIF
  183. * write(6,*) 'chasup minte1 ninf', ninf,minte1
  184. C
  185. if (formod(1).eq.'LIAISON ') then
  186. IPLAC1 = 1
  187. else
  188. IPLAC1 = ABS(IPLAC)
  189. C le modele contient t il de la thermique OU diffusion OU metallurgie ?
  190. C ==> le segment d'integration est particulier
  191. IF ( FORMOD(1).EQ.'THERMIQUE ' .OR.
  192. & FORMOD(1).EQ.'DIFFUSION ' .OR.
  193. & FORMOD(1).EQ.'METALLURGIE ' ) THEN
  194. nmat = matmod(/2)
  195. icov = 0
  196. C* CALL PLACE(matmod,nmat,icov,'CONVECTION')
  197. CALL PLACE(matmod,nmat,iray,'RAYONNEMENT ')
  198. IF (icov+iray.EQ.0) THEN
  199. IF ( IPLAC1 .NE. 1 ) IPLAC1 = 6
  200. ENDIF
  201. ENDIF
  202. endif
  203. C
  204. IF(IPLAC1.EQ.6)THEN
  205. CALL TSHAPE(MELE,'GAUSS',IPMINT)
  206. IF ( IERR .NE. 0) GOTO 665
  207. MINTE=IPMINT
  208. MELGEO=NUMGEO(MELE)
  209. ELSE
  210. if(2+iplac1.gt.infmod(/1))then
  211. CALL ELQUOI(MELE,0,IPLAC1,IPTR2,IMODEL)
  212. IF ( IERR .NE. 0) GOTO 665
  213. INFO=IPTR2
  214. MINTE=INFELL(11)
  215. MELGEO=INFELL(14)
  216. SEGSUP,INFO
  217. else
  218. minte=infmod(2+iplac1)
  219. MELGEO=INFELE(14)
  220. endif
  221. * write(6,*) ' apres zelquoi minte' , minte
  222. ENDIF
  223. INFCHE(ISOUS,4)=MINTE
  224. IF(IPLAC1.EQ.1)INFCHE(ISOUS,4)=0
  225. INFCHE(ISOUS,6)=IPLAC1
  226. C
  227. C ON RECUPERE LE NOMBRE D ELEMENTS
  228. C
  229. SEGACT MELEME
  230. NBNN =NUM(/1)
  231. NBELEM=NUM(/2)
  232. C
  233. C ON RECUPERE LE NOMBRE DE POINTS SUPPORT
  234. C NBPGA1 POUR L'ANCIEN CHAMP ET NBPGAU POUR LE NOUVEAU
  235. C
  236. IF(MINTE1.NE.0)THEN
  237. SEGACT MINTE1
  238. NBPGA1 = MINTE1.SHPTOT(/3)
  239. ELSE
  240. NBPGA1=NBNN
  241. ENDIF
  242. if (minte.eq.0) then
  243. call erreur(5)
  244. return
  245. endif
  246. SEGACT MINTE
  247. NBPGAU = SHPTOT(/3)
  248. nbpga1=max(nbpga1,nbpgau)
  249. * write(6,*) ' nbpgau,nbpga1',nbpgau,nbpga1
  250. C
  251. NEL =NBELEM
  252. SEGINI SWORK
  253. C
  254. C PREPARATION POUR CREATION DU MCHAML
  255. C
  256. MCHAM1=MCHEL1.ICHAML(ISOUS)
  257. SEGACT MCHAM1
  258. C
  259. N22 = MCHAM1.NOMCHE(/2)
  260. *
  261. * SI IPLAC < 0, ON CHERCHE LE NOMBRE DE COMPOSANTES A CONSERVER
  262. *
  263. SEGINI SWORK2
  264. *
  265. IF(IPLAC.GE.0) THEN
  266. N2 = N22
  267. DO ICOMP=1,N22
  268. LETAB(ICOMP) = ICOMP
  269. ENDDO
  270. *
  271. ELSE
  272. *
  273. * BOUCLE SUR LES COMPOSANTES
  274. *
  275. JECO = 0
  276. DO 170 ICOMP=1,N22
  277. C
  278. CHARTY=MCHAM1.TYPCHE(ICOMP)
  279. MELVA1=MCHAM1.IELVAL(ICOMP)
  280. SEGACT MELVA1
  281. LETAB(ICOMP) = 0
  282. *
  283. IF(CHARTY(1:6).EQ.'REAL*8') THEN
  284. JECO = JECO + 1
  285. LETAB(ICOMP) = JECO
  286. ENDIF
  287. *
  288. * cas de variables complexes
  289. *
  290. IF(CHARTY(1:8).EQ.'POINTEUR') THEN
  291. N2PTE1=MELVA1.IELCHE(/1)
  292. *
  293. * ... Comme on ne sait pas extrapoler ou interpoler de variables
  294. * composées, on n'en accepte qu'une par élément ...
  295.  
  296. IF(N2PTE1.EQ.1) THEN
  297. JECO = JECO + 1
  298. LETAB(ICOMP) = JECO
  299. ENDIF
  300. ENDIF
  301. ** SEGDES MELVA1
  302. 170 CONTINUE
  303. N2 = JECO
  304. *
  305. ENDIF
  306. *
  307. * CREATION DU MCHAML
  308. *
  309. SEGINI MCHAML
  310. iresu=iresu+1
  311. ICHAML(iresu)=MCHAML
  312. C
  313. C BOUCLE SUR LES COMPOSANTES EN ENTREE
  314. C
  315. DO 180 ICOMP=1,N22
  316. C
  317. JCOMP = LETAB(ICOMP)
  318. IF(JCOMP.EQ.0) GO TO 180
  319.  
  320. NOMCHE(JCOMP)=MCHAM1.NOMCHE(ICOMP)
  321. TYPCHE(JCOMP)=MCHAM1.TYPCHE(ICOMP)
  322. C
  323. MELVA1=MCHAM1.IELVAL(ICOMP)
  324. * write (6,*) ' dans chasup melva1 ',melva1
  325. SEGACT MELVA1
  326. *
  327. * RECHERCHE DES TAILLES DU NOUVEAU CHAMELEM - dans le cas scalaire
  328. *
  329. IF(TYPCHE(JCOMP)(1:6).EQ.'REAL*8') THEN
  330. N1PTE1=MELVA1.VELCHE(/1)
  331. IF (N1PTE1.EQ.1) THEN
  332. N1PTEL=1
  333. ELSE
  334. N1PTEL=NBPGAU
  335. ENDIF
  336. N1EL =MELVA1.VELCHE(/2)
  337. *
  338. * PETIT TEST DE COMPATIBILITE DES NOMBRES D'ELEMENTS
  339. *
  340. IF(N1EL.NE.NEL.AND.N1EL.NE.1.AND.NEL.NE.1) THEN
  341. ** SEGDES MELVA1,MELEME,IMODEL,MCHAM1
  342. SEGSUP SWORK,SWORK2,MCHAML
  343. IRET=146
  344. MOTERR(1:8)='CHASUP '
  345. GO TO 665
  346. ENDIF
  347. *
  348. N1PAUX=N1PTE1
  349. C
  350. C-----------------------------------------------------------------------
  351. C PETIT TEST POUR LE COQ4
  352. C SI LE NOMBRE DE POINTS DE GAUSS VAUT 5 , ON NE PREND QUE
  353. C LES 4 PREMIERS , LE 5-EME SERVANT UNIQUEMENT AU CISAILLEMENT
  354. C
  355. IF (MELE.EQ.49.AND.N1PAUX.EQ.5) N1PAUX=4
  356. C-----------------------------------------------------------------------
  357. C
  358. ELSE
  359. N1PTEL=0
  360. N1EL=0
  361. ENDIF
  362. *
  363. * ... Et dans le cas de variables complexes ...
  364. *
  365. IF(TYPCHE(JCOMP)(1:8).EQ.'POINTEUR') THEN
  366. N2PTE1=MELVA1.IELCHE(/1)
  367. IF (N2PTE1.EQ.1) THEN
  368. N2PTEL=1
  369. ELSE
  370. N2PTEL=NBPGAU
  371. ENDIF
  372. N2EL =MELVA1.IELCHE(/2)
  373. *
  374. * ... Comme on ne sait pas extrapoler ou interpoler de variables
  375. * composées, on n'en accepte qu'une par élément ...
  376.  
  377. * IF(N2PTEL.NE.1) THEN
  378. * SEGDES MELVA1,MELEME,IMODEL,MCHAM1
  379. * SEGSUP SWORK,SWORK2,MCHAML
  380. * IRET=755
  381. * GO TO 665
  382. * ENDIF
  383. *
  384. * PETIT TEST DE COMPATIBILITE DES NOMBRES D'ELEMENTS
  385. *
  386. IF(N2EL.NE.NEL.AND.N2EL.NE.1.AND.NEL.NE.1) THEN
  387. ** SEGDES MELVA1,MELEME,IMODEL,MCHAM1
  388. SEGSUP SWORK,SWORK2,MCHAML
  389. IRET=146
  390. MOTERR(1:8)='CHASUP '
  391. GO TO 665
  392. ENDIF
  393.  
  394. ELSE
  395. N2PTEL=0
  396. N2EL=0
  397. ENDIF
  398. SEGINI MELVAL
  399. IELVAL(JCOMP)=MELVAL
  400. *
  401. * TRAITEMENT IMMEDIAT SI CHAMP CONSTANT
  402. *
  403. * if(iplac1.eq.4) write(6,*)' n2ptel n1ptel',n2ptel,n1ptelq
  404. IF(n2ptel.ne.0) then
  405. IF(N2PTEL.EQ.1) THEN
  406. DO 4119 IEL=1,N2EL
  407. IELCHE(1,IEL)=MELVA1.IELCHE(1,IEL)
  408. 4119 CONTINUE
  409. C* ELSE IF (N2PTEL.NE.1) THEN
  410. ELSE
  411. IF (MINTE.NE.MINTE1. AND. IPLAC1.NE.IPLACA) THEN
  412. ** SEGDES MELVA1,MELEME,IMODEL,MCHAM1
  413. SEGSUP SWORK,SWORK2,MCHAML
  414. IRET=755
  415. GO TO 665
  416. ENDIF
  417. DO 4109 IGAU=1,N2PTEL
  418. DO 4109 IEL=1,N2EL
  419. IELCHE(IGAU,IEL)=MELVA1.IELCHE(IGAU,IEL)
  420. 4109 CONTINUE
  421. ENDIF
  422. else
  423. IF(N1PTE1.EQ.1) THEN
  424. DO 4120 IEL=1,N1EL
  425. VELCHE(1,IEL)=MELVA1.VELCHE(1,IEL)
  426. 4120 CONTINUE
  427. *
  428. ELSE
  429. *
  430. * write (6,*) melva1.velche(/1),melva1.velche(/2)
  431.  
  432. DO 3120 IEL=1,NEL
  433. IF(IEL.GT.1.AND.N1EL.EQ.1) GO TO 3130
  434. DO 3121 IGAU=1,N1PTE1
  435. VAL1(IGAU)=MELVA1.VELCHE(IGAU,IEL)
  436. 3121 CONTINUE
  437.  
  438. * write(6,*) 'MINTE1 = ',minte1
  439.  
  440. C
  441. C 1-ER CAS : LE CHAMELEM N'EST PAS AUX NOEUDS
  442. C
  443. IF(MINTE1.NE.0)THEN
  444. C
  445. C MEME SUPPORT? ( attention test sur iplaca et iplac1 pour DKT)
  446. C
  447. * write(6,*) ' meme support?',minte,minte1,iplac1,iplaca
  448. IF(MINTE.EQ.MINTE1. OR. IPLAC1.eq.IPLACA) THEN
  449. DO 3124 IGAU=1,N1PTE1
  450. VELCHE(IGAU,IEL)=VAL1(IGAU)
  451. 3124 CONTINUE
  452. C
  453. C SUPPORTS DIFFERENTS
  454. C
  455. ELSE
  456. C
  457. C COQUE INTEGREE OU PAS ?
  458. C
  459. IF(INFMOD(/1).NE.0)THEN
  460. NPINT=INFMOD(1)
  461. ELSE
  462. NPINT=0
  463. ENDIF
  464. IF (NPINT.NE.0.AND.NPINT.NE.1)THEN
  465. IRET = 19
  466. ** SEGDES MELVA1,MELEME,IMODEL,MCHAM1
  467. SEGSUP SWORK,SWORK2,MCHAML,MELVAL
  468. GO TO 665
  469. ENDIF
  470. C
  471. CALL DOXE(XCOOR,IDIM,NBNN,NUM,IEL,XE)
  472. CALL QUEDIM(MELGEO,KERRE)
  473. CALL CH1CH2(MELE,MINTE,MINTE1,N1PTEL,N1PAUX,NBNN,
  474. & SWORK,IPOIN1,KERRE)
  475. IF(KERRE.NE.0) THEN
  476. IRET=KERRE
  477. ** SEGDES MELVA1,MELEME,IMODEL,MCHAM1
  478. SEGSUP SWORK,SWORK2,MCHAML,MELVAL
  479. GO TO 665
  480. ENDIF
  481. *
  482. DO 3122 IGAU=1,N1PTEL
  483. VELCHE(IGAU,IEL)=VAL2(IGAU)
  484. 3122 CONTINUE
  485. ENDIF
  486. C
  487. C 2-EME CAS : LE CHAMELEM EST AUX NOEUDS
  488. C
  489. ELSE
  490. *
  491. * AM 1/4/16 CAS PARTICULIER DES JOINTS
  492. *
  493. IF( MELGEO.EQ.12.OR.MELGEO.EQ.13
  494. & .OR.MELGEO.EQ.29.OR.MELGEO.EQ.30
  495. & .OR.MELGEO.EQ.31) THEN
  496. *
  497. IF(((IPLACA.EQ.0.OR.IPLACA.EQ.1).AND.IPLAC1.EQ.1)
  498. & .AND.(N1PTEL.EQ.N1PTE1)) THEN
  499. DO 3115 IGAU=1,N1PTE1
  500. VELCHE(IGAU,IEL)=VAL1(IGAU)
  501. 3115 CONTINUE
  502. ELSE
  503. *
  504. IDECA=0
  505. IF(MELGEO.EQ.29) IDECA=2
  506. IF(MELGEO.EQ.30) IDECA=3
  507. IF(MELGEO.EQ.31) IDECA=4
  508. NBNOU=NBNN-IDECA
  509. NBNOV=SHPTOT(/2)-IDECA
  510. *
  511. MO8=NOMCHE(JCOMP)
  512. IF(MO8.EQ.'P '.OR.
  513. & MO8.EQ.'PQ '.OR.
  514. & MO8.EQ.'TP ' ) THEN
  515. DO 3117 IGAU=1,N1PTEL
  516. VALG=0.D0
  517. DO 3116 INO=1,IDECA
  518. INO1 = NBNOU + INO
  519. INO2 = NBNOV + INO
  520. VALG=VALG+SHPTOT(1,INO2,IGAU)*VAL1(INO1)
  521. 3116 CONTINUE
  522. VELCHE(IGAU,IEL)=VALG
  523. 3117 CONTINUE
  524. *
  525. ELSE
  526. DO 3119 IGAU=1,N1PTEL
  527. VALG=0.D0
  528. DO 3118 INO=1,NBNOU
  529. VALG=VALG+SHPTOT(1,INO,IGAU)*VAL1(INO)
  530. 3118 CONTINUE
  531. VELCHE(IGAU,IEL)=VALG/2.D0
  532. 3119 CONTINUE
  533. ENDIF
  534. ENDIF
  535. *
  536. ELSE
  537. *
  538. DO 3123 IGAU=1,N1PTEL
  539. VALG=0.D0
  540. DO 3125 INO=1,NBNN
  541. VALG=VALG+SHPTOT(1,INO,IGAU)*VAL1(INO)
  542. 3125 CONTINUE
  543. VELCHE(IGAU,IEL)=VALG
  544. 3123 CONTINUE
  545. ENDIF
  546.  
  547. ENDIF
  548. 3120 CONTINUE
  549. 3130 CONTINUE
  550. *
  551. ENDIF
  552. endif
  553. ** SEGDES MELVAL,MELVA1
  554. SEGACT MELVAL
  555. 180 CONTINUE
  556. SEGSUP SWORK,SWORK2
  557. C SEGDES MCHAML,MCHAM1,MELEME
  558. * SEGDES,IMODEL
  559. *
  560. C IF (MINTE.NE.0) SEGDES MINTE
  561. C IF (MINTE1.NE.0) SEGDES MINTE1
  562. 100 CONTINUE
  563. if (iresu.ne.nsous) then
  564. n1=iresu
  565. segadj mchelm
  566. endif
  567. 665 CONTINUE
  568. C SEGDES MCHELM,MCHEL1
  569. * SEGDES MMODEL
  570. CONTINUE
  571. RETURN
  572. END
  573.  
  574.  
  575.  

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