Télécharger test_et.dgibi

Retour à la liste

Numérotation des lignes :

  1. * fichier : test_et.dgibi
  2. interact = faux ;
  3. ************************************************************************
  4. * NOM : test_et.dgibi
  5. * DESCRIPTION : test le bon fonctionnement de l'opérateur 'ET'
  6. *
  7. * LANGAGE : GIBIANE-CAST3M
  8. * AUTEUR : Pascal Maugis (CEA/DSM/LSCE)
  9. * mail : pmaugis@cea.fr
  10. ************************************************************************
  11. * VERSION : v1, 10/05/2007, version initiale
  12. * HISTORIQUE : v1, 10/05/2007, création
  13. * HISTORIQUE : 2019/01/10 SG fiche 10071 : remettre en service
  14. * les tests commentes 'LISTE' (1 'ET' ('PROG'
  15. * 2)) ; , etc...
  16. * HISTORIQUE :
  17. ************************************************************************
  18. * Prière de PRENDRE LE TEMPS de compléter les commentaires
  19. * en cas de modification de ce sous-programme afin de faciliter
  20. * la maintenance !
  21. ************************************************************************
  22. *
  23. *
  24. 'OPTION' 'DIME' 2 'ELEM' 'QUA4' ;
  25. 'SI' ('NON' interact) ;
  26. 'OPTION' 'TRAC' 'PS' ;
  27. 'SINON' ;
  28. 'OPTION' 'TRAC' 'X' ;
  29. 'FINSI' ;
  30.  
  31. * Créer un LISTREEL
  32. 'LISTE' (('PROG' 1) 'ET' ('PROG' 2)) ;
  33. 'LISTE' (('PROG' 1) 'ET' 2.) ;
  34. 'LISTE' (1. 'ET' ('PROG' 2)) ;
  35. 'LISTE' (1. 'ET' 2.) ;
  36. 'LISTE' (1 'ET' ('PROG' 2)) ;
  37. 'LISTE' (('PROG' 1) 'ET' 2) ;
  38.  
  39. * Créer un LISTENTI
  40. 'LISTE' (('LECT' 1) 'ET' ('LECT' 2)) ;
  41. 'LISTE' (('LECT' 1) 'ET' 2) ;
  42. 'LISTE' (1 'ET' ('LECT' 2)) ;
  43. 'LISTE' (1 'ET' 2) ;
  44.  
  45. * Créer un LISTCHPO
  46. stop;
  47. ch1 = 'MANU' 'CHPO' ((0 0) 'ET' (1 1)) 1 'SCAL' 2. 'NATURE' 'DISCRET' ;
  48. ch2 = ch1 + 1. ;
  49. ch3 = ch1 'ET' ch2 ;
  50. 'LISTE' ('SUITE' 'CHPOINT' ch1) ;
  51. 'LISTE' (('SUITE' 'CHPOINT' ch1) 'ET' ('SUITE' 'CHPOINT' ch2));
  52. *'LISTE' (('SUITE' 'CHPOINT' ch1) 'ET' ch2);
  53. *'LISTE' (ch1 'ET' ('SUITE' 'CHPOINT' ch2));
  54.  
  55. * Deux maillages simples
  56. * ----------------------
  57. p1 = 0 0;
  58. p2 = 1 1;
  59. p3 = 1 1;
  60. p4 = 1 0 ;
  61.  
  62. * ET ne respecte pas l'ordre d'adjonction des maillages
  63. * le 2e segment est bien en 2e.
  64. m1 = ('MANU' 'SEG2' p1 p2) 'ET' ('MANU' 'SEG2' p2 p3) ;
  65. 'LISTE' m1 ;
  66.  
  67. * d'une façon générale, le segment créant la continuité passe en premier
  68. m2 = m1 'ET' ('MANU' 'SEG2' p4 p1) ;
  69. 'LISTE' m2 ;
  70.  
  71. * sauf si mot-clef 'TELQUEL'
  72. m2 = m1 'ET' ('MANU' 'SEG2' p4 p1) 'TELQUEL' ;
  73. 'LISTE' m2 ;
  74. 'SI' (('NBEL' ('DIFF' ('ELEM' m1 1) ('ELEM' m2 1))) 'EGA' 0) ;
  75. 'ERREUR' 0;
  76. 'SINON' ;
  77. 'ERREUR' 5 ;
  78. 'FINSI' ;
  79.  
  80. * Un maillage complexe
  81. * --------------------
  82. * a) avec possibilité de continuité de parcours
  83. m3 = m1 'ET' ('MANU' 'TRI3' p1 p2 p3) ;
  84. m4 = 'MANU' 'SEG2' p4 p1 ;
  85. * sans 'TELQ', préséance de la continuité de parcours
  86. t1 = 'ELEM' (m3 'ET' m4) 'SEG2' ;
  87. 'LISTE' t1 ;
  88. t1 = 'ELEM' (m4 'ET' m3) 'SEG2' ;
  89. 'LISTE' t1 ;
  90. * avec 'TELQ' l'ordre des opérandes est respecté
  91. t1 = 'ELEM' (m3 'ET' m4 'TELQUEL') 'SEG2' ;
  92. 'LISTE' t1 ;
  93. 'SI' (('NBEL' ('DIFF' ('ELEM' t1 1) ('ELEM' m1 1))) 'EGA' 0) ;
  94. 'ERREUR' 0;
  95. 'SINON' ;
  96. 'ERREUR' 5 ;
  97. 'FINSI' ;
  98.  
  99. * b) sans continuité de parcours possible
  100. * sans 'TELQ', le maillage complexe passe toujours en premier
  101. * le résultat est invariablement la fraction SEG2 du maillage complexe,
  102. * puis le maillage simple.
  103. m5 = 'MANU' 'SEG2' (3 2) (2 3) ;
  104. t1 = 'ELEM' (m3 'ET' m5) 'SEG2' ;
  105. 'LISTE' t1 ;
  106. t2 = 'ELEM' (m5 'ET' m3) 'SEG2' ;
  107. 'LISTE' t2 ;
  108. * on vérifie la compatibilité descendante
  109. 'SI' (('NBEL' ('DIFF' ('ELEM' t1 1) ('ELEM' t2 1))) 'EGA' 0) ;
  110. 'ERREUR' 0;
  111. 'SINON' ;
  112. 'ERREUR' 5 ;
  113. 'FINSI' ;
  114.  
  115. 'FIN' ;
  116.  
  117.  
  118.  
  119.  
  120.  
  121.  

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