Télécharger ceraca.eso

Retour à la liste

Numérotation des lignes :

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

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