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. ncom = 'DIME' ('EXTR' cha 'COMP') ;
  41. lsym = 'NEG' ncom ('**' vdim 2) ;
  42. *
  43. svp = 'SOMM' lvp ;
  44. pvp = 'EXP' ('SOMM' ('LOG' lvp)) ;
  45. svp2 = '**' ('SOMM' ('**' lvp 2)) 0.5 ;
  46. tol1 = ('VALE' prec) '*' ('MAXI' lvp 'ABS') '*' 10. ;
  47. tol2 = ('VALE' prec) '*' pvp '*' 10. ;
  48. tol3 = ('VALE' prec) '*' svp2 '*' 10. ;
  49. tol4 = ('VALE' prec) '*' ('EXP' ('SOMM' ('ABS' lvp))) '*' 10. ;
  50. tol5 = ('VALE' prec) '*' ('SOMM' ('EXP' lvp)) '*' 10. ;
  51. tolabs = tol1 '*' 10. ;
  52. lok = vrai ;
  53. * Debut des test
  54. * NORM2
  55. ch2 = 'TENS' 'NORM2' cha ;
  56. vch2 = 'MINI' ch2 ;
  57. d2 = 'ABS' ('-' vch2 svp2) ;
  58. * vch2b = 0. ;
  59. * lcomp = 'EXTR' cha 'COMP' ; dlcomp = 'DIME' lcomp ;
  60. * 'REPE' icomp dlcomp ;
  61. * mcomp = 'EXTR' lcomp &icomp ;
  62. * vcomp = 'MINI' ('EXCO' cha mcomp) ;
  63. * vch2b = vch2b '+' ('**' vcomp 2) ;
  64. * 'FIN' icomp ;
  65. * vch2b = '**' vch2b 0.5 ;
  66. td2 = '<' d2 tol3 ;
  67. lok = lok 'ET' td2 ;
  68. 'SI' ('NON' td2) ; 'MESS' '!!! Calcul norm2' d2 ' > ' tol3 ; 'FINS' ;
  69. * NORMINF
  70. chi = 'TENS' cha 'NORMINF' ;
  71. vchi = 'MINI' chi ;
  72. vchi2 = 0. ;
  73. lcomp = 'EXTR' cha 'COMP' ; dlcomp = 'DIME' lcomp ;
  74. 'REPE' icomp dlcomp ;
  75. mcomp = 'EXTR' lcomp &icomp ;
  76. vchi2 = 'MAXI' vchi2 ('MINI' ('EXCO' cha mcomp)) 'ABS' ;
  77. 'FIN' icomp ;
  78. di = 'ABS' ('-' vchi2 vchi) ;
  79. tdi = '<' di tol1 ;
  80. lok = lok 'ET' tdi ;
  81. 'SI' ('NON' tdi) ; 'MESS' '!!! Calcul norminf' di ' > ' tol1 ; 'FINS' ;
  82. * DET
  83. chd = 'TENS' cha 'DET' ;
  84. vchd = 'MINI' chd ;
  85. dd = 'ABS' ('-' vchd pvp) ;
  86. tdd = '<' dd tol2 ;
  87. lok = lok 'ET' tdd ;
  88. 'SI' ('NON' tdd) ; 'MESS' '!!! Calcul det' dd ' > ' tol2 ; 'FINS' ;
  89. * TRACE
  90. cht = 'TENS' cha 'TRACE' ;
  91. vcht = 'MINI' cht ;
  92. dt = 'ABS' ('-' vcht svp) ;
  93. tdt = '<' dt tol1 ;
  94. lok = lok 'ET' tdt ;
  95. 'SI' ('NON' tdt) ; 'MESS' '!!! Calcul trace' dt ' > ' tol1 ; 'FINS' ;
  96. 'SI' lsym ;
  97. * LOG
  98. chl = 'TENS' cha 'LOG' ;
  99. trchl = 'TENS' chl 'TRACE' ;
  100. vtrchl = 'MINI' trchl ;
  101. vtrchl2 = 'SOMM' ('LOG' lvp) ;
  102. dvtr = 'ABS' ('-' vtrchl vtrchl2) ;
  103. tdvtr = '<' dvtr tol1 ;
  104. lok = lok 'ET' tdvtr ;
  105. 'SI' ('NON' tdvtr) ; 'MESS' '!!! Calcul trace(Log)' dvtr ' > ' tol1 ; 'FINS' ;
  106. dtchl = 'TENS' chl 'DET' ;
  107. vdtchl = 'MINI' dtchl ;
  108. vdtchl2 = 'EXP' ('SOMM' ('LOG' ('LOG' lvp))) ;
  109. dvdtl = 'ABS' ('-' vdtchl vdtchl2) ;
  110. tdvdtl = '<' dvdtl tol3 ;
  111. lok = lok 'ET' tdvdtl ;
  112. 'SI' ('NON' tdvdtl) ; 'MESS' '!!! Calcul det(Log)' dvdtl ' > ' tol3 ; 'FINS' ;
  113. 'SI' ('NON' lok) ; 'ERRE' stop ; 'FINS' ;
  114. * EXP
  115. chx = 'TENS' cha 'EXP' ;
  116. trchx = 'TENS' chx 'TRACE' ;
  117. vtrchx = 'MINI' trchx ;
  118. vtrchx2 = 'SOMM' ('EXP' lvp) ;
  119. dvtr = 'ABS' ('-' vtrchx vtrchx2) ;
  120. tdvtr = '<' dvtr tol5 ;
  121. lok = lok 'ET' tdvtr ;
  122. 'SI' ('NON' tdvtr) ; 'MESS' '!!! Calcul trace(Exp)' dvtr ' > ' tol5 ; 'FINS' ;
  123. dtchx = 'TENS' chx 'DET' ;
  124. vdtchx = 'MINI' dtchx ;
  125. vdtchx2 = 'EXP' ('SOMM' lvp) ;
  126. dvdtx = 'ABS' ('-' vdtchx vdtchx2) ;
  127. tdvdtx = '<' dvdtx tol4 ;
  128. lok = lok 'ET' tdvdtx ;
  129. 'SI' ('NON' tdvdtx) ; 'MESS' '!!! Calcul det(Exp)' dvdtx ' > ' tol4 ; 'FINS' ;
  130. 'SI' ('NON' lok) ; 'ERRE' stop ; 'FINS' ;
  131. * INVERSE
  132. chv = 'TENS' cha 'INVERSE' ;
  133. chv2 = 'TENS' 'EXP' ('*' ('TENS' 'LOG' cha) -1.D0) ;
  134. dv = 'MAXI' ('-' chv chv2) 'ABS' ;
  135. tdv = '<' dv tol1 ;
  136. lok = lok 'ET' tdv ;
  137. 'SI' ('NON' tdv) ; 'MESS' '!!! Calcul inverse' dv ' > ' tol1 ; 'FINS' ;
  138. * ABS
  139. chabs = 'TENS' ('*' cha -1.) 'ABS' ;
  140. da = 'MAXI' ('-' chabs cha) 'ABS' ;
  141. tda = '<' da tolabs ;
  142. lok = lok 'ET' tda ;
  143. 'SI' ('NON' tda) ; 'MESS' '!!! Calcul abs' da ' > ' tolabs ; 'FINS' ;
  144. 'FINS' ;
  145. 'FINP' lok ;
  146. *
  147. lok = vrai ;
  148. *
  149. 'OPTION' 'DIME' 1 'ELEM' 'SEG2' ;
  150. 'OPTI' 'MODE' unid plan ;
  151. 'MESS' ' ********** ' ;
  152. 'MESS' ' * 1D * ' ;
  153. 'MESS' ' ********** ' ;
  154. *
  155. p1 = 'POIN' 0. ; p2 = 'POIN' 1. ;
  156. el = 'MANU' 'SEG2' p1 p2 ;
  157. mod = 'MODE' el 'MECANIQUE' ;
  158. *
  159. tol = '*' ('VALE' 'PREC') 10. ;
  160. d1 = '**' 2 0.5 ;
  161. v1 = 'POIN' 1. ;
  162. vx1 = 'COOR' v1 ;
  163. g11 = (vx1 '*' d1 '*' vx1) ;
  164. *
  165. * Décomposition spectrale
  166. *
  167. 'REPE' bcl 3 ;
  168. ibcl = &bcl ;
  169. 'SI' ('EGA' ibcl 1) ;
  170. 'MESS' 'Operateur PRIN' ;
  171. cha = 'MANU' 'CHML' mod 'SMXX' g11 'SMYY' 0. 'SMZZ' 0. 'TYPE' 'CONTRAINTES' 'STRESSES' ;
  172. dec = 'PRIN' cha mod ;
  173. dec = 'EXCO' 'SI11' dec 'SI11' ;
  174. dec2 = 'MANU' 'CHML' mod 'CO11' 1. 'TYPE' 'CONTRAINTES PRINCIPALES' 'STRESSES' ;
  175. dec = dec 'ET' dec2 ;
  176. d1b = 'EXTR' dec el 'SI11' ;
  177. vx1b = 'EXTR' dec el 'CO11' ;
  178. cha = 'EXCO' 'SMXX' cha 'G11' ;
  179. 'FINS' ;
  180. 'SI' ('EGA' ibcl 2) ;
  181. 'MESS' 'Operateur TENS PRINCIPA CHPO' ;
  182. cha = 'MANU' 'CHPO' el 'G11' g11 ;
  183. dec = 'TENS' 'PRIN' cha ;
  184. d1b = 'EXTR' dec 'SI11' p2 ;
  185. vx1b = 'EXTR' dec 'CO11' p1 ;
  186. 'FINS' ;
  187. 'SI' ('EGA' ibcl 3) ;
  188. 'MESS' 'Operateur TENS PRINCIPA CHAM' ;
  189. cha = 'MANU' 'CHML' mod 'G11' g11 'STRESSES' ;
  190. dec = 'TENS' 'PRIN' cha ;
  191. d1b = 'EXTR' dec el 'SI11' ;
  192. vx1b = 'EXTR' dec el 'CO11' ;
  193. 'FINS' ;
  194. v1b = 'POIN' vx1b ;
  195. * Test valeur propre
  196. dd1 = 'ABS' ('-' d1 d1b) ;
  197. tdd1 = '<' dd1 tol ;
  198. lok = lok 'ET' tdd1 ;
  199. 'SI' ('NON' tdd1) ; 'MESS' '!!! Calcul valp1' d1 ' > ' tol ; 'FINS' ;
  200. * Test recomposition matrice
  201. cha2 = 'TENS' 'RECO' dec ;
  202. dcha = '-' cha cha2 ;
  203. ndcha = 'MAXI' ('TENS' dcha 'NORMINF') 'ABS' ;
  204. tdcha = '<' ndcha tol ;
  205. lok = lok 'ET' tdcha ;
  206. 'SI' ('NON' tdcha) ; 'MESS' '!!! Calcul cha2' ; 'FINS' ;
  207. 'SI' lok ; 'MESS' 'OK' ; 'FINS' ;
  208. *
  209. * Autres fonctions de TENS
  210. *
  211. ltens = testtens cha d1 ;
  212. lok = lok 'ET' ltens ;
  213. 'SI' ('NON' ltens) ;
  214. 'MESS' '!!! TESTTENS not ok' ;
  215. 'SINO' ;
  216. 'MESS' 'TESTTENS OK' ;
  217. 'FINS' ;
  218. 'FIN' bcl ;
  219. *
  220. 'OPTION' 'DIME' 2 'ELEM' 'TRI3' ;
  221. 'OPTI' 'MODE' plan defo ;
  222. 'MESS' ' ********** ' ;
  223. 'MESS' ' * 2D * ' ;
  224. 'MESS' ' ********** ' ;
  225. *
  226. p3 = 0. 1. ;
  227. el = 'MANU' 'TRI3' p1 p2 p3 ;
  228. mod = 'MODE' el 'MECANIQUE' ;
  229. *
  230. v1 = 1. 0. ; v2 = 0. 1. ;
  231. alf = pi '*' 10. ;
  232. d2 = 'EXP' 1. ;
  233. v1 v2 = 'TOUR' v1 v2 alf p1 ;
  234. *
  235. * Recomposition spectrale
  236. *
  237. vx1 vy1 = 'COOR' v1 ;
  238. vx2 vy2 = 'COOR' v2 ;
  239. g11 = (vx1 '*' d1 '*' vx1) '+' (vx2 '*' d2 '*' vx2) ;
  240. g22 = (vy1 '*' d1 '*' vy1) '+' (vy2 '*' d2 '*' vy2) ;
  241. g21 = (vy1 '*' d1 '*' vx1) '+' (vy2 '*' d2 '*' vx2) ;
  242. *
  243. * Test symetrique en non symetrique
  244. *
  245. cha = 'MANU' 'CHPO' el 'G11' g11 'G22' g22 'G21' g21 'G12' g21 ;
  246. ltens = testtens cha d1 d2 ;
  247. lok = lok 'ET' ltens ;
  248. 'SI' ('NON' ltens) ;
  249. 'MESS' '!!! TESTTENS tenseur complet not ok' ;
  250. 'SINO' ;
  251. 'MESS' 'TESTTENS complet OK' ;
  252. 'FINS' ;
  253. *
  254. * Décomposition spectrale
  255. *
  256. 'REPE' bcl 3 ;
  257. ibcl = &bcl ;
  258. 'SI' ('EGA' ibcl 1) ;
  259. 'MESS' 'Operateur PRIN' ;
  260. cha = 'MANU' 'CHML' mod 'SMXX' g11 'SMYY' g22 'SMXY' g21 'SMZZ' 0. 'TYPE' 'CONTRAINTES' 'STRESSES' ;
  261. dec = 'PRIN' cha mod ;
  262. * Passage noms de composante
  263. lmo1 = 'MOTS' 'SI11' 'SI22' 'COX1' 'COY1' 'COX2' 'COY2' ;
  264. lmo2 = 'MOTS' 'SI11' 'SI22' 'CO11' 'CO21' 'CO12' 'CO22' ;
  265. dec = 'EXCO' lmo1 dec lmo2 ;
  266. d2b = 'EXTR' dec el 'SI11' ;
  267. d1b = 'EXTR' dec el 'SI22' ;
  268. lmo1 = 'MOTS' 'SMYY' 'SMXY' 'SMXX' ;
  269. lmo2 = 'MOTS' 'G22' 'G21' 'G11' ;
  270. cha = 'EXCO' lmo1 cha lmo2 ;
  271. 'FINS' ;
  272. 'SI' ('EGA' ibcl 2) ;
  273. 'MESS' 'Operateur TENS PRINCIPA CHPO' ;
  274. cha = 'MANU' 'CHPO' el 'G11' g11 'G22' g22 'G21' g21 ;
  275. dec = 'TENS' 'PRIN' cha ;
  276. d2b = 'EXTR' dec 'SI11' p1 ;
  277. d1b = 'EXTR' dec 'SI22' p2 ;
  278. 'FINS' ;
  279. 'SI' ('EGA' ibcl 3) ;
  280. 'MESS' 'Operateur TENS PRINCIPA CHAM' ;
  281. cha = 'MANU' 'CHML' mod 'G11' g11 'G22' g22 'G21' g21 'STRESSES' ;
  282. dec = 'TENS' 'PRIN' cha ;
  283. d2b = 'EXTR' dec el 'SI11' ;
  284. d1b = 'EXTR' dec el 'SI22' ;
  285. 'FINS' ;
  286. * Test valeurs propres
  287. dd1 = 'ABS' ('-' d1 d1b) ;
  288. tdd1 = '<' dd1 tol ;
  289. lok = lok 'ET' tdd1 ;
  290. 'SI' ('NON' tdd1) ; 'MESS' '!!! Calcul valp1' d1 ' > ' tol ; 'FINS' ;
  291. dd2 = 'ABS' ('-' d2 d2b) ;
  292. tdd2 = '<' dd2 tol ;
  293. lok = lok 'ET' tdd2 ;
  294. 'SI' ('NON' tdd2) ; 'MESS' '!!! Calcul valp2' d2 ' > ' tol ; 'FINS' ;
  295. * Test recomposition matrice
  296. cha2 = 'TENS' 'RECO' dec ;
  297. dcha = '-' cha cha2 ;
  298. ndcha = 'MAXI' ('TENS' dcha 'NORMINF') 'ABS' ;
  299. tdcha = '<' ndcha tol ;
  300. lok = lok 'ET' tdcha ;
  301. 'SI' ('NON' tdcha) ; 'MESS' '!!! Calcul cha2' ndcha ' > ' tol ; 'FINS' ;
  302. 'SI' lok ; 'MESS' 'OK' ; 'SINO' ; 'ERRE' stop ; 'FINS' ;
  303. *
  304. * Autres fonctions de TENS
  305. *
  306. ltens = testtens cha d1 d2 ;
  307. 'SI' ('NON' ltens) ;
  308. 'MESS' '!!! TESTTENS not ok' ;
  309. 'SINO' ;
  310. 'MESS' 'TESTTENS OK' ;
  311. 'FINS' ;
  312. 'FIN' bcl ;
  313. *
  314. 'OPTION' 'DIME' 3 'ELEM' 'TET4' ;
  315. 'OPTI' 'MODE' 'TRID' ;
  316. 'MESS' ' ********** ' ;
  317. 'MESS' ' * 3D * ' ;
  318. 'MESS' ' ********** ' ;
  319. *
  320. tol = '*' ('VALE' 'PREC') 1000. ;
  321. p4 = 0. 0. 1. ;
  322. el = 'MANU' 'TET4' p1 p2 p3 p4 ;
  323. mod = 'MODE' el 'MECANIQUE' ;
  324. *
  325. v3 = 0. 0. -1. ;
  326. bet = pi ;
  327. d3 = bet ;
  328. v1 v2 v3 = 'TOUR' v1 v2 v3 bet p1 (2. 3. 5.) ;
  329. *
  330. * Recomposition spectrale
  331. *
  332. vx1 vy1 vz1 = 'COOR' v1 ;
  333. vx2 vy2 vz2 = 'COOR' v2 ;
  334. vx3 vy3 vz3 = 'COOR' v3 ;
  335. g11 = (vx1 '*' d1 '*' vx1) '+' (vx2 '*' d2 '*' vx2) '+' (vx3 '*' d3 '*' vx3) ;
  336. g22 = (vy1 '*' d1 '*' vy1) '+' (vy2 '*' d2 '*' vy2) '+' (vy3 '*' d3 '*' vy3) ;
  337. g33 = (vz1 '*' d1 '*' vz1) '+' (vz2 '*' d2 '*' vz2) '+' (vz3 '*' d3 '*' vz3) ;
  338. *
  339. g21 = (vy1 '*' d1 '*' vx1) '+' (vy2 '*' d2 '*' vx2) '+' (vy3 '*' d3 '*' vx3) ;
  340. g31 = (vz1 '*' d1 '*' vx1) '+' (vz2 '*' d2 '*' vx2) '+' (vz3 '*' d3 '*' vx3) ;
  341. g32 = (vz1 '*' d1 '*' vy1) '+' (vz2 '*' d2 '*' vy2) '+' (vz3 '*' d3 '*' vy3) ;
  342. *
  343. * Test symetrique en non symetrique
  344. *
  345. cha = 'MANU' 'CHPO' el 'G11' g11 'G22' g22 'G33' g33 'G21' g21 'G12' g21 'G31' g31 'G13' g31 'G32' g32 'G23' g32 ;
  346. ltens = testtens cha d1 d2 d3 ;
  347. lok = lok 'ET' ltens ;
  348. 'SI' ('NON' ltens) ;
  349. 'MESS' '!!! TESTTENS tenseur complet not ok' ;
  350. 'SINO' ;
  351. 'MESS' 'TESTTENS complet OK' ;
  352. 'FINS' ;
  353. *
  354. * Décomposition spectrale
  355. *
  356. 'REPE' bcl 3 ;
  357. ibcl = &bcl ;
  358. 'SI' ('EGA' ibcl 1) ;
  359. 'MESS' 'Operateur PRIN' ;
  360. cha = 'MANU' 'CHML' mod 'SMXX' g11 'SMYY' g22 'SMZZ' g33 'SMXY' g21 'SMXZ' g31 'SMYZ' g32 'TYPE' 'CONTRAINTES' 'STRESSES' ;
  361. dec = 'PRIN' cha mod ;
  362. lmo1 = 'MOTS' 'SI11' 'SI22' 'SI33' 'COX1' 'COY1' 'COZ1' 'COX2' 'COY2' 'COZ2' 'COX3' 'COY3' 'COZ3' ;
  363. lmo2 = 'MOTS' 'SI11' 'SI22' 'SI33' 'CO11' 'CO21' 'CO31' 'CO12' 'CO22' 'CO32' 'CO13' 'CO23' 'CO33' ;
  364. dec = 'EXCO' lmo1 dec lmo2 ;
  365. d3b = 'EXTR' dec el 'SI11' ;
  366. d2b = 'EXTR' dec el 'SI22' ;
  367. d1b = 'EXTR' dec el 'SI33' ;
  368. lmo1 = 'MOTS' 'SMYY' 'SMXY' 'SMXX' 'SMZZ' 'SMYZ' 'SMXZ' ;
  369. lmo2 = 'MOTS' 'G22' 'G21' 'G11' 'G33' 'G32' 'G31' ;
  370. cha = 'EXCO' lmo1 cha lmo2 ;
  371. 'FINS' ;
  372. 'SI' ('EGA' ibcl 2) ;
  373. 'MESS' 'Operateur TENS PRINCIPA CHPO' ;
  374. cha = 'MANU' 'CHPO' el 'G11' g11 'G22' g22 'G33' g33 'G21' g21 'G31' g31 'G32' g32 ;
  375. dec = 'TENS' 'PRIN' cha ;
  376. d3b = 'EXTR' dec 'SI11' p4 ;
  377. d2b = 'EXTR' dec 'SI22' p3 ;
  378. d1b = 'EXTR' dec 'SI33' p2 ;
  379. 'FINS' ;
  380. 'SI' ('EGA' ibcl 3) ;
  381. 'MESS' 'Operateur TENS PRINCIPA CHAM' ;
  382. cha = 'MANU' 'CHML' mod 'G11' g11 'G22' g22 'G33' g33 'G21' g21 'G31' g31 'G32' g32 'STRESSES' ;
  383. dec = 'TENS' 'PRIN' cha ;
  384. d3b = 'EXTR' dec el 'SI11' ;
  385. d2b = 'EXTR' dec el 'SI22' ;
  386. d1b = 'EXTR' dec el 'SI33' ;
  387. 'FINS' ;
  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. * Test recomposition matrice
  402. cha2 = 'TENS' 'RECO' dec ;
  403. dcha = '-' cha cha2 ;
  404. ndcha = 'MAXI' ('TENS' dcha 'NORMINF') 'ABS' ;
  405. tdcha = '<' ndcha tol ;
  406. lok = lok 'ET' tdcha ;
  407. 'SI' ('NON' tdcha) ; 'MESS' '!!! Calcul cha2' ndcha ' > ' tol ; 'FINS' ;
  408. 'SI' lok ; 'MESS' 'OK' ; 'SINO' ; 'ERRE' stop ; 'FINS' ;
  409. *
  410. * Autres fonctions de TENS
  411. *
  412. ltens = testtens cha d1 d2 d3 ;
  413. lok = lok 'ET' ltens ;
  414. 'SI' ('NON' ltens) ;
  415. 'MESS' '!!! TESTTENS not ok' ;
  416. 'SINO' ;
  417. 'MESS' 'TESTTENS OK' ;
  418. 'FINS' ;
  419. 'FIN' bcl ;
  420. *
  421. 'SI' ('NON' lok) ;
  422. 'MESSAGE' ('CHAINE' 'Il y a eu des erreurs') ;
  423. 'ERREUR' 5 ;
  424. 'SINON' ;
  425. 'MESSAGE' ('CHAINE' 'Tout sest bien passe !') ;
  426. 'FINSI' ;
  427. *
  428. 'SI' interact ;
  429. 'OPTION' 'ECHO' 1 'DONN' 5 ;
  430. 'FINSI' ;
  431. *
  432. * End of dgibi file TENS
  433. *
  434. 'FIN' ;
  435.  
  436.  
  437.  

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