Télécharger ipol_muli_2.dgibi

Retour à la liste

Numérotation des lignes :

  1. * fichier : ipol_muli_2.dgibi
  2. OPTI 'DIME' 3 'ELEM' 'CU20' 'ECHO' 0 ;
  3. ************************************************************************
  4. ************************************************************************
  5.  
  6. ************************************************************************
  7. * Test de l'operateur IPOL option GRILL *
  8. * interpolation multi-lineaire d'une fonction de n parametres *
  9. * definie sur une grile de points *
  10. * *
  11. * Application a l'interpolation d'un champ de temperature sur un *
  12. * cylindre *
  13. * - test avec temperature fonction de 2 variables (r, theta) *
  14. * - test avec temperature fonction de 3 variables (r, theta, z) *
  15. * - test avec des CHPOINTs et des MCHAMLs *
  16. ************************************************************************
  17.  
  18.  
  19. ** Indicateur pour le trace des champs interpoles
  20. itrac = FAUX ;
  21.  
  22. ** Tolerance pour les tests sur les valeurs interpolees
  23. tol1 = 1.E-14 ;
  24.  
  25. ** Maillage du cylindre
  26. p1 = 1.5 0. -5. ;
  27. p2 = 3.5 0. -5. ;
  28. l1 = DROI 20 p1 p2 ;
  29. mail1 = l1 ROTA 72 360. (0. 0. 0.) (0. 0. 1.) ;
  30. ELIM 1.E-9 mail1 ;
  31. mail2 = mail1 VOLU 'TRAN' 50 (0. 0. 20.) ;
  32. MESS ; MESS ; MESS ;
  33.  
  34.  
  35.  
  36. ** TEST en dimension 2
  37. ** -------------------
  38. ** Grille de valeurs de la fonction
  39. lr = PROG 2. 3. ;
  40. lt = PROG -180. 0. 180. ;
  41. lf = PROG 450. 410. 430. 400. 450. 410. ;
  42.  
  43. ** Champs de coordonnees polaires du maillage de la couronne inferieure
  44. x y z = COOR mail1 ;
  45. r = ((x**2) + (y**2))**0.5 ;
  46. t = ATG y x ;
  47. chp1 = (NOMC 'R' r 'NATU' 'DIFFUS') ET (NOMC 'T' t 'NATU' 'DIFFUS') ;
  48. mo = MODE mail1 'MECANIQUE' ;
  49. che1 = CHAN 'CHAM' mo chp1 'STRESSES' ;
  50.  
  51. ** Interpolation du champ sur la couronne
  52. MESS 'Interpolation bi-lineaire' ;
  53. nu1 = NUAG 'COMP' 'R' lr
  54. 'COMP' 'T' lt
  55. 'COMP' 'FONC' lf ;
  56. chp2 = IPOL chp1 nu1 'GRILL' ;
  57. che2 = IPOL che1 nu1 'GRILL' ;
  58.  
  59. ** Test des valeurs interpolees en certains points cibles
  60. tp = TABL ;
  61. tf = TABL ;
  62. tp . 1 = (1.5 * (COS 0.)) (1.5 * (SIN 0.)) -1. ;
  63. tf . 1 = 430. ;
  64. tp . 2 = (1.5 * (COS 90.)) (1.5 * (SIN 90.)) -1. ;
  65. tf . 2 = 440. ;
  66. tp . 3 = (2.5 * (COS 90.)) (2.5 * (SIN 90.)) -1. ;
  67. tf . 3 = 422.5 ;
  68. tp . 4 = (2.5 * (COS 220.)) (2.5 * (SIN 220.)) -1. ;
  69. tf . 4 = 426.666666666666 ;
  70. MESS ' Point | Valeur | Valeur | Erreur' ;
  71. MESS ' | theorique | interpolee | ' ;
  72. MESS '--------|----------------|----------------|-------' ;
  73. REPE b1 (DIME tp) ;
  74. ft = tf . &b1 ;
  75. pt = mail1 POIN 'PROC' (tp . &b1) ;
  76. fc = EXTR chp2 'FONC' pt ;
  77. err1 = ABS ((fc - ft) / ft) ;
  78. MESS &b1 '|' ft '|' fc '|' err1 ;
  79. SI (err1 > tol1) ;
  80. MESS ; MESS ;
  81. MESS 'ECHEC DU CAS TEST !' ;
  82. ERREUR 4 ;
  83. FINSI ;
  84. FIN b1 ;
  85. SI itrac ;
  86. TRAC chp2 mail1 'TITR' 'Interpolation bi-lineaire CHPOINT' ;
  87. TRAC che2 mo 'TITR' 'Interpolation bi-lineaire MCHAML' ;
  88. FINSI ;
  89. MESS ; MESS ; MESS ;
  90.  
  91.  
  92.  
  93. ** TEST en dimension 3
  94. ** -------------------
  95. ** Grille de valeurs de la fonction
  96. lz = PROG 0. 10. ;
  97. lf = lf ET (PROG 750. 700. 660. 600. 750. 700.) ;
  98.  
  99. ** Champ de coordonnees polaires du maillage du cylindre
  100. x y z = COOR mail2 ;
  101. r = ((x**2) + (y**2))**0.5 ;
  102. t = ATG y x ;
  103. chp1 = (NOMC 'R' r 'NATU' 'DIFFUS') ET (NOMC 'T' t 'NATU' 'DIFFUS') ET
  104. (NOMC 'Z' z 'NATU' 'DIFFUS') ;
  105. mo = MODE mail2 'MECANIQUE' ;
  106. che1 = CHAN 'CHAM' mo chp1 'STRESSES' ;
  107.  
  108. ** Interpolation tri-lineaire
  109. MESS 'Interpolation tri-lineaire' ;
  110. nu1 = NUAG 'COMP' 'R' lr
  111. 'COMP' 'T' lt
  112. 'COMP' 'Z' lz
  113. 'COMP' 'FONC' lf ;
  114. chp2 = IPOL chp1 nu1 'GRILL' ;
  115. che2 = IPOL che1 nu1 'GRILL' ;
  116.  
  117. ** Test des valeurs interpolees en certains points cibles
  118. tp = TABL ;
  119. tf = TABL ;
  120. tp . 1 = (1.5 * (COS 0.)) (1.5 * (SIN 0.)) -1. ;
  121. tf . 1 = 430. ;
  122. tp . 2 = (1.5 * (COS 90.)) (1.5 * (SIN 90.)) -1. ;
  123. tf . 2 = 440. ;
  124. tp . 3 = (2.5 * (COS 90.)) (2.5 * (SIN 90.)) 0. ;
  125. tf . 3 = 422.5 ;
  126. tp . 4 = (2.5 * (COS 220.)) (2.5 * (SIN 220.)) 0. ;
  127. tf . 4 = 426.666666666666 ;
  128. tp . 5 = (3. * (COS 270.)) (3. * (SIN 270.)) 11. ;
  129. tf . 5 = 650. ;
  130. tp . 6 = (2. * (COS 180.)) (2. * (SIN 180.)) 10. ;
  131. tf . 6 = 750. ;
  132. tp . 7 = (2.5 * (COS 140.)) (2.5 * (SIN 140.)) 10. ;
  133. tf . 7 = 703.888888888888 ;
  134. tp . 8 = (2.5 * (COS 140.)) (2.5 * (SIN 140.)) 5. ;
  135. tf . 8 = 565.277777777777 ;
  136. MESS ' Point | Valeur | Valeur | Erreur' ;
  137. MESS ' | theorique | interpolee | ' ;
  138. MESS '--------|----------------|----------------|-------' ;
  139. REPE b1 (DIME tp) ;
  140. ft = tf . &b1 ;
  141. pt = mail2 POIN 'PROC' (tp . &b1) ;
  142. fc = EXTR chp2 'FONC' pt ;
  143. err1 = ABS ((fc - ft) / ft) ;
  144. MESS &b1 '|' ft '|' fc '|' err1 ;
  145. SI (err1 > tol1) ;
  146. MESS ; MESS ;
  147. MESS 'ECHEC DU CAS TEST !' ;
  148. ERREUR 4 ;
  149. FINSI ;
  150. FIN b1 ;
  151. SI itrac ;
  152. TRAC chp2 mail2 'TITR' 'Interpolation tri-lineaire CHPOINT' ;
  153. TRAC che2 mo 'TITR' 'Interpolation tri-lineaire MCHAML' ;
  154. FINSI ;
  155. MESS ; MESS ; MESS ;
  156.  
  157.  
  158.  
  159. MESS 'SUCCES DU CAS TEST !' ;
  160.  
  161.  
  162. FIN ;
  163.  
  164.  
  165.  
  166.  
  167.  
  168.  
  169.  
  170.  

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