Télécharger tens.dgibi

Retour à la liste

Numérotation des lignes :

  1. * fichier : tens.dgibi
  2. 'OPTI' echo 0 ;
  3. ************************************************************************
  4. ************************************************************************
  5. ************************************************************************
  6. * NOM : TENS
  7. * DESCRIPTION : Test de l'operateur TENS.
  8. * En particulier PRIN et de TENS PRIN
  9. * qui doivent donner les memes resultats.
  10. *
  11. * LANGAGE : GIBIANE-CAST3M
  12. * AUTEUR : Stephane GOUNAND (CEA/DES/ISAS/DM2S/SEMT/LTA)
  13. * mel : stephane.gounand@cea.fr
  14. **********************************************************************
  15. * VERSION : v1, 27/07/2025, version initiale
  16. * HISTORIQUE : v1, 27/07/2025, création
  17. * HISTORIQUE :
  18. * HISTORIQUE :
  19. ************************************************************************
  20. *
  21. interact=faux ;
  22. *
  23. 'DEBP' testtens ;
  24. 'ARGU' cha ;
  25. tcha = 'TYPE' cha ;
  26. 'SI' ('ET' ('NEG' tcha 'CHPOINT') ('NEG' tcha 'MCHAML')) ;
  27. 'ERRE' 39 avec tcha ;
  28. 'FINS' ;
  29. * Lecture des valeurs propres
  30. vdim = 'VALE' 'DIME' ;
  31. 'ARGU' lvp/'LISTREEL' ;
  32. 'SI' ('NON' ('EXIS' lvp)) ;
  33. lvp = 'PROG' ;
  34. 'REPE' bdim vdim ;
  35. 'ARGU' vp*'FLOTTANT' ;
  36. lvp = 'ET' lvp vp ;
  37. 'FIN' bdim ;
  38. 'FINS' ;
  39. *
  40. svp = 'SOMM' lvp ;
  41. pvp = 'EXP' ('SOMM' ('LOG' lvp)) ;
  42. svp2 = '**' ('SOMM' ('**' lvp 2)) 0.5 ;
  43. tol1 = ('VALE' prec) '*' ('MAXI' lvp 'ABS') '*' 10. ;
  44. tol2 = ('VALE' prec) '*' pvp '*' 10. ;
  45. tol3 = ('VALE' prec) '*' svp2 '*' 10. ;
  46. tol4 = ('VALE' prec) '*' ('EXP' ('SOMM' ('ABS' lvp))) '*' 10. ;
  47. tol5 = ('VALE' prec) '*' ('SOMM' ('EXP' lvp)) '*' 10. ;
  48. tolabs = tol1 '*' 10. ;
  49. lok = vrai ;
  50. * Debut des test
  51. * NORM2
  52. ch2 = 'TENS' 'NORM2' cha ;
  53. vch2 = 'MINI' ch2 ;
  54. d2 = 'ABS' ('-' vch2 svp2) ;
  55. * vch2b = 0. ;
  56. * lcomp = 'EXTR' cha 'COMP' ; dlcomp = 'DIME' lcomp ;
  57. * 'REPE' icomp dlcomp ;
  58. * mcomp = 'EXTR' lcomp &icomp ;
  59. * vcomp = 'MINI' ('EXCO' cha mcomp) ;
  60. * vch2b = vch2b '+' ('**' vcomp 2) ;
  61. * 'FIN' icomp ;
  62. * vch2b = '**' vch2b 0.5 ;
  63. td2 = '<' d2 tol3 ;
  64. lok = lok 'ET' td2 ;
  65. 'SI' ('NON' td2) ; 'MESS' '!!! Calcul norm2' d2 ' > ' tol3 ; 'FINS' ;
  66. * NORMINF
  67. chi = 'TENS' cha 'NORMINF' ;
  68. vchi = 'MINI' chi ;
  69. vchi2 = 0. ;
  70. lcomp = 'EXTR' cha 'COMP' ; dlcomp = 'DIME' lcomp ;
  71. 'REPE' icomp dlcomp ;
  72. mcomp = 'EXTR' lcomp &icomp ;
  73. vchi2 = 'MAXI' vchi2 ('MINI' ('EXCO' cha mcomp)) 'ABS' ;
  74. 'FIN' icomp ;
  75. di = 'ABS' ('-' vchi2 vchi) ;
  76. tdi = '<' di tol1 ;
  77. lok = lok 'ET' tdi ;
  78. 'SI' ('NON' tdi) ; 'MESS' '!!! Calcul norminf' di ' > ' tol1 ; 'FINS' ;
  79. * DET
  80. chd = 'TENS' cha 'DET' ;
  81. vchd = 'MINI' chd ;
  82. dd = 'ABS' ('-' vchd pvp) ;
  83. tdd = '<' dd tol2 ;
  84. lok = lok 'ET' tdd ;
  85. 'SI' ('NON' tdd) ; 'MESS' '!!! Calcul det' dd ' > ' tol2 ; 'FINS' ;
  86. * TRACE
  87. cht = 'TENS' cha 'TRACE' ;
  88. vcht = 'MINI' cht ;
  89. dt = 'ABS' ('-' vcht svp) ;
  90. tdt = '<' dt tol1 ;
  91. lok = lok 'ET' tdt ;
  92. 'SI' ('NON' tdt) ; 'MESS' '!!! Calcul trace' dt ' > ' tol1 ; 'FINS' ;
  93. * LOG
  94. chl = 'TENS' cha 'LOG' ;
  95. trchl = 'TENS' chl 'TRACE' ;
  96. vtrchl = 'MINI' trchl ;
  97. vtrchl2 = 'SOMM' ('LOG' lvp) ;
  98. dvtr = 'ABS' ('-' vtrchl vtrchl2) ;
  99. tdvtr = '<' dvtr tol1 ;
  100. lok = lok 'ET' tdvtr ;
  101. 'SI' ('NON' tdvtr) ; 'MESS' '!!! Calcul trace(Log)' dvtr ' > ' tol1 ; 'FINS' ;
  102. dtchl = 'TENS' chl 'DET' ;
  103. vdtchl = 'MINI' dtchl ;
  104. vdtchl2 = 'EXP' ('SOMM' ('LOG' ('LOG' lvp))) ;
  105. dvdtl = 'ABS' ('-' vdtchl vdtchl2) ;
  106. tdvdtl = '<' dvdtl tol3 ;
  107. lok = lok 'ET' tdvdtl ;
  108. 'SI' ('NON' tdvdtl) ; 'MESS' '!!! Calcul det(Log)' dvdtl ' > ' tol3 ; 'FINS' ;
  109. 'SI' ('NON' lok) ; 'ERRE' stop ; 'FINS' ;
  110. * EXP
  111. chx = 'TENS' cha 'EXP' ;
  112. trchx = 'TENS' chx 'TRACE' ;
  113. vtrchx = 'MINI' trchx ;
  114. vtrchx2 = 'SOMM' ('EXP' lvp) ;
  115. dvtr = 'ABS' ('-' vtrchx vtrchx2) ;
  116. tdvtr = '<' dvtr tol5 ;
  117. lok = lok 'ET' tdvtr ;
  118. 'SI' ('NON' tdvtr) ; 'MESS' '!!! Calcul trace(Exp)' dvtr ' > ' tol5 ; 'FINS' ;
  119. dtchx = 'TENS' chx 'DET' ;
  120. vdtchx = 'MINI' dtchx ;
  121. vdtchx2 = 'EXP' ('SOMM' lvp) ;
  122. dvdtx = 'ABS' ('-' vdtchx vdtchx2) ;
  123. tdvdtx = '<' dvdtx tol4 ;
  124. lok = lok 'ET' tdvdtx ;
  125. 'SI' ('NON' tdvdtx) ; 'MESS' '!!! Calcul det(Exp)' dvdtx ' > ' tol4 ; 'FINS' ;
  126. 'SI' ('NON' lok) ; 'ERRE' stop ; 'FINS' ;
  127. * INVERSE
  128. chv = 'TENS' cha 'INVERSE' ;
  129. chv2 = 'TENS' 'EXP' ('*' ('TENS' 'LOG' cha) -1.D0) ;
  130. dv = 'MAXI' ('-' chv chv2) 'ABS' ;
  131. tdv = '<' dv tol1 ;
  132. lok = lok 'ET' tdv ;
  133. 'SI' ('NON' tdv) ; 'MESS' '!!! Calcul inverse' dv ' > ' tol1 ; 'FINS' ;
  134. * ABS
  135. chabs = 'TENS' ('*' cha -1.) 'ABS' ;
  136. da = 'MAXI' ('-' chabs cha) 'ABS' ;
  137. tda = '<' da tolabs ;
  138. lok = lok 'ET' tda ;
  139. 'SI' ('NON' tda) ; 'MESS' '!!! Calcul abs' da ' > ' tolabs ; 'FINS' ;
  140. 'FINP' lok ;
  141. *
  142. lok = vrai ;
  143. *
  144. 'OPTION' 'DIME' 1 'ELEM' 'SEG2' ;
  145. 'OPTI' 'MODE' unid plan ;
  146. 'MESS' ' ********** ' ;
  147. 'MESS' ' * 1D * ' ;
  148. 'MESS' ' ********** ' ;
  149. *
  150. p1 = 'POIN' 0. ; p2 = 'POIN' 1. ;
  151. el = 'MANU' 'SEG2' p1 p2 ;
  152. mod = 'MODE' el 'MECANIQUE' ;
  153. *
  154. tol = '*' ('VALE' 'PREC') 10. ;
  155. d1 = '**' 2 0.5 ;
  156. v1 = 'POIN' 1. ;
  157. vx1 = 'COOR' v1 ;
  158. g11 = (vx1 '*' d1 '*' vx1) ;
  159. *
  160. * Décomposition spectrale
  161. *
  162. 'REPE' bcl 3 ;
  163. ibcl = &bcl ;
  164. 'SI' ('EGA' ibcl 1) ;
  165. 'MESS' 'Operateur PRIN' ;
  166. cha = 'MANU' 'CHML' mod 'SMXX' g11 'SMYY' 0. 'SMZZ' 0. 'TYPE' 'CONTRAINTES' 'STRESSES' ;
  167. dec = 'PRIN' cha mod ;
  168. d1b = 'EXTR' dec el 'SI11' ;
  169. vx1b = 1. ;
  170. cha = 'EXCO' cha 'SMXX' ;
  171. 'FINS' ;
  172. 'SI' ('EGA' ibcl 2) ;
  173. 'MESS' 'Operateur TENS PRINCIPA CHPO' ;
  174. cha = 'MANU' 'CHPO' el 'G11' g11 ;
  175. dec = 'TENS' 'PRIN' cha ;
  176. d1b = 'EXTR' dec 'SI11' p2 ;
  177. vx1b = 'EXTR' dec 'CO11' p1 ;
  178. 'FINS' ;
  179. 'SI' ('EGA' ibcl 3) ;
  180. 'MESS' 'Operateur TENS PRINCIPA CHAM' ;
  181. cha = 'MANU' 'CHML' mod 'G11' g11 'STRESSES' ;
  182. dec = 'TENS' 'PRIN' cha ;
  183. d1b = 'EXTR' dec el 'SI11' ;
  184. vx1b = 'EXTR' dec el 'CO11' ;
  185. 'FINS' ;
  186. v1b = 'POIN' vx1b ;
  187. * Test
  188. dd1 = 'ABS' ('-' d1 d1b) ;
  189. tdd1 = '<' dd1 tol ;
  190. lok = lok 'ET' tdd1 ;
  191. 'SI' ('NON' tdd1) ; 'MESS' '!!! Calcul valp1' d1 ' > ' tol ; 'FINS' ;
  192. dv1m = 'NORM' ('MOIN' v1 v1b) ; dv1p = 'NORM' ('PLUS' v1 v1b) ;
  193. tdv1 = ('<' dv1m tol) 'OU' ('<' dv1p tol) ;
  194. lok = lok 'ET' tdv1 ;
  195. 'SI' ('NON' tdv1) ; 'MESS' '!!! Calcul vecp1' ; 'FINS' ;
  196. 'SI' lok ; 'MESS' 'OK' ; 'FINS' ;
  197. *
  198. * Autres fonctions de TENS
  199. *
  200. ltens = testtens cha d1 ;
  201. lok = lok 'ET' ltens ;
  202. 'SI' ('NON' ltens) ;
  203. 'MESS' '!!! TESTTENS not ok' ;
  204. 'SINO' ;
  205. 'MESS' 'TESTTENS OK' ;
  206. 'FINS' ;
  207. 'FIN' bcl ;
  208. *
  209. 'OPTION' 'DIME' 2 'ELEM' 'TRI3' ;
  210. 'OPTI' 'MODE' plan defo ;
  211. 'MESS' ' ********** ' ;
  212. 'MESS' ' * 2D * ' ;
  213. 'MESS' ' ********** ' ;
  214. *
  215. p3 = 0. 1. ;
  216. el = 'MANU' 'TRI3' p1 p2 p3 ;
  217. mod = 'MODE' el 'MECANIQUE' ;
  218. *
  219. v1 = 1. 0. ; v2 = 0. 1. ;
  220. alf = pi '*' 10. ;
  221. d2 = 'EXP' 1. ;
  222. v1 v2 = 'TOUR' v1 v2 alf p1 ;
  223. *
  224. * Recomposition spectrale
  225. *
  226. vx1 vy1 = 'COOR' v1 ;
  227. vx2 vy2 = 'COOR' v2 ;
  228. g11 = (vx1 '*' d1 '*' vx1) '+' (vx2 '*' d2 '*' vx2) ;
  229. g22 = (vy1 '*' d1 '*' vy1) '+' (vy2 '*' d2 '*' vy2) ;
  230. g21 = (vy1 '*' d1 '*' vx1) '+' (vy2 '*' d2 '*' vx2) ;
  231. *
  232. * Décomposition spectrale
  233. *
  234. 'REPE' bcl 3 ;
  235. ibcl = &bcl ;
  236. 'SI' ('EGA' ibcl 1) ;
  237. 'MESS' 'Operateur PRIN' ;
  238. cha = 'MANU' 'CHML' mod 'SMXX' g11 'SMYY' g22 'SMXY' g21 'SMZZ' 0. 'TYPE' 'CONTRAINTES' 'STRESSES' ;
  239. dec = 'PRIN' cha mod ;
  240. d2b = 'EXTR' dec el 'SI11' ;
  241. d1b = 'EXTR' dec el 'SI22' ;
  242. vx1b = 'EXTR' dec el 'COX2' ;
  243. vy1b = 'EXTR' dec el 'COY2' ;
  244. vx2b = 'EXTR' dec el 'COX1' ;
  245. vy2b = 'EXTR' dec el 'COY1' ;
  246. cha = 'EXCO' ('MOTS' 'SMYY' 'SMXY' 'SMXX') cha ;
  247. 'FINS' ;
  248. 'SI' ('EGA' ibcl 2) ;
  249. 'MESS' 'Operateur TENS PRINCIPA CHPO' ;
  250. cha = 'MANU' 'CHPO' el 'G11' g11 'G22' g22 'G21' g21 ;
  251. dec = 'TENS' 'PRIN' cha ;
  252. d2b = 'EXTR' dec 'SI11' p1 ;
  253. d1b = 'EXTR' dec 'SI22' p2 ;
  254. vx1b = 'EXTR' dec 'CO12' p3 ;
  255. vy1b = 'EXTR' dec 'CO22' p1 ;
  256. vx2b = 'EXTR' dec 'CO11' p2 ;
  257. vy2b = 'EXTR' dec 'CO21' p3 ;
  258. 'FINS' ;
  259. 'SI' ('EGA' ibcl 3) ;
  260. 'MESS' 'Operateur TENS PRINCIPA CHAM' ;
  261. cha = 'MANU' 'CHML' mod 'G11' g11 'G22' g22 'G21' g21 'STRESSES' ;
  262. dec = 'TENS' 'PRIN' cha ;
  263. d2b = 'EXTR' dec el 'SI11' ;
  264. d1b = 'EXTR' dec el 'SI22' ;
  265. vx1b = 'EXTR' dec el 'CO12' ;
  266. vy1b = 'EXTR' dec el 'CO22' ;
  267. vx2b = 'EXTR' dec el 'CO11' ;
  268. vy2b = 'EXTR' dec el 'CO21' ;
  269. 'FINS' ;
  270. v1b = vx1b vy1b ;
  271. v2b = vx2b vy2b ;
  272. * Test
  273. dd1 = 'ABS' ('-' d1 d1b) ;
  274. tdd1 = '<' dd1 tol ;
  275. lok = lok 'ET' tdd1 ;
  276. 'SI' ('NON' tdd1) ; 'MESS' '!!! Calcul valp1' d1 ' > ' tol ; 'FINS' ;
  277. dd2 = 'ABS' ('-' d2 d2b) ;
  278. tdd2 = '<' dd2 tol ;
  279. lok = lok 'ET' tdd2 ;
  280. 'SI' ('NON' tdd2) ; 'MESS' '!!! Calcul valp2' d2 ' > ' tol ; 'FINS' ;
  281. dv1m = 'NORM' ('MOIN' v1 v1b) ; dv1p = 'NORM' ('PLUS' v1 v1b) ;
  282. tdv1 = ('<' dv1m tol) 'OU' ('<' dv1p tol) ;
  283. lok = lok 'ET' tdv1 ;
  284. 'SI' ('NON' tdv1) ; 'MESS' '!!! Calcul vecp1' ; 'FINS' ;
  285. dv2m = 'NORM' ('MOIN' v2 v2b) ; dv2p = 'NORM' ('PLUS' v2 v2b) ;
  286. tdv2 = ('<' dv2m tol) 'OU' ('<' dv2p tol) ;
  287. lok = lok 'ET' tdv2 ;
  288. 'SI' ('NON' tdv2) ; 'MESS' '!!! Calcul vecp2' ; 'FINS' ;
  289. 'SI' lok ; 'MESS' 'OK' ; 'FINS' ;
  290. *
  291. * Autres fonctions de TENS
  292. *
  293. ltens = testtens cha d1 d2 ;
  294. 'SI' ('NON' ltens) ;
  295. 'MESS' '!!! TESTTENS not ok' ;
  296. 'SINO' ;
  297. 'MESS' 'TESTTENS OK' ;
  298. 'FINS' ;
  299. 'FIN' bcl ;
  300. *
  301. 'OPTION' 'DIME' 3 'ELEM' 'TET4' ;
  302. 'OPTI' 'MODE' 'TRID' ;
  303. 'MESS' ' ********** ' ;
  304. 'MESS' ' * 3D * ' ;
  305. 'MESS' ' ********** ' ;
  306. *
  307. tol = '*' ('VALE' 'PREC') 100. ;
  308. p4 = 0. 0. 1. ;
  309. el = 'MANU' 'TET4' p1 p2 p3 p4 ;
  310. mod = 'MODE' el 'MECANIQUE' ;
  311. *
  312. v3 = 0. 0. -1. ;
  313. bet = pi ;
  314. d3 = bet ;
  315. v1 v2 v3 = 'TOUR' v1 v2 v3 bet p1 (2. 3. 5.) ;
  316. *
  317. * Recomposition spectrale
  318. *
  319. vx1 vy1 vz1 = 'COOR' v1 ;
  320. vx2 vy2 vz2 = 'COOR' v2 ;
  321. vx3 vy3 vz3 = 'COOR' v3 ;
  322. g11 = (vx1 '*' d1 '*' vx1) '+' (vx2 '*' d2 '*' vx2) '+' (vx3 '*' d3 '*' vx3) ;
  323. g22 = (vy1 '*' d1 '*' vy1) '+' (vy2 '*' d2 '*' vy2) '+' (vy3 '*' d3 '*' vy3) ;
  324. g33 = (vz1 '*' d1 '*' vz1) '+' (vz2 '*' d2 '*' vz2) '+' (vz3 '*' d3 '*' vz3) ;
  325. *
  326. g21 = (vy1 '*' d1 '*' vx1) '+' (vy2 '*' d2 '*' vx2) '+' (vy3 '*' d3 '*' vx3) ;
  327. g31 = (vz1 '*' d1 '*' vx1) '+' (vz2 '*' d2 '*' vx2) '+' (vz3 '*' d3 '*' vx3) ;
  328. g32 = (vz1 '*' d1 '*' vy1) '+' (vz2 '*' d2 '*' vy2) '+' (vz3 '*' d3 '*' vy3) ;
  329. *
  330. * Décomposition spectrale
  331. *
  332. 'REPE' bcl 3 ;
  333. ibcl = &bcl ;
  334. 'SI' ('EGA' ibcl 1) ;
  335. 'MESS' 'Operateur PRIN' ;
  336. cha = 'MANU' 'CHML' mod 'SMXX' g11 'SMYY' g22 'SMZZ' g33 'SMXY' g21 'SMXZ' g31 'SMYZ' g32 'TYPE' 'CONTRAINTES' 'STRESSES' ;
  337. dec = 'PRIN' cha mod ;
  338. d3b = 'EXTR' dec el 'SI11' ;
  339. d2b = 'EXTR' dec el 'SI22' ;
  340. d1b = 'EXTR' dec el 'SI33' ;
  341. vx1b = 'EXTR' dec el 'COX3' ;
  342. vy1b = 'EXTR' dec el 'COY3' ;
  343. vz1b = 'EXTR' dec el 'COZ3' ;
  344. vx2b = 'EXTR' dec el 'COX2' ;
  345. vy2b = 'EXTR' dec el 'COY2' ;
  346. vz2b = 'EXTR' dec el 'COZ2' ;
  347. vx3b = 'EXTR' dec el 'COX1' ;
  348. vy3b = 'EXTR' dec el 'COY1' ;
  349. vz3b = 'EXTR' dec el 'COZ1' ;
  350. 'FINS' ;
  351. 'SI' ('EGA' ibcl 2) ;
  352. 'MESS' 'Operateur TENS PRINCIPA CHPO' ;
  353. cha = 'MANU' 'CHPO' el 'G11' g11 'G22' g22 'G33' g33 'G21' g21 'G31' g31 'G32' g32 ;
  354. dec = 'TENS' 'PRIN' cha ;
  355. d3b = 'EXTR' dec 'SI11' p4 ;
  356. d2b = 'EXTR' dec 'SI22' p3 ;
  357. d1b = 'EXTR' dec 'SI33' p2 ;
  358. vx1b = 'EXTR' dec 'CO13' p1 ;
  359. vy1b = 'EXTR' dec 'CO23' p4 ;
  360. vz1b = 'EXTR' dec 'CO33' p3 ;
  361. vx2b = 'EXTR' dec 'CO12' p2 ;
  362. vy2b = 'EXTR' dec 'CO22' p1 ;
  363. vz2b = 'EXTR' dec 'CO32' p4 ;
  364. vx3b = 'EXTR' dec 'CO11' p3 ;
  365. vy3b = 'EXTR' dec 'CO21' p2 ;
  366. vz3b = 'EXTR' dec 'CO31' p1 ;
  367. 'FINS' ;
  368. 'SI' ('EGA' ibcl 3) ;
  369. 'MESS' 'Operateur TENS PRINCIPA CHAM' ;
  370. cha = 'MANU' 'CHML' mod 'G11' g11 'G22' g22 'G33' g33 'G21' g21 'G31' g31 'G32' g32 'STRESSES' ;
  371. dec = 'TENS' 'PRIN' cha ;
  372. d3b = 'EXTR' dec el 'SI11' ;
  373. d2b = 'EXTR' dec el 'SI22' ;
  374. d1b = 'EXTR' dec el 'SI33' ;
  375. vx1b = 'EXTR' dec el 'CO13' ;
  376. vy1b = 'EXTR' dec el 'CO23' ;
  377. vz1b = 'EXTR' dec el 'CO33' ;
  378. vx2b = 'EXTR' dec el 'CO12' ;
  379. vy2b = 'EXTR' dec el 'CO22' ;
  380. vz2b = 'EXTR' dec el 'CO32' ;
  381. vx3b = 'EXTR' dec el 'CO11' ;
  382. vy3b = 'EXTR' dec el 'CO21' ;
  383. vz3b = 'EXTR' dec el 'CO31' ;
  384. 'FINS' ;
  385. v1b = vx1b vy1b vz1b;
  386. v2b = vx2b vy2b vz2b ;
  387. v3b = vx3b vy3b vz3b ;
  388. * Test
  389. dd1 = 'ABS' ('-' d1 d1b) ;
  390. tdd1 = '<' dd1 tol ;
  391. lok = lok 'ET' tdd1 ;
  392. 'SI' ('NON' tdd1) ; 'MESS' '!!! Calcul valp1' d1 ' > ' tol ; 'FINS' ;
  393. dd2 = 'ABS' ('-' d2 d2b) ;
  394. tdd2 = '<' dd2 tol ;
  395. lok = lok 'ET' tdd2 ;
  396. 'SI' ('NON' tdd2) ; 'MESS' '!!! Calcul valp2' d2 ' > ' tol ; 'FINS' ;
  397. dd3 = 'ABS' ('-' d3 d3b) ;
  398. tdd3 = '<' dd3 tol ;
  399. lok = lok 'ET' tdd3 ;
  400. 'SI' ('NON' tdd3) ; 'MESS' '!!! Calcul valp3' d3 ' > ' tol ; 'FINS' ;
  401. dv1m = 'NORM' ('MOIN' v1 v1b) ; dv1p = 'NORM' ('PLUS' v1 v1b) ;
  402. tdv1 = ('<' dv1m tol) 'OU' ('<' dv1p tol) ;
  403. lok = lok 'ET' tdv1 ;
  404. 'SI' ('NON' tdv1) ; 'MESS' '!!! Calcul vecp1' ; 'FINS' ;
  405. dv2m = 'NORM' ('MOIN' v2 v2b) ; dv2p = 'NORM' ('PLUS' v2 v2b) ;
  406. tdv2 = ('<' dv2m tol) 'OU' ('<' dv2p tol) ;
  407. lok = lok 'ET' tdv2 ;
  408. 'SI' ('NON' tdv2) ; 'MESS' '!!! Calcul vecp2' ; 'FINS' ;
  409. dv3m = 'NORM' ('MOIN' v3 v3b) ; dv3p = 'NORM' ('PLUS' v3 v3b) ;
  410. tdv3 = ('<' dv3m tol) 'OU' ('<' dv3p tol) ;
  411. lok = lok 'ET' tdv3 ;
  412. 'SI' ('NON' tdv3) ; 'MESS' '!!! Calcul vecp3' ; 'FINS' ;
  413. 'SI' lok ; 'MESS' 'OK' ; 'FINS' ;
  414. *
  415. * Autres fonctions de TENS
  416. *
  417. ltens = testtens cha d1 d2 d3 ;
  418. lok = lok 'ET' ltens ;
  419. 'SI' ('NON' ltens) ;
  420. 'MESS' '!!! TESTTENS not ok' ;
  421. 'SINO' ;
  422. 'MESS' 'TESTTENS OK' ;
  423. 'FINS' ;
  424. 'FIN' bcl ;
  425. *
  426. 'SI' ('NON' lok) ;
  427. 'MESSAGE' ('CHAINE' 'Il y a eu des erreurs') ;
  428. 'ERREUR' 5 ;
  429. 'SINON' ;
  430. 'MESSAGE' ('CHAINE' 'Tout sest bien passe !') ;
  431. 'FINSI' ;
  432. *
  433. 'SI' interact ;
  434. 'OPTION' 'ECHO' 1 'DONN' 5 ;
  435. 'FINSI' ;
  436. *
  437. * End of dgibi file TENS
  438. *
  439. 'FIN' ;
  440.  
  441.  
  442.  

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