Télécharger valitraj.dgibi

Retour à la liste

Numérotation des lignes :

  1. * fichier : valitraj.dgibi
  2. ************************************************************************
  3. ************************************************************************
  4. 'SAUTER' PAGE ;
  5. 'OPTION' 'ECHO' 0 ;
  6. GRAPH = faux ;
  7. *********************************************************************
  8. *
  9. * Test de validation de l'opérateur TRAJ
  10. * on considère un domaine carré dans lequel on se donne un champ
  11. * de vitesse circulaire. En chaque point le module de la vitesse
  12. * est égal à la distance au centre.
  13. * Au temps 2*Pi chaque particule doit être revenue à sa position
  14. * initiale après avoir décrit un cercle.
  15. *
  16. *********************************************************************
  17. 'OPTION' 'DIME' 2 'ELEM' 'QUA4' ;
  18. *
  19. * DEFINITION DU MAILLAGE
  20. *
  21. 'TITRE' 'test trajectoires ' ;
  22. P1 = 0. 0. ;
  23. P2 = 2. 0. ;
  24. P3 = 2. 2. ;
  25. P4 = 0. 2. ;
  26. LIG = P1 'DROITE' 10 P2 D 15 P3 D 20 P4 D 25 P1 ;
  27. CARRE = 'SURFACE' 'PLAN' LIG ;
  28. BORDS = 'CONTOUR' CARRE ;
  29. CARRF = 'CHANGER' CARRE 'QUAF' ;
  30. *
  31. * CREATION DES ÉLEMENTS RELATIFS
  32. *
  33. MODCAR= 'MODELE' CARRF 'DARCY' 'ISOTROPE' ;
  34. HYSUR = 'DOMA' MODCAR 'SURFACE' ;
  35. HYNOR = 'DOMA' MODCAR 'NORMALE' ;
  36. HYCEN = 'DOMA' MODCAR 'CENTRE' ;
  37. HYFAC = 'DOMA' MODCAR 'FACE' ;
  38.  
  39. 'SI' GRAPH ;
  40. 'TITRE' 'Maillage';
  41. 'TRACER' CARRE ;
  42. 'FINSI' ;
  43.  
  44. * Centre du cercle :
  45. xcen = 1. ;
  46. ycen = 1. ;
  47.  
  48. LOGERR = FAUX ;
  49.  
  50. * ===========================================================
  51. *
  52. * CALCUL DES TRAJECTOIRES AVEC LA FORMULATION MIXTE HYBRIDE
  53. *
  54. * ===========================================================
  55. Mess ' ' ;
  56. Mess 'Formulation Mixte-Hybride' ;
  57. Mess '-------------------------' ;
  58. *
  59. * GENERATION DE LA VITESSE CIRCULAIRE V AUX CENTRES DES FACES
  60. * ET DES FLUX CORRESPONDANT QN
  61. *
  62. XX YY = 'COOR' HYFAC ;
  63. * le long d'un cercle, la vitesse est orthoradiale :
  64. V1X = (YY * -1.) + YCEN ;
  65. V1Y = XX - XCEN ;
  66. V = ('NOMC' 'UX' V1X) 'ET' ('NOMC' 'UY' V1Y) ;
  67. MOT1 = 'MOTS' 'UX' 'UY' ;
  68. VAVN = 'PSCAL' V HYNOR MOT1 MOT1 ;
  69. VAVN = 'NOMC' 'SCAL' VAVN ;
  70. VF = HYNOR * VAVN ;
  71. QN = VAVN * HYSUR ;
  72. QN = 'NOMC' 'FLUX' QN ;
  73.  
  74. * LÂCHER DES PARTICULES
  75. LACHER = 'TABLE' ;
  76. LACHER.TEMPS_LACHER = 'PROG' 0. ;
  77. LACHER.TEMPS_LIMITE = 2 * PI ;
  78. LACHER.CFL = 0.05 ;
  79. LACHER.DELTAT_SAUVE = 0. ;
  80. LACHER.1 = ((XCEN + .4) YCEN) 'ET' ((XCEN + .6) YCEN) 'ET'
  81. ((XCEN + .8) YCEN) ;
  82. MODTRJ CHMTRJ = 'TRAJ' 'CONVECTION_EXPLICITE' MODCAR QN LACHER ;
  83. *
  84. * CONTROLE DES RESULTATS
  85. *
  86. TABZONE = 'EXTR' MODTRJ 'ZONE' ;
  87.  
  88. 'REPETER' BLOC1 ('NBNO' LACHER.1) ;
  89. I = &bloc1 ;
  90. PT1 = 'POINT' LACHER.1 I ;
  91. XP1 = ('COOR' PT1 1) - XCEN ;
  92. YP1 = ('COOR' PT1 2) - YCEN ;
  93.  
  94. MAILTRJ = TABZONE . (2*I) ;
  95. NBPT1 = 'NBEL' mailtrj ;
  96.  
  97. * distance au centre du cercle :
  98. XX1 YY1 = 'COOR' mailtrj ;
  99. XX1 = XX1 - XCEN ;
  100. YY1 = YY1 - YCEN ;
  101. DISTC = ( (XX1*XX1) + (YY1*YY1) ) ** 0.5 ;
  102.  
  103. DCMIN = 'MINIMUM' DISTC ;
  104. DCMAX = 'MAXIMUM' DISTC ;
  105. MESS 'Part.' (i @ARR 0) ', MAX et MIN de la distance au centre : '
  106. DCMAX DCMIN ;
  107.  
  108. ERDCMAX = 'ABS' ( ((DCMAX + DCMIN) * 0.5) - XP1 ) ;
  109. MESS ' Erreur sur la moyenne de ces deux valeurs : '
  110. ERDCMAX ;
  111. 'SI' (ERDCMAX > 1.D-2) ;
  112. LOGERR = VRAI ;
  113. 'FINSI' ;
  114.  
  115. * Distance point de départ - point d'arrivée :
  116. PTF = 'POINT' MAILTRJ 'FINAL' ;
  117. XF1 = ('COOR' PTF 1) - XCEN ;
  118. YF1 = ('COOR' PTF 2) - YCEN ;
  119. DELX = XP1 - XF1;
  120. DELY = YP1 - YF1;
  121. DISTP = ((DELX * DELX) + (DELY * DELY)) ** 0.5 ;
  122. MESS ' Distance entre le point initial et le point final '
  123. DISTP ;
  124. * erreur relative à la distance totale parcourue
  125. TT1 = 'EXTR' CHMTRJ 'TMPS' I NBPT1 2 ;
  126. LLON = TT1 * XP1 ;
  127. DISTPR = DISTP / LLON ;
  128. MESS ' soit, '
  129. 'relativement a la distance totale parcourue :' DISTPR ;
  130. 'SI' (DISTPR > 2.D-2) ;
  131. LOGERR = VRAI ;
  132. 'FINSI' ;
  133. 'FIN' BLOC1 ;
  134. *
  135. * DIFFERENTS TRACÉS
  136. *
  137. 'SI' GRAPH ;
  138. 'TITRE' 'Vitesse de l ecoulement aux faces';
  139. VNCH1 = 'VECTEUR' VF 0.1 'UX' 'UY' 'ROUGE' ;
  140. 'TRACER' VNCH1 (CARRE 'ET' LACHER.1) ;
  141. 'TITRE' 'Trajectoires formulation mixte hybride (test circulaire)' ;
  142. CROB1 = 'EXTR' CHMTRJ 'MAIL' ;
  143. 'TRACER' (CROB1 ET BORDS) ;
  144. 'TRACER' CHMTRJ MODTRJ ;
  145. 'TITRE' 'Trajectoires formulation mixte hybride (test circulaire)'
  146. ' 1 part.' ;
  147. TRAJ1 = 'REDU' CHMTRJ (TABZONE.2) ;
  148. 'TRACER' TRAJ1 (TABZONE.1) ;
  149. 'FINSI' ;
  150.  
  151. * ===========================================================
  152. *
  153. * CALCUL DES TRAJECTOIRES AVEC LA FORMULATION ELEMENTS FINIS
  154. *
  155. * ===========================================================
  156. Mess ' ' ;
  157. Mess 'Formulation Elements Finis' ;
  158. Mess '--------------------------' ;
  159. *
  160. * GENERATION D'UNE VITESSE CIRCULAIRE AUX NOEUDS DU MAILLAGE
  161. *
  162. XX YY = 'COOR' CARRE ;
  163. * le long d'un cercle, la vitesse est orthoradiale :
  164. V1X = (YY * -1.) + YCEN ;
  165. V1Y = XX - XCEN ;
  166. V1 = ('NOMC' 'VX' V1X) 'ET' ('NOMC' 'VY' V1Y) ;
  167. *
  168. * CALCUL DES TRAJECTOIRES AVEC LA FORMULATION ELEMENTS FINIS
  169. *
  170. * Cette formulation s'appuie sur la table domaine :
  171. DOMCAR = 'DOMA' CARRE 'TABLE' ;
  172. * On garde la même table de lâcher
  173. MODTRJ CHMTRJ = 'TRAJ' DOMCAR V1 LACHER ;
  174. *
  175. * CONTROLE DES RESULTATS
  176. *
  177. TABZONE = 'EXTR' MODTRJ 'ZONE' ;
  178.  
  179. 'REPETER' BLOC1 ('NBNO' LACHER.1) ;
  180. I = &bloc1 ;
  181. PT1 = 'POINT' LACHER.1 I ;
  182. XP1 = ('COOR' PT1 1) - XCEN ;
  183. YP1 = ('COOR' PT1 2) - YCEN ;
  184.  
  185. MAILTRJ = TABZONE . (2*I) ;
  186. NBPT1 = 'NBEL' mailtrj ;
  187.  
  188. * distance au centre du cercle :
  189. XX1 YY1 = 'COOR' mailtrj ;
  190. XX1 = XX1 - XCEN ;
  191. YY1 = YY1 - YCEN ;
  192. DISTC = ( (XX1*XX1) + (YY1*YY1) ) ** 0.5 ;
  193.  
  194. DCMIN = 'MINIMUM' DISTC ;
  195. DCMAX = 'MAXIMUM' DISTC ;
  196. MESS 'Part.' (i @ARR 0) ', MAX et MIN de la distance au centre : '
  197. DCMAX DCMIN ;
  198.  
  199. ERDCMAX = 'ABS' ( ((DCMAX + DCMIN) * 0.5) - XP1 ) ;
  200. MESS ' Erreur sur la moyenne de ces deux valeurs : '
  201. ERDCMAX ;
  202. 'SI' ( ERDCMAX > 1.D-4 ) ;
  203. LOGERR = VRAI ;
  204. 'FINSI' ;
  205.  
  206. * Distance point de départ - point d'arrivée :
  207. PTF = 'POINT' MAILTRJ 'FINAL' ;
  208. XF1 = ('COOR' PTF 1) - XCEN ;
  209. YF1 = ('COOR' PTF 2) - YCEN ;
  210. DELX = XP1 - XF1;
  211. DELY = YP1 - YF1;
  212. DISTP = ((DELX * DELX) + (DELY * DELY)) ** 0.5 ;
  213. MESS ' Distance entre le point initial et le point final '
  214. DISTP ;
  215. * erreur relative à la distance totale parcourue
  216. TT1 = 'EXTR' CHMTRJ 'TMPS' I NBPT1 2 ;
  217. LLON = TT1 * XP1 ;
  218. DISTPR = DISTP / LLON ;
  219. MESS ' soit, '
  220. 'relativement a la distance totale parcourue :' DISTPR ;
  221. 'SI' ( DISTPR > 2.D-3) ;
  222. LOGERR= VRAI ;
  223. 'FINSI' ;
  224. 'FIN' BLOC1 ;
  225. *
  226. * DIFFERENTS TRACÉS
  227. *
  228. 'SI' GRAPH ;
  229. 'TITRE' 'Vitesses de l ecoulement aux noeuds du maillage' ;
  230. VNCH2 = 'VECTEUR' V1 0.1 'VX' 'VY' 'ROUGE' ;
  231. TRAC VNCH2 (CARRE 'ET' LACHER.1) ;
  232. 'TITRE' 'Trajectoires formulation elements finis (test circulaire)' ;
  233. CROB2 = 'EXTR' CHMTRJ 'MAIL' ;
  234. 'TRACER' (CROB2 'ET' BORDS) ;
  235. 'FINSI' ;
  236.  
  237. * Test de réussite et sortie :
  238. 'SI' LOGERR ;
  239. 'ERREUR' 5 ;
  240. 'SINON' ;
  241. 'ERREUR' 0 ;
  242. 'FINSI' ;
  243.  
  244. 'FIN' ;
  245.  
  246.  
  247.  
  248.  
  249.  
  250.  
  251.  
  252.  
  253.  

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