Télécharger pvec3.dgibi

Retour à la liste

Numérotation des lignes :

  1. * fichier : pvec3.dgibi
  2. *******************************************************************************
  3. *******************************************************************************
  4.  
  5. *******************************************************************************
  6. * NOM : PVEC3
  7. *
  8. * DESCRIPTION : Cas-test pour l'opérateur PVEC avec des POINTS, des CHPOINTS
  9. * et des CHAMLS
  10. * On vérifie en 2D :
  11. * PVEC (1. 0.) = (0. 1.) POUR LES 3 TYPES D'OBJETS
  12. * et en 3D :
  13. * (1. 0. 0.) PVEC (0. 1. 0.) = (0. 0. 1.)
  14. *
  15. * AUTEUR : Joffrey BLUTHE (CEA/DEN/DM2S/SEMT/LISN)
  16. * mél : joffrey.bluthe@cea.fr
  17. *
  18. * VERSION : v1, 13/04/2021, version initiale
  19. *******************************************************************************
  20.  
  21. * I - TEST DE PVEC EN 2D
  22. * ----------------------
  23.  
  24. OPTI 'DIME' 2 'ELEM' 'QUA4' ;
  25. COMP1 = MOT 'X' ;
  26. COMP2 = MOT 'Y' ;
  27. COMPS = MOTS COMP1 COMP2 ;
  28.  
  29. * PVEC SUR UN POINT
  30. P1 = 1. 0. ;
  31. P2 = PVEC P1 ;
  32. P3 = 0. 1. ;
  33. DP = P3 MOIN P2 ;
  34. NORM1 = NORM DP ;
  35. SI (NEG NORM1 0.) ;
  36. MESS 'ERREUR : LE PRODUIT VECTORIEL 2D EST INCORRECT' ;
  37. MESS ' DANS LE CAS D''UN POINT' ;
  38. ERRE 5 ;
  39. FINSI ;
  40.  
  41. * PVEC SUR UN CHPO
  42. P0 = 0. 0. ;
  43. CHPO1 = MANU 'CHPO' P0 2 COMP1 1. COMP2 0. ;
  44. CHPO2 = PVEC CHPO1 COMPS COMPS ;
  45. CHPO3 = MANU 'CHPO' P0 2 COMP1 0. COMP2 1. ;
  46. DCHPO = CHPO3 - CHPO2 ;
  47. NORM1 = (PSCA DCHPO DCHPO COMPS COMPS)**0.5 ;
  48. SI (NEG (MAXI NORM1 'ABS') 0.) ;
  49. MESS 'ERREUR : LE PRODUIT VECTORIEL 2D EST INCORRECT' ;
  50. MESS ' DANS LE CAS D''UN CHPOINT' ;
  51. ERRE 5 ;
  52. FINSI ;
  53.  
  54. * PVEC SUR UN MCHAML
  55. P0 = MANU 'POI1' P0 ;
  56. CHAM1 = MANU 'CHML' P0 COMP1 1. COMP2 0. ;
  57. CHAM2 = PVEC CHAM1 COMPS COMPS ;
  58. CHAM3 = MANU 'CHML' P0 COMP1 0. COMP2 1. ;
  59. DCHAM = CHAM3 - CHAM2 ;
  60. NORM1 = (PSCA DCHAM DCHAM COMPS COMPS)**0.5 ;
  61. SI (NEG (MAXI NORM1 'ABS') 0.) ;
  62. MESS 'ERREUR : LE PRODUIT VECTORIEL 2D EST INCORRECT' ;
  63. MESS ' DANS LE CAS D''UN CHAML' ;
  64. ERRE 5 ;
  65. FINSI ;
  66.  
  67.  
  68. * II - TEST DE PVEC EN 3D
  69. * -----------------------
  70.  
  71. OPTI 'DIME' 3 'ELEM' 'CUB8' ;
  72. COMP3 = MOT '2' ;
  73. COMPS = MOTS COMP1 COMP2 COMP3 ;
  74.  
  75. * PVEC SUR UN POINT
  76. P1 = 1. 0. 0. ;
  77. P2 = 0. 1. 0. ;
  78. P3 = P1 PVEC P2 ;
  79. P4 = 0. 0. 1. ;
  80. DP = P4 MOIN P3 ;
  81. NORM1 = NORM DP ;
  82. SI (NEG NORM1 0.) ;
  83. MESS 'ERREUR : LE PRODUIT VECTORIEL 3D EST INCORRECT' ;
  84. MESS ' DANS LE CAS D''UN POINT' ;
  85. ERRE 5 ;
  86. FINSI ;
  87.  
  88. * PVEC SUR UN CHPO
  89. P0 = 0. 0. 0. ;
  90. CHPO1 = MANU 'CHPO' P0 3 COMP1 1. COMP2 0. COMP3 0. ;
  91. CHPO2 = MANU 'CHPO' P0 3 COMP1 0. COMP2 1. COMP3 0. ;
  92. CHPO3 = CHPO1 PVEC CHPO2 COMPS COMPS COMPS ;
  93. CHPO4 = MANU 'CHPO' P0 3 COMP1 0. COMP2 0. COMP3 1. ;
  94. DCHPO = CHPO4 - CHPO3 ;
  95. NORM1 = (PSCA DCHPO DCHPO COMPS COMPS)**0.5 ;
  96. SI (NEG (MAXI NORM1 'ABS') 0.) ;
  97. MESS 'ERREUR : LE PRODUIT VECTORIEL 3D EST INCORRECT' ;
  98. MESS ' DANS LE CAS D''UN CHPOINT' ;
  99. ERRE 5 ;
  100. FINSI ;
  101.  
  102. * PVEC SUR UN MCHAML
  103. P0 = MANU 'POI1' P0 ;
  104. CHAM1 = MANU 'CHML' P0 COMP1 1. COMP2 0. COMP3 0. ;
  105. CHAM2 = MANU 'CHML' P0 COMP1 0. COMP2 1. COMP3 0. ;
  106. CHAM3 = CHAM1 PVEC CHAM2 COMPS COMPS COMPS ;
  107. CHAM4 = MANU 'CHML' P0 COMP1 0. COMP2 0. COMP3 1. ;
  108. DCHAM = CHAM4 - CHAM3 ;
  109. NORM1 = (PSCA DCHAM DCHAM COMPS COMPS)**0.5 ;
  110. SI (NEG (MAXI NORM1 'ABS') 0.) ;
  111. MESS 'ERREUR : LE PRODUIT VECTORIEL 3D EST INCORRECT' ;
  112. MESS ' DANS LE CAS D''UN CHAML' ;
  113. ERRE 5 ;
  114. FINSI ;
  115.  
  116. FIN ;
  117.  
  118.  
  119.  

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