Télécharger ipol_muli_2.dgibi

Retour à la liste

Numérotation des lignes :

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

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