Télécharger pvec.dgibi

Retour à la liste

Numérotation des lignes :

  1. *
  2. ************************************************************************
  3. ************************************************************************
  4. * fichier : pvec.dgibi
  5. *
  6. 'OPTI' 'ECHO' 0 ;
  7. *
  8. 'SAUTER' 2 'LIGNE' ;
  9. 'MESSAGE' ' Execution de pvec.dgibi' ;
  10. 'SAUTER' 2 'LIGNE' ;
  11. *
  12. interact = faux ;
  13. *
  14. ************************************************************************
  15. * NOM : PVEC
  16. * DESCRIPTION : Cas-test pour l'opérateur PVEC avec des CHPOs
  17. * On vérifie en 2D :
  18. * | PVEC A |^2 = | A | ^ 2
  19. * | PSCA A (PVEC A) |^2 = 0
  20. * et en 3D l'égalité :
  21. * | PVEC A B |^2 + | PSCA A B |^2 = | A |^2 | B |^2
  22. *
  23. *
  24. * LANGAGE : GIBIANE-CAST3M
  25. * AUTEUR : Stéphane GOUNAND (CEA/DEN/DM2S/SFME/LTMF)
  26. * mél : stephane.gounand@cea.fr
  27. **********************************************************************
  28. * VERSION : v1, 30/09/2011, version initiale
  29. * HISTORIQUE : v1, 30/09/2011, création
  30. * HISTORIQUE :
  31. * HISTORIQUE :
  32. ************************************************************************
  33. *
  34. lpass = vrai ;
  35. 'OPTI' 'DIME' 2 'ELEM' 'QUA4' ;
  36. p0 = 0. 0. ; p1 = 1. 0.22 ;
  37. gen1 = 'DROIT' 2 p0 p1 ;
  38. s1 = 'TRANSLATION' gen1 2 (0. 1.) ;
  39. gen2 = 'COTE' 3 s1 ;
  40. s2 = 'TRANSLATION' gen2 2 (0. 1.) ;
  41. gen3 = 'COTE' 3 s2 ;
  42. s3 = 'TRANSLATION' gen3 2 (0. 1.) ;
  43. st = s1 'ET' s2 'ET' s3 ;
  44. *'TRACER' st ;
  45. ux1 = 'BRUIT' 'BLAN' 'UNIF' 0. 1. (s1 'ET' s2) ;
  46. uy1 = 'BRUIT' 'BLAN' 'UNIF' 0. 1. (s1 'ET' s2) ;
  47.  
  48. vA = ('NOMC' 'UX' ux1) '+' ('NOMC' 'UY' uy1) ;
  49. *vB = ('NOMC' 'FX' ux2) '+' ('NOMC' 'FY' uy2) ;
  50.  
  51. l1 = 'MOTS' 'UX' 'UY' ; l2 = 'MOTS' 'FX' 'FY' ;
  52.  
  53. veca = 'PVEC' vA l1 l2 ;
  54. na = 'PSCAL' vA vA l1 l1 ;
  55. nveca = 'PSCAL' veca veca l2 l2 ;
  56. aveca = 'PSCAL' vA veca l1 l2 ;
  57. naveca = '**' aveca 2 ;
  58. *
  59. nna = 'MAXIMUM' ('-' na nveca) 'ABS' ;
  60. nnb = 'MAXIMUM' naveca ;
  61. *
  62. tolerr = 1.D-13 ;
  63. tst1 = 'EGA' nna 0. tolerr ;
  64. tst2 = 'EGA' nnb 0. tolerr ;
  65. *
  66. 'OPTI' 'DIME' 3 ;
  67. *
  68. uz1 = 'BRUIT' 'BLAN' 'UNIF' 0. 1. (s1 'ET' s2) ;
  69. ux2 = 'BRUIT' 'BLAN' 'UNIF' 0. 1. (s1 'ET' s2 'ET' s3) ;
  70. uy2 = 'BRUIT' 'BLAN' 'UNIF' 0. 1. (s2 'ET' s3) ;
  71. uz2 = 'BRUIT' 'BLAN' 'UNIF' 0. 1. s2 ;
  72. *
  73. vA = ('NOMC' 'UX' ux1) '+' ('NOMC' 'UY' uy1) '+' ('NOMC' 'UZ' uz1) ;
  74. vB = ('NOMC' 'FX' ux2) '+' ('NOMC' 'FY' uy2) '+' ('NOMC' 'FZ' uz2) ;
  75. l1 = 'MOTS' 'UX' 'UY' 'UZ' ; l2 = 'MOTS' 'FX' 'FY' 'FZ' ;
  76. *
  77. avecb = 'PVEC' vA vB l1 l2 l1 ;
  78. ascab = 'PSCAL' vA vB l1 l2 ;
  79.  
  80. navecb = 'PSCAL' avecb avecb l1 l1 ;
  81. nascab = '**' ascab 2 ;
  82. na = 'PSCAL' vA vA l1 l1 ;
  83. nb = 'PSCAL' vB vB l2 l2 ;
  84. nab = '*' na nb ;
  85. *
  86. res = nab '-' navecb '-' nascab ;
  87. nres = 'MAXIMUM' res 'ABS' ;
  88. tst3 = 'EGA' nnb 0. tolerr ;
  89. tst = tst1 'ET' tst2 'ET' tst3 ;
  90. 'MESSAGE' ('CHAINE' 'Test :') ;
  91. 'MESSAGE' ('CHAINE' ' nna = ' nna ) ;
  92. 'MESSAGE' ('CHAINE' ' nnb = ' nnb ) ;
  93. 'MESSAGE' ('CHAINE' ' nres = ' nres) ;
  94. 'SI' tst ;
  95. 'MESSAGE' 'Test OK' ;
  96. 'SINON' ;
  97. 'MESSAGE' '!!! Test not passed ' ;
  98. 'FINSI' ;
  99. lpass = lpass 'ET' tst ;
  100. *
  101. 'SAUTER' 2 'LIGNE' ;
  102. 'SI' lpass ;
  103. 'MESSAGE' 'Tout sest bien passe' ;
  104. 'SINON' ;
  105. 'MESSAGE' 'Il y a eu des erreurs' ;
  106. 'FINSI' ;
  107. 'SAUTER' 2 'LIGNE' ;
  108. 'SI' interact ;
  109. 'OPTION' 'DONN' 5 'ECHO' 1 ;
  110. 'FINSI' ;
  111. 'SI' ('NON' lpass) ;
  112. 'ERREUR' 5 ;
  113. 'FINSI' ;
  114. *
  115. 'FIN' ;
  116.  
  117.  
  118.  
  119.  
  120.  

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