Télécharger burgers1d.dgibi

Retour à la liste

Numérotation des lignes :

  1. * fichier : burgers1d.dgibi
  2. ************************************************************************
  3. ************************************************************************
  4. * NOM : BURGERS1D.DGIBI
  5. * DESCRIPTION : 1D Burgers 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 : stephane.gounand@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. 'DEBPROC' MAJUN ;
  29. 'ARGUMENT' rvx*'TABLE' ;
  30. rv = rvx . 'EQEX' ;
  31. $mt = rvx . 'DOMZ' ;
  32. cn = rv . 'INCO' . 'CN' ;
  33. un = '+' ('NOMC' 'UX' cn) ('NOMC' 'UY' ('*' cn 0.)) ;
  34. rv . 'INCO' . 'UN' = 'KCHT' $mt 'VECT' 'SOMMET' un ;
  35. matvid chvid = 'KOPS' 'MATRIK' ;
  36. 'RESPRO' matvid chvid ;
  37. 'FINPROC' ;
  38. *
  39. * icini = 1 : initial condition leading to shock formation
  40. * icini = 2 : initial condition leading to an expansion wave
  41. * idecent = 1 : centered discretization for the convective term
  42. * idecent = 2 : SUPG discretization for the convective term
  43. * idecent = 3 : SUPGDC discretization for the convective term
  44. *
  45. icini = 1 ; idecent = 1 ;
  46. *
  47. nmail = 10 ;
  48. cfl = 0.5 ;
  49. dt = '/' cfl nmail ;
  50. tfinal = 2. ;
  51. nitma = 'ENTIER' ('/' tfinal dt) ;
  52. *
  53. 'SI' ('EGA' idecent 1) ;
  54. typdec = 'CENTREE' ;
  55. niter = 5 ;
  56. difart = '/' ('/' 1. ('FLOTTANT' nmail)) 2.D5 ;
  57. 'FINSI' ;
  58. 'SI' ('EGA' idecent 2) ;
  59. typdec = 'SUPG' ;
  60. niter = 5 ;
  61. difart = 0. ;
  62. 'FINSI' ;
  63. 'SI' ('EGA' idecent 3) ;
  64. typdec = 'SUPGDC' ;
  65. niter = 5 ;
  66. difart = 0. ;
  67. 'FINSI' ;
  68. omeg = 0.7 ;
  69. *
  70. * Mesh
  71. *
  72. pA = -1. 0. ; pB = 0. 0. ; pC = 1. 0. ; pD = 3. 0. ;
  73. lt1 = 'DROIT' nmail pA pB ;
  74. lt2 = 'DROIT' nmail pB pC ;
  75. lt3 = 'DROIT' nmail pC pD ;
  76. lt = lt1 'ET' lt2 'ET' lt3 ;
  77. bas = lt ;
  78. mt = 'TRANSLATION' lt 1 (0. 1.) ;
  79. gau = 'COTE' 4 mt ;
  80. dro = 'COTE' 2 mt ;
  81. _bas = 'CHANGER' bas 'QUAF' ;
  82. _gau = 'CHANGER' gau 'QUAF' ;
  83. _dro = 'CHANGER' dro 'QUAF' ;
  84. _mt = 'CHANGER' mt 'QUAF' ;
  85. 'ELIMINATION' (_mt 'ET' _bas 'ET' _gau 'ET' _dro) 1.D-6 ;
  86. $mt = 'MODE' _mt 'NAVIER_STOKES' 'LINE' ;
  87. $bas = 'MODE' _bas 'NAVIER_STOKES' 'LINE' ;
  88. $gau = 'MODE' _gau 'NAVIER_STOKES' 'LINE' ;
  89. $dro = 'MODE' _dro 'NAVIER_STOKES' 'LINE' ;
  90. mt = 'DOMA' $mt 'MAILLAGE' ;
  91. bas = 'DOMA' $bas 'MAILLAGE' ;
  92. gau = 'DOMA' $gau 'MAILLAGE' ;
  93. dro = 'DOMA' $dro 'MAILLAGE' ;
  94. *
  95. * Initial and boundary conditions
  96. *
  97. xmt = 'COORDONNEE' 1 mt ;
  98. *
  99. 'SI' ('EGA' icini 1) ;
  100. pmt = 'CHANGER' mt 'POI1' ;
  101. pmt1 = 'POIN' xmt 'EGINFE' 0. ;
  102. pmt3 = 'POIN' xmt 'EGSUPE' 1. ;
  103. pmt2 = 'DIFF' pmt (pmt1 'ET' pmt3) ;
  104. c1 = 'MANUEL' 'CHPO' pmt1 1 'SCAL' 0. ;
  105. c2 = 'COORDONNEE' 1 pmt2 ;
  106. c3 = 'MANUEL' 'CHPO' pmt3 1 'SCAL' 1. ;
  107. umcini = c1 '+' c2 '+' c3 ;
  108. cini = '*' ('-' umcini 1.) -1. ;
  109. 'FINSI' ;
  110. *
  111. 'SI' ('EGA' icini 2) ;
  112. cini = 'MASQUE' xmt 'SUPERIEUR' 0. ;
  113. 'FINSI' ;
  114. uini = '+' ('NOMC' 'UX' cini) ('NOMC' 'UY' ('*' cini 0.)) ;
  115. cgau = 'REDU' cini gau ;
  116. cdro = 'REDU' cini dro ;
  117. *
  118. * Problem definition
  119. *
  120. rv = 'EQEX' 'NITER' niter 'OMEGA' omeg 'ITMA' 1
  121. 'OPTI' 'EF' 'IMPL' 'CENTREE'
  122. 'ZONE' $mt 'OPER' 'DFDT' 1. 'CNM1' dt 'INCO' 'CN' ;
  123. rv = 'EQEX' rv
  124. 'ZONE' $mt 'OPER' 'MAJUN'
  125. 'OPTI' 'EF' 'IMPL' typdec 'CMD' 0.2
  126. 'ZONE' $mt 'OPER' 'KONV' 1. 'UN' 'ALF' 'INCO' 'CN'
  127. 'OPTI' 'EF' 'IMPL' 'CENTREE'
  128. 'ZONE' $mt 'OPER' 'LAPN' 'ALF' 'INCO' 'CN'
  129. 'CLIM' gau 'CN' 'TIMP' cgau
  130. 'CLIM' dro 'CN' 'TIMP' cdro ;
  131. *
  132. rv . 'INCO' = 'TABLE' 'INCO' ;
  133. rv . 'INCO' . 'UN' = 'KCHT' $mt 'VECT' 'SOMMET' uini ;
  134. rv . 'INCO' . 'ALF' = 'KCHT' $mt 'SCAL' 'CENTRE' difart ;
  135. rv . 'INCO' . 'CN' = 'KCHT' $mt 'SCAL' 'SOMMET' cini ;
  136. rv . 'INCO' . 'CNM1' = 'KCHT' $mt 'SCAL' 'SOMMET' cini ;
  137. *
  138. * Manual time stepping loop
  139. *
  140. res = 'TABLE' ;
  141. res . 'TPS' = 'TABLE' ;
  142. res . 'CN' = 'TABLE' ;
  143. ires = 1 ;
  144. cn = rv . 'INCO' . 'CN' ;
  145. res . 'TPS' . ires = rv . 'PASDETPS' . 'TPS' ;
  146. res . 'CN' . ires = 'COPIER' cn ;
  147. 'REPETER' iitma nitma ;
  148. EXEC rv ;
  149. ires = '+' ires 1 ;
  150. cn = rv . 'INCO' . 'CN' ;
  151. res . 'TPS' . ires = rv . 'PASDETPS' . 'TPS' ;
  152. res . 'CN' . ires = 'COPIER' cn ;
  153. evc = 'EVOL' 'CHPO' cn 'SCAL' bas ;
  154. evtot = evc ;
  155. tabt = 'TABLE' ; tabt . 'TITRE' = 'TABLE' ;
  156. tabt . 1 = 'CHAINE' 'TIRC MARQ CROI' ;
  157. tabt . 'TITRE' . 1 = 'CHAINE' 'Sol. App.' ;
  158. cht = 'CHAINE' 'Pdt = ' &iitma ;
  159. 'SI' graph ;
  160. 'DESSIN' evtot 'TITX' 'X' 'TITY' 'C'
  161. 'TITR' cht 'LEGE' tabt 'NCLK' ;
  162. 'FINSI' ;
  163. 'FIN' iitma ;
  164. *
  165. * Post-treatment
  166. *
  167. 'OPTI' 'DIME' 3 ;
  168. rt = res . 'TPS' ;
  169. rc = res . 'CN' ;
  170. tm = 'TABLE' 'ESCLAVE' ;
  171. 'REPETER' it ('DIME' rt) ;
  172. ti = rt . &it ;
  173. ci = rc . &it ;
  174. mail = bas 'PLUS' ('NOMC' 'UZ' ci) ;
  175. mail = mail 'PLUS' (0. ti 0.) ;
  176. tm . &it = mail ;
  177. 'FIN' it ;
  178. 'SI' ('EGA' icini 1) ;
  179. oeil = '*' (1.2 -2.4 1.3) 2. ;
  180. 'FINSI' ;
  181. 'SI' ('EGA' icini 2) ;
  182. oeil = '*' (-2.1 -2.4 1.3) 2. ;
  183. 'FINSI' ;
  184. mtp = 'ET' tm ;
  185. 'SI' graph ;
  186. 'TRACER' oeil mtp ;
  187. 'OPTION' 'DONN' 5 ;
  188. 'FINSI' ;
  189. *
  190. * End of dgibi file BURGERS1D.DGIBI
  191. *
  192. 'FIN' ;
  193.  
  194.  
  195.  
  196.  

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