Télécharger darcy3_hexaedre_EFMH.dgibi

Retour à la liste

Numérotation des lignes :

  1. * fichier : darcy3_hexaedre_EFMH.dgibi
  2. ************************************************************************
  3. ************************************************************************
  4. *
  5. ************************** CAS TEST : darcy3.dgibi ******************
  6. *
  7. GRAPH = 'N' ;
  8. 'SAUT' 'PAGE' ;
  9. *
  10. *-------------------------------------------------------------------
  11. * TEST DARCY3
  12. * CALCUL DARCY ORTHOTROPE 3D
  13. * Résolution par une méthode d'éléments finis mixtes hybrides.
  14. *
  15. * Ce test permet de vérifier le bon fonctionnement des opérateurs
  16. * utilisé afin de résoudre les équations de DARCY par une méthode
  17. * d'éléments finis mixtes hybrides dans CASTEM2000.
  18. *
  19. * On effectue trois calculs sur un cube, maillé par des cubes
  20. * réguliers.
  21. * Les conditions aux limites varient suivant le cas considéré :
  22. * On impose le flux ou la charge sur les cotés du domaine.
  23. *
  24. * La solution analytique en charge est un polynome de degré un,
  25. * la vitesse est constante et la conductivité hydraulique orthotrope.
  26. * __ __
  27. * | |
  28. * | 1 0 0 |
  29. * K = | 0 3/4 0 |
  30. * | 0 0 1/2 |
  31. * |__ __|
  32. *
  33. * H(x,y,z) = -45 x -80 y -60z + 200.
  34. * V(x,y,z) = ( 45 ; 60 ; 30 )
  35. *
  36. * On s'attend à une précision de l'ordre de la précision machine.
  37. *
  38. *-------------------------------------------------------------------
  39. *
  40. 'SAUT' 'PAGE' ;
  41. *
  42. *- Options générales de calcul.
  43. *
  44. 'TITR' 'EFMH DARCY ORTHOTROPE 3D Lineaire : darcy3.dgibi' ;
  45. 'OPTI' 'DIME' 3 'ELEM' 'CUB8' ;
  46. 'OPTI' 'ECHO' 1 ;
  47. *
  48. * ------------
  49. * = MAILLAGE =
  50. * ------------
  51. OEIL = 5.D0 6.D0 7.D0 ;
  52. VECX = 1.D0 0.D0 0.D0 ;
  53. VECY = 0.D0 1.D0 0.D0 ;
  54. VECZ = 0.D0 0.D0 1.D0 ;
  55. *
  56. ENX = 10 ;
  57. ENY = 10 ;
  58. ENZ = 10 ;
  59. DX = 1.D0 / ENX ;
  60. DY = 1.D0 / ENY ;
  61. DZ = 1.D0 / ENZ ;
  62. *
  63. *- Création des points
  64. *
  65. A0 = 0.D0 0.D0 0.D0 ;
  66. B0 = 1.D0 0.D0 0.D0 ;
  67. C0 = 1.D0 1.D0 0.D0 ;
  68. D0 = 0.D0 1.D0 0.D0 ;
  69. E0 = 0.D0 0.D0 1.D0 ;
  70. F0 = 1.D0 0.D0 1.D0 ;
  71. G0 = 1.D0 1.D0 1.D0 ;
  72. H0 = 0.D0 1.D0 1.D0 ;
  73. *
  74. *- Création des droites
  75. *
  76. AB = 'DROI' ENX A0 B0 ;
  77. AD = 'DROI' ENY A0 D0 ;
  78. AE = 'DROI' ENZ A0 E0 ;
  79. BC = 'DROI' ENY B0 C0 ;
  80. BF = 'DROI' ENZ B0 F0 ;
  81. CD = 'DROI' ENX C0 D0 ;
  82. CG = 'DROI' ENZ C0 G0 ;
  83. DH = 'DROI' ENZ D0 H0 ;
  84. EF = 'DROI' ENX E0 F0 ;
  85. EH = 'DROI' ENY E0 H0 ;
  86. FG = 'DROI' ENY F0 G0 ;
  87. GH = 'DROI' ENX G0 H0 ;
  88. *
  89. FE = 'INVE' EF ;
  90. EA = 'INVE' AE ;
  91. DC = 'INVE' CD ;
  92. HD = 'INVE' DH ;
  93. DA = 'INVE' AD ;
  94. HE = 'INVE' EH ;
  95. GF = 'INVE' FG ;
  96. FB = 'INVE' BF ;
  97. *
  98. *- Creation des faces du cube
  99. *
  100. SDRO = 'DALL' AB BF FE EA 'PLAN' ;
  101. SGAU = 'DALL' DC CG GH HD 'PLAN' ;
  102. SBAS = 'DALL' AB BC CD DA 'PLAN' ;
  103. SHAU = 'DALL' EF FG GH HE 'PLAN' ;
  104. SDEV = 'DALL' BC CG GF FB 'PLAN' ;
  105. SDER = 'DALL' AD DH HE EA 'PLAN' ;
  106. *
  107. *- Création maillage géométrique
  108. *
  109. ENXM = ENX + ENY + ENZ ;
  110. ELI0 = 1.D0 / ENXM / 10.D0 ;
  111. 'SI' ('EGA' ('VALEUR' 'ELEM') 'CUB8') ;
  112. CUBE1 = 'PAVE' SDER SDEV SBAS SHAU SGAU SDRO ;
  113. 'SINON' ;
  114. CUBE1 = 'VOLU' (SDER 'ET' SDEV 'ET' SBAS 'ET' SHAU
  115. 'ET' SGAU 'ET' SDRO) ;
  116. 'FINSI' ;
  117. QFTOT = CHANGE CUBE1 QUAF ;
  118. QFGAU = CHANGE SGAU QUAF ;
  119. QFDRO = CHANGE SDRO QUAF ;
  120. QFHAU = CHANGE SHAU QUAF ;
  121. QFBAS = CHANGE SBAS QUAF ;
  122. QFDEV = CHANGE SDEV QUAF ;
  123. QFDER = CHANGE SDER QUAF ;
  124. ELIM ELI0 (QFTOT ET QFGAU ET QFDRO ET QFHAU ET QFBAS ET QFDEV ET
  125. QFDER ) ;
  126. *
  127. *- Création maillage HYBRIDE et sous-objets (conditions aux limites)
  128. *
  129. MODHYB = MODE QFTOT 'DARCY' 'ANISOTROPE' ;
  130. MODGAU = MODE QFGAU 'DARCY' 'ANISOTROPE' ;
  131. MODDRO = MODE QFDRO 'DARCY' 'ANISOTROPE' ;
  132. MODHAU = MODE QFHAU 'DARCY' 'ANISOTROPE' ;
  133. MODBAS = MODE QFBAS 'DARCY' 'ANISOTROPE' ;
  134. MODDEV = MODE QFDEV 'DARCY' 'ANISOTROPE' ;
  135. MODDER = MODE QFDER 'DARCY' 'ANISOTROPE' ;
  136. C11 = 'DOMA' MODHYB 'VOLUME' ;
  137. CHYB1 = 'DOMA' MODHYB 'SURFACE' ;
  138. CHYB2 = 'DOMA' MODHYB 'NORMALE' ;
  139. CEGAU = 'DOMA' MODGAU 'CENTRE' ;
  140. CEDRO = 'DOMA' MODDRO 'CENTRE' ;
  141. CEHAU = 'DOMA' MODHAU 'CENTRE' ;
  142. CEBAS = 'DOMA' MODBAS 'CENTRE' ;
  143. CEDEV = 'DOMA' MODDEV 'CENTRE' ;
  144. CEDER = 'DOMA' MODDER 'CENTRE' ;
  145. *
  146. *- Solution analytique
  147. *
  148. XX YY ZZ = 'COOR' (DOMA MODHYB 'FACE' ) ;
  149. XXC YYC ZZC = 'COOR' (DOMA MODHYB 'CENTRE') ;
  150. *
  151. VKX = 1.D0 ;
  152. VKY = 0.75D0 ;
  153. VKZ = 0.5D0 ;
  154.  
  155. VVKX = MANU 'CHPO' (DOMA MODHYB 'CENTRE') 'K11' 1.D0 ;
  156. VVKX = CHANGER ATTRIBUT VVKX 'NATU' DISCRET ;
  157. VVKY = MANU 'CHPO' (DOMA MODHYB 'CENTRE') 'K22' 0.75D0 ;
  158. VVKY = CHANGER ATTRIBUT VVKY 'NATU' DISCRET ;
  159. VVKZ = MANU 'CHPO' (DOMA MODHYB 'CENTRE') 'K33' 0.5D0 ;
  160. VVKZ = CHANGER ATTRIBUT VVKZ 'NATU' DISCRET ;
  161.  
  162. AA = -45.D0 ;
  163. BB = -80.D0 ;
  164. CC = -60.D0 ;
  165. DD = 200.D0 ;
  166. AAA = -1.D0 * VKX * AA ;
  167. BBB = -1.D0 * VKY * BB ;
  168. CCC = -1.D0 * VKZ * CC ;
  169. *
  170. PANAF = (AA * XX) + (BB * YY) + (CC * ZZ) + DD ;
  171. PANAC = (AA * XXC) + (BB * YYC) + (CC * ZZC) + DD ;
  172. VANAC = 'MANU' 'CHPO' (DOMA MODHYB 'CENTRE') 3 'VX' AAA
  173. 'VY' BBB 'VZ' CCC ;
  174. VANAF = 'MANU' 'CHPO' (DOMA MODHYB 'FACE') 3 'VX' AAA
  175. 'VY' BBB 'VZ' CCC ;
  176. *
  177. * --------------
  178. * = RESOLUTION =
  179. * --------------
  180. *
  181. MATI3 = (NOMC 'K11' VVKX) et
  182. (NOMC 'K22' VVKY) et
  183. (NOMC 'K33' VVKZ) et
  184. (NOMC 'K21' (0.D0 * VVKX)) et
  185. (NOMC 'K31' (0.D0 * VVKX)) et
  186. (NOMC 'K32' (0.D0 * VVKX)) ;
  187. * ;
  188. *- Conditions aux limites
  189. *
  190. BBGAU = 'BLOQ' CEGAU 'TH' ;
  191. BBDRO = 'BLOQ' CEDRO 'TH' ;
  192. BBHAU = 'BLOQ' CEHAU 'TH' ;
  193. BBBAS = 'BLOQ' CEBAS 'TH' ;
  194. BBDEV = 'BLOQ' CEDEV 'TH' ;
  195. BBDER = 'BLOQ' CEDER 'TH' ;
  196. *
  197. *- TH imposée
  198. *
  199. TTIMP = 'REDU' PANAF CEGAU ;
  200. TTIM2 = 'EXCO' TTIMP 'SCAL' 'TH' ;
  201. EEGAU = 'DEPI' BBGAU TTIM2 ;
  202. TTIMP = 'REDU' PANAF CEDRO ;
  203. TTIM2 = 'EXCO' TTIMP 'SCAL' 'TH' ;
  204. EEDRO = 'DEPI' BBDRO TTIM2 ;
  205. TTIMP = 'REDU' PANAF CEBAS ;
  206. TTIM2 = 'EXCO' TTIMP 'SCAL' 'TH' ;
  207. EEBAS = 'DEPI' BBBAS TTIM2 ;
  208. TTIMP = 'REDU' PANAF CEHAU ;
  209. TTIM2 = 'EXCO' TTIMP 'SCAL' 'TH' ;
  210. EEHAU = 'DEPI' BBHAU TTIM2 ;
  211. TTIMP = 'REDU' PANAF CEDEV ;
  212. TTIM2 = 'EXCO' TTIMP 'SCAL' 'TH' ;
  213. EEDEV = 'DEPI' BBDEV TTIM2 ;
  214. TTIMP = 'REDU' PANAF CEDER ;
  215. TTIM2 = 'EXCO' TTIMP 'SCAL' 'TH' ;
  216. EEDER = 'DEPI' BBDER TTIM2 ;
  217. *
  218. *- Flux imposé
  219. *
  220. FLDRO = -60.D0 * (nomc 'FLUX' (doma moddro VOLUME));
  221. FLGAU = 60.D0 * (nomc 'FLUX' (doma modgau VOLUME));
  222. FLHAU = 30.D0 * (nomc 'FLUX' (doma modhau VOLUME));
  223. FLBAS = -30.D0 * (nomc 'FLUX' (doma modbas VOLUME));
  224. FLDEV = 45.D0 * (nomc 'FLUX' (doma moddev VOLUME));
  225. FLDER = -45.D0 * (nomc 'FLUX' (doma modder VOLUME));
  226. *
  227. *
  228. *- Assemblage et résolution en TH
  229. *
  230.  
  231. h_lim = 'RESOUD' ( BBHAU 'ET' BBBAS 'ET' BBDRO 'ET'
  232. BBGAU 'ET' BBDEV 'ET' BBDER)
  233. (EEHAU 'ET' EEBAS 'ET' EEDRO 'ET'
  234. EEGAU 'ET' EEDEV 'ET' EEDER) ;
  235. h_lim = 'EXCO' 'TH' h_lim;
  236. CHCLIM = TABLE;
  237. CHCLIM . 'DIRICHLET' = 'NOMC' 'I35' h_lim;
  238.  
  239.  
  240. GEOL1 = TABLE;
  241. GEOL1 . 'CONCENTRATION' = 'NOMC' 'I35' (0.D0 * PANAC) ;
  242. GEOL1 . 'LUMP' = FAUX ;
  243. GEOL1 . 'TYPDISCRETISATION' = 'EFMH' ;
  244. GEOL1 . 'THETA_DIFFUSION' = 1.0D0 ;
  245. GEOL1 . 'THETA_CONVECTION' = 1.0D0 ;
  246. GEOL1 . 'DECENTREMENT' = FAUX ;
  247. GEOL1 . 'DELTAT' = 1.D15 ;
  248. GEOL1 . 'DIFFUSIVITE' = mati3 ;
  249. GEOL1 . 'SOLVEUR' = 2 ;
  250. GEOL1 . 'PRECONDITIONNEUR' = 3 ;
  251. GEOL1 . 'POROSITE' = 0.D0 * PANAC ;
  252. GEOL1 . 'CLIMITES' = CHCLIM ;
  253. GEOL1 . 'RECALCUL' = VRAI ;
  254. *
  255. GEOL1 GEOL2 = TRANGEOL Modhyb GEOL1;
  256. CHTER1 = 'NOMC' 'TH' GEOL2 . 'TRACE_CONC';
  257. PCEN1 = 'NOMC' 'H' GEOL1 . 'CONCENTRATION' ;
  258. QFACE1 = 'NOMC' 'FLUX' GEOL1 . 'FLUXDIFF' ;
  259.  
  260.  
  261. * deuxieme probleme
  262.  
  263.  
  264.  
  265. h_lim = 'RESOUD' (BBHAU 'ET' BBBAS 'ET' BBGAU 'ET' BBDRO)
  266. (EEHAU 'ET' EEBAS 'ET' EEGAU 'ET' EEDRO) ;
  267. h_lim = 'EXCO' 'TH' h_lim;
  268. CHCLIM = TABLE;
  269. CHCLIM . 'NEUMANN' = ('NOMC' 'I35' (FLDEV 'ET' FLDER));
  270. CHCLIM . 'DIRICHLET' = 'NOMC' 'I35' h_lim;
  271.  
  272.  
  273. GEOL1 = TABLE;
  274. GEOL1 . 'CONCENTRATION' = 'NOMC' 'I35' (0.D0 * PANAC) ;
  275. GEOL1 . 'LUMP' = FAUX ;
  276. GEOL1 . 'TYPDISCRETISATION' = 'EFMH' ;
  277. GEOL1 . 'THETA_DIFFUSION' = 1.0D0 ;
  278. GEOL1 . 'THETA_CONVECTION' = 1.0D0 ;
  279. GEOL1 . 'DECENTREMENT' = FAUX ;
  280. GEOL1 . 'DELTAT' = 1.D15 ;
  281. GEOL1 . 'DIFFUSIVITE' = mati3 ;
  282. GEOL1 . 'SOLVEUR' = 2 ;
  283. GEOL1 . 'PRECONDITIONNEUR' = 3 ;
  284. GEOL1 . 'POROSITE' = 0.D0 * PANAC ;
  285. GEOL1 . 'CLIMITES' = CHCLIM ;
  286. GEOL1 . 'RECALCUL' = VRAI ;
  287. *
  288. GEOL1 GEOL2 = TRANGEOL Modhyb GEOL1;
  289. CHTER2 = 'NOMC' 'TH' GEOL2 . 'TRACE_CONC';
  290. PCEN2 = 'NOMC' 'H' GEOL1 . 'CONCENTRATION' ;
  291. QFACE2 = 'NOMC' 'FLUX' GEOL1 . 'FLUXDIFF' ;
  292.  
  293.  
  294. * troisieme probleme
  295.  
  296. h_lim = 'RESOUD' (BBGAU 'ET' BBDEV)
  297. (EEGAU 'ET' EEDEV) ;
  298. h_lim = 'EXCO' 'TH' h_lim;
  299. CHCLIM = TABLE;
  300. CHCLIM . 'NEUMANN' = ('NOMC' 'I35' ( FLHAU 'ET' FLBAS
  301. 'ET' FLDRO 'ET' FLDER));
  302. CHCLIM . 'DIRICHLET' = 'NOMC' 'I35' h_lim;
  303.  
  304.  
  305. GEOL1 = TABLE;
  306. GEOL1 . 'CONCENTRATION' = 'NOMC' 'I35' (0.D0 * PANAC) ;
  307. GEOL1 . 'LUMP' = FAUX ;
  308. GEOL1 . 'TYPDISCRETISATION' = 'EFMH' ;
  309. GEOL1 . 'THETA_DIFFUSION' = 1.0D0 ;
  310. GEOL1 . 'THETA_CONVECTION' = 1.0D0 ;
  311. GEOL1 . 'DECENTREMENT' = FAUX ;
  312. GEOL1 . 'DELTAT' = 1.D15 ;
  313. GEOL1 . 'DIFFUSIVITE' = mati3 ;
  314. GEOL1 . 'SOLVEUR' = 2 ;
  315. GEOL1 . 'PRECONDITIONNEUR' = 3 ;
  316. GEOL1 . 'POROSITE' = 0.D0 * PANAC ;
  317. GEOL1 . 'CLIMITES' = CHCLIM ;
  318. GEOL1 . 'RECALCUL' = VRAI ;
  319. *
  320. GEOL1 GEOL2 = TRANGEOL Modhyb GEOL1;
  321. GEOL1 GEOL2 = TRANGEOL Modhyb GEOL1 GEOL2;
  322.  
  323. CHTER3 = 'NOMC' 'TH' GEOL2 . 'TRACE_CONC';
  324. PCEN3 = 'NOMC' 'H' GEOL1 . 'CONCENTRATION' ;
  325. QFACE3 = 'NOMC' 'FLUX' GEOL1 . 'FLUXDIFF' ;
  326.  
  327.  
  328.  
  329. *
  330. *- Calcul de V
  331. *
  332. VCENT1 = 'HVIT' MODHYB QFACE1 ;
  333. QFACE1 = 'EXCO' QFACE1 'FLUX' 'SCAL' ;
  334. VFACE1 = QFACE1 * CHYB2 / CHYB1 ;
  335. *
  336. VCENT2 = 'HVIT' MODHYB QFACE2 ;
  337. QFACE2 = 'EXCO' QFACE2 'FLUX' 'SCAL' ;
  338. VFACE2 = QFACE2 * CHYB2 / CHYB1 ;
  339. *
  340. VCENT3 = 'HVIT' MODHYB QFACE3 ;
  341. QFACE3 = 'EXCO' QFACE3 'FLUX' 'SCAL' ;
  342. VFACE3 = QFACE3 * CHYB2 / CHYB1 ;
  343. *
  344. * -----------------
  345. * = Calcul ERREUR =
  346. * -----------------
  347. * ERReur relative en Trace de charge TH aux faces des éléments
  348. * ERReur relative en charge H au centre des éléments
  349. * Erreur relative sur la vitesse au centre des éléments
  350. *
  351. ERRTP1 = 'EXCO' CHTER1 'TH' 'SCAL' ;
  352. ERRTP1 = ERRTP1 - PANAF / PANAF ;
  353. ERRTP1 = 'ABS' ERRTP1 ;
  354. ERRP1 = 'EXCO' PCEN1 'H' 'SCAL' ;
  355. ERRP1 = ERRP1 - PANAC / PANAC ;
  356. ERRP1 = 'ABS' ERRP1 ;
  357. *
  358. ERRTP2 = 'EXCO' CHTER2 'TH' 'SCAL' ;
  359. ERRTP2 = ERRTP2 - PANAF / PANAF ;
  360. ERRTP2 = 'ABS' ERRTP2 ;
  361. ERRP2 = 'EXCO' PCEN2 'H' 'SCAL' ;
  362. ERRP2 = ERRP2 - PANAC / PANAC ;
  363. ERRP2 = 'ABS' ERRP2 ;
  364. *
  365. ERRTP3 = 'EXCO' CHTER3 'TH' 'SCAL' ;
  366. ERRTP3 = ERRTP3 - PANAF / PANAF ;
  367. ERRTP3 = 'ABS' ERRTP3 ;
  368. ERRP3 = 'EXCO' PCEN3 'H' 'SCAL' ;
  369. ERRP3 = ERRP3 - PANAC / PANAC ;
  370. ERRP3 = 'ABS' ERRP3 ;
  371. *
  372. MOT1 = 'MOTS' 'VX' 'VY' 'VZ' ;
  373. VDVD = 'PSCA' VANAC VANAC MOT1 MOT1 ;
  374. *
  375. VD1 = VANAC - VCENT1 ;
  376. VC1 = 'PSCA' VD1 VD1 MOT1 MOT1 ;
  377. SDC1 = 'ABS' ( VC1 / VDVD ) ;
  378. SDC1 = SDC1 '**' 0.5 ;
  379. VD2 = VANAC - VCENT2 ;
  380. VC2 = 'PSCA' VD2 VD2 MOT1 MOT1 ;
  381. SDC2 = 'ABS' ( VC2 / VDVD ) ;
  382. SDC2 = SDC2 '**' 0.5 ;
  383. VD3 = VANAC - VCENT3 ;
  384. VC3 = 'PSCA' VD3 VD3 MOT1 MOT1 ;
  385. SDC3 = 'ABS' ( VC3 / VDVD ) ;
  386. SDC3 = SDC3 '**' 0.5 ;
  387. *
  388. * -------------------
  389. * = Tracé resultats =
  390. * -------------------
  391. 'SI' ('NEG' GRAPH 'N') ;
  392. *
  393. *- Transformation des quantités aux centres en MCHAML constant.
  394. *
  395. ERRP1 = 'KCHA' MODHYB 'CHAM' ERRP1 ;
  396. ERRP2 = 'KCHA' MODHYB 'CHAM' ERRP2 ;
  397. ERRP3 = 'KCHA' MODHYB 'CHAM' ERRP3 ;
  398. SDS1 = 'KCHA' MODHYB 'CHAM' SDC1 ;
  399. SDS2 = 'KCHA' MODHYB 'CHAM' SDC2 ;
  400. SDS3 = 'KCHA' MODHYB 'CHAM' SDC3 ;
  401. *
  402. * Dans chaque cas on trace
  403. * L'erreur relative sur la charge au centre
  404. * L'erreur relative sur la Vitesse au centre
  405. *
  406. 'TITR' 'darcy3/1 : Erreur relative sur la charge' ;
  407. 'TRAC' MODHYB ERRP1 ;
  408. 'TITR' 'darcy3/1 : Erreur relative sur la vitesse' ;
  409. 'TRAC' MODHYB SDS1 ;
  410. *
  411. 'TITR' 'darcy3/2 : Erreur relative sur la charge' ;
  412. 'TRAC' MODHYB ERRP2 ;
  413. 'TITR' 'darcy3/2 : Erreur relative sur la vitesse' ;
  414. 'TRAC' MODHYB SDS2 ;
  415. *
  416. 'TITR' 'darcy3/3 : Erreur relative sur la charge' ;
  417. 'TRAC' MODHYB ERRP3 ;
  418. 'TITR' 'darcy3/3 : Erreur relative sur la vitesse' ;
  419. 'TRAC' MODHYB SDS3 ;
  420. *
  421. 'FINSI' ;
  422. *
  423. * -------------------
  424. * = Gestion ERREURS =
  425. * -------------------
  426. MAXTP1 = 'MAXI' ERRTP1 ;
  427. MAXTP2 = 'MAXI' ERRTP2 ;
  428. MAXTP3 = 'MAXI' ERRTP3 ;
  429. MAXP1 = 'MAXI' ERRP1 ;
  430. MAXP2 = 'MAXI' ERRP2 ;
  431. MAXP3 = 'MAXI' ERRP3 ;
  432. MAXV1 = 'MAXI' SDC1 ;
  433. MAXV2 = 'MAXI' SDC2 ;
  434. MAXV3 = 'MAXI' SDC3 ;
  435. *
  436. 'SAUT' 'PAGE' ;
  437. 'SAUT' 2 'LIGNE' ;
  438. 'MESS' ' ERREURS RELATIVES ' ;
  439. 'SAUT' 1 'LIGNE' ;
  440. 'MESS' ' cas test TH H V' ;
  441. 'SAUT' 1 'LIGNE' ;
  442. 'MESS' ' numero1 ' maxtp1 ' ' maxp1 ' ' maxv1 ;
  443. 'SAUT' 1 'LIGNE' ;
  444. 'MESS' ' numero2 ' maxtp2 ' ' maxp2 ' ' maxv2 ;
  445. 'SAUT' 1 'LIGNE' ;
  446. 'MESS' ' numero3 ' maxtp3 ' ' maxp3 ' ' maxv3 ;
  447. 'SAUT' 2 'LIGNE' ;
  448. *
  449. EPS0 = 1.D-12 ;
  450. LOG1 = MAXTP1 > EPS0 ; LOG2 = MAXTP2 > EPS0 ; LOG3 = MAXTP3 > EPS0 ;
  451. LOG4 = MAXP1 > EPS0 ; LOG5 = MAXP2 > EPS0 ; LOG6 = MAXP3 > EPS0 ;
  452. LOG7 = MAXV1 > EPS0 ; LOG8 = MAXV2 > EPS0 ; LOG9 = MAXV3 > EPS0 ;
  453. LTP0 = LOG1 'OU' LOG2 'OU' LOG3 ;
  454. LP0 = LOG4 'OU' LOG5 'OU' LOG6 ;
  455. LV0 = LOG7 'OU' LOG8 'OU' LOG9 ;
  456. L0 = LTP0 'OU' LP0 'OU' LV0 ;
  457. 'SI' ( L0 ) ;
  458. 'ERRE' 5 ;
  459. 'SINO' ;
  460. 'ERRE' 0 ;
  461. 'FINSI' ;
  462. *
  463. 'FIN' ;
  464.  
  465.  
  466.  
  467.  
  468.  
  469.  
  470.  
  471.  
  472.  
  473.  
  474.  
  475.  
  476.  
  477.  
  478.  

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