Télécharger sochamevol.dgibi

Retour à la liste

Numérotation des lignes :

  1. * fichier : sochamevol.dgibi
  2. ************************************************************************
  3. ************************************************************************
  4. *---------------------------------------------------------------------*
  5. * Cas-test de l'operateur '-' *
  6. * *
  7. * Ce cas-test verifie la soustraction de MCHAMLs dont les *
  8. * composantes sont de type EVOLUTIOn. *
  9. * *
  10. *---------------------------------------------------------------------*
  11. * *
  12. * Pour avoir les messages, mettre IMES1 a VRAI : *
  13. IMES1 = FAUX ;
  14. * *
  15. 'OPTI' 'ECHO' 0 ;
  16. 'OPTI' 'DIME' 2 'ELEM' 'QUA4' ;
  17. * *
  18. *---------- Maillage : support geometrique pour les MCHAMLs ----------*
  19. * *
  20. * Je realise un maillage comportant 2 sous-zones : *
  21. P1 = 0. 0. ;
  22. P2 = 1. 0. ;
  23. P3 = 1. 1. ;
  24. P4 = 0. 1. ;
  25. D1 = P1 'DROI' 2 P2 ;
  26. Q1 = D1 'TRAN' 2 P4 ;
  27. T1 = 'MANU' 'TRI3' P3 (0.5 1.5) P4 ;
  28. S1 = Q1 'ET' T1 ;
  29. 'ELIM' S1 1.E-3 ;
  30. * *
  31. * *
  32. * *
  33. *-------- Soustraction d'un MCHAML d'EVOLUTIOns par lui meme ---------*
  34. * *
  35. *--- 1. MCHAML a une composante : *
  36. * *
  37. * Definition d'une EVOLUTIOn : *
  38. LX1 = 'PROG' 0. 1. 2. ;
  39. LY1 = 'PROG' 2. 3. 5. ;
  40. EV1 = 'EVOL' 'MANU' 'T' LX1 'K' LY1 ;
  41. * *
  42. * Modele et MCHAML : *
  43. MOD1 = 'MODE' S1 'THERMIQUE' ;
  44. MAT1 = 'MATE' MOD1 'K' EV1 ;
  45. * *
  46. MAT3 = MAT1 - MAT1 ;
  47. * *
  48. * Verification de la soustraction : *
  49. ERR1 = 0. ;
  50. 'SI' ('NEG' ('TYPE' MAT3) 'MCHAML') ;
  51. ERR1 = 1. ;
  52. 'FINS' ;
  53. 'SI' ('NEG' ('DIME' ('EXTR' MAT3 'COMP')) 1) ;
  54. ERR1 = ERR1 + 1. ;
  55. 'FINS' ;
  56. 'SI' ('NEG' ('EXTR' ('EXTR' MAT3 'COMP') 1) 'K') ;
  57. ERR1 = ERR1 + 1. ;
  58. 'FINS' ;
  59. EVK3 = 'EXTR' MAT3 'K' 1 1 1 ;
  60. LX3 = 'EXTR' EVK3 'ABSC' ;
  61. LY3 = 'EXTR' EVK3 'ORDO' ;
  62. ERR1 = ERR1 + ('MAXI' (LX1 - LX3)) + ('MAXI' ((LY1 - LY1) - LY3)) ;
  63. * *
  64. * *
  65. *--- 2. MCHAML a deux composantes : *
  66. * *
  67. * Definition d'une 2e EVOLUTIOn :
  68. LX2 = LX1 ;
  69. LY2 = LY1 ** 0.5 ;
  70. EV2 = 'EVOL' 'MANU' 'T' LX2 'RHO' LY2 ;
  71. * *
  72. MAT2 = 'MATE' MOD1 'RHO' EV2 'K' EV1 ;
  73. MAT3 = MAT2 - MAT2 ;
  74. * *
  75. * Verification de la soustraction : *
  76. 'SI' ('NEG' ('TYPE' MAT3) 'MCHAML') ;
  77. ERR1 = ERR1 + 1. ;
  78. 'FINS' ;
  79. 'SI' ('NEG' ('DIME' ('EXTR' MAT3 'COMP')) 2) ;
  80. ERR1 = ERR1 + 1. ;
  81. 'FINS' ;
  82. 'SI' ('NEG' ('EXTR' ('EXTR' MAT3 'COMP') 1) 'RHO') ;
  83. ERR1 = ERR1 + 1. ;
  84. 'FINS' ;
  85. 'SI' ('NEG' ('EXTR' ('EXTR' MAT3 'COMP') 2) 'K') ;
  86. ERR1 = ERR1 + 1. ;
  87. 'FINS' ;
  88. EVK3 = 'EXTR' MAT3 'K' 1 1 1 ;
  89. LX3 = 'EXTR' EVK3 'ABSC' ;
  90. LY3 = 'EXTR' EVK3 'ORDO' ;
  91. EVK4 = 'EXTR' MAT3 'RHO' 1 1 1 ;
  92. LX4 = 'EXTR' EVK4 'ABSC' ;
  93. LY4 = 'EXTR' EVK4 'ORDO' ;
  94. ERR1 = ERR1 + ('MAXI' (LX1 - LX3)) + ('MAXI' ((LY1 - LY1) - LY3))
  95. + ('MAXI' (LX2 - LX4)) + ('MAXI' ((LY2 - LY2) - LY4)) ;
  96. * *
  97. * *
  98. * *
  99. *-------------- Soustraction de 2 MCHAMLs d'EVOLUTIOns ---------------*
  100. * *
  101. *--- 1. MCHAMLs a une composante : *
  102. * *
  103. EV2 = 'EVOL' 'MANU' 'T' LX2 'K' LY2 ;
  104. MAT2 = 'MATE' MOD1 'K' EV2 ;
  105. MAT3 = MAT1 - MAT2 ;
  106. * *
  107. * Verification de la soustraction : *
  108. 'SI' ('NEG' ('TYPE' MAT3) 'MCHAML') ;
  109. ERR1 = 1. ;
  110. 'FINS' ;
  111. 'SI' ('NEG' ('DIME' ('EXTR' MAT3 'COMP')) 1) ;
  112. ERR1 = ERR1 + 1. ;
  113. 'FINS' ;
  114. 'SI' ('NEG' ('EXTR' ('EXTR' MAT3 'COMP') 1) 'K') ;
  115. ERR1 = ERR1 + 1. ;
  116. 'FINS' ;
  117. EVK3 = 'EXTR' MAT3 'K' 1 1 1 ;
  118. LX3 = 'EXTR' EVK3 'ABSC' ;
  119. LY3 = 'EXTR' EVK3 'ORDO' ;
  120. ERR1 = ERR1 + ('MAXI' (LX1 - LX3)) + ('MAXI' ((LY1 - LY2) - LY3)) ;
  121. * *
  122. * *
  123. *--- 2. MCHAMLs ayant deux memes composantes : *
  124. * *
  125. EV2 = 'EVOL' 'MANU' 'T' LX2 'RHO' LY2 ;
  126. MAT1 = 'MATE' MOD1 'RHO' EV2 'K' EV1 ;
  127. MAT2 = 'MATE' MOD1 'RHO' (2. * EV2) 'K' (-0.5 * EV1) ;
  128. MAT3 = MAT1 - MAT2 ;
  129. * *
  130. * Verification de la soustraction :
  131. 'SI' ('NEG' ('TYPE' MAT3) 'MCHAML') ;
  132. ERR1 = ERR1 + 1. ;
  133. 'FINS' ;
  134. 'SI' ('NEG' ('DIME' ('EXTR' MAT3 'COMP')) 2) ;
  135. ERR1 = ERR1 + 1. ;
  136. 'FINS' ;
  137. 'SI' ('NEG' ('EXTR' ('EXTR' MAT3 'COMP') 1) 'RHO') ;
  138. ERR1 = ERR1 + 1. ;
  139. 'FINS' ;
  140. 'SI' ('NEG' ('EXTR' ('EXTR' MAT3 'COMP') 2) 'K') ;
  141. ERR1 = ERR1 + 1. ;
  142. 'FINS' ;
  143. EVK3 = 'EXTR' MAT3 'K' 1 1 1 ;
  144. LX3 = 'EXTR' EVK3 'ABSC' ;
  145. LY3 = 'EXTR' EVK3 'ORDO' ;
  146. EVK4 = 'EXTR' MAT3 'RHO' 1 1 1 ;
  147. LX4 = 'EXTR' EVK4 'ABSC' ;
  148. LY4 = 'EXTR' EVK4 'ORDO' ;
  149. ERR1 = ERR1 + ('MAXI' (LX1 - LX3)) + ('MAXI' ((1.5 * LY1) - LY3))
  150. + ('MAXI' (LX2 - LX4)) + ('MAXI' ((-1. * LY2) - LY4)) ;
  151. * *
  152. * *
  153. *--- 3. MCHAMLs ayant trois composantes mais qu'une en commun : *
  154. * *
  155. MAT1 = 'MATE' MOD1 'RHO' 1. 'K' EV1 ;
  156. MAT2 = 'MATE' MOD1 'C' 0.3 'K' (-0.5 * EV1) ;
  157. MAT3 = MAT1 - MAT2 ;
  158. * *
  159. * Verification de la soustraction :
  160. 'SI' ('NEG' ('TYPE' MAT3) 'MCHAML') ;
  161. ERR1 = ERR1 + 1. ;
  162. 'FINS' ;
  163. 'SI' ('NEG' ('DIME' ('EXTR' MAT3 'COMP')) 3) ;
  164. ERR1 = ERR1 + 1. ;
  165. 'FINS' ;
  166. 'SI' ('NEG' ('EXTR' ('EXTR' MAT3 'COMP') 1) 'RHO') ;
  167. ERR1 = ERR1 + 1. ;
  168. 'FINS' ;
  169. 'SI' ('NEG' ('EXTR' ('EXTR' MAT3 'COMP') 2) 'K') ;
  170. ERR1 = ERR1 + 1. ;
  171. 'FINS' ;
  172. 'SI' ('NEG' ('EXTR' ('EXTR' MAT3 'COMP') 3) 'C') ;
  173. ERR1 = ERR1 + 1. ;
  174. 'FINS' ;
  175. EVK3 = 'EXTR' MAT3 'K' 1 1 1 ;
  176. LX3 = 'EXTR' EVK3 'ABSC' ;
  177. LY3 = 'EXTR' EVK3 'ORDO' ;
  178. ERR1 = ERR1 + ('MAXI' (LX1 - LX3)) + ('MAXI' ((1.5 * LY1) - LY3)) ;
  179. * *
  180. *-------------------------- Fin des tests ----------------------------*
  181. * *
  182. * Gestion de l'erreur : *
  183. 'SI' ('NEG' ERR1 0.) ;
  184. 'ERRE' 5 ;
  185. 'FINS' ;
  186. * *
  187. * Message de sortie : *
  188. VECH1 = 'VALE' 'ECHO' ;
  189. 'OPTI' 'ECHO' 0 ;
  190. 'SI' IMES1 ;
  191. 'SAUT' 1 'LIGN' ;
  192. 'MESS'
  193. '*** TEST REUSSI ***'
  194. ;
  195. FINS ;
  196. 'OPTI' 'ECHO' VECH1 ;
  197. * *
  198. 'FIN' ;
  199. *---------------------------------------------------------------------*
  200.  
  201.  
  202.  
  203.  
  204.  

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