Télécharger ceraca.eso

Retour à la liste

Numérotation des lignes :

ceraca
  1. C CERACA SOURCE BP208322 17/03/01 21:15:27 9325
  2. SUBROUTINE CERACA(WRK0,WRK1,WRK5,WTRAV,INPLAS,MFR,DT,NSTRS,NVARI,
  3. 1 PRECIS,MSOUPA,JECHER,DTT,NSSINC,INV,KERRE,
  4. 2 ICARA,IFOURB,CMATE,N2EL,N2PTEL,IB,IGAU,EPAIST,
  5. 4 NBPGAU,MELE,NPINT,NBGMAT,NELMAT,SECT,LHOOK,
  6. 5 CRIGI)
  7. C
  8. C---------------------------------------------------------------------
  9. C Objet: Calculer au cours d'un pas de temps DT, l'evolution des
  10. C variables internes a l'aide d'un schema Runge-Kutta 1.2
  11. C ---------------------------------------------------------------------
  12. C
  13. C---------------------------------------------------------------------
  14. C Entree: INPLAS type de materiau
  15. C MFR indice de la formulation mecanique(seulement massif ou coque
  16. C pour les materiaux endommageables)
  17. C DEPST(NSTRS) increment des deformations totales
  18. C SIG0(NSTRS) contraintes initiales
  19. C EPIN0(NSTRS) deformations viscoplastiques initiales
  20. C VAR0(NVARI) variables internes initiales
  21. C NVARI nombre de variables internes
  22. C XMAT(NCOMAT) materiau
  23. C XCAR(ICARA) caracteristiques geometriques
  24. C PRECIS precision relative sur SIGMA
  25. C MSOUPA nombre maximal de sous pas autorises
  26. C JECHER = 0 avancer
  27. C = 1 rechercher sortie avec DTT
  28. C IFOURB = -2 EN CONTR.PLANES
  29. C -1 EN DEFORM. PLANES
  30. C 0 EN AXISYMETRIE
  31. C 1 EN SERIE DE FOURIER
  32. C 2 EN TRIDIM
  33. C CMATE = NOM DU MATERIAU
  34. C VALMAT= TABLEAU DE CARACTERISTIQUES DU MATERIAU
  35. C VALCAR= TABLEAU DE CARACTERISTIQUES GEOMETRIQUES
  36. C N2EL = NBRE D ELEMENTS DANS SEGMENT DE HOOKE
  37. C N2PTEL= NBRE DE POINTS DANS SEGMENT DE HOOKE
  38. C IB = NUMERO DE L ELEMENT COURANT
  39. C IGAU = NUMERO DU POINT COURANT
  40. C EPAIST= EPAISSEUR
  41. C NBPGAU= NBRE DE POINTS DE GAUSS
  42. C MELE = NUMERO DE L ELEMENT FINI
  43. C NPINT = NBRE DE POINTS D INTEGRATION
  44. C NBGMAT= NBRE DE POINTS DANS SEGMENT DE CARACTERISTIQUES
  45. C NELMAT= NBRE D ELEMENTS DANS SEGMENT DE CARACTERISTIQUES
  46. C SECT = SECTION
  47. C LHOOK = TAILLE DE LA MATRICE DE HOOKE
  48. C DT pas de temps
  49. C-----------------------------------------------------------------------
  50. C
  51. C-----------------------------------------------------------------------
  52. C Sortie: SIGF(NSTRS) contraintes finales
  53. C EPINF(NSTRS) deformations viscoplastiques finales
  54. C VARF(NVARI) variables internes finales
  55. C DTT sous-increment de temps optimal (si JECHER=1)
  56. C NSSINC nombre de sous-increments si JECHER=0
  57. C INV = 1 si inversion
  58. C 0 sinon
  59. C KERRE = 0 si tout OK
  60. C <> 0 si entrees incoherentes
  61. C-----------------------------------------------------------------------
  62. C
  63. IMPLICIT INTEGER(I-N)
  64. IMPLICIT REAL*8(A-H,O-Z)
  65.  
  66. -INC PPARAM
  67. -INC CCOPTIO
  68. *
  69. SEGMENT WRK0
  70. REAL*8 XMAT(NCXMAT)
  71. ENDSEGMENT
  72. *
  73. SEGMENT WRK1
  74. REAL*8 DDHOOK(LHOOK,LHOOK),SIG0(NSTRS),DEPST(NSTRS)
  75. REAL*8 SIGF(NSTRS),VAR0(NVARI),VARF(NVARI)
  76. REAL*8 DEFP(NSTRS),XCAR(ICARA)
  77. ENDSEGMENT
  78. *
  79. SEGMENT WRK5
  80. REAL*8 EPIN0(NSTRS),EPINF(NSTRS),EPST0(NSTRS)
  81. ENDSEGMENT
  82. *
  83. SEGMENT WTRAV
  84. REAL*8 DDAUX(LHOOK,LHOOK),VALMAT(NUMAT)
  85. REAL*8 VALCAR(NUCAR),DSIGT(NSTRS)
  86. REAL*8 TXR(IDIM,IDIM),DDHOMU(LHOOK,LHOOK)
  87. REAL*8 XLOC(3,3),XGLOB(3,3)
  88. REAL*8 D1HOOK(LHOOK,LHOOK),ROTHOO(LHOOK,LHOOK)
  89. ENDSEGMENT
  90.  
  91. *
  92. DIMENSION SIG(6),EPSV(6),VAR(100)
  93. DIMENSION DSPT(6),XX(8),SIG1(6),EPSV1(6)
  94. DIMENSION VAR1(100),EVP1(6),VARP1(100)
  95. DIMENSION EVP2(6),VARP2(100)
  96. DIMENSION CRIGI(12)
  97. *
  98. CHARACTER*8 CMATE
  99. C**** debut ajout Eloi
  100. logical dtlibr
  101. dtlibr=.TRUE.
  102. C**** fin ajout Eloi
  103.  
  104.  
  105. C ==================================================
  106. C RECHERCHE DU NUMERO DE LA VARIABLE INTERNE EGALE A
  107. C 1 SI ON A ENDOMAGEMENT GENERALISE
  108. IBID2 = NVARI -1
  109. C*************************************
  110. C On cherche le numero de la propriété du matériau correspondant à ENDG
  111. IF (MFR.EQ.1.AND.IFOMOD.EQ.2) THEN
  112. IBID1 = 20
  113. ELSE
  114. IBID1 = 15
  115. ENDIF
  116. C Test pour savoir si on a dépassé la limite de déformation de
  117. C fluage
  118. IF (VAR0(IBID2).EQ.1.D0) THEN
  119. DO 1032 IJ=1,NVARI
  120. VARF(IJ) = VAR0(IJ)
  121. 1032 CONTINUE
  122. DO 1022 K=1,NSTRS
  123. EPINF(K)=EPIN0(K)
  124. SIGF(K) = 0.D0
  125. 1022 CONTINUE
  126. GO TO 998
  127. ENDIF
  128. DO 1010 I =1,NSTRS
  129. TOTO = ABS(EPIN0(I))
  130. IF(TOTO.GE.XMAT(IBID1)) THEN
  131. DO 1021 K=1,NSTRS
  132. EPINF(K)=EPIN0(K)
  133. SIGF(K) = 0.D0
  134. 1021 CONTINUE
  135. DO 1030 IJ=1,(NVARI-1)
  136. VARF(IJ) = VAR0(IJ)
  137. 1030 CONTINUE
  138. VARF(IBID2) = 1.D0
  139. GO TO 998
  140. ENDIF
  141. 1010 CONTINUE
  142. C*************************************
  143.  
  144.  
  145. C =========================================================
  146. KERRE = 0
  147. IF(MFR.NE.1.AND.MFR.NE.3.OR.IFOURB.EQ.1)THEN
  148. KERRE = 99
  149. RETURN
  150. ENDIF
  151.  
  152. IF(MFR.EQ.3) THEN
  153. THICK = XCAR(1)
  154. ALFA = XCAR(2)
  155. ENDIF
  156. BORNE = 2.0
  157. RMAX = 1.3
  158. RMIN = 0.7
  159. DIV = 7.0
  160. FAC = 3.0
  161. C
  162. C CALCUL DES INCREMENTS DE CONTRAINTES ELASTIQUES
  163. C
  164. CALL CALSIG(DEPST,DDAUX,NSTRS,CMATE,VALMAT,
  165. 1 VALCAR,N2EL,N2PTEL,MFR,IFOURB,IB,IGAU,EPAIST,
  166. 2 NBPGAU,MELE,NPINT,NBGMAT,NELMAT,SECT,LHOOK,TXR,XLOC,
  167. 3 XGLOB,D1HOOK,ROTHOO,DDHOMU,CRIGI,DSIGT,IRTD)
  168. C PRINT *,'DSIGT =',DSIGT
  169. *
  170. IF(IRTD.NE.1) THEN
  171. KERRE=69
  172. GOTO 998
  173. ENDIF
  174. *
  175. IF(MFR.EQ.3) THEN
  176. DO 10 I=1,NSTRS/2
  177. SIG0( I) = SIG0( I)/THICK
  178. SIG0(NSTRS/2+I) = SIG0(NSTRS/2+I)*6.0D0/THICK/THICK
  179. DSIGT( I) = DSIGT( I)/THICK
  180. DSIGT(NSTRS/2+I)= DSIGT(NSTRS/2+I)*6.0D0/THICK/THICK
  181. 10 CONTINUE
  182. IF(IFOURB.EQ.-2) THEN
  183. SIG0 (2) =0.0
  184. SIG0 (4) =0.0
  185. DSIGT(2) =0.0
  186. DSIGT(4) =0.0
  187. ENDIF
  188. ENDIF
  189. C
  190. C------------------------------------------
  191. C CONTROLE DE LA COHERENCE DES ENTREES
  192. C Supprimée dans ce cas
  193. C------------------------------------------
  194. IF (DT.LE.0.0) KERRE = 414
  195. MOTERR(1:8) = ' CONST '
  196. C IF (INCOMAT.NE. 15)KERRE = 146
  197. C IF (IFOURB.EQ.-2.AND.NCOMAT.NE. 9)KERRE = 146
  198. IF(IFOURB.NE.2.AND.IFOURB.NE.-2.AND.IFOURB.NE.0
  199. & .AND.IFOURB.NE.-1) THEN
  200. KERRE = 194
  201. MOTERR(1:8) = 'FLUAGE'
  202. ENDIF
  203. IF(MFR.EQ.1.AND.IFOMOD.EQ.2) THEN
  204. IBID = 15
  205. ELSE
  206. IBID = 10
  207. ENDIF
  208. XMAX=XMAT(IBID)
  209. *
  210. * TEST SUR XMAX MILL 8/3/91
  211. *
  212. IF (XMAX.EQ.0.D0) THEN
  213. XMAX=XMAT(1)*1.D-3
  214. ENDIF
  215. *
  216. 30 CONTINUE
  217. C
  218. C-----------------------------
  219. IF (KERRE.NE.0) THEN
  220. GOTO 999
  221. ENDIF
  222. C
  223. C===========================================================
  224. C A PARTIR DE MAINTENANT, LES DEFORMATIONS
  225. C DE CISAILLEMENT NE SONT PLUS
  226. C DEFINIES PAR DES GAMA.
  227. C ON DIVISE DONC LES TERMES DE CISAILLEMENT PAR 2.
  228. C SEULES LES FORMULATIONS SUIVANTES SONT ACCEPTEES PAR CERACARO:
  229. C MFR=1 (MASSIF)
  230. C MFR=3 (COQUES MINCES)
  231. C
  232. C
  233. C Cas de la formulation massive
  234. C Les termes de cisaillement apparaissent
  235. C au delà de la troisieme composante
  236. C
  237. IF (MFR.EQ.1) THEN
  238. DO 11 I=1,NSTRS
  239. A=1.D0
  240. IF (I.GT.3) A=2.D0
  241. EPIN0(I)=EPIN0(I)/A
  242. 11 CONTINUE
  243.  
  244. C Cas des coques minces
  245. C Les termes de cisaillement apparaissent
  246. C pour la troisieme et la sixieme composante
  247. C uniquement dans les cas de calculs
  248. C tridimensionnels ou d'analyse de Fourier
  249. C
  250. ELSE IF (MFR.EQ.3) THEN
  251. IF (IFOURB.EQ.2) THEN
  252. DO 13 I=1,NSTRS
  253. A=1.D0
  254. IF (I.EQ.3) A=2.D0
  255. IF (I.EQ.6) A=2.D0
  256. EPIN0(I)=EPIN0(I)/A
  257. 13 CONTINUE
  258. ENDIF
  259. ENDIF
  260.  
  261. C
  262. C===========================================================
  263. C
  264. C ----------------
  265. C INITIALISATION
  266. C ----------------
  267. C**** debut ajout Eloi
  268. ITERO = 0
  269. 1200 CONTINUE
  270.  
  271. itero = 1 + itero
  272. if (itero.ne.1) THEN
  273. c write(6,*) 'itero ib igau', itero,ib,igau
  274. dtlibr = .true.
  275. precis = precis * 7.
  276. c write(6,*) ' precision modifiée ', precis
  277. if (itero.gt.3) then
  278. **** kerre = 460
  279. kerre = 268
  280. return
  281. endif
  282. endif
  283. C**** fin ajout Eloi
  284. DTLEFT = DT
  285. TAU = DTLEFT
  286. ASIG = SQRT(PROCON(SIG0,SIG0,NSTRS))
  287. ERRABS = PRECIS*ASIG
  288. IF (XMAX.GT.ASIG) ERRABS = PRECIS*XMAX
  289. DO 40 I=1,NSTRS
  290. SIG(I) = SIG0(I)
  291. EPSV(I) = EPIN0(I)
  292. DSPT(I) = DSIGT(I)/DT
  293. 40 CONTINUE
  294. C
  295.  
  296. DO 48 I=1,NVARI
  297. 48 VAR(I)=VAR0(I)
  298. C
  299. C ---------------------------------------------------------------------
  300. INV = 0
  301. NSSINC = 0
  302. C ---------------------------------------------------------------------
  303. C DEBUT DES ITERATIONS EN SSINCREMENTS /FIN SI DTLEFT = 0
  304. C ---------------------------------------------------------------------
  305. 70 NSSINC = NSSINC + 1
  306. IF (NSSINC.GT.MSOUPA) THEN
  307. C**** debut ajout Eloi
  308. DTLIBR=.FALSE.
  309. GOTO 1200
  310. C**** fin ajout Eloi
  311. C*** KERRE = 460
  312. C*** GOTO 999
  313. ENDIF
  314. C
  315. C---------------------------------------------------------------------
  316. C START OF CALCULATIONS
  317. C_____________________________________________________________________
  318.  
  319. IF(MFR.NE.3) THEN
  320.  
  321. CALL INCR11(TAU,SIG,EPSV,VAR,EVP1,VARP1,XMAT,NSTRS,NVARI,MFR)
  322. ELSE IF(MFR.EQ.3) THEN
  323. CALL INCR33(TAU,SIG,EPSV,VAR,XMAT,EVP1,VARP1,ALFA,NSTRS,NVARI)
  324. ENDIF
  325. C
  326. NITERA = 0
  327.  
  328. C --------------------------------------------------------------------
  329. C DEBUT DES ITERATIONS SUR TAU OPTIMAL /FIN SI RA PETIT
  330. C --------------------------------------------------------------------
  331. 80 NITERA = NITERA + 1
  332. IF(MFR.EQ.3) GO TO 150
  333.  
  334. CALL ADVA11(TAU,SIG,EPSV,VAR,SIG1,EPSV1,VAR1,DSPT,EVP1,VARP1,
  335. & XMAT,NSTRS,NVARI,MFR)
  336.  
  337. CALL INCR11(TAU,SIG1,EPSV1,VAR1,EVP2,VARP2,XMAT,NSTRS,NVARI,
  338. & MFR)
  339. DO 110 I=1,NSTRS
  340. 110 EVP2(I) = 0.5*(EVP1(I)+EVP2(I))
  341. CCC Eloi : on peut effectuer la boucle suivante sur
  342. CCC les variables internes propres a Ottosen
  343. CCC qui n'ont pas ete modifiees
  344. DO 120 I=1,NVARI
  345. VARP2(I)= 0.5*(VARP1(I) + VARP2(I))
  346. 120 CONTINUE
  347. CALL ADVA11(TAU,SIG,EPSV,VAR,SIGF,EPINF,VARF,DSPT,EVP2,VARP2,
  348. & XMAT,NSTRS,NVARI,MFR)
  349.  
  350. GO TO 250
  351. C _____________________________________________________________________
  352. 150 CONTINUE
  353. C----------------------------------------------------------------------
  354. C CALCULATIONS FOR GENERALISED STRESS/STRAIN FORMULATIONS
  355. C----------------------------------------------------------------------
  356. CALL ADVA22(TAU,SIG,EPSV,VAR,SIG1,EPSV1,VAR1,DSPT,EVP1,VARP1,
  357. & XMAT,NSTRS,NVARI)
  358. CALL INCR33(TAU,SIG1,EPSV1,VAR1,XMAT,EVP2,VARP2,ALFA,NSTRS,
  359. & NVARI)
  360. DO 160 I=1,NSTRS,1
  361. 160 EVP2(I) = 0.5*(EVP1(I)+EVP2(I))
  362. CCC Eloi : on peut effectuer la boucle suivante sur
  363. CCC les variables internes propres a Ottosen
  364. CCC qui n'ont pas ete modifiees
  365. DO 170 I=1,NVARI
  366. VARP2(I)= 0.5*(VARP1(I) + VARP2(I))
  367. 170 CONTINUE
  368. CALL ADVA22(TAU,SIG,EPSV,VAR,SIGF,EPINF,VARF,DSPT,
  369. & EVP2,VARP2,XMAT,NSTRS,NVARI)
  370. 250 CONTINUE
  371.  
  372. C ---------------------------------------------------------------------
  373. C CALCUL DU RAPPORT : ERREUR CALCULEE / ERREUR ADMISE
  374. C ---------------------------------------------------------------------
  375. DO 260 I=1,NSTRS
  376. 260 XX(I) = SIGF(I)-SIG1(I)
  377. RA = SQRT(PROCON(XX,XX,NSTRS))/(ERRABS)
  378. SQRA = SQRT(RA)
  379.  
  380. C ---------------------------------------------------------------------
  381. C TEST DE FIN D'ITERATIONS / MISE A JOUR DE TAU /OPTION JECHER
  382. C DIV =7 BORNE = 2
  383. C SI SQRA>7 TAU = TAU/7 ET NOUVEL ESSAI
  384. C SI 2<RA<7*7 ON VISE RA = 1 ET NOUVEL ESSAI
  385. C ------------------------------------------------------------------
  386. C**** debut ajout Eloi
  387. IF (dtlibr) Then
  388. C**** fin ajout Eloi
  389. IF (RA.GT.DIV*DIV ) THEN
  390. TAU = TAU/DIV
  391. GOTO 80
  392. ELSEIF ( RA.GT.BORNE) THEN
  393. TAU = TAU/SQRA
  394. GOTO 80
  395. ENDIF
  396. C**** debut ajout Eloi
  397. endif
  398. C**** fin ajout Eloi
  399. C ---------------------------------------------------------------------
  400. C ici ra < borne cas JECHER :
  401. C ---------------------------------------------------------------------
  402. IF (JECHER.EQ.1) THEN
  403. DTT = TAU
  404. NSSINC = NITERA
  405. IF ((NSSINC.EQ.1).AND.(RA.EQ.0.0)) GOTO 999
  406. IF (NITERA.GE.8) GOTO 999
  407. IF (FAC*SQRA.LT.1.0) THEN
  408. TAU = TAU*FAC
  409. GOTO 80
  410. ELSEIF ((SQRA.LT.RMIN).OR.(SQRA.GT.RMAX)) THEN
  411. TAU = TAU/SQRA
  412. GOTO 80
  413. ENDIF
  414. C ---------------------------------------------------------------------
  415. C ici rmin < sqra < rmax et nitera < 8
  416. C pas de mise @ jour des variables
  417. C ---------------------------------------------------------------------
  418. GOTO 999
  419. ENDIF
  420. C ----------------------------------------------------------------------
  421. C FIN D'ITERATIONS / MISE A JOUR DES VARIABLES
  422. C ici RA < BORNE
  423. C fin des boucles sur tau optimal
  424. C on avance en temps
  425. C mise @ jour de SIG etc...
  426. C -------------------------------------------------------------------
  427. C --
  428. C -- ajout de ivtest = 1 par chloe
  429. C --
  430. IVTEST = 1
  431. INV = INV + IVTEST
  432. DO 270 I=1,NSTRS,1
  433. SIG(I) = SIGF(I)
  434. EPSV(I) = EPINF(I)
  435. 270 CONTINUE
  436. DO 280 I=1,NVARI,1
  437. VAR(I) = VARF(I)
  438. 280 CONTINUE
  439. C*************************************
  440. C Test pour savoir si on a dépassé la limite de déformation totale
  441.  
  442. DO 2010 I =1,NSTRS
  443. TOTO = ABS(EPINF(I))
  444. IF(TOTO.GE.XMAT(IBID1)) THEN
  445. VARF(IBID2) = 1.D0
  446. DO 2021 KI=1,NSTRS,1
  447. SIGF(KI) = 0.D0
  448. 2021 CONTINUE
  449. GO TO 998
  450. ELSE
  451. VARF(IBID2) = 0.D0
  452. ENDIF
  453. 2010 CONTINUE
  454. C*************************************
  455. C
  456. C --------------------------------------------------------------------
  457. C TEST DE FIN SS INCREMENTS / MISE A JOUR DE TAU
  458. C si SQRA<1/3 TAU = TAU*3
  459. C si 1/3<SQRA<RMIN on vise RA = 1
  460. C si RMIN<SQRA<RMAX TAU inchangé
  461. C si SQRA>RMAX on vise RA = 1
  462. C fin des boucles en ss increments si tau = dtleft
  463. C --------------------------------------------------------------------
  464. C
  465. IF ( TAU.LT.DTLEFT ) THEN
  466. DTLEFT = DTLEFT - TAU
  467. IF ( FAC*SQRA.LT.1.D0) THEN
  468. TAU=TAU*FAC
  469. ELSEIF ( (SQRA.LT.RMIN).OR.(SQRA.GT.RMAX) ) THEN
  470. TAU=TAU/SQRA
  471. ENDIF
  472. IF (TAU.GT.DTLEFT) TAU = DTLEFT
  473. GOTO 70
  474. ENDIF
  475. C
  476. IF (ABS(TAU-DTLEFT).GT.(TAU/1000.)) THEN
  477. WRITE ( IOIMP,* ) ' PROBLEME TAU > DTLEFT '
  478. KERRE = 223
  479. ENDIF
  480. C-----------------------------------------------------------------------
  481. 999 CONTINUE
  482. IF(MFR.EQ.3) THEN
  483. DO 1000 I=1,NSTRS/2
  484. SIGF( I) =SIGF( I)*THICK
  485. SIGF(NSTRS/2+I) =SIGF(NSTRS/2+ I)*THICK*THICK/6.0
  486. * DSIGT( I)=DSIGT( I)*THICK
  487. * DSIGT(NSTRS/2+I)=DSIGT(NSTRS/2+I)*THICK*THICK/6.0
  488. 1000 CONTINUE
  489. ENDIF
  490.  
  491. C
  492. C===========================================================
  493. C RETOUR A LA DEFINITION NORMALE DES DEFORMATIONS
  494. C A SAVOIR: LES DEFORMATIONS DE CISAILLEMENT SONT
  495. C DEFINIES PAR DES GAMA.
  496. C SEULES LES FORMULATIONS SUIVANTES SONT ACCEPTEES PAR Ceracaro:
  497. C MFR=1 (MASSIF)
  498. C MFR=3 (COQUES MINCES)
  499. C
  500. C Cas de la formulation massive
  501. C Les termes de cisaillement apparaissent
  502. C au delà de la troisieme composante
  503. C
  504. IF (MFR.EQ.1) THEN
  505. DO 14 I=1,NSTRS
  506. A=1.D0
  507. IF (I.GT.3) A=2.D0
  508. EPIN0(I)=EPIN0(I)*A
  509. EPINF(I)=EPINF(I)*A
  510. 14 CONTINUE
  511. C
  512. C Cas des coques minces
  513. C Les termes de cisaillement apparaissent
  514. C pour la troisieme et la sixieme composante
  515. C uniquement dans les cas de calculs
  516. C tridimensionnels ou d'analyse de Fourier
  517. C
  518. ELSE IF (MFR.EQ.3) THEN
  519. IF (IFOURB.EQ.2) THEN
  520. DO 16 I=1,NSTRS
  521. A=1.D0
  522. IF (I.EQ.3) A=2.D0
  523. IF (I.EQ.6) A=2.D0
  524. EPIN0(I)=EPIN0(I)*A
  525. EPINF(I)=EPINF(I)*A
  526. 16 CONTINUE
  527. ENDIF
  528. ENDIF
  529. C
  530. C===========================================================
  531. C
  532. 998 RETURN
  533. END
  534.  
  535.  
  536.  
  537.  
  538.  
  539.  
  540.  
  541.  
  542.  
  543.  
  544.  
  545.  
  546.  
  547.  
  548.  
  549.  
  550.  
  551.  

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