Télécharger conv2d.dgibi

Retour à la liste

Numérotation des lignes :

  1. * fichier : conv2d.dgibi
  2. ************************************************************************
  3. ************************************************************************
  4. * NOM : CONV2D
  5. * DESCRIPTION : 2D pure convection equation
  6. *
  7. * See:
  8. * ENSTA Lecture Notes 2021
  9. * Introduction to the finite element method applied to
  10. * incompressible fluid mechanics (in english)
  11. * Introduction a la methode des elements finis en
  12. * mecanique des fluides incompressibles (en francais)
  13. * Stephane GOUNAND and Sergey KUDRIAKOV
  14. * http://www-cast3m.cea.fr/index.php?xml=supportcours
  15. *
  16. *
  17. * LANGAGE : GIBIANE-CAST3M
  18. * AUTEUR : Stéphane GOUNAND (CEA/DEN/DM2S/SFME/LTMF)
  19. * mél : gounand@semt2.smts.cea.fr
  20. **********************************************************************
  21. * VERSION : v1, 31/10/2008, version initiale
  22. * HISTORIQUE : v1, 31/10/2008, création
  23. ************************************************************************
  24. *
  25. 'OPTION' 'DIME' 2 'ELEM' 'QUA8' ;
  26. graph = faux ;
  27. *
  28. * Scaled hyperbolic tangent function
  29. *
  30. 'DEBPROC' STANH ;
  31. 'ARGUMENT' xmoy*'FLOTTANT' ;
  32. 'ARGUMENT' xtan*'FLOTTANT' ;
  33. 'ARGUMENT' ymin*'FLOTTANT' ;
  34. 'ARGUMENT' ymax*'FLOTTANT' ;
  35. 'ARGUMENT' xi*'CHPOINT' ;
  36. *
  37. xnew = '/' ('-' xi xmoy) xtan ;
  38. ynew = 'TANH' xnew ;
  39. ytan = '/' ('-' ymax ymin) 2.D0 ;
  40. ymoy = '/' ('+' ymax ymin) 2.D0 ;
  41. y = '+' ('*' ynew ytan) ymoy ;
  42. *
  43. 'RESPRO' y ;
  44. 'FINPROC' ;
  45. *
  46. * iini = 1 : smooth boundary condition (tanh function)
  47. * iini = 2 : shock-like boundary condition
  48. * ang : angle in degrees between y-axis and convective speed
  49. * nmail : number of mesh elements in each direction
  50. * idecent = 1 : centered discretization for the convective term
  51. * idecent = 2 : artificial numerical diffusion
  52. * idecent = 3 : SUPG numerical diffusion
  53. * idecent = 4 : SUPGDC numerical diffusion
  54. * cmd : multiplicative coefficient for the SUPG numerical diffusion
  55. * term
  56. * itrac = 1 : 3D post-treatment + isovalues
  57. * itrac = 2 : 3D post-treatment
  58. * itrac = 3 : 2D post-treatment
  59. *
  60. iini = 1 ;
  61. ang = 10. ;
  62. nmail = 15 ;
  63. idecent = 3 ;
  64. cmd = 0.5 ;
  65. itrac = 2 ;
  66. *
  67. lmesh = 1.5 ;
  68. 'SI' ('EGA' idecent 1) ;
  69. typdec = 'CENTREE' ;
  70. * very small diffusion
  71. difart = '/' ('/' lmesh ('FLOTTANT' nmail)) 2.D45 ;
  72. * difart = 0. ;
  73. niter = 1 ;
  74. omeg = 1. ;
  75. 'FINSI' ;
  76. 'SI' ('EGA' idecent 2) ;
  77. typdec = 'CENTREE' ;
  78. * alfa = U dx / 2 Pem with critical mesh Peclet number = 1
  79. difart = '/' ('/' lmesh ('FLOTTANT' nmail)) 2. ;
  80. difart = '*' difart cmd ;
  81. niter = 1 ;
  82. omeg = 1. ;
  83. 'FINSI' ;
  84. 'SI' ('EGA' idecent 3) ;
  85. typdec = 'SUPG' ;
  86. difart = 0. ;
  87. niter = 1 ;
  88. omeg = 1. ;
  89. 'FINSI' ;
  90. 'SI' ('EGA' idecent 4) ;
  91. typdec = 'SUPGDC' ;
  92. difart = 0. ;
  93. niter = 15 ;
  94. omeg = 0.7 ;
  95. 'FINSI' ;
  96. *
  97. * Mesh
  98. *
  99. p0 = 0. 0. ; p1 = lmesh 0. ;
  100. lt = 'DROIT' nmail p0 p1 ;
  101. mt = 'TRANSLATION' lt nmail (0. lmesh) ;
  102. cmt = 'CONTOUR' mt ;
  103. bas dro hau gau = 'COTE' mt ;
  104. hau = 'INVERSE' hau ;
  105. _bas = 'CHANGER' bas 'QUAF' ; _dro = 'CHANGER' dro 'QUAF' ;
  106. _hau = 'CHANGER' hau 'QUAF' ; _gau = 'CHANGER' gau 'QUAF' ;
  107. _mt = 'CHANGER' mt 'QUAF' ;
  108. 'ELIMINATION' (_mt 'ET' _bas 'ET' _gau 'ET' _dro 'ET' _hau) 1.D-6 ;
  109. $mt = 'MODE' _mt 'NAVIER_STOKES' 'LINE' ;
  110. $gau = 'MODE' _gau 'NAVIER_STOKES' 'LINE' ;
  111. $dro = 'MODE' _dro 'NAVIER_STOKES' 'LINE' ;
  112. $hau = 'MODE' _hau 'NAVIER_STOKES' 'LINE' ;
  113. $bas = 'MODE' _bas 'NAVIER_STOKES' 'LINE' ;
  114. mt = 'DOMA' $mt 'MAILLAGE' ; gau = 'DOMA' $gau 'MAILLAGE' ;
  115. dro = 'DOMA' $dro 'MAILLAGE' ; hau = 'DOMA' $hau 'MAILLAGE' ;
  116. bas = 'DOMA' $bas 'MAILLAGE' ;
  117. *
  118. * Boundary condition
  119. *
  120. 'SI' ('EGA' iini 1) ;
  121. solex = STANH ('COORDONNEE' 1 mt) 0.5 -0.15 0. 1. ;
  122. 'SINON' ;
  123. solex = 'MASQUE' ('COORDONNEE' 1 mt) 'INFERIEUR' 0.5 ;
  124. 'FINSI' ;
  125. mclim = 'ET' bas gau ;
  126. cclim = 'REDU' solex mclim ;
  127. *
  128. * Problem description
  129. *
  130. rv = 'EQEX' 'NITER' niter 'OMEGA' omeg
  131. 'OPTI' 'EF' 'IMPL' typdec 'CMD' cmd
  132. 'ZONE' $mt 'OPER' 'KONV' 1. 'UN' 'ALF' 'INCO' 'TN'
  133. 'OPTI' 'EF' 'IMPL' 'CENTREE'
  134. 'ZONE' $mt 'OPER' 'LAPN' 'ALF' 'INCO' 'TN'
  135. 'CLIM' mclim 'TN' 'TIMP' cclim
  136. ;
  137. rv . 'INCO' = 'TABLE' 'INCO' ;
  138. rv . 'INCO' . 'UN' = 'KCHT' $mt 'VECT' 'SOMMET' (('SIN' ang)
  139. ('COS' ang)) ;
  140. rv . 'INCO' . 'ALF' = 'KCHT' $mt 'SCAL' 'CENTRE' difart ;
  141. rv . 'INCO' . 'TN' = 'KCHT' $mt 'SCAL' 'SOMMET' 0. ;
  142. *
  143. EXEC rv ;
  144. *
  145. tn = rv . 'INCO' . 'TN' ;
  146. *
  147. * Post-treatment
  148. *
  149. 'SI' graph ;
  150. 'SI' ('EGA' itrac 1) ;
  151. 'OPTI' 'DIME' 3 ;
  152. tnp mtp = 'PLUS' tn mt ('*' ('NOMC' 'UZ' tn) 0.5D0) ;
  153. oeil = '*' (1.2 -2.4 1.3) 2. ;
  154. 'TRACER' oeil 'CACH' tnp mtp ;
  155. 'OPTI' 'DIME' 2 ;
  156. 'FINSI' ;
  157. 'SI' ('EGA' itrac 2) ;
  158. 'OPTI' 'DIME' 3 ;
  159. mtp = 'PLUS' mt ('*' ('NOMC' 'UZ' tn) 0.5D0) ;
  160. oeil = '*' (1.2 -2.4 1.3) 2. ;
  161. 'TRACER' oeil 'CACH' mtp ;
  162. 'OPTI' 'DIME' 2 ;
  163. 'FINSI' ;
  164. 'SI' ('EGA' itrac 3) ;
  165. evb = 'EVOL' 'CHPO' tn 'SCAL' bas ;
  166. evh = 'EVOL' 'CHPO' tn 'SCAL' hau ;
  167. * evtot = ('COULEUR' evh 'JAUN') 'ET' ('COULEUR' evb 'TURQ') ;
  168. evtot = evh 'ET' evb ;
  169. tabt = 'TABLE' ; tabt . 'TITRE' = 'TABLE' ;
  170. tabt . 1 = 'CHAINE' 'TIRC MARQ CROI' ;
  171. tabt . 'TITRE' . 1 = 'CHAINE' 'y=1' ;
  172. tabt . 'TITRE' . 2 = 'CHAINE' 'y=0' ;
  173. 'DESSIN' evtot 'TITX' 'X' 'TITY' 'T' 'LEGE' tabt ;
  174. 'FINSI' ;
  175. 'OPTION' 'DONN' 5 ;
  176. 'FINSI' ;
  177. *
  178. * End of dgibi file CONV2D
  179. *
  180. 'FIN' ;
  181.  
  182.  
  183.  
  184.  

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