Télécharger mucham.dgibi

Retour à la liste

Numérotation des lignes :

  1. * fichier : mucham.dgibi
  2. ************************************************************************
  3. ************************************************************************
  4. 'OPTION' 'ECHO' 0 ;
  5. ***********************************************************************
  6. * NOM : MUCHAM *
  7. * DESCRIPTION : Cas-test de l'operateur '*' *
  8. * Ce cas-test verifie la multiplication de MCHAMLs *
  9. * *
  10. * *
  11. * Suite aux fiches anomalie 9461 et *
  12. * on verifie qu'avec la syntaxe * *
  13. * ou on precise les noms des composantes *
  14. * intervenant dans chaque produit ainsi que celui de la composante *
  15. * resultat a l'aide de trois LISMOTS : *
  16. * - CHAM3 = CHMA1 * CHMA2 LISMOTS1 LISMOTS2 LISMOTS3 ; *
  17. * que les trois LISTMOTS sont bien pris en compte meme si les *
  18. * champs arguments sont de type "SCALAIRE" *
  19. * *
  20. * *
  21. * LANGAGE : GIBIANE-CAST3M *
  22. * AUTEUR : Stéphane GOUNAND (CEA/DEN/DM2S/SEMT/LTA) *
  23. * mél : stephane.gounand@cea.fr *
  24. ***********************************************************************
  25. * VERSION : v1, 19/06/2017, version initiale *
  26. * HISTORIQUE : v1, 19/06/2017, création *
  27. * HISTORIQUE : *
  28. * HISTORIQUE : *
  29. ***********************************************************************
  30. *
  31. * Verifie qu'un champ n'a qu'une composante qui correspond au mot donne
  32. *
  33. 'DEBP' VERCOMP ;
  34. 'ARGU' cham*'MCHAML' ;
  35. 'ARGU' nocover*'MOT' ;
  36. *
  37. noco = 'EXTR' cham 'COMP' ;
  38. dnoco = 'DIME' noco ;
  39. tst1 = 'EGA' dnoco 1 ;
  40. 'SI' ('NON' tst1) ;
  41. 'MESS' '!!! Le champ a plus dune composante' ;
  42. 'FINS' ;
  43. mo = 'EXTR' noco 1 ;
  44. tst2 = 'EGA' mo nocover ;
  45. 'SI' ('NON' tst2) ;
  46. 'MESS' '!!! La composante est : ' mo ;
  47. 'MESS' '!!! Elle devrait etre : ' nocover ;
  48. 'FINS' ;
  49. lok = tst1 'ET' tst2 ;
  50. 'RESP' lok ;
  51. 'FINP' ;
  52. *
  53. * Verifie le min et le max d'un champ
  54. *
  55. 'DEBP' VERMIMA ;
  56. 'ARGU' cham*'MCHAML' ;
  57. 'ARGU' vmin*'FLOTTANT' ;
  58. 'ARGU' vmax*'FLOTTANT' ;
  59. *
  60. lok = vrai ;
  61. mich = 'MINI' cham ; mach = 'MAXI' cham ;
  62. vref = 'MAXI' ('PROG' vmin vmax ('**' ('VALE' 'PETI') 0.5)) 'ABS' ;
  63. tol = '*' vref ('VALE' 'PREC') ;
  64. tst3 = 'EGA' mich vmin tol ;
  65. tst4 = 'EGA' mach vmax tol ;
  66. 'SI' ('NON' tst3) ;
  67. 'MESS' '!!! Le min. du champ est : ' mich ;
  68. 'MESS' '!!! Il devrait etre : ' vmin ;
  69. 'FINS' ;
  70. 'SI' ('NON' tst4) ;
  71. 'MESS' '!!! Le max. du champ est : ' mach ;
  72. 'MESS' '!!! Il devrait etre : ' vmax ;
  73. 'FINS' ;
  74. lok = tst3 'ET' tst4 ;
  75. 'RESP' lok ;
  76. 'FINP' ;
  77. *
  78. *
  79. graph = faux ;
  80. interact = faux ;
  81. 'OPTI' 'DIME' 1 'ELEM' 'SEG2' ;
  82. pA = 'POIN' ('*' -1. PI) ; pB = 'POIN' PI ;
  83. mt = 'DROI' 2 pA pB ;
  84. *
  85. lok = vrai ;
  86. *
  87. * Test 1 avec des champs crees par MANU CHML
  88. *
  89. ch1 = 'MANU' 'CHML' mt 'SCAL' ('**' 2. 0.5) ;
  90. ch2 = 'MANU' 'CHML' mt 'UX' PI ;
  91. vs = PI '*' ('**' 2. 0.5) ;
  92. ch3 = '*' ch1 ch2 ('MOTS' 'SCAL') ('MOTS' 'UX') ('MOTS' 'TUX') ;
  93. *
  94. lok = lok 'ET' (VERCOMP ch3 'TUX') ;
  95. lok = lok 'ET' (VERMIMA ch3 vs vs) ;
  96. *
  97. ch3p = '*' ch2 ch1 ('MOTS' 'UX') ('MOTS' 'SCAL') ('MOTS' 'TUX') ;
  98. *
  99. lok = lok 'ET' (VERCOMP ch3p 'TUX') ;
  100. lok = lok 'ET' (VERMIMA ch3p vs vs) ;
  101. *
  102. ch1b = 'MANU' 'CHML' mt 'SCAL' ('**' 2. 0.5) 'TYPE' 'SCALAIRE' ;
  103. ch3b = '*' ch1b ch2 ('MOTS' 'SCAL') ('MOTS' 'UX') ('MOTS' 'TUX') ;
  104. *
  105. lok = lok 'ET' (VERCOMP ch3b 'TUX') ;
  106. lok = lok 'ET' (VERMIMA ch3b vs vs) ;
  107. *
  108. ch2b = 'MANU' 'CHML' mt 'UX' PI 'TYPE' 'SCALAIRE' ;
  109. ch3c = '*' ch1 ch2b ('MOTS' 'SCAL') ('MOTS' 'UX') ('MOTS' 'TUX') ;
  110. *
  111. lok = lok 'ET' (VERCOMP ch3c 'TUX') ;
  112. lok = lok 'ET' (VERMIMA ch3c vs vs) ;
  113. *
  114. ch3d = '*' ch1b ch2b ('MOTS' 'SCAL') ('MOTS' 'UX') ('MOTS' 'TUX') ;
  115. *
  116. lok = lok 'ET' (VERCOMP ch3d 'TUX') ;
  117. lok = lok 'ET' (VERMIMA ch3d vs vs) ;
  118. *
  119. * Test 2 avec des champs crees par COOR et CHAN CHAM
  120. *
  121. vs = '**' PI 2. ; vprec = '*' ('VALE' 'PREC') vs ;
  122. mmt = 'MODE' mt 'MECANIQUE' ;
  123. xmt = 'COOR' 1 mt ;
  124. cxmt = 'CHAN' 'CHAM' xmt mt ;
  125. cxmtt = 'CHAN' 'CHAM' ('NOMC' 'T' xmt) mt ;
  126. cxmt2 = '*' cxmt cxmtt ('MOTS' 'SCAL') ('MOTS' 'T') ('MOTS' 'UXX') ;
  127. lok = lok 'ET' (VERCOMP cxmt2 'UXX') ;
  128. lok = lok 'ET' (VERMIMA cxmt2 0. vs) ;
  129. cxmt2p = '*' cxmtt cxmt ('MOTS' 'T') ('MOTS' 'SCAL') ('MOTS' 'UXX') ;
  130. lok = lok 'ET' (VERCOMP cxmt2p 'UXX') ;
  131. lok = lok 'ET' (VERMIMA cxmt2p 0. vs) ;
  132. cxmt2q = '*' cxmt cxmt ('MOTS' 'SCAL') ('MOTS' 'SCAL')
  133. ('MOTS' 'UXX') ;
  134. lok = lok 'ET' (VERCOMP cxmt2q 'UXX') ;
  135. lok = lok 'ET' (VERMIMA cxmt2q 0. vs) ;
  136. cxmt2r = '*' cxmtt cxmtt ('MOTS' 'T') ('MOTS' 'T')
  137. ('MOTS' 'UXX') ;
  138. lok = lok 'ET' (VERCOMP cxmt2r 'UXX') ;
  139. lok = lok 'ET' (VERMIMA cxmt2r 0. vs) ;
  140. *
  141. * Test final
  142. *
  143. 'SI' ('NON' lok) ;
  144. 'ERREUR' 5 ;
  145. 'SINON' ;
  146. 'MESSAGE' ('CHAINE' 'Tout sest bien passe !') ;
  147. 'FINSI' ;
  148. *
  149. 'SI' interact ;
  150. 'OPTION' 'ECHO' 1 ;
  151. 'OPTION' 'DONN' 5 ;
  152. 'FINSI' ;
  153. *
  154. * End of dgibi file MUCHAM
  155. *
  156. 'FIN' ;
  157.  
  158.  
  159.  
  160.  
  161.  
  162.  

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