Télécharger kops_rima.dgibi

Retour à la liste

Numérotation des lignes :

  1. * fichier : kops_rima.dgibi
  2. 'OPTI' echo 0 ;
  3. ************************************************************************
  4. * NOM : KOPS_RIMA
  5. * DESCRIPTION : On vérifie que KOPS RIMA donne des résultats corrects
  6. *
  7. *
  8. *
  9. * LANGAGE : GIBIANE-CAST3M
  10. * AUTEUR : Stéphane GOUNAND (CEA/DEN/DM2S/SFME/LTMF)
  11. * mél : gounand@semt2.smts.cea.fr
  12. **********************************************************************
  13. * VERSION : v1, 03/01/2013, version initiale
  14. * HISTORIQUE : v1, 03/01/2013, création
  15. * HISTORIQUE :
  16. * HISTORIQUE :
  17. ************************************************************************
  18. *
  19. interact = FAUX ;
  20. graph=FAUX;
  21. *
  22. *BEGINPROCEDUR gdiv
  23. ************************************************************************
  24. * NOM : GDIV
  25. * DESCRIPTION :
  26. *
  27. *
  28. *
  29. * LANGAGE : GIBIANE-CAST3M
  30. * AUTEUR : Stéphane GOUNAND (CEA/DEN/DM2S/SFME/LTMF)
  31. * mél : gounand@semt2.smts.cea.fr
  32. **********************************************************************
  33. * VERSION : v1, 08/03/2006, version initiale
  34. * HISTORIQUE : v1, 08/03/2006, création
  35. * HISTORIQUE :
  36. * HISTORIQUE :
  37. ************************************************************************
  38. * Prière de PRENDRE LE TEMPS de compléter les commentaires
  39. * en cas de modification de ce sous-programme afin de faciliter
  40. * la maintenance !
  41. ************************************************************************
  42. *
  43. *
  44. 'DEBPROC' GDIV ;
  45. 'ARGUMENT' _mt*'MAILLAGE' ;
  46. 'ARGUMENT' gdisc*'MOT ' ;
  47. 'ARGUMENT' discv*'MOT ' ;
  48. 'ARGUMENT' discp*'MOT ' ;
  49. 'ARGUMENT' coef/'FLOTTANT' ;
  50. 'SI' ('NON' ('EXISTE' coef)) ;
  51. 'ARGUMENT' coef2/'CHPOINT ' ;
  52. 'SI' ('NON' ('EXISTE' coef2)) ;
  53. 'ERREUR' 'Il faut donner un coef FLOTTANT ou CHPOINT' ;
  54. 'SINON' ;
  55. coef = coef2 ;
  56. 'ARGUMENT' discc*'MOT ' ;
  57. 'FINSI' ;
  58. 'SINON' ;
  59. discc = 'CSTE' ;
  60. 'FINSI' ;
  61. 'ARGUMENT' methgau/'MOT ' ;
  62. 'SI' ('NON' ('EXISTE' methgau)) ;
  63. methgau = 'GAU7' ;
  64. 'FINSI' ;
  65. *
  66. vdim = 'VALEUR' 'DIME' ;
  67. vmod = 'VALEUR' 'MODE' ;
  68. idim = 0 ;
  69. lpp = 'MOTS' 'LX' ; ldp = 'MOTS' 'FLX' ;
  70. 'SI' ('ET' ('EGA' vdim 2) ('EGA' vmod 'PLANDEFO')) ;
  71. lpv = 'MOTS' 'UX' 'UY' ; ldv = 'MOTS' 'FX' 'FY' ;
  72. idim = 2 ;
  73. iaxi = FAUX ;
  74. 'FINSI' ;
  75. 'SI' ('ET' ('EGA' vdim 2) ('EGA' vmod 'AXIS')) ;
  76. lpv = 'MOTS' 'UR' 'UZ' ; ldv = 'MOTS' 'FR' 'FZ' ;
  77. idim = 2 ;
  78. iaxi = VRAI ;
  79. 'FINSI' ;
  80. 'SI' ('ET' ('EGA' vdim 3) ('EGA' vmod 'TRID')) ;
  81. lpv = 'MOTS' 'UX' 'UY' 'UZ' ; ldv = 'MOTS' 'FX' 'FY' 'FZ' ;
  82. idim = 3 ;
  83. iaxi = FAUX ;
  84. 'FINSI' ;
  85. 'SI' ('EGA' idim 0) ;
  86. 'ERREUR' ('CHAINE' 'vmod=' vmod ' et vdim=' vdim ' non prevu') ;
  87. 'FINSI' ;
  88. 'SI' iaxi ;
  89. dp = ('*' PI 2.D0) ;
  90. rmt = 'COORDONNEE' 1 _mt ;
  91. 'FINSI' ;
  92. *
  93. numop = 1 ;
  94. numder = idim ;
  95. mmp = 'MOTS' nomp ;
  96. numvar = idim ;
  97. 'SI' iaxi ;
  98. numdat = 3 ;
  99. numcof = 3 ;
  100. 'SINON' ;
  101. numdat = 1 ;
  102. numcof = 1 ;
  103. 'FINSI' ;
  104. *
  105. A = ININLIN numop numvar numdat numcof numder ;
  106. 'REPETER' iidim idim ;
  107. A . 'VAR' . &iidim . 'NOMDDL' = 'MOTS' ('EXTRAIRE' lpv &iidim) ;
  108. A . 'VAR' . &iidim . 'DISC' = discv ;
  109. 'FIN' iidim ;
  110. A . 'DAT' . 1 . 'NOMDDL' = 'MOTS' 'SCAL' ;
  111. A . 'DAT' . 1 . 'DISC' = discc ;
  112. A . 'DAT' . 1 . 'VALEUR' = coef ;
  113. A . 'COF' . 1 . 'COMPOR' = 'IDEN' ;
  114. A . 'COF' . 1 . 'LDAT' = 'LECT' 1 ;
  115. 'SI' iaxi ;
  116. A . 'DAT' . 2 . 'NOMDDL' = 'MOTS' 'SCAL' ;
  117. A . 'DAT' . 2 . 'DISC' = 'CSTE' ;
  118. A . 'DAT' . 2 . 'VALEUR' = dp ;
  119. A . 'COF' . 2 . 'COMPOR' = 'IDEN' ;
  120. A . 'COF' . 2 . 'LDAT' = 'LECT' 2 ;
  121. A . 'DAT' . 3 . 'NOMDDL' = 'MOTS' 'SCAL' ;
  122. A . 'DAT' . 3 . 'DISC' = gdisc ;
  123. A . 'DAT' . 3 . 'VALEUR' = rmt ;
  124. A . 'COF' . 3 . 'COMPOR' = 'IDEN' ;
  125. A . 'COF' . 3 . 'LDAT' = 'LECT' 3 ;
  126. 'FINSI' ;
  127. *
  128. 'SI' iaxi ;
  129. 'REPETER' iidim idim ;
  130. A . 1 . &iidim . &iidim = 'LECT' 1 2 3 ;
  131. 'FIN' iidim ;
  132. A . 1 . 1 . 0 = 'LECT' 1 2 ;
  133. 'SINON' ;
  134. 'REPETER' iidim idim ;
  135. A . 1 . &iidim . &iidim = 'LECT' 1 ;
  136. 'FIN' iidim ;
  137. 'FINSI' ;
  138. *
  139. numvar = 1 ;
  140. numdat = 0 ;
  141. numcof = 0 ;
  142. B = ININLIN numop numvar numdat numcof numder ;
  143. B . 'VAR' . 1 . 'NOMDDL' = ldp ;
  144. B . 'VAR' . 1 . 'DISC' = discp ;
  145. B . 1 . 1 . 0 = 'LECT' ;
  146. *
  147. mgdiv = 'NLIN' gdisc _mt A B methgau ;
  148. *
  149. 'RESPRO' mgdiv ;
  150. 'FINPROC' ;
  151. *
  152. * End of procedure file GDIV
  153. *
  154. *ENDPROCEDUR gdiv
  155. *BEGINPROCEDUR gmass
  156. ************************************************************************
  157. * NOM : GMASS
  158. * DESCRIPTION : Une matrice de masse
  159. *
  160. *
  161. *
  162. * LANGAGE : GIBIANE-CAST3M
  163. * AUTEUR : Stéphane GOUNAND (CEA/DEN/DM2S/SFME/LTMF)
  164. * mél : gounand@semt2.smts.cea.fr
  165. **********************************************************************
  166. * VERSION : v2, 14/03/2006, mise à jour NLIN évolué
  167. * VERSION : v1, 13/05/2004, version initiale
  168. * HISTORIQUE : v1, 13/05/2004, création
  169. * HISTORIQUE :
  170. * HISTORIQUE :
  171. ************************************************************************
  172. * Prière de PRENDRE LE TEMPS de compléter les commentaires
  173. * en cas de modification de ce sous-programme afin de faciliter
  174. * la maintenance !
  175. ************************************************************************
  176. *
  177. *
  178. 'DEBPROC' GMASS ;
  179. 'ARGUMENT' _mt*'MAILLAGE' ;
  180. 'ARGUMENT' gdisc*'MOT ' ;
  181. 'ARGUMENT' nomt*'MOT ' ;
  182. 'ARGUMENT' disct*'MOT ' ;
  183. 'ARGUMENT' nomq*'MOT ' ;
  184. 'ARGUMENT' discq*'MOT ' ;
  185. 'ARGUMENT' coef/'FLOTTANT' ;
  186. 'SI' ('NON' ('EXISTE' coef)) ;
  187. 'ARGUMENT' coef2/'CHPOINT ' ;
  188. 'SI' ('NON' ('EXISTE' coef2)) ;
  189. 'ERREUR' 'Il faut donner un coef FLOTTANT ou CHPOINT' ;
  190. 'SINON' ;
  191. coef = coef2 ;
  192. 'ARGUMENT' discc*'MOT ' ;
  193. 'FINSI' ;
  194. 'SINON' ;
  195. discc = 'CSTE' ;
  196. 'FINSI' ;
  197. 'ARGUMENT' methgau/'MOT ' ;
  198. 'SI' ('NON' ('EXISTE' methgau)) ;
  199. methgau = 'GAU7' ;
  200. 'FINSI' ;
  201. 'ARGUMENT' chpop/'CHPOINT' ;
  202. 'ARGUMENT' chpod/'CHPOINT' ;
  203. *
  204. vdim = 'VALEUR' 'DIME' ;
  205. vmod = 'VALEUR' 'MODE' ;
  206. idim = 0 ;
  207. 'SI' ('ET' ('EGA' vdim 2) ('EGA' vmod 'PLANDEFO')) ;
  208. idim = 2 ;
  209. iaxi = FAUX ;
  210. 'FINSI' ;
  211. 'SI' ('ET' ('EGA' vdim 2) ('EGA' vmod 'AXIS')) ;
  212. idim = 2 ;
  213. iaxi = VRAI ;
  214. 'FINSI' ;
  215. 'SI' ('ET' ('EGA' vdim 3) ('EGA' vmod 'TRID')) ;
  216. idim = 3 ;
  217. iaxi = FAUX ;
  218. 'FINSI' ;
  219. 'SI' ('EGA' vdim 1) ;
  220. idim = 1 ;
  221. iaxi = FAUX ;
  222. 'FINSI' ;
  223. 'SI' ('EGA' idim 0) ;
  224. 'ERREUR' ('CHAINE' 'vmod=' vmod ' et vdim=' vdim ' non prevu') ;
  225. 'FINSI' ;
  226. 'SI' iaxi ;
  227. dprmt = '*' ('COORDONNEE' 1 _mt) ('*' PI 2.D0) ;
  228. 'FINSI' ;
  229. numop = 1 ;
  230. numder = idim ;
  231. mmt = 'MOTS' nomt ;
  232. mmq = 'MOTS' nomq ;
  233. numvar = 1 ;
  234. numdat = 1 ;
  235. numcof = 1 ;
  236. *
  237. A = ININLIN numop numvar numdat numcof numder ;
  238. A . 'VAR' . 1 . 'NOMDDL' = mmt ;
  239. A . 'VAR' . 1 . 'DISC' = disct ;
  240. 'SI' ('EXISTE' chpop) ;
  241. A . 'VAR' . 1 . 'VALEUR' = chpop ;
  242. 'FINSI' ;
  243. A . 'DAT' . 1 . 'NOMDDL' = 'MOTS' 'SCAL' ;
  244. A . 'DAT' . 1 . 'DISC' = discc ;
  245. A . 'DAT' . 1 . 'VALEUR' = coef ;
  246. A . 'COF' . 1 . 'COMPOR' = 'IDEN' ;
  247. A . 'COF' . 1 . 'LDAT' = 'LECT' 1 ;
  248. *
  249. A . 1 . 1 . 0 = 'LECT' 1 ;
  250. *
  251. 'SI' iaxi ;
  252. numdat = 1 ;
  253. numcof = 1 ;
  254. 'SINON' ;
  255. numdat = 0 ;
  256. numcof = 0 ;
  257. 'FINSI' ;
  258. B = ININLIN numop numvar numdat numcof numder ;
  259. B . 'VAR' . 1 . 'NOMDDL' = mmq ;
  260. B . 'VAR' . 1 . 'DISC' = discq ;
  261. 'SI' ('EXISTE' chpod) ;
  262. B . 'VAR' . 1 . 'VALEUR' = chpod ;
  263. 'FINSI' ;
  264. *
  265. 'SI' iaxi ;
  266. B . 'DAT' . 1 . 'NOMDDL' = 'MOTS' 'SCAL' ;
  267. B . 'DAT' . 1 . 'DISC' = gdisc ;
  268. B . 'DAT' . 1 . 'VALEUR' = dprmt ;
  269. B . 'COF' . 1 . 'COMPOR' = 'IDEN' ;
  270. B . 'COF' . 1 . 'LDAT' = 'LECT' 1 ;
  271. 'FINSI' ;
  272. 'SI' iaxi ;
  273. B . 1 . 1 . 0 = 'LECT' 1 ;
  274. 'SINON' ;
  275. B . 1 . 1 . 0 = 'LECT' ;
  276. 'FINSI' ;
  277. *
  278. mgmass = 'NLIN' gdisc _mt A B methgau ;
  279. *
  280. 'RESPRO' mgmass ;
  281. 'FINPROC' ;
  282. *
  283. * End of procedure file GMASS
  284. *
  285. *ENDPROCEDUR gmass
  286. *
  287. *
  288. ************************************************************************
  289. * NOM : ERRREL
  290. * DESCRIPTION : erreur relative entre 2 chpoints
  291. *
  292. 'DEBPROC' ERRREL ;
  293. 'ARGUMENT' ch*'CHPOINT' ;
  294. 'ARGUMENT' chref*'CHPOINT' ;
  295. *
  296. val = 'MAXIMUM' ('RESULT' ('ABS' ('-' ch chref))) ;
  297. valref = 'MAXIMUM' ('RESULT' ('ABS' chref)) ;
  298. *
  299. 'SI' ('<' ('ABS' valref) 1.D-10) ;
  300. echref = 1.D0 ;
  301. 'SINON' ;
  302. echref = valref ;
  303. 'FINSI' ;
  304. *
  305. errabs = '/' val echref ;
  306. *
  307. 'RESPRO' errabs ;
  308. *
  309. * End of procedure file ERRREL
  310. *
  311. 'FINPROC' ;
  312. *
  313. *
  314. 'OPTION' 'DIME' 2 'ELEM' QUA8 ;
  315. *
  316. * Maillage quelconque
  317. *
  318. pA = 0. 0. ; pB = 1. 0. ; pC = 1. 1. ; pD = 0. 1. ;
  319. l1 = pA 'DROIT' 2 pB ;
  320. l2 = pB 'DROIT' 4 pC ;
  321. l3 = pC 'DROIT' 3 pD ;
  322. l4 = pD 'DROIT' 5 pA ;
  323. mt = 'SURFACE' (l1 'ET' l2 'ET' l3 'ET' l4) ;
  324. _mt = 'CHANGER' mt 'QUAF' ;
  325. disct = 'LINE' ;
  326. $mt = 'MODELISER' _mt 'NAVIER_STOKES' disct ;
  327. mt = 'DOMA' $mt 'MAILLAGE' ;
  328. *
  329. *
  330. * Construction d'une matrice de masse
  331. *
  332. rv = 'EQEX' 'OPTI' 'EF' 'IMPL' 'CENTREE'
  333. 'ZONE' $mt 'OPER' 'DFDT' 1.4 'T' 1. 'INCO' 'T' ;
  334. rv . 'INCO' = 'TABLE' 'INCO' ;
  335. rv . 'INCO' . 'T' = 'KCHT' $mt 'SCAL' 'SOMMET' 0.D0 ;
  336. dummy mmassk = 'DFDT' (rv . '1DFDT') ;
  337. *
  338. * Autres façons
  339. *
  340. mmass = gmass _mt 'LINE' 'T' disct 'T' disct 1.4 ;
  341. mmassk2 = 'KOPS' 'RIMA' mmass ;
  342. mmass2 = 'KOPS' 'RIMA' mmassk ;
  343. mmass3 = 'KOPS' 'RIMA' mmassk2 ;
  344. mmassk3 = 'KOPS' 'RIMA' mmass2 ;
  345. *
  346. tmass = 'TABLE' ;
  347. tmass . 1 = mmass ;
  348. tmass . 2 = mmassk ;
  349. tmass . 3 = mmass2 ;
  350. tmass . 4 = mmassk2 ;
  351. tmass . 5 = mmass3 ;
  352. tmass . 6 = mmassk3 ;
  353. *
  354. cq = 'NOMC' 'T' ('BRUIT' 'BLAN' 'UNIF' 0.6 0.7 mt) ;
  355. *
  356. dmass = 'DIME' tmass ;
  357. tchpo = 'TABLE' ;
  358. 'REPETER' imass dmass ;
  359. tchpo . &imass = '*' (tmass . &imass) cq ;
  360. 'FIN' imass ;
  361. ok1 = vrai ;
  362. 'REPETER' imass ('-' dmass 1) ;
  363. err = ERRREL (tchpo . &imass) (tchpo . (&imass '+' 1)) ;
  364. 'MESSAGE' ('CHAINE' 'imass=' &imass ' err=' err) ;
  365. ok1 = 'ET' ok1 ('<' err 1.D-12) ;
  366. 'FIN' imass ;
  367. 'LISTE' ok1 ;
  368. *
  369. * Construction d'une matrice de divergence
  370. *
  371. rv = 'EQEX' 'OPTI' 'EF' 'IMPL' 'CENTREE' 'CENTRE'
  372. 'ZONE' $mt 'OPER' 'KMAB' 1.4 'INCO' 'UN' 'PN' ;
  373. rv . 'INCO' = 'TABLE' 'INCO' ;
  374. rv . 'INCO' . 'UN' = 'KCHT' $mt 'VECT' 'SOMMET' (0.D0 0.D0) ;
  375. rv . 'INCO' . 'PN' = 'KCHT' $mt 'SCAL' 'CENTRE' 0.D0 ;
  376. dummy mdivk = 'KMAB' (rv . '1KMAB') ;
  377. *
  378. * Autres façons
  379. *
  380. mdiv = gdiv _mt 'LINE' 'LINE' 'CSTE' 1.4 ;
  381. mdiv = 'CHANGER' 'INCO' mdiv ('MOTS' 'UX' 'UY' 'LX')
  382. ('MOTS' '1UN' '2UN' 'PN')
  383. ('MOTS' 'FX' 'FY' 'FLX')
  384. ('MOTS' '1UN' '2UN' 'PN')
  385. 'MULT' ;
  386. mdivk2 = 'KOPS' 'RIMA' mdiv ;
  387. mdiv2 = 'KOPS' 'RIMA' mdivk ;
  388. mdiv3 = 'KOPS' 'RIMA' mdivk2 ;
  389. mdivk3 = 'KOPS' 'RIMA' mdiv2 ;
  390. *
  391. tdiv = 'TABLE' ;
  392. tdiv . 1 = mdiv ;
  393. tdiv . 2 = mdivk ;
  394. tdiv . 3 = mdiv2 ;
  395. tdiv . 4 = mdivk2 ;
  396. tdiv . 5 = mdiv3 ;
  397. tdiv . 6 = mdivk3 ;
  398. *
  399. c1 = 'NOMC' '1UN' ('BRUIT' 'BLAN' 'UNIF' 0.6 0.7 mt) ;
  400. c2 = 'NOMC' '2UN' ('BRUIT' 'BLAN' 'UNIF' 0.6 0.7 mt) ;
  401. cq = c1 '+' c2 ;
  402. *
  403. ddiv = 'DIME' tdiv ;
  404. tchpo = 'TABLE' ;
  405. 'REPETER' idiv ddiv ;
  406. tchpo . &idiv = '*' (tdiv . &idiv) cq ;
  407. 'FIN' idiv ;
  408. ok2 = vrai ;
  409. 'REPETER' idiv ('-' ddiv 1) ;
  410. err = ERRREL (tchpo . &idiv) (tchpo . (&idiv '+' 1)) ;
  411. 'MESSAGE' ('CHAINE' 'idiv=' &idiv ' err=' err) ;
  412. ok2 = 'ET' ok2 ('<' err 1.D-12) ;
  413. 'FIN' idiv ;
  414. 'LISTE' ok2 ;
  415. *
  416. *
  417. * Construction d'une matrice de divergence et sa transposée
  418. *
  419. rv = 'EQEX' 'OPTI' 'EF' 'IMPL' 'CENTREE' 'CENTRE'
  420. 'ZONE' $mt 'OPER' 'KBBT' -1.4 'INCO' 'UN' 'PN' ;
  421. rv . 'INCO' = 'TABLE' 'INCO' ;
  422. rv . 'INCO' . 'UN' = 'KCHT' $mt 'VECT' 'SOMMET' (0.D0 0.D0) ;
  423. rv . 'INCO' . 'PN' = 'KCHT' $mt 'SCAL' 'CENTRE' 0.D0 ;
  424. dummy mdivk = 'KBBT' (rv . '1KBBT') ;
  425. *
  426. * Autres façons
  427. *
  428. mdiv = gdiv _mt 'LINE' 'LINE' 'CSTE' 1.4 ;
  429. mdiv = 'CHANGER' 'INCO' mdiv ('MOTS' 'UX' 'UY' 'LX')
  430. ('MOTS' '1UN' '2UN' 'PN')
  431. ('MOTS' 'FX' 'FY' 'FLX')
  432. ('MOTS' '1UN' '2UN' 'PN')
  433. 'MULT' ;
  434. mdiv = mdiv 'ET' ('KOPS' 'TRANSPOS' mdiv) ;
  435. mdivk2 = 'KOPS' 'RIMA' mdiv ;
  436. mdiv2 = 'KOPS' 'RIMA' mdivk ;
  437. mdiv3 = 'KOPS' 'RIMA' mdivk2 ;
  438. mdivk3 = 'KOPS' 'RIMA' mdiv2 ;
  439. *
  440. tdiv = 'TABLE' ;
  441. tdiv . 1 = mdiv ;
  442. * On ne met pas la suivante car le produit ne prend pas en compte
  443. * la transposée (par contre, KOPS RIMA, oui)
  444. *tdiv . 6 = mdivk ;
  445. tdiv . 2 = mdiv2 ;
  446. tdiv . 3 = mdivk2 ;
  447. tdiv . 4 = mdiv3 ;
  448. tdiv . 5 = mdivk3 ;
  449. *
  450. c1 = 'NOMC' '1UN' ('BRUIT' 'BLAN' 'UNIF' 0.6 0.7 mt) ;
  451. c2 = 'NOMC' '2UN' ('BRUIT' 'BLAN' 'UNIF' 0.6 0.7 mt) ;
  452. c3 = 'NOMC' 'PN' ('BRUIT' 'BLAN' 'UNIF' 0.6 0.7 ('DOMA' $mt 'CENTRE')) ;
  453. cq = c1 '+' c2 '+' c3 ;
  454. *
  455. ddiv = 'DIME' tdiv ;
  456. tchpo = 'TABLE' ;
  457. 'REPETER' idiv ddiv ;
  458. tchpo . &idiv = '*' (tdiv . &idiv) cq ;
  459. 'FIN' idiv ;
  460. ok3 = vrai ;
  461. 'REPETER' idiv ('-' ddiv 1) ;
  462. err = ERRREL (tchpo . &idiv) (tchpo . (&idiv '+' 1)) ;
  463. 'MESSAGE' ('CHAINE' 'idiv=' &idiv ' err=' err) ;
  464. ok3 = 'ET' ok3 ('<' err 1.D-12) ;
  465. 'FIN' idiv ;
  466. 'LISTE' ok3 ;
  467. *
  468. 'MESSAGE' ('CHAINE' 'ok1 = ' ok1) ;
  469. 'MESSAGE' ('CHAINE' 'ok2 = ' ok2) ;
  470. 'MESSAGE' ('CHAINE' 'ok3 = ' ok3) ;
  471. *
  472. 'SI' interact ;
  473. 'OPTION' 'DONN' 5 ;
  474. 'FINSI' ;
  475. 'SI' ('NON' (ok1 'ET' ok2 'ET' ok3)) ;
  476. 'ERREUR' 5 ;
  477. 'SINON' ;
  478. 'MESSAGE' 'Tout sest bien passe' ;
  479. 'FINSI' ;
  480. *
  481. * End of dgibi file KOPS_RIMA
  482. *
  483. 'FIN' ;
  484.  
  485.  
  486.  
  487.  
  488.  
  489.  
  490.  
  491.  
  492.  
  493.  

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