Télécharger spal_canalperiod.dgibi

Retour à la liste

Numérotation des lignes :

  1. * fichier : spal_canalperiod.dgibi
  2. ************************************************************************
  3. * NOM : spal_canalperiod.dgibi
  4. *
  5. * DESCRIPTION : Calcule l'écoulement turbulent d'un fluide dans un canal
  6. * plan grâce au modèle de Spalart-Allmaras. Pour obtenir
  7. * un régime hydrauliquement établi, on maille seulement
  8. * une courte tranche du canal et on impose des conditions
  9. * de périodicité entre l'entrée et la sortie. Le
  10. * mouvement du fluide est entretenu par un gradient de
  11. * pression constant imposé entre ces mêmes frontières.
  12. *
  13. * 1) PROCÉDURES UTILISATEUR .................... 107
  14. * 2) CRÉATION DU MAILLAGE ...................... 427
  15. * 3) RÉSOLUTION DU PROBLÈME .................... 690
  16. * 4) POST-TRAITEMENT DES RÉSULTATS ............. 906
  17. * 5) COMPTE-RENDU DU CALCUL ................... 1656
  18. *
  19. * MOTS-CLÉS : canal plan ; écoulement de Poiseuille ; turbulence ;
  20. * RANS ; SA ; DNS Moser Kim Mansour ; périodicité ;
  21. * gradient de pression
  22. *
  23. ************************************************************************
  24. * HISTORIQUE : 7/10/2010 : JCARDO : création du jeu de données
  25. * HISTORIQUE :
  26. * HISTORIQUE :
  27. ************************************************************************
  28. * Prière de PRENDRE LE TEMPS DE COMPLÉTER LES COMMENTAIRES
  29. * en cas de modification de ce cas test afin de faciliter
  30. * la maintenance !
  31. ************************************************************************
  32. * CONFIGURATION :
  33. *
  34. * HAUT:
  35. * U=V=NU0=0
  36. *
  37. * PT1 PT4
  38. * A +-------+
  39. * | | |
  40. * | ENTREE: | | SORTIE:
  41. * | P=P1 | | P=0
  42. * LY=2*HH | PT5+-------+PT6 U(SORTIE) =U(ENTREE)
  43. * | =(0;0) | V(SORTIE) =V(ENTREE)
  44. * | | | NU0(SORTIE)=NU0(ENTREE)
  45. * | | |
  46. * V +-------+
  47. * PT2 PT3
  48. *
  49. * BAS:
  50. * U=V=NU0=0
  51. *
  52. *
  53. * <------->
  54. * LX << LY
  55. *
  56. *
  57. ************************************************************************
  58. * PARAMÈTRES :
  59. *
  60. * Nombre de Reynolds turbulent visé (basé sur UTAU et HH)
  61. * Le maillage sera raffiné automatiquement près des parois
  62. * /!\ Les données DNS (section 4) proviennent d'un calcul à RETAU=590
  63. RETAU0 = 590 ;
  64. *
  65. * Calcul complet ? (si FAUX: test de non-regression rapide)
  66. COMPLET = FAUX ;
  67. *
  68. * Affichage graphique ?
  69. GRAPH = FAUX ;
  70. *
  71. * Nouveau calcul ? (si FAUX: post-traitement d'un calcul déjà effectué)
  72. NOUVEAU = VRAI ;
  73. *
  74. * Type d'éléments finis utilisés
  75. DISCR = 'QUAF' ;
  76. KPRES = 'CENTREP1' ;
  77. *
  78. * Décentrement
  79. DCENTR = 'SUPG' ;
  80. KCMD = 0. ;
  81. *
  82. ************************************************************************
  83.  
  84.  
  85.  
  86.  
  87.  
  88.  
  89.  
  90.  
  91.  
  92.  
  93. SMALL = 1.E-7 ;
  94.  
  95. OPTI 'DIME' 2 'ELEM' 'QUA4' ;
  96.  
  97.  
  98.  
  99.  
  100.  
  101.  
  102.  
  103.  
  104.  
  105.  
  106. * +===================================================================+
  107. * | |
  108. * | 1 - P R O C É D U R E S U T I L I S A T E U R |
  109. * | |
  110. * +===================================================================+
  111.  
  112.  
  113.  
  114.  
  115. * ======================================================================
  116. * 1) GESTION DES CONDITIONS DE PÉRIODICITÉ
  117. * ======================================================================
  118.  
  119. ************************************************************************
  120. * NOM : PCLIM
  121. * DESCRIPTION : Impose des conditions de périodicité entre 2 frontières
  122. * pendant un calcul de mécanique des fluides.
  123. ************************************************************************
  124. * HISTORIQUE : 9/11/2010 : JCARDO : création de la procédure
  125. * HISTORIQUE :
  126. * HISTORIQUE :
  127. ************************************************************************
  128. * Prière de PRENDRE LE TEMPS DE COMPLÉTER LES COMMENTAIRES
  129. * en cas de modification de ce sous-programme afin de faciliter
  130. * la maintenance !
  131. ************************************************************************
  132. * Syntaxe (cf. opérateur EQEX) :
  133. * ______________________________
  134. *
  135. * 'ZONE' $MD 'OPER' 'PCLIM' GEOM1 (LENTI1)
  136. * GEOM2 (LENTI2)
  137. * 'INCO' MOT1 ;
  138. *
  139. * - MOT1 : objet 'MOT' contenant le nom de l'inconnue
  140. * - GEOM1,GEOM2 : objets MAILLAGE à mettre en relation
  141. * - LENTI1,LENTI2 : dans le cas d'une inconnue vectorielle, objets
  142. * LISTENTI indiquant les composantes concernées
  143. *
  144. ************************************************************************
  145.  
  146. DEBP PCLIM ;
  147. ARGU RX*'TABLE' ;
  148. RV = RX . 'EQEX' ;
  149.  
  150. SI (EGA (RX . 'IARG') 2) ;
  151. GEOM1 = RX . 'ARG1' ;
  152. GEOM2 = RX . 'ARG2' ;
  153. LENTI1 = 0 ;
  154. LENTI2 = 0 ;
  155. SINON ;
  156. GEOM1 = RX . 'ARG1' ;
  157. GEOM2 = RX . 'ARG3' ;
  158. LENTI1 = RX . 'ARG2' ;
  159. LENTI2 = RX . 'ARG4' ;
  160. FINS ;
  161.  
  162. MINC = EXTR (RX . 'LISTINCO') 1 ;
  163. CINC = RV . 'INCO' . MINC ;
  164. LCO = EXTR CINC 'COMP' ;
  165. NCO = DIME LCO ;
  166.  
  167.  
  168. * La matrice de rigidité correspondant aux conditions périodiques
  169. * n'est construite que lors du premier appel à la procédure PCLIM.
  170. * Lors des appels suivants, la procédure se contente de renvoyer la
  171. * matrice déjà calculée.
  172.  
  173. SI ('EXIS' RX 'MRELA') ;
  174. ST1 = RX . 'SRELA' ;
  175. MAT1 = RX . 'MRELA' ;
  176.  
  177.  
  178. SINON ;
  179.  
  180. MLAG = 'LX' ;
  181.  
  182. MAT0 = RELA 'UX' GEOM1 - 'UY' GEOM2 ;
  183. ST0 = DEPI MAT0 0. ;
  184. MAT0 = KOPS 'RIMA' MAT0 ;
  185.  
  186.  
  187. * Inconnue VECTORIELLE
  188. * --------------------
  189. SI (NCO > 1) ;
  190.  
  191. ST1 MAT1 = KOPS 'MATRIK' ;
  192.  
  193. SI (EGA LENTI1 0) ;
  194. LENTI1 = LECT 1 'PAS' 1 NCO ;
  195. LENTI2 = LENTI1 ;
  196. FINS ;
  197.  
  198. REPE BLOC0 (DIME LENTI2) ;
  199.  
  200. MCO1 = EXTR LCO (EXTR LENTI1 &BLOC0) ;
  201. MCO2 = EXTR LCO (EXTR LENTI2 &BLOC0) ;
  202.  
  203. MATI = KOPS 'CHANINCO' MAT0
  204. (MOTS 'LX' 'UX' 'UY') (MOTS MLAG MCO1 MCO2)
  205. (MOTS 'FLX' 'FX' 'FY') (MOTS MLAG MCO1 MCO2) ;
  206. STI = EXCO ST0 'FLX' MLAG ;
  207.  
  208. MAT1 = MAT1 ET MATI ;
  209. ST1 = ST1 ET STI ;
  210.  
  211. FIN BLOC0 ;
  212.  
  213.  
  214. * Inconnue SCALAIRE
  215. * -----------------
  216. SINON ;
  217. MAT1 = KOPS 'CHANINCO' MAT0
  218. (MOTS 'LX' 'UX' 'UY') (MOTS MLAG MINC MINC)
  219. (MOTS 'FLX' 'FX' 'FY') (MOTS MLAG MINC MINC) ;
  220. ST1 = EXCO ST0 'FLX' MLAG ;
  221. FINS ;
  222.  
  223.  
  224. RX . 'SRELA' = ST1 ;
  225. RX . 'MRELA' = MAT1 ;
  226.  
  227. FINS ;
  228.  
  229. * Fin de la procédure
  230. FINP ST1 MAT1 ;
  231.  
  232.  
  233.  
  234.  
  235. * ======================================================================
  236. * 2) EXTENSION DE L'OPÉRATEUR 'FIMP' AUX INCONNUES VECTORIELLES
  237. * ======================================================================
  238.  
  239. ************************************************************************
  240. * NOM : FIMPV
  241. * DESCRIPTION : Impose un effort vectoriel sur une partie du domaine.
  242. ************************************************************************
  243. * HISTORIQUE : 9/11/2010 : JCARDO : création de la procédure
  244. * HISTORIQUE :
  245. * HISTORIQUE :
  246. ************************************************************************
  247. * Prière de PRENDRE LE TEMPS DE COMPLÉTER LES COMMENTAIRES
  248. * en cas de modification de ce sous-programme afin de faciliter
  249. * la maintenance !
  250. ************************************************************************
  251. * Syntaxe (cf. opérateur EQEX) :
  252. * ______________________________
  253. *
  254. * 'ZONE' $MD 'OPER' 'FIMPV' OBJ1 'INCO' MOT1
  255. *
  256. * - $MD : objet MMODEL relatif au sous-domaine concerné
  257. * - MOT1 : objet 'MOT' contenant le nom de l'inconnue
  258. * - OBJ1 : objet POINT ou CHPOINT SOMMET indiquant l'effort à
  259. * appliquer, EXPRIMÉ DANS LE REPÈRE CARTÉSIEN GLOBAL
  260. * (si OBJ1 est un 'MOT' on va chercher sa valeur dans la
  261. * table 'INCO')
  262. *
  263. ************************************************************************
  264.  
  265. DEBP FIMPV ;
  266. ARGU RX*'TABLE' ;
  267. $MD = RX . 'DOMZ' ;
  268. RV = RX . 'EQEX' ;
  269.  
  270. * Inconnue sur laquelle porte la contrainte
  271. MINC = EXTR (RX . 'LISTINCO') 1 ;
  272. CINC = RV . 'INCO' . MINC ;
  273. LCO = EXTR CINC 'COMP' ;
  274. NCO = DIME LCO ;
  275.  
  276. * Objet CHPOINT ou POINT (ou MOT) à imposer
  277. OBJ1 = RX . 'ARG1' ;
  278. SI (EGA (TYPE OBJ1) 'MOT') ;
  279. OBJ1 = RV . 'INCO' . OBJ1 ;
  280. FINS ;
  281.  
  282. * Construction des objets à renvoyer
  283. CHP0 MAT0 = KOPS 'MATRIK' ;
  284. CHP0 = KCHT $MD 'VECT' 'SOMMET' OBJ1 ;
  285. CHP0 = CHP0 * (DOMA $MD 'XXDIAGSI') ;
  286. LCO0 = EXTR CHP0 'COMP' ;
  287. CHP0 = NOMC LCO0 LCO CHP0 'NATURE' 'DISCRET' ;
  288.  
  289. FINP CHP0 MAT0 ;
  290.  
  291.  
  292.  
  293.  
  294. * ======================================================================
  295. * 3) CRÉATION DE LIGNES NON UNIFORMES AVEC RESPECT STRICT DES DENSITÉS
  296. * ======================================================================
  297.  
  298. ************************************************************************
  299. * NOM : @DROI
  300. * DESCRIPTION : Crée une ligne dont les éléments situés aux extrémités
  301. * ont une longueur rigoureusement respectée
  302. * /!\ La progression n'est plus parfaitement géométrique!
  303. ************************************************************************
  304. * HISTORIQUE : 25/02/2011 : JCARDO : création de la procédure
  305. * HISTORIQUE :
  306. * HISTORIQUE :
  307. ************************************************************************
  308. * Prière de PRENDRE LE TEMPS DE COMPLÉTER LES COMMENTAIRES
  309. * en cas de modification de ce sous-programme afin de faciliter
  310. * la maintenance !
  311. ************************************************************************
  312. * Syntaxe :
  313. * _________
  314. *
  315. * GEOM1 = @DROI | POIN1 | POIN2 ('DINI' DENS1) ('DFIN' DENS2) ;
  316. * | LIG1 |
  317. *
  318. * - GEOM1 : MAILLAGE résultat composé de SEG2 ou SEG3
  319. * - POIN1, POIN2: Objets POINT délimitant le segment GEOM1
  320. * - DENS1, DENS2: Longueur du premier et du dernier élément.
  321. * Une valeur négative signifie que la longueur doit
  322. * être strictement respectée.
  323. *
  324. * Si une ligne LIG1 est donnée à la place du point POIN1, cette
  325. * ligne est prolongée jusqu'au point POIN2.
  326. *
  327. ************************************************************************
  328.  
  329. DEBP @DROI ;
  330.  
  331. * ==============================
  332. * LECTURE DES ARGUMENTS
  333. * ==============================
  334.  
  335. * Lecture de POIN1 ou LIG1
  336. ARGU LIG1/'MAILLAGE' ;
  337. SI (EXIS LIG1) ;
  338. TYP1 = ELEM LIG1 'TYPE' ;
  339. SI ((EXIS TYP1 'SEG2') OU (EXIS TYP1 'SEG3')) ;
  340. PT1 = POIN LIG1 'FINAL' ;
  341. SINON ;
  342. MESS '/!\ On attendait un MAILLAGE linéique!' ;
  343. FIN ;
  344. FINS ;
  345. SINON ;
  346. ARGU PT1*'POINT' ;
  347. FINS ;
  348.  
  349. * Lecture de POIN2
  350. ARGU PT2*'POINT' ;
  351.  
  352. * Lecture éventuelle de DENS1 et/ou DENS2
  353. D1 = 0. ;
  354. D2 = 0. ;
  355. REPE BLOCA 2 ;
  356. ARGU MCLE/'MOT' ;
  357. SI (EXIS MCLE) ;
  358. SI (EGA MCLE 'DINI') ;
  359. ARGU D1*'FLOTTANT' ;
  360. ITER BLOCA ;
  361. FINS ;
  362. SI (EGA MCLE 'DFIN') ;
  363. ARGU D2*'FLOTTANT' ;
  364. ITER BLOCA ;
  365. FINS ;
  366. QUIT BLOCA ;
  367. SINON ;
  368. ITER BLOCA ;
  369. FINS ;
  370. FIN BLOCA ;
  371. D10 = ABS D1 ;
  372. D20 = ABS D2 ;
  373.  
  374.  
  375. * ==============================
  376. * CRÉATION DE LA DROITE
  377. * ==============================
  378.  
  379. * Détermination du vecteur directeur et de la longueur du segment
  380. DIR1 = PT2 MOIN PT1 ;
  381. LTOT = NORM DIR1 ;
  382. DIR1 = DIR1 / LTOT ;
  383.  
  384. * Raison de la progression géométrique (pas celle calculée par DECOUP!)
  385. * => correspond presque toujours à un nombre non entier d'éléments...
  386. K1 = (LTOT - D10) / (LTOT - D20) ;
  387.  
  388. * Préparation de la ligne de commande pour créer GEOM1
  389. CMD1 = 'PT1' ;
  390. SI (D1 < 0.) ;
  391. PT3 = PT1 PLUS (D10 * DIR1) ;
  392. D10 = D10 * K1 ;
  393. CMD1 = CHAI CMD1 ' DROI 1 PT3' ;
  394. FINS ;
  395. PT4 = PT2 ;
  396. CMD1 = CHAI CMD1 ' DROI PT4' ;
  397. SI (D1 NEG 0.) ;
  398. CMD1 = CHAI CMD1 ' DINI D10' ;
  399. FINS ;
  400. SI (D2 NEG 0.) ;
  401. CMD1 = CHAI CMD1 ' DFIN D20' ;
  402. FINS ;
  403. SI (D2 < 0.) ;
  404. PT4 = PT2 MOIN (D20 * DIR1) ;
  405. D20 = D20 / K1 ;
  406. CMD1 = CHAI CMD1 ' DROI 1 PT2' ;
  407. FINS ;
  408.  
  409. * Création de la ligne GEOM1 et fusion éventuelle avec LIG1
  410. GEOM1 = (TEXT CMD1) ;
  411. SI (EGA (TYPE LIG1) 'MAILLAGE') ;
  412. GEOM1 = LIG1 ET GEOM1 ;
  413. FINS ;
  414.  
  415. FINP GEOM1 ;
  416.  
  417.  
  418.  
  419.  
  420.  
  421.  
  422.  
  423.  
  424.  
  425.  
  426. * +===================================================================+
  427. * | |
  428. * | 2 - C R É A T I O N D U M A I L L A G E |
  429. * | |
  430. * +===================================================================+
  431.  
  432.  
  433.  
  434.  
  435. * +===================================================================+
  436. * | PARAMÈTRES DU MAILLAGE |
  437. * +===================================================================+
  438.  
  439. * HH: Demi-hauteur du canal
  440. * LX: Longueur du canal
  441. HH = 1. ;
  442. LX = HH / 20. ;
  443.  
  444. * AMAX: Allongement maximal approximatif des éléments du maillage
  445. * DPAR: Ordonnée y+ approx. du noeud le plus proche de la paroi
  446. * DCEN: Distance inter-nodale au centre du canal, en % de la hauteur LY
  447. SI (COMPLET) ;
  448. AMAX = 8. ;
  449. DPAR = 0.5 ;
  450. DCEN = 2. ;
  451. SINON ;
  452. AMAX = 10. ;
  453. DPAR = 1. ;
  454. DCEN = 5. ;
  455. FINS ;
  456.  
  457.  
  458.  
  459. * +===================================================================+
  460. * | CREATION DU DOMAINE |
  461. * +===================================================================+
  462.  
  463. * NDISCR: Nombre de subdivisions par élément et par direction
  464. SI ((EGA DISCR 'MACRO') OU (EGA DISCR 'QUAF')) ;
  465. NDISCR = 2. ;
  466. SINON ;
  467. NDISCR = 1. ;
  468. FINS ;
  469.  
  470. * LX2: Demi-longueur du canal
  471. * LY: Hauteur du canal
  472. * DH: Diamètre hydraulique du canal
  473. * (= 4*Surface de passage / Périmètre mouillé)
  474. LX2 = LX/2. ;
  475. LY = 2.*HH ;
  476. DH = 4.*HH ;
  477.  
  478. * LNU0: Valeur a priori de l'unité de paroi (= échelle visqueuse)
  479. LNU0 = HH/RETAU0 ;
  480.  
  481. * DPAR0: Densité renormalisée des noeuds à la paroi
  482. * DCEN0: Densité renormalisée des noeuds au centre du canal
  483. DPAR0 = -1. * DPAR * LNU0 * NDISCR ;
  484. DCEN0 = -1. * (DCEN*0.01) * LY * NDISCR ;
  485.  
  486. * Détermination du nombre NX d'éléments QUAF dans la longueur du canal
  487. DX0 = (ABS DPAR0) * ((AMAX*AMAX - 1.) ** 0.5) ;
  488. NX0 = MAXI ( LECT 2 (ENTI (LX/DX0)) ) ;
  489. DX0 = LX / NX0 ;
  490. * /!\ On veut que NX soit pair:
  491. NX = NX0 + (NX0 @MOD 2) ;
  492.  
  493.  
  494. * Définition des sommets
  495. * ======================
  496. PT1 = 0. HH ;
  497. PT2 = 0. (-1.*HH) ;
  498. PT3 = LX (-1.*HH) ;
  499. PT4 = LX HH ;
  500. PT5 = 0. 0. ;
  501. PT6 = LX 0. ;
  502.  
  503.  
  504. * Création des lignes frontières
  505. * ==============================
  506. ENTREE = PT1 @DROI PT5 'DINI' DPAR0 'DFIN' DCEN0
  507. @DROI PT2 'DINI' DCEN0 'DFIN' DPAR0 ;
  508. BAS = PT2 DROI NX PT3 ;
  509. SORTIE = PT3 @DROI PT6 'DINI' DPAR0 'DFIN' DCEN0
  510. @DROI PT4 'DINI' DCEN0 'DFIN' DPAR0 ;
  511. HAUT = PT4 DROI NX PT1 ;
  512.  
  513.  
  514. * Maillage de la surface du domaine
  515. * =================================
  516. DOM = DALL ENTREE BAS SORTIE HAUT 'PLAN' ;
  517.  
  518.  
  519. * Conversion en éléments pour les fluides
  520. * =======================================
  521. DOM = CHAN DOM 'QUAF' ;
  522. ENTREE = CHAN ENTREE 'QUAF' ;
  523. BAS = CHAN BAS 'QUAF' ;
  524. SORTIE = CHAN SORTIE 'QUAF' ;
  525. HAUT = CHAN HAUT 'QUAF' ;
  526.  
  527. ELIM (DOM ET ENTREE ET BAS ET SORTIE ET HAUT) SMALL ;
  528.  
  529.  
  530. * Création des modèles Navier-Stokes
  531. * ==================================
  532. $DOM = MODE DOM 'NAVIER_STOKES' DISCR ;
  533. $ENTREE = MODE ENTREE 'NAVIER_STOKES' DISCR ;
  534. $BAS = MODE BAS 'NAVIER_STOKES' DISCR ;
  535. $SORTIE = MODE SORTIE 'NAVIER_STOKES' DISCR ;
  536. $HAUT = MODE HAUT 'NAVIER_STOKES' DISCR ;
  537. $PAROIS = $BAS ET $HAUT ;
  538.  
  539.  
  540. * Récupération du maillage d'éléments du type défini par DISCR
  541. * ============================================================
  542. DOM = DOMA $DOM 'MAILLAGE' ;
  543. ENTREE = COUL 'VERT' (DOMA $ENTREE 'MAILLAGE') ;
  544. BAS = COUL 'ORAN' (DOMA $BAS 'MAILLAGE') ;
  545. SORTIE = COUL 'ROUG' (DOMA $SORTIE 'MAILLAGE') ;
  546. HAUT = COUL 'ORAN' (DOMA $HAUT 'MAILLAGE') ;
  547. PAROIS = COUL 'ORAN' (DOMA $PAROIS 'MAILLAGE') ;
  548.  
  549.  
  550.  
  551.  
  552. * +===================================================================+
  553. * | DIMENSIONS ET COORDONNÉES |
  554. * +===================================================================+
  555.  
  556.  
  557. * Champs de coordonnées
  558. * =====================
  559. XX = COOR 1 DOM ;
  560. YY = COOR 2 DOM ;
  561.  
  562.  
  563. * Champ de distance à la paroi
  564. * ============================
  565. DPAROI = HH - (ABS YY) ;
  566. DPAROI = BORN DPAROI 'SCAL' 'MINIMUM' 0. ;
  567.  
  568.  
  569. * Nombre et position des noeuds
  570. * =============================
  571. NXN = NBNO BAS ;
  572. NYN = NBNO ENTREE ;
  573.  
  574. LXXN = EXTR (EVOL 'CHPO' XX BAS) 'ABSC' ;
  575. DXN = LX / (NXN-1) ;
  576.  
  577. LYYN = EXTR (EVOL 'CHPO' YY ENTREE) 'ABSC' ;
  578. LDYN = (ENLE LYYN 1) - (ENLE LYYN NYN) ;
  579. DYNMIN = MINI LDYN 'ABS' ;
  580. DYNMAX = MAXI LDYN 'ABS' ;
  581.  
  582.  
  583. * Nombre et position des éléments
  584. * ===============================
  585. NXE = NBEL BAS ;
  586. NYE = NBEL ENTREE ;
  587.  
  588. LXXE = EXTR LXXN (LECT 1 'PAS' (ENTI NDISCR) NXN) ;
  589. DXE = LX / NXE ;
  590.  
  591. LYYE = EXTR LYYN (LECT 1 'PAS' (ENTI NDISCR) NYN) ;
  592. LDYE = (ENLE LYYE 1) - (ENLE LYYE (NYE+1)) ;
  593. DYEMIN = MINI LDYE 'ABS' ;
  594. DYEMAX = MAXI LDYE 'ABS' ;
  595.  
  596.  
  597.  
  598.  
  599. * +===================================================================+
  600. * | MAILLAGES DÉRIVÉS |
  601. * +===================================================================+
  602.  
  603.  
  604. * Maillages utiles pour les conditions aux limites
  605. * ================================================
  606. _DOM = CONT DOM ;
  607. DOM1 = CHAN DOM 'POI1' ;
  608. _DOM1 = CHAN _DOM 'POI1' ;
  609. @DOM1 = DIFF DOM1 _DOM1 ;
  610.  
  611. ENTREE1 = CHAN ENTREE 'POI1' ;
  612. BAS1 = CHAN BAS 'POI1' ;
  613. SORTIE1 = ENTREE1 PLUS (LX 0.) ;
  614. HAUT1 = BAS1 PLUS (0. LY) ;
  615. ELIM (_DOM1 ET SORTIE1 ET HAUT1) SMALL ;
  616. PAROIS1 = BAS1 ET HAUT1 ;
  617.  
  618. @ENTREE1 = DIFF ENTREE1 (PT1 ET PT2) ;
  619. @BAS1 = DIFF BAS1 (PT2 ET PT3) ;
  620. @SORTIE1 = DIFF SORTIE1 (PT3 ET PT4) ;
  621. @HAUT1 = DIFF HAUT1 (PT4 ET PT1) ;
  622.  
  623.  
  624. * Maillages de post-traitement et de visualisation
  625. * ================================================
  626. DOUBLONS = DOM ;
  627.  
  628. * Lignes horizontales de 0 à (NYN-1)
  629. SGX = TABL ;
  630. SGX . 0 = $BAS ;
  631. REPE I1 (NYN-2) ;
  632. SGX . &I1 = $BAS PLUS (0. (EXTR LYYN (&I1 + 1))) ;
  633. DOUBLONS = DOUBLONS ET (DOMA SGX . &I1 'MAILLAGE') ;
  634. FIN I1 ;
  635. SGX . (NYN - 1) = $HAUT ;
  636.  
  637. * Lignes verticales de 0 à (NXN-1)
  638. SGY = TABL ;
  639. SGY . 0 = $ENTREE ;
  640. REPE I1 (NXN-2) ;
  641. SGY . &I1 = $ENTREE PLUS ((DXN 0.)*&I1) ;
  642. DOUBLONS = DOUBLONS ET (DOMA SGY . &I1 'MAILLAGE') ;
  643. FIN I1 ;
  644. SGY . (NXN - 1) = $SORTIE ;
  645.  
  646. ELIM DOUBLONS SMALL ;
  647.  
  648.  
  649. * Nommage de quelques lignes particulières
  650. IX1 = ENTI ((NYN - 1) * 0.5) ;
  651. SGX1 = COUL 'ROSE' (DOMA (SGX . IX1) 'MAILLAGE') ;
  652.  
  653. IY1 = ENTI ((NXN - 1) * 0.5) ;
  654. SGY1 = COUL 'ROSE' (DOMA (SGY . IY1) 'MAILLAGE') ;
  655. SGY1B = ELEM SGY1 (LECT 1 'PAS' 1 'NPAS' ((NYE/2) - 1)) ;
  656. SGY1H = ELEM SGY1 (LECT NYE 'PAS' -1 'NPAS' ((NYE/2) - 1)) ;
  657.  
  658.  
  659.  
  660.  
  661. * +===================================================================+
  662. * | AFFICHAGE GRAPHIQUE |
  663. * +===================================================================+
  664.  
  665. ALLONG = (DOMA $DOM 'DIAMAX') * (INVE (DOMA $DOM 'DIAMIN')) ;
  666. ALLONG = ELNO $DOM ALLONG 'CENTRE' ;
  667.  
  668. MESS (CHAI 'Distance du premier point à la paroi: ' DYNMIN ' m') ;
  669.  
  670. SI (GRAPH) ;
  671.  
  672. TRAC (DOM ET ENTREE ET BAS ET SORTIE ET HAUT ET SGX1 ET SGY1)
  673. 'TITR' 'Maillage complet' ;
  674.  
  675. TRAC ALLONG DOM
  676. 'TITR' 'Facteur d allongement' ;
  677.  
  678. FINS ;
  679.  
  680.  
  681.  
  682.  
  683.  
  684.  
  685.  
  686.  
  687.  
  688.  
  689. * +===================================================================+
  690. * | |
  691. * | 3 - R É S O L U T I O N D U P R O B L È M E |
  692. * | |
  693. * +===================================================================+
  694.  
  695.  
  696.  
  697.  
  698. * +===================================================================+
  699. * | PARAMÈTRES DE L'ÉCOULEMENT ET DU SOLVEUR |
  700. * +===================================================================+
  701.  
  702.  
  703. * GRANDEURS PHYSIQUES
  704. * ===================
  705. * DPDX0 : Gradient de pression longitudinal
  706. * RHO : Masse volumique
  707. * NU : Viscosité cinématique moléculaire
  708. * MU : Viscosité dynamique moléculaire
  709. DPDX0 = -1. ;
  710. RHO = 1. ;
  711. NU = 1. / RETAU0 ;
  712. MU = NU * RHO ;
  713.  
  714.  
  715. * SCHÉMA NUMÉRIQUE
  716. * ================
  717. * CVISQ : Formulation des contraintes visqueuses ('FTAU' ou 'MUCONS')
  718. CVISQ = 'MUCONS' ;
  719.  
  720. * DT : Valeur du pas de temps (constant au cours du calcul)
  721. * NPDT : Nombre de pas de temps calculés au total
  722. * NSAU : Nombre de pas de temps entre 2 sauvegardes intermédiaires
  723. SI (COMPLET) ;
  724. DT = 1.E-3 ;
  725. NPDT = 50000 ;
  726. NSAU = 5000 ;
  727. SINON ;
  728. * /!\ la CFL est trop élevée, mais de toutes façons on n'aura rien
  729. * dans le faible temps imparti pour le test de non-regression
  730. * => PAS DE VALIDATION POSSIBLE
  731. DT = 1.E-1 ;
  732. NPDT = 100 ;
  733. NSAU = 100 ;
  734. FINS ;
  735.  
  736.  
  737.  
  738.  
  739. * +===================================================================+
  740. * | DISCRÉTISATION DES ÉQUATIONS DE REYNOLDS (= NAVIER-STOKES MOYEN) |
  741. * +===================================================================+
  742.  
  743.  
  744. * ÉQUATIONS DE CONSERVATION DE LA QUANTITÉ DE MOUVEMENT
  745. * =====================================================
  746. * SPAL = Calcul de la viscosité turbulente
  747. * NS = Discrétisation du terme convectif et du terme diffusif
  748. * DFDT = Discrétisation du terme instationnaire
  749.  
  750. RV = EQEX 'OPTI' 'EF' 'IMPL' DCENTR 'CMD' KCMD KPRES CVISQ
  751. 'ZONE' $DOM 'OPER' 'SPAL' 'RHO' 'UN' 'MU' 'DT'
  752. * 'PERIODIC' @ENTREE1 @SORTIE1
  753. 'INCO' 'NU0'
  754. 'ZONE' $DOM 'OPER' 'NS' 'RHO' 'UN' 'MUFN' 'INCO' 'UN'
  755. 'OPTI' 'EFM1' 'IMPL' 'CENTREE'
  756. 'ZONE' $DOM 'OPER' 'DFDT' 'RHO' 'UNM' 'DT' 'INCO' 'UN'
  757. ;
  758.  
  759. * Paramètres avancés du modèle de Spalart-Allmaras
  760. RV . 'SPALART_ALLMARAS' = TABL ;
  761. RV . 'SPALART_ALLMARAS' . 'KSRC' = 'ALGO1' ;
  762. RV . 'SPALART_ALLMARAS' . 'DUMP' = VRAI ;
  763.  
  764. RV . 'PAROIS' = TABL ;
  765. RV . 'PAROIS' . 'MODELE' = $PAROIS ;
  766. RV . 'PAROIS' . 'DIST' = DPAROI ;
  767.  
  768. * Paramètres du solveur pour la vitesse
  769. RV . 'NITER' = 1 ;
  770. RV . 'OMEGA' = 1. ;
  771. RV . 'FIDT' = 1 ;
  772. RV . 'METHINV' . 'TYPINV' = 1 ;
  773. RV . 'METHINV' . 'IMPINV' = 0 ;
  774. RV . 'METHINV' . 'NITMAX' = 700 ;
  775. RV . 'METHINV' . 'PRECOND' = 3 ;
  776. RV . 'METHINV' . 'ILUTLFIL' = 4 ;
  777. RV . 'METHINV' . 'ILUTDTOL' = 0. ;
  778. RV . 'METHINV' . 'RESID' = 1.E-9 ;
  779. RV . 'METHINV' . 'FCPRECT' = 1 ;
  780. RV . 'METHINV' . 'FCPRECI' = 1 ;
  781.  
  782.  
  783. * ÉQUATION DE CONSERVATION DE LA MASSE
  784. * ====================================
  785. * KBBT = Discrétisation de Div(U)=0 et du gradient de pression
  786.  
  787. RVP = 'EQEX' 'OPTI' 'EF' KPRES
  788. 'ZONE' $DOM 'OPER' 'KBBT' (-1.) 'INCO' 'UN' 'PN'
  789. ;
  790.  
  791. * Paramètres du solveur pour la pression
  792. RVP . 'METHINV' . 'TYPINV' = 1 ;
  793. RVP . 'METHINV' . 'IMPINV' = 0 ;
  794. RVP . 'METHINV' . 'NITMAX' = 800 ;
  795. RVP . 'METHINV' . 'PRECOND' = 3 ;
  796. RVP . 'METHINV' . 'ILUTLFIL' = 10 ;
  797. RVP . 'METHINV' . 'ILUTDTOL' = 0. ;
  798. RVP . 'METHINV' . 'RESID' = 1.E-10 ;
  799. RVP . 'METHINV' . 'FCPRECT' = 1 ;
  800. RVP . 'METHINV' . 'FCPRECI' = 1 ;
  801.  
  802. * Traitement du couplage vitesse-pression par projection
  803. RV . 'PROJ' = RVP ;
  804.  
  805.  
  806.  
  807.  
  808. * +===================================================================+
  809. * | DÉFINITION DES CONDITIONS INITIALES |
  810. * +===================================================================+
  811.  
  812. UN0 = KCHT $DOM 'VECT' 'SOMMET' 'COMP' '1UN' '2UN' (0. 0.) ;
  813. UN0 = CHAN UN0 'ATTRIBUT' 'NATURE' 'DISCRET' ;
  814.  
  815. MUN0 = KCHT $DOM 'SCAL' 'SOMMET' MU ;
  816. MUN0 = CHAN MUN0 'ATTRIBUT' 'NATURE' 'DISCRET' ;
  817.  
  818. MUTN0 = KCHT $DOM 'SCAL' 'SOMMET' 0. ;
  819. MUTN0 = CHAN MUTN0 'ATTRIBUT' 'NATURE' 'DISCRET' ;
  820.  
  821. PN0 = KCHT $DOM 'SCAL' KPRES 0. ;
  822. PN0 = CHAN PN0 'ATTRIBUT' 'NATURE' 'DISCRET' ;
  823.  
  824.  
  825. * Création de la table d'inconnues
  826. RV . 'INCO' = TABL 'INCO' ;
  827. RV . 'INCO' . 'UN' = UN0 ;
  828. RV . 'INCO' . 'UNM' = UN0 ;
  829. RV . 'INCO' . 'PN' = PN0 ;
  830. RV . 'INCO' . 'RHO' = RHO ;
  831. RV . 'INCO' . 'MU' = MU ;
  832. RV . 'INCO' . 'NU0' = MUTN0 ;
  833. RV . 'INCO' . 'MUFN' = (MUN0+MUTN0) ;
  834. RV . 'INCO' . 'DT' = DT ;
  835.  
  836.  
  837.  
  838.  
  839. * +===================================================================+
  840. * | DÉFINITION DES CONDITIONS AUX LIMITES |
  841. * +===================================================================+
  842.  
  843.  
  844. * CONDITIONS LIMITES AUX PAROIS
  845. * =============================
  846.  
  847. * Conditions d'adhérence + turbulence nulle à la paroi
  848. RV = EQEX RV 'CLIM'
  849. 'UN' 'UIMP' PAROIS 0.
  850. 'UN' 'VIMP' PAROIS 0.
  851. 'NU0' 'TIMP' PAROIS 0.
  852. ;
  853.  
  854.  
  855. * CONDITIONS LIMITES EN ENTRÉE/SORTIE DE CANAL
  856. * ============================================
  857.  
  858. * Périodicité sur les 2 composantes de la vitesse
  859. RV = EQEX RV 'ZONE' $DOM 'OPER' 'PCLIM' @ENTREE1 @SORTIE1 'INCO' 'UN' ;
  860.  
  861.  
  862. * La formulation faible intrinsèque à notre résolution par éléments
  863. * finis ne permet pas d'imposer directement la pression.
  864. * On impose alors la contrainte totale (pression + cisaillement) dans
  865. * l'équation de quantité de mouvement. Deux possibilités pour spécifier
  866. * la perte de charge:
  867. * a) on impose la "pression" en entrée du domaine
  868. * b) on impose le "gradient de pression" sur tout le domaine
  869. RV = EQEX RV 'OPTI' 'EF'
  870. 'ZONE' $ENTREE 'OPER' 'FIMPV' ((ABS (DPDX0*LX)) 0.) 'INCO' 'UN'
  871. * 'ZONE' $DOM 'OPER' 'FIMPV' ((ABS DPDX0) 0.) 'INCO' 'UN'
  872. ;
  873.  
  874.  
  875.  
  876.  
  877. * +===================================================================+
  878. * | EXÉCUTION DU CALCUL |
  879. * +===================================================================+
  880.  
  881.  
  882. SI (NOUVEAU) ;
  883.  
  884. LPDT = (LECT (ENTI (NPDT/NSAU))*NSAU) ;
  885. SI (NON (MULT NPDT NSAU)) ;
  886. LPDT = LPDT ET (@MOD NPDT NSAU) ;
  887. FINS ;
  888.  
  889. REPE ISAU (DIME LPDT) ;
  890. RV . 'ITMA' = EXTR LPDT &ISAU ;
  891. EXEC RV ;
  892. OPTI 'SAUV' 'SPAL_CANALPERIOD.XDR' ;
  893. SAUV ;
  894. FIN ISAU ;
  895.  
  896.  
  897.  
  898.  
  899.  
  900.  
  901.  
  902.  
  903.  
  904.  
  905. * +===================================================================+
  906. * | |
  907. * | 4 - P O S T - T R A I T E M E N T D E S R É S U L T A T S |
  908. * | |
  909. * +===================================================================+
  910.  
  911.  
  912.  
  913.  
  914. SINON ;
  915.  
  916. GRAPH0 = GRAPH ;
  917.  
  918. OPTI 'REST' 'SPAL_CANALPERIOD.XDR' ;
  919. REST ;
  920.  
  921. GRAPH = GRAPH0 ;
  922.  
  923. FINS ;
  924.  
  925.  
  926.  
  927.  
  928. * +===================================================================+
  929. * | RÉCUPÉRATION ET CALCUL DES GRANDEURS UTILES |
  930. * +===================================================================+
  931.  
  932. DGE = DOMA $ENTREE 'XXDIAGSI' ;
  933. DGS = DOMA $SORTIE 'XXDIAGSI' ;
  934. DGB = DOMA $BAS 'XXDIAGSI' ;
  935. DGH = DOMA $HAUT 'XXDIAGSI' ;
  936.  
  937. * Masse volumique
  938. RHO = RV . 'INCO' . 'RHO' ;
  939. SI (EGA (TYPE RHO) 'CHPOINT') ;
  940. USRHO = INVE RHO ;
  941. SINON ;
  942. USRHO = 1. / RHO ;
  943. FINS ;
  944.  
  945. * Viscosités
  946. MU = RV . 'INCO' . 'MU' ;
  947. NU = MU * USRHO ;
  948. MUF = RV . 'INCO' . 'MUFN' ;
  949. MUT = MUF - MU ;
  950. NU0 = RV . 'INCO' . 'NU0' ;
  951.  
  952. * Vitesse
  953. UN = RV . 'INCO' . 'UN' ;
  954. LCO = EXTR UN 'COMP' ;
  955. UNX = EXCO UN (EXTR LCO 1) ;
  956. UNY = EXCO UN (EXTR LCO 2) ;
  957.  
  958. * Vitesse débitante
  959. UQ = ((INTG (EVOL 'CHPO' UNX ENTREE))) / LY ;
  960.  
  961. * Gradients de vitesse
  962. GRADUX = KOPS UNX 'GRADS' $DOM ;
  963. GRADUY = KOPS UNY 'GRADS' $DOM ;
  964. DUDX = EXCO GRADUX 'UX' ;
  965. DUDY = EXCO GRADUX 'UY' ;
  966. DVDX = EXCO GRADUY 'UX' ;
  967. DVDY = EXCO GRADUY 'UY' ;
  968.  
  969. * Cisaillement
  970. TAU = ABS (MU * (DUDY+DVDX)) ;
  971. TAUT = ABS (MUT * (DUDY+DVDX)) ;
  972. TAUF = ABS (MUF * (DUDY+DVDX)) ;
  973.  
  974. * Vitesse et coefficient de frottement
  975. TWH = (MAXI (RESU (TAU*DGH)) 'ABS') / (MAXI (RESU DGH)) ;
  976. TWB = (MAXI (RESU (TAU*DGB)) 'ABS') / (MAXI (RESU DGB)) ;
  977. TW = 0.5 * (TWB + TWH) ;
  978. UTAU = (TW / RHO) ** 0.5 ;
  979. FF = 8. * ((UTAU/UQ) ** 2) ;
  980.  
  981. * Nombres de Reynolds
  982. RE = UQ * HH / NU ;
  983. RETAU = UTAU * HH / NU ;
  984. LNU = NU / UTAU ;
  985. YPMIN = DYNMIN / LNU ;
  986.  
  987. * Pression (relative) projetée aux noeuds
  988. PN = ELNO $DOM (RV . 'INCO' . 'PRESSION') KPRES ;
  989.  
  990. * Gradient de pression
  991. PNE = (MAXI (RESU (PN*DGE))) / (MAXI (RESU DGE)) ;
  992. PNS = (MAXI (RESU (PN*DGS))) / (MAXI (RESU DGS)) ;
  993. DPDX = (PNS - PNE) / LX ;
  994.  
  995.  
  996.  
  997.  
  998. * +===================================================================+
  999. * | RÉSULTATS DNS DE MANSOUR (RETAU=590) |
  1000. * +===================================================================+
  1001. * Source: Moser, Kim, Mansour, Direct numerical simulation of turbulent
  1002. * channel flow up to Re=590, Phys. Fluids, 11(4):943, 1999
  1003.  
  1004. * Ordonnées Y normalisées par HH
  1005. LYDNS = PROG 0.0000E+00 7.5298E-05 3.0118E-04 6.7762E-04 1.2045E-03
  1006. 1.8819E-03 2.7095E-03 3.6874E-03 4.8153E-03 6.0930E-03
  1007. 7.5205E-03 9.0974E-03 1.0823E-02 1.2699E-02 1.4722E-02
  1008. 1.6895E-02 1.9215E-02 2.1683E-02 2.4298E-02 2.7060E-02
  1009. 2.9969E-02 3.3024E-02 3.6224E-02 3.9569E-02 4.3060E-02
  1010. 4.6694E-02 5.0472E-02 5.4393E-02 5.8456E-02 6.2661E-02
  1011. 6.7007E-02 7.1494E-02 7.6120E-02 8.0886E-02 8.5790E-02
  1012. 9.0832E-02 9.6011E-02 1.0133E-01 1.0678E-01 1.1236E-01 ;
  1013. LYDNS = LYDNS ET (PROG 1.1808E-01 1.2393E-01 1.2991E-01 1.3603E-01
  1014. 1.4227E-01 1.4864E-01 1.5515E-01 1.6178E-01 1.6853E-01
  1015. 1.7541E-01 1.8242E-01 1.8954E-01 1.9679E-01 2.0416E-01
  1016. 2.1165E-01 2.1926E-01 2.2699E-01 2.3483E-01 2.4279E-01
  1017. 2.5086E-01 2.5905E-01 2.6735E-01 2.7575E-01 2.8427E-01
  1018. 2.9289E-01 3.0162E-01 3.1046E-01 3.1940E-01 3.2844E-01
  1019. 3.3758E-01 3.4683E-01 3.5617E-01 3.6561E-01 3.7514E-01
  1020. 3.8477E-01 3.9449E-01 4.0430E-01 4.1420E-01 4.2419E-01) ;
  1021. LYDNS = LYDNS ET (PROG 4.3427E-01 4.4443E-01 4.5467E-01 4.6500E-01
  1022. 4.7541E-01 4.8590E-01 4.9646E-01 5.0710E-01 5.1782E-01
  1023. 5.2860E-01 5.3946E-01 5.5039E-01 5.6138E-01 5.7244E-01
  1024. 5.8357E-01 5.9476E-01 6.0601E-01 6.1732E-01 6.2868E-01
  1025. 6.4010E-01 6.5158E-01 6.6311E-01 6.7469E-01 6.8632E-01
  1026. 6.9799E-01 7.0972E-01 7.2148E-01 7.3329E-01 7.4513E-01
  1027. 7.5702E-01 7.6894E-01 7.8090E-01 7.9289E-01 8.0491E-01
  1028. 8.1696E-01 8.2904E-01 8.4114E-01 8.5327E-01 8.6542E-01) ;
  1029. LYDNS = LYDNS ET (PROG 8.7759E-01 8.8978E-01 9.0198E-01 9.1420E-01
  1030. 9.2644E-01 9.3868E-01 9.5093E-01 9.6319E-01 9.7546E-01
  1031. 9.8773E-01 1.0000E+00) ;
  1032.  
  1033. * Ordonnées Y+ en unités de paroi (= RETAU au centre du canal)
  1034. LYPDNS = PROG 0.0000E+00 4.4215E-02 1.7685E-01 3.9789E-01 7.0730E-01
  1035. 1.1050E+00 1.5910E+00 2.1652E+00 2.8275E+00 3.5778E+00
  1036. 4.4160E+00 5.3419E+00 6.3555E+00 7.4565E+00 8.6449E+00
  1037. 9.9204E+00 1.1283E+01 1.2732E+01 1.4268E+01 1.5890E+01
  1038. 1.7597E+01 1.9391E+01 2.1270E+01 2.3235E+01 2.5284E+01
  1039. 2.7418E+01 2.9637E+01 3.1939E+01 3.4325E+01 3.6794E+01
  1040. 3.9346E+01 4.1981E+01 4.4698E+01 4.7496E+01 5.0376E+01
  1041. 5.3336E+01 5.6377E+01 5.9498E+01 6.2698E+01 6.5977E+01 ;
  1042. LYPDNS = LYPDNS ET (PROG 6.9335E+01 7.2771E+01 7.6284E+01 7.9874E+01
  1043. 8.3541E+01 8.7283E+01 9.1101E+01 9.4994E+01 9.8960E+01
  1044. 1.0300E+02 1.0711E+02 1.1130E+02 1.1556E+02 1.1988E+02
  1045. 1.2428E+02 1.2875E+02 1.3329E+02 1.3789E+02 1.4257E+02
  1046. 1.4731E+02 1.5211E+02 1.5698E+02 1.6192E+02 1.6692E+02
  1047. 1.7199E+02 1.7711E+02 1.8230E+02 1.8755E+02 1.9286E+02
  1048. 1.9823E+02 2.0365E+02 2.0914E+02 2.1468E+02 2.2028E+02
  1049. 2.2593E+02 2.3164E+02 2.3740E+02 2.4322E+02 2.4908E+02) ;
  1050. LYPDNS = LYPDNS ET (PROG 2.5500E+02 2.6097E+02 2.6698E+02 2.7305E+02
  1051. 2.7916E+02 2.8532E+02 2.9152E+02 2.9777E+02 3.0406E+02
  1052. 3.1039E+02 3.1677E+02 3.2319E+02 3.2964E+02 3.3614E+02
  1053. 3.4267E+02 3.4924E+02 3.5584E+02 3.6248E+02 3.6916E+02
  1054. 3.7587E+02 3.8260E+02 3.8937E+02 3.9617E+02 4.0300E+02
  1055. 4.0986E+02 4.1674E+02 4.2365E+02 4.3058E+02 4.3754E+02
  1056. 4.4452E+02 4.5152E+02 4.5854E+02 4.6558E+02 4.7264E+02
  1057. 4.7971E+02 4.8681E+02 4.9391E+02 5.0104E+02 5.0817E+02) ;
  1058. LYPDNS = LYPDNS ET (PROG 5.1532E+02 5.2247E+02 5.2964E+02 5.3681E+02
  1059. 5.4400E+02 5.5119E+02 5.5838E+02 5.6558E+02 5.7278E+02
  1060. 5.7999E+02 5.8719E+02) ;
  1061.  
  1062. * Vitesse axiale moyenne U
  1063. LUDNS = PROG 0.0000E+00 4.4231E-02 1.7699E-01 3.9816E-01 7.0750E-01
  1064. 1.1046E+00 1.5886E+00 2.1573E+00 2.8061E+00 3.5272E+00
  1065. 4.3078E+00 5.1307E+00 5.9748E+00 6.8174E+00 7.6375E+00
  1066. 8.4177E+00 9.1455E+00 9.8142E+00 1.0421E+01 1.0968E+01
  1067. 1.1458E+01 1.1895E+01 1.2287E+01 1.2636E+01 1.2950E+01
  1068. 1.3233E+01 1.3489E+01 1.3722E+01 1.3935E+01 1.4131E+01
  1069. 1.4313E+01 1.4482E+01 1.4640E+01 1.4789E+01 1.4931E+01
  1070. 1.5066E+01 1.5196E+01 1.5321E+01 1.5442E+01 1.5560E+01 ;
  1071. LUDNS = LUDNS ET (PROG 1.5674E+01 1.5786E+01 1.5896E+01 1.6003E+01
  1072. 1.6110E+01 1.6214E+01 1.6317E+01 1.6418E+01 1.6518E+01
  1073. 1.6616E+01 1.6713E+01 1.6808E+01 1.6902E+01 1.6995E+01
  1074. 1.7087E+01 1.7179E+01 1.7269E+01 1.7358E+01 1.7446E+01
  1075. 1.7533E+01 1.7620E+01 1.7705E+01 1.7789E+01 1.7873E+01
  1076. 1.7956E+01 1.8038E+01 1.8120E+01 1.8202E+01 1.8282E+01
  1077. 1.8362E+01 1.8441E+01 1.8520E+01 1.8598E+01 1.8676E+01
  1078. 1.8754E+01 1.8831E+01 1.8907E+01 1.8982E+01 1.9056E+01) ;
  1079. LUDNS = LUDNS ET (PROG 1.9128E+01 1.9199E+01 1.9269E+01 1.9338E+01
  1080. 1.9406E+01 1.9473E+01 1.9539E+01 1.9604E+01 1.9668E+01
  1081. 1.9731E+01 1.9794E+01 1.9855E+01 1.9916E+01 1.9976E+01
  1082. 2.0035E+01 2.0093E+01 2.0149E+01 2.0204E+01 2.0258E+01
  1083. 2.0311E+01 2.0364E+01 2.0415E+01 2.0464E+01 2.0513E+01
  1084. 2.0561E+01 2.0608E+01 2.0653E+01 2.0698E+01 2.0741E+01
  1085. 2.0784E+01 2.0826E+01 2.0866E+01 2.0905E+01 2.0943E+01
  1086. 2.0979E+01 2.1013E+01 2.1046E+01 2.1076E+01 2.1105E+01) ;
  1087. LUDNS = LUDNS ET (PROG 2.1131E+01 2.1156E+01 2.1178E+01 2.1198E+01
  1088. 2.1215E+01 2.1230E+01 2.1242E+01 2.1251E+01 2.1258E+01
  1089. 2.1262E+01 2.1263E+01) ;
  1090.  
  1091. * Gradient de vitesse moyenne dU/dY (= RETAU à la paroi)
  1092. LGUDNS = PROG 5.8719E+02 5.8759E+02 5.8775E+02 5.8731E+02 5.8680E+02
  1093. 5.8576E+02 5.8355E+02 5.7910E+02 5.7084E+02 5.5697E+02
  1094. 5.3592E+02 5.0692E+02 4.7043E+02 4.2814E+02 3.8256E+02
  1095. 3.3639E+02 2.9197E+02 2.5099E+02 2.1439E+02 1.8251E+02
  1096. 1.5524E+02 1.3220E+02 1.1290E+02 9.6852E+01 8.3550E+01
  1097. 7.2521E+01 6.3356E+01 5.5728E+01 4.9373E+01 4.4063E+01
  1098. 3.9600E+01 3.5840E+01 3.2683E+01 3.0044E+01 2.7816E+01
  1099. 2.5914E+01 2.4280E+01 2.2860E+01 2.1608E+01 2.0505E+01 ;
  1100. LGUDNS = LGUDNS ET (PROG 1.9544E+01 1.8707E+01 1.7965E+01 1.7301E+01
  1101. 1.6687E+01 1.6107E+01 1.5545E+01 1.5005E+01 1.4504E+01
  1102. 1.4032E+01 1.3589E+01 1.3175E+01 1.2800E+01 1.2465E+01
  1103. 1.2147E+01 1.1822E+01 1.1505E+01 1.1214E+01 1.0944E+01
  1104. 1.0680E+01 1.0416E+01 1.0166E+01 9.9349E+00 9.7201E+00
  1105. 9.5271E+00 9.3516E+00 9.1735E+00 8.9930E+00 8.8148E+00
  1106. 8.6554E+00 8.5138E+00 8.3741E+00 8.2414E+00 8.1262E+00
  1107. 8.0025E+00 7.8551E+00 7.6768E+00 7.4741E+00 7.2710E+00) ;
  1108. LGUDNS = LGUDNS ET (PROG 7.0807E+00 6.9011E+00 6.7289E+00 6.5779E+00
  1109. 6.4458E+00 6.3147E+00 6.1881E+00 6.0620E+00 5.9320E+00
  1110. 5.8032E+00 5.6845E+00 5.5823E+00 5.4790E+00 5.3556E+00
  1111. 5.2217E+00 5.0905E+00 4.9542E+00 4.8197E+00 4.6972E+00
  1112. 4.5908E+00 4.4850E+00 4.3668E+00 4.2558E+00 4.1497E+00
  1113. 4.0388E+00 3.9263E+00 3.8183E+00 3.7190E+00 3.6330E+00
  1114. 3.5440E+00 3.4420E+00 3.3320E+00 3.2089E+00 3.0654E+00
  1115. 2.9118E+00 2.7553E+00 2.5963E+00 2.4375E+00 2.2694E+00) ;
  1116. LGUDNS = LGUDNS ET (PROG 2.0922E+00 1.9089E+00 1.7142E+00 1.5088E+00
  1117. 1.3002E+00 1.0914E+00 8.7875E-01 6.6171E-01 4.3943E-01
  1118. 2.1672E-01 0.0000E+00) ;
  1119.  
  1120. * Pression moyenne P
  1121. LPDNS = PROG 1.1583E-10 -4.0231E-10 -1.2880E-07 -3.0912E-06
  1122. -2.8168E-05 -1.4945E-04 -5.5903E-04 -1.6342E-03
  1123. -3.9750E-03 -8.3871E-03 -1.5808E-02 -2.7201E-02
  1124. -4.3448E-02 -6.5262E-02 -9.3127E-02 -1.2725E-01
  1125. -1.6754E-01 -2.1357E-01 -2.6463E-01 -3.1974E-01
  1126. -3.7777E-01 -4.3752E-01 -4.9778E-01 -5.5747E-01
  1127. -6.1556E-01 -6.7122E-01 -7.2379E-01 -7.7281E-01
  1128. -8.1799E-01 -8.5912E-01 -8.9612E-01 -9.2900E-01 ;
  1129. LPDNS = LPDNS ET (PROG -9.5791E-01 -9.8303E-01 -1.0046E+00
  1130. -1.0228E+00 -1.0380E+00 -1.0503E+00 -1.0599E+00
  1131. -1.0671E+00 -1.0722E+00 -1.0755E+00 -1.0773E+00
  1132. -1.0778E+00 -1.0769E+00 -1.0747E+00 -1.0715E+00
  1133. -1.0673E+00 -1.0625E+00 -1.0569E+00 -1.0509E+00
  1134. -1.0445E+00 -1.0378E+00 -1.0311E+00 -1.0243E+00
  1135. -1.0172E+00 -1.0098E+00 -1.0020E+00 -9.9380E-01
  1136. -9.8541E-01 -9.7686E-01 -9.6818E-01 -9.5935E-01) ;
  1137. LPDNS = LPDNS ET (PROG -9.5045E-01 -9.4154E-01 -9.3260E-01
  1138. -9.2361E-01 -9.1455E-01 -9.0542E-01 -8.9626E-01
  1139. -8.8706E-01 -8.7781E-01 -8.6856E-01 -8.5929E-01
  1140. -8.4986E-01 -8.4010E-01 -8.2986E-01 -8.1922E-01
  1141. -8.0835E-01 -7.9730E-01 -7.8603E-01 -7.7461E-01
  1142. -7.6309E-01 -7.5145E-01 -7.3967E-01 -7.2780E-01
  1143. -7.1585E-01 -7.0381E-01 -6.9174E-01 -6.7973E-01
  1144. -6.6781E-01 -6.5600E-01 -6.4434E-01 -6.3286E-01) ;
  1145. LPDNS = LPDNS ET (PROG -6.2160E-01 -6.1057E-01 -5.9982E-01
  1146. -5.8939E-01 -5.7929E-01 -5.6945E-01 -5.5978E-01
  1147. -5.5026E-01 -5.4089E-01 -5.3164E-01 -5.2247E-01
  1148. -5.1334E-01 -5.0428E-01 -4.9532E-01 -4.8647E-01
  1149. -4.7774E-01 -4.6920E-01 -4.6088E-01 -4.5284E-01
  1150. -4.4512E-01 -4.3774E-01 -4.3077E-01 -4.2426E-01
  1151. -4.1823E-01 -4.1272E-01 -4.0778E-01 -4.0351E-01
  1152. -3.9995E-01 -3.9704E-01 -3.9472E-01 -3.9298E-01) ;
  1153. LPDNS = LPDNS ET (PROG -3.9179E-01 -3.9107E-01 -3.9069E-01
  1154. -3.9056E-01) ;
  1155.  
  1156. * Composante R11 du tenseur de Reynolds, normalisée par UTAU²
  1157. LUUDNS = PROG 7.8003E-28 3.2061E-04 5.1136E-03 2.5785E-02 8.1096E-02
  1158. 1.9683E-01 4.0482E-01 7.3979E-01 1.2321E+00 1.8957E+00
  1159. 2.7157E+00 3.6428E+00 4.6014E+00 5.5079E+00 6.2915E+00
  1160. 6.9073E+00 7.3390E+00 7.5940E+00 7.6943E+00 7.6684E+00
  1161. 7.5456E+00 7.3529E+00 7.1132E+00 6.8448E+00 6.5619E+00
  1162. 6.2763E+00 5.9966E+00 5.7282E+00 5.4746E+00 5.2376E+00
  1163. 5.0183E+00 4.8166E+00 4.6318E+00 4.4625E+00 4.3076E+00
  1164. 4.1662E+00 4.0371E+00 3.9194E+00 3.8125E+00 3.7158E+00 ;
  1165. LUUDNS = LUUDNS ET (PROG 3.6283E+00 3.5486E+00 3.4753E+00 3.4071E+00
  1166. 3.3436E+00 3.2845E+00 3.2291E+00 3.1773E+00 3.1287E+00
  1167. 3.0832E+00 3.0407E+00 3.0008E+00 2.9626E+00 2.9255E+00
  1168. 2.8894E+00 2.8550E+00 2.8216E+00 2.7885E+00 2.7553E+00
  1169. 2.7218E+00 2.6885E+00 2.6554E+00 2.6223E+00 2.5893E+00
  1170. 2.5568E+00 2.5242E+00 2.4911E+00 2.4577E+00 2.4241E+00
  1171. 2.3902E+00 2.3562E+00 2.3222E+00 2.2877E+00 2.2519E+00
  1172. 2.2148E+00 2.1771E+00 2.1393E+00 2.1017E+00 2.0637E+00) ;
  1173. LUUDNS = LUUDNS ET (PROG 2.0252E+00 1.9861E+00 1.9463E+00 1.9062E+00
  1174. 1.8658E+00 1.8252E+00 1.7848E+00 1.7448E+00 1.7053E+00
  1175. 1.6661E+00 1.6269E+00 1.5874E+00 1.5480E+00 1.5094E+00
  1176. 1.4717E+00 1.4346E+00 1.3979E+00 1.3617E+00 1.3260E+00
  1177. 1.2908E+00 1.2561E+00 1.2224E+00 1.1895E+00 1.1573E+00
  1178. 1.1262E+00 1.0960E+00 1.0665E+00 1.0371E+00 1.0078E+00
  1179. 9.7860E-01 9.4963E-01 9.2092E-01 8.9268E-01 8.6521E-01
  1180. 8.3889E-01 8.1354E-01 7.8856E-01 7.6402E-01 7.4059E-01) ;
  1181. LUUDNS = LUUDNS ET (PROG 7.1880E-01 6.9869E-01 6.7994E-01 6.6252E-01
  1182. 6.4673E-01 6.3278E-01 6.2099E-01 6.1165E-01 6.0499E-01
  1183. 6.0112E-01 5.9990E-01) ;
  1184.  
  1185. * Composante R22 du tenseur de Reynolds, normalisée par UTAU²
  1186. LVVDNS = PROG 5.4179E-29 5.2474E-10 1.2894E-07 3.0913E-06 2.8168E-05
  1187. 1.4945E-04 5.5903E-04 1.6342E-03 3.9750E-03 8.3871E-03
  1188. 1.5808E-02 2.7201E-02 4.3448E-02 6.5262E-02 9.3127E-02
  1189. 1.2725E-01 1.6754E-01 2.1357E-01 2.6463E-01 3.1974E-01
  1190. 3.7777E-01 4.3752E-01 4.9778E-01 5.5747E-01 6.1556E-01
  1191. 6.7122E-01 7.2379E-01 7.7281E-01 8.1799E-01 8.5912E-01
  1192. 8.9612E-01 9.2900E-01 9.5791E-01 9.8303E-01 1.0046E+00
  1193. 1.0228E+00 1.0380E+00 1.0503E+00 1.0599E+00 1.0671E+00 ;
  1194. LVVDNS = LVVDNS ET (PROG 1.0722E+00 1.0755E+00 1.0773E+00 1.0778E+00
  1195. 1.0769E+00 1.0747E+00 1.0715E+00 1.0673E+00 1.0625E+00
  1196. 1.0569E+00 1.0509E+00 1.0445E+00 1.0378E+00 1.0311E+00
  1197. 1.0243E+00 1.0172E+00 1.0098E+00 1.0020E+00 9.9380E-01
  1198. 9.8541E-01 9.7687E-01 9.6818E-01 9.5936E-01 9.5045E-01
  1199. 9.4154E-01 9.3260E-01 9.2361E-01 9.1455E-01 9.0542E-01
  1200. 8.9626E-01 8.8706E-01 8.7782E-01 8.6856E-01 8.5929E-01
  1201. 8.4986E-01 8.4010E-01 8.2987E-01 8.1922E-01 8.0835E-01) ;
  1202. LVVDNS = LVVDNS ET (PROG 7.9730E-01 7.8604E-01 7.7461E-01 7.6309E-01
  1203. 7.5146E-01 7.3967E-01 7.2780E-01 7.1585E-01 7.0382E-01
  1204. 6.9174E-01 6.7973E-01 6.6782E-01 6.5601E-01 6.4434E-01
  1205. 6.3287E-01 6.2161E-01 6.1058E-01 5.9982E-01 5.8939E-01
  1206. 5.7929E-01 5.6945E-01 5.5978E-01 5.5026E-01 5.4089E-01
  1207. 5.3165E-01 5.2247E-01 5.1334E-01 5.0428E-01 4.9532E-01
  1208. 4.8647E-01 4.7775E-01 4.6920E-01 4.6088E-01 4.5284E-01
  1209. 4.4512E-01 4.3775E-01 4.3077E-01 4.2426E-01 4.1824E-01) ;
  1210. LVVDNS = LVVDNS ET (PROG 4.1272E-01 4.0778E-01 4.0351E-01 3.9995E-01
  1211. 3.9704E-01 3.9472E-01 3.9298E-01 3.9179E-01 3.9107E-01
  1212. 3.9069E-01 3.9056E-01) ;
  1213.  
  1214. * Composante R33 du tenseur de Reynolds, normalisée par UTAU²
  1215. LWWDNS = PROG 8.5292E-28 1.3126E-04 2.0297E-03 9.7381E-03 2.8591E-02
  1216. 6.3627E-02 1.1816E-01 1.9292E-01 2.8591E-01 3.9313E-01
  1217. 5.0967E-01 6.3093E-01 7.5333E-01 8.7449E-01 9.9290E-01
  1218. 1.1074E+00 1.2166E+00 1.3193E+00 1.4140E+00 1.4997E+00
  1219. 1.5758E+00 1.6421E+00 1.6986E+00 1.7460E+00 1.7850E+00
  1220. 1.8167E+00 1.8417E+00 1.8609E+00 1.8746E+00 1.8833E+00
  1221. 1.8874E+00 1.8873E+00 1.8837E+00 1.8770E+00 1.8677E+00
  1222. 1.8561E+00 1.8431E+00 1.8290E+00 1.8140E+00 1.7979E+00 ;
  1223. LWWDNS = LWWDNS ET (PROG 1.7803E+00 1.7614E+00 1.7418E+00 1.7224E+00
  1224. 1.7033E+00 1.6846E+00 1.6660E+00 1.6470E+00 1.6280E+00
  1225. 1.6090E+00 1.5896E+00 1.5703E+00 1.5519E+00 1.5342E+00
  1226. 1.5170E+00 1.5001E+00 1.4833E+00 1.4663E+00 1.4486E+00
  1227. 1.4301E+00 1.4117E+00 1.3938E+00 1.3766E+00 1.3595E+00
  1228. 1.3417E+00 1.3234E+00 1.3052E+00 1.2876E+00 1.2704E+00
  1229. 1.2532E+00 1.2359E+00 1.2184E+00 1.2005E+00 1.1819E+00
  1230. 1.1631E+00 1.1445E+00 1.1264E+00 1.1086E+00 1.0912E+00) ;
  1231. LWWDNS = LWWDNS ET (PROG 1.0742E+00 1.0574E+00 1.0404E+00 1.0231E+00
  1232. 1.0054E+00 9.8743E-01 9.6942E-01 9.5123E-01 9.3273E-01
  1233. 9.1418E-01 8.9579E-01 8.7788E-01 8.6017E-01 8.4230E-01
  1234. 8.2452E-01 8.0720E-01 7.9033E-01 7.7300E-01 7.5481E-01
  1235. 7.3609E-01 7.1728E-01 6.9853E-01 6.7989E-01 6.6150E-01
  1236. 6.4315E-01 6.2482E-01 6.0700E-01 5.9018E-01 5.7416E-01
  1237. 5.5850E-01 5.4341E-01 5.2915E-01 5.1576E-01 5.0301E-01
  1238. 4.9074E-01 4.7893E-01 4.6765E-01 4.5681E-01 4.4659E-01) ;
  1239. LWWDNS = LWWDNS ET (PROG 4.3736E-01 4.2909E-01 4.2144E-01 4.1444E-01
  1240. 4.0836E-01 4.0351E-01 3.9998E-01 3.9751E-01 3.9577E-01
  1241. 3.9483E-01 3.9460E-01) ;
  1242.  
  1243. * (-) Composante R12 du tenseur de Reynolds, normalisée par UTAU²
  1244. LUVDNS = PROG 3.4110E-32 8.3643E-08 5.4165E-06 6.2838E-05 3.6100E-04
  1245. 1.4079E-03 4.2722E-03 1.0806E-02 2.3664E-02 4.5923E-02
  1246. 8.0246E-02 1.2791E-01 1.8812E-01 2.5805E-01 3.3350E-01
  1247. 4.0991E-01 4.8325E-01 5.5066E-01 6.1046E-01 6.6206E-01
  1248. 7.0561E-01 7.4172E-01 7.7121E-01 7.9495E-01 8.1381E-01
  1249. 8.2863E-01 8.4013E-01 8.4890E-01 8.5537E-01 8.5990E-01
  1250. 8.6280E-01 8.6434E-01 8.6467E-01 8.6388E-01 8.6215E-01
  1251. 8.5967E-01 8.5663E-01 8.5323E-01 8.4963E-01 8.4591E-01 ;
  1252. LUVDNS = LUVDNS ET (PROG 8.4195E-01 8.3760E-01 8.3283E-01 8.2766E-01
  1253. 8.2219E-01 8.1646E-01 8.1043E-01 8.0407E-01 7.9745E-01
  1254. 7.9067E-01 7.8385E-01 7.7705E-01 7.7015E-01 7.6297E-01
  1255. 7.5554E-01 7.4804E-01 7.4057E-01 7.3311E-01 7.2557E-01
  1256. 7.1796E-01 7.1026E-01 7.0242E-01 6.9434E-01 6.8600E-01
  1257. 6.7752E-01 6.6897E-01 6.6034E-01 6.5164E-01 6.4292E-01
  1258. 6.3421E-01 6.2543E-01 6.1651E-01 6.0750E-01 5.9849E-01
  1259. 5.8941E-01 5.8021E-01 5.7095E-01 5.6170E-01 5.5239E-01) ;
  1260. LUVDNS = LUVDNS ET (PROG 5.4291E-01 5.3325E-01 5.2351E-01 5.1368E-01
  1261. 5.0372E-01 4.9369E-01 4.8360E-01 4.7332E-01 4.6286E-01
  1262. 4.5232E-01 4.4176E-01 4.3112E-01 4.2037E-01 4.0954E-01
  1263. 3.9862E-01 3.8766E-01 3.7680E-01 3.6606E-01 3.5527E-01
  1264. 3.4436E-01 3.3334E-01 3.2224E-01 3.1098E-01 2.9953E-01
  1265. 2.8797E-01 2.7642E-01 2.6498E-01 2.5368E-01 2.4238E-01
  1266. 2.3102E-01 2.1963E-01 2.0819E-01 1.9667E-01 1.8512E-01
  1267. 1.7357E-01 1.6201E-01 1.5040E-01 1.3873E-01 1.2707E-01) ;
  1268. LUVDNS = LUVDNS ET (PROG 1.1551E-01 1.0404E-01 9.2622E-02 8.1169E-02
  1269. 6.9647E-02 5.8062E-02 4.6422E-02 3.4768E-02 2.3138E-02
  1270. 1.1543E-02 0.0000E+00) ;
  1271.  
  1272. * Energie cinétique turbulente, normalisée par UTAU²
  1273. LKDNS = 0.5 * (LUUDNS + LVVDNS + LWWDNS) ;
  1274.  
  1275. * Vitesse débitante
  1276. EVUDNS = EVOL 'MANU' LYDNS LUDNS ;
  1277. UQDNS = ((INTG EVUDNS)) / (MAXI LYDNS) ;
  1278.  
  1279. * Vitesse et coefficient de frottement
  1280. UTAUDNS = 1. ;
  1281. TWDNS = 1.*UTAUDNS*UTAUDNS ;
  1282. FFDNS = 8. * ((UTAUDNS/UQDNS) ** 2) ;
  1283.  
  1284. * Nombres de Reynolds
  1285. RETAUDNS = EXTR LGUDNS 1 ;
  1286. REDNS = RETAUDNS * UQDNS / UTAUDNS ;
  1287.  
  1288.  
  1289.  
  1290.  
  1291. * AFFICHAGE DES RÉSULTATS
  1292. ***********************************************************************
  1293. ***********************************************************************
  1294. SI (GRAPH) ;
  1295.  
  1296.  
  1297.  
  1298.  
  1299. * +===================================================================+
  1300. * | PROFILS DE VITESSE |
  1301. * +===================================================================+
  1302.  
  1303. LEG2 = TABL ;
  1304. LEG2 . 2 = 'TIRR ' ;
  1305. LEG2 . 'TITRE' = TABL ;
  1306. LEG2 . 'TITRE' . 1 = 'SPAL: paroi basse' ;
  1307. LEG2 . 'TITRE' . 2 = 'SPAL: paroi haute' ;
  1308. LEG2 . 'TITRE' . 3 = 'DNS' ;
  1309. LEG2 . 'TITRE' . 4 = 'Reichardt' ;
  1310.  
  1311.  
  1312. * Normalisation par la vitesse débitante
  1313. * --------------------------------------
  1314. EVUB = EVOL 'CHPO' UNX SGY1B ;
  1315. EVUH = EVOL 'CHPO' UNX SGY1H ;
  1316. LYB = EXTR EVUB 'ABSC' ;
  1317. LYH = EXTR EVUH 'ABSC' ;
  1318. LUB = EXTR EVUB 'ORDO' ;
  1319. LUH = EXTR EVUH 'ORDO' ;
  1320. EVUQB = EVOL 'ROUG' 'MANU' (LUB/UQ) (LYB/HH) ;
  1321. EVUQH = EVOL 'ORAN' 'MANU' (LUH/UQ) (LYH/HH) ;
  1322.  
  1323. EVUQDNS = EVOL 'CYAN' 'MANU' (LUDNS*(1./UQDNS)) LYDNS ;
  1324.  
  1325. DESS (EVUQB ET EVUQH ET EVUQDNS)
  1326. 'TITR' 'Profil de vitesse axiale sur un demi canal'
  1327. 'TITX' 'UX/UQ'
  1328. 'TITY' 'Y/HH'
  1329. 'YBOR' 0. HH 'GRIL' 'LEGE' LEG2 ;
  1330.  
  1331.  
  1332. * Normalisation par les unités de paroi
  1333. * -------------------------------------
  1334. EVUPB = EVOL 'ROUG' 'MANU' (ENLE (LYB*(RETAU/HH)) 1)
  1335. (ENLE (LUB/UTAU) 1) ;
  1336. EVUPH = EVOL 'ORAN' 'MANU' (ENLE (LYH*(RETAU/HH)) 1)
  1337. (ENLE (LUH/UTAU) 1) ;
  1338.  
  1339. EVUPDNS = EVOL 'CYAN' 'MANU' (ENLE LYPDNS 1) (ENLE LUDNS 1) ;
  1340.  
  1341. * Formule analytique de Reichardt
  1342. LYPR = PROG 0.1 'PAS' 0.1 30
  1343. 'PAS' 1. 100.
  1344. 'PAS' 50. 1.E3 ;
  1345. LR1 = PROG (DIME LYPR)*1. ;
  1346. KA = RV . 'SPALART_ALLMARAS' . 'KCONST' . 'KAPPA' ;
  1347. LUPR = (1./KA) * (LOG (LR1 + (KA*LYPR)))
  1348. + (7.8 * ( LR1 - (EXP (LYPR*(-1./11.)))
  1349. + ((LYPR*(-1./11.)) * (EXP (LYPR*(-1./3.)))) )) ;
  1350. EVUPR = EVOL 'VERT' 'MANU' LYPR LUPR ;
  1351.  
  1352. DESS (EVUPB ET EVUPH ET EVUPDNS ET EVUPR)
  1353. 'TITR' 'Profil de vitesse axiale en proche-paroi'
  1354. 'TITX' 'Y+ = Y*UTAU/NU'
  1355. 'TITY' 'U+ = UX/UTAU'
  1356. 'LOGX' 'XBOR' YPMIN RETAU 'GRIL' 'LEGE' LEG2 ;
  1357.  
  1358.  
  1359.  
  1360.  
  1361. * +===================================================================+
  1362. * | PROFIL DE PRESSION |
  1363. * +===================================================================+
  1364.  
  1365. EVPB = EVOL 'CHPO' PN SGY1B ;
  1366. EVPH = EVOL 'CHPO' PN SGY1H ;
  1367. LPB = EXTR EVPB 'ORDO' ;
  1368. LPH = EXTR EVPH 'ORDO' ;
  1369. EVPB = EVOL 'ROUG' 'MANU' (LPB*(2./(UQ*UQ))) (LYB/HH) ;
  1370. EVPH = EVOL 'ORAN' 'MANU' (LPH*(2./(UQ*UQ))) (LYH/HH) ;
  1371.  
  1372. EVPDNS = EVOL 'CYAN' 'MANU' (LPDNS*(2./(UQDNS*UQDNS))) LYDNS ;
  1373.  
  1374. DESS (EVPB ET EVPH ET EVPDNS)
  1375. 'TITR' 'Profils de pression'
  1376. 'TITX' 'P/(1/2*UQ²)'
  1377. 'TITY' 'Y/HH'
  1378. 'YBOR' 0. HH 'GRIL' 'LEGE' LEG2 ;
  1379.  
  1380.  
  1381.  
  1382.  
  1383. * +===================================================================+
  1384. * | PROFILS DE CISAILLEMENT |
  1385. * +===================================================================+
  1386.  
  1387. EVTOB = EVOL 'CHPO' TAU SGY1B ;
  1388. EVTOH = EVOL 'CHPO' TAU SGY1H ;
  1389. LTOB = EXTR EVTOB 'ORDO' ;
  1390. LTOH = EXTR EVTOH 'ORDO' ;
  1391.  
  1392. EVTOTB = EVOL 'CHPO' TAUT SGY1B ;
  1393. EVTOTH = EVOL 'CHPO' TAUT SGY1H ;
  1394. LTOTB = EXTR EVTOTB 'ORDO' ;
  1395. LTOTH = EXTR EVTOTH 'ORDO' ;
  1396.  
  1397. LTOFB = LTOB + LTOTB ;
  1398. LTOFH = LTOH + LTOTH ;
  1399.  
  1400. LTODNS = LGUDNS / RETAUDNS ;
  1401. LTOTDNS = LUVDNS ;
  1402. LTOFDNS = LTODNS + LTOTDNS ;
  1403.  
  1404.  
  1405. * Cisaillement turbulent
  1406. * ----------------------
  1407. EVTOTB = EVOL 'ROUG' 'MANU' (LTOTB/TW) (LYB/HH) ;
  1408. EVTOTH = EVOL 'ORAN' 'MANU' (LTOTH/TW) (LYH/HH) ;
  1409.  
  1410. EVTOTDNS = EVOL 'CYAN' 'MANU' LTOTDNS LYDNS ;
  1411.  
  1412. DESS (EVTOTB ET EVTOTH ET EVTOTDNS)
  1413. 'TITR' 'Profils de cisaillement turbulent'
  1414. 'TITX' 'Taut/Tw'
  1415. 'TITY' 'Y/HH'
  1416. 'YBOR' 0. HH 'GRIL' 'LEGE' LEG2 ;
  1417.  
  1418.  
  1419. * Cisaillement moyen
  1420. * ------------------
  1421. EVTOB = EVOL 'ROUG' 'MANU' (LTOB/TW) (LYB/HH) ;
  1422. EVTOH = EVOL 'ORAN' 'MANU' (LTOH/TW) (LYH/HH) ;
  1423.  
  1424. EVTODNS = EVOL 'CYAN' 'MANU' LTODNS LYDNS ;
  1425.  
  1426. DESS (EVTOB ET EVTOH ET EVTODNS)
  1427. 'TITR' 'Profils de cisaillement moyen'
  1428. 'TITX' 'Tau/Tw'
  1429. 'TITY' 'Y/HH'
  1430. 'YBOR' 0. HH 'GRIL' 'LEGE' LEG2 ;
  1431.  
  1432.  
  1433. * Cisaillement total
  1434. * ------------------
  1435. EVTOFB = EVOL 'ROUG' 'MANU' (LTOFB/TW) (LYB/HH) ;
  1436. EVTOFH = EVOL 'ORAN' 'MANU' (LTOFH/TW) (LYH/HH) ;
  1437.  
  1438. EVTOFDNS = EVOL 'CYAN' 'MANU' LTOFDNS LYDNS ;
  1439.  
  1440. DESS (EVTOFB ET EVTOFH ET EVTOFDNS)
  1441. 'TITR' 'Profils de cisaillement total'
  1442. 'TITX' '(Tau+Taut)/Tw'
  1443. 'TITY' 'Y/HH'
  1444. 'YBOR' 0. HH 'GRIL' 'LEGE' LEG2 ;
  1445.  
  1446.  
  1447. * Bugdet cisaillement
  1448. * -------------------
  1449. LEG3 = TABL ;
  1450. LEG3 . 2 = 'TIRR ' ;
  1451. LEG3 . 4 = 'TIRR ' ;
  1452. LEG3 . 6 = 'TIRR ' ;
  1453. LEG3 . 'TITRE' = TABL ;
  1454. LEG3 . 'TITRE' . 1 = 'SPAL: Tau visq.' ;
  1455. LEG3 . 'TITRE' . 2 = 'DNS: Tau visq.' ;
  1456. LEG3 . 'TITRE' . 3 = 'SPAL: Tau turb.' ;
  1457. LEG3 . 'TITRE' . 4 = 'DNS: Tau turb.' ;
  1458. LEG3 . 'TITRE' . 5 = 'SPAL: Tau total' ;
  1459. LEG3 . 'TITRE' . 6 = 'DNS: Tau total' ;
  1460.  
  1461. EVTOPB = EVOL 'ROUG' 'MANU' (ENLE (LTOB/TW) 1)
  1462. (ENLE (LYB*(RETAU/HH)) 1) ;
  1463. EVTOTPB = EVOL 'CYAN' 'MANU' (ENLE (LTOTB/TW) 1)
  1464. (ENLE (LYB*(RETAU/HH)) 1) ;
  1465. EVTOFPB = EVOL 'VERT' 'MANU' (ENLE (LTOFB/TW) 1)
  1466. (ENLE (LYB*(RETAU/HH)) 1) ;
  1467.  
  1468. EVTOPDNS = EVOL 'ROUG' 'MANU' (ENLE LTODNS 1)
  1469. (ENLE LYPDNS 1) ;
  1470. EVTOTPDN = EVOL 'CYAN' 'MANU' (ENLE LTOTDNS 1)
  1471. (ENLE LYPDNS 1) ;
  1472. EVTOFPDN = EVOL 'VERT' 'MANU' (ENLE LTOFDNS 1)
  1473. (ENLE LYPDNS 1) ;
  1474.  
  1475. DESS (EVTOPB ET EVTOPDNS ET EVTOTPB ET EVTOTPDN ET EVTOFPB ET EVTOFPDN)
  1476. 'TITR' 'Budget du cisaillement'
  1477. 'TITX' 'Cisail. normé par Tw'
  1478. 'TITY' 'Y+ = Y*UTAU/NU'
  1479. 'LOGY' 'YBOR' YPMIN RETAU 'GRIL' 'LEGE' LEG3 ;
  1480.  
  1481.  
  1482.  
  1483.  
  1484. * +===================================================================+
  1485. * | PROFIL D'ÉNERGIE CINÉTIQUE TURBULENTE |
  1486. * +===================================================================+
  1487. *
  1488. * /!\ L'énergie cinétique turbulente n'est pas calculée par le modèle
  1489. * de Spalart-Allmaras. On doit se contenter de la déterminer par
  1490. * des considérations dimensionnelles plus ou moins pertinentes...
  1491.  
  1492. DPAROI = KOPS (RV . 'PAROIS' . 'DIST') '|<' 1.E-15 ;
  1493. DPAROIP = DPAROI * UTAU / NU ;
  1494. LM1 = KA * DPAROIP * (1. - (EXP ((-1./26.) * DPAROIP))) ;
  1495. *KT = 2. * MUT * ((ABS DUDX) + (ABS DVDY)) ;
  1496. *KT = (MUT * USRHO * (UTAU**3) / (0.09*HH)) ** 0.5 ;
  1497. KT = (MUT * USRHO * (INVE LM1) / (NU)) ** 2 ;
  1498.  
  1499. EVKB = EVOL 'CHPO' KT SGY1B ;
  1500. EVKH = EVOL 'CHPO' KT SGY1H ;
  1501. LKB = EXTR EVKB 'ORDO' ;
  1502. LKH = EXTR EVKH 'ORDO' ;
  1503. EVKB = EVOL 'ROUG' 'MANU' (LKB/(UTAU*UTAU)) (LYB/HH) ;
  1504. EVKH = EVOL 'ORAN' 'MANU' (LKH/(UTAU*UTAU)) (LYH/HH) ;
  1505.  
  1506. EVKDNS = EVOL 'CYAN' 'MANU' LKDNS LYDNS ;
  1507.  
  1508.  
  1509. DESS (EVKB ET EVKH ET EVKDNS)
  1510. 'TITR' 'Profils d énergie cinétique turbulente'
  1511. 'TITX' 'k/Utau²'
  1512. 'TITY' 'Y/HH'
  1513. 'YBOR' 0. HH 'GRIL' 'LEGE' LEG2 ;
  1514.  
  1515.  
  1516.  
  1517.  
  1518. * +===================================================================+
  1519. * | PROFIL DE VISCOSITÉ TURBULENTE |
  1520. * +===================================================================+
  1521. *
  1522. * /!\ La viscosité turbulente n'a pas véritablement de sens pour un
  1523. * calcul DNS. On la calcule uniquement à titre d'information.
  1524.  
  1525. EVNU0B = EVOL 'CHPO' NU0 SGY1B ;
  1526. EVNU0H = EVOL 'CHPO' NU0 SGY1H ;
  1527. LNU0B = EXTR EVNU0B 'ORDO' ;
  1528. LNU0H = EXTR EVNU0H 'ORDO' ;
  1529.  
  1530. EVNUTB = EVOL 'CHPO' (MUT*USRHO) SGY1B ;
  1531. EVNUTH = EVOL 'CHPO' (MUT*USRHO) SGY1H ;
  1532. LNUTB = EXTR EVNUTB 'ORDO' ;
  1533. LNUTH = EXTR EVNUTH 'ORDO' ;
  1534.  
  1535. LNUTDNS = LUVDNS / LGUDNS ;
  1536.  
  1537.  
  1538. * Comparaison de la viscosité turbulente à la DNS
  1539. * -----------------------------------------------
  1540. EVNUTB = EVOL 'ROUG' 'MANU' (LNUTB/(HH*UTAU)) LYB ;
  1541. EVNUTH = EVOL 'ORAN' 'MANU' (LNUTH/(HH*UTAU)) LYH ;
  1542.  
  1543. EVNUTDNS = EVOL 'CYAN' 'MANU' LNUTDNS LYDNS ;
  1544.  
  1545. DESS (EVNUTB ET EVNUTH ET EVNUTDNS)
  1546. 'TITR' 'Profils de viscosité turbulente'
  1547. 'TITX' 'Nut/(HH*Utau)'
  1548. 'TITY' 'Y/HH'
  1549. 'YBOR' 0. HH 'GRIL' 'LEGE' LEG2 ;
  1550.  
  1551.  
  1552. * Comparaison de la viscosité turbulente à la viscosité modifiée
  1553. * --------------------------------------------------------------
  1554. LEG4 = TABL ;
  1555. LEG4 . 2 = 'TIRR ' ;
  1556. LEG4 . 4 = 'TIRR ' ;
  1557. LEG4 . 5 = 'TIRC ' ;
  1558. LEG4 . 6 = 'TIRL ' ;
  1559. LEG4 . 'TITRE' = TABL ;
  1560. LEG4 . 'TITRE' . 1 = 'NU0: paroi basse' ;
  1561. LEG4 . 'TITRE' . 2 = 'NU0: paroi haute' ;
  1562. LEG4 . 'TITRE' . 3 = 'NUT: paroi basse' ;
  1563. LEG4 . 'TITRE' . 4 = 'NUT: paroi haute' ;
  1564. LEG4 . 'TITRE' . 5 = 'NUT: DNS' ;
  1565. LEG4 . 'TITRE' . 6 = (CHAI 'Y=' KA '*X') ;
  1566.  
  1567. EVNU0PB = EVOL 'ROUG' 'MANU' (ENLE (LYB*(RETAU/HH)) 1)
  1568. (ENLE (LNU0B*(1./NU)) 1) ;
  1569. EVNU0PH = EVOL 'ORAN' 'MANU' (ENLE (LYH*(RETAU/HH)) 1)
  1570. (ENLE (LNU0H*(1./NU)) 1) ;
  1571.  
  1572. EVNUTPB = EVOL 'ROSE' 'MANU' (ENLE (LYB*(RETAU/HH)) 1)
  1573. (ENLE (LNUTB*(1./NU)) 1) ;
  1574. EVNUTPH = EVOL 'VIOL' 'MANU' (ENLE (LYH*(RETAU/HH)) 1)
  1575. (ENLE (LNUTH*(1./NU)) 1) ;
  1576.  
  1577. EVNUTPDN = EVOL 'CYAN' 'MANU' (ENLE LYPDNS 1)
  1578. (ENLE (LNUTDNS*RETAUDNS) 1) ;
  1579.  
  1580. * Droite Y=KAPPA*X (comportement de NU0 à la paroi)
  1581. EVPROP = EVOL 'VERT' 'MANU' (PROG 1. 'PAS' 1 80. )
  1582. (PROG KA 'PAS' KA (80.*KA)) ;
  1583.  
  1584. DESS (EVNU0PB ET EVNU0PH ET EVNUTPB ET EVNUTPH ET EVNUTPDN ET EVPROP)
  1585. 'TITR' 'Profil de viscosité modifiée en proche-paroi'
  1586. 'TITX' 'Y+ = Y*UTAU/NU'
  1587. 'TITY' 'NU0/NU'
  1588. 'LOGX' 'XBOR' YPMIN RETAU 'GRIL' 'LEGE' LEG4 ;
  1589.  
  1590.  
  1591.  
  1592.  
  1593. * +===================================================================+
  1594. * | BUDGET DE VISCOSITÉ TURBULENTE |
  1595. * +===================================================================+
  1596.  
  1597. LEG5 = TABL ;
  1598. LEG5 . 4 = 'TIRR ' ;
  1599. LEG5 . 'TITRE' = TABL ;
  1600. LEG5 . 'TITRE' . 1 = 'Diffusion' ;
  1601. LEG5 . 'TITRE' . 2 = 'Production' ;
  1602. LEG5 . 'TITRE' . 3 = 'Destruction' ;
  1603. LEG5 . 'TITRE' . 4 = 'INTG' ;
  1604.  
  1605. CB1 = (RV.'SPALART_ALLMARAS'.'KCONST'.'CB1') ;
  1606. NUD1 = (RV.'INCO'.'SPAL'.'KSI') * NU ;
  1607. CDIFF = (NU + NUD1) * (1./(RV.'SPALART_ALLMARAS'.'KCONST'.'SIGMA')) ;
  1608. SADIFF1 = KOPS NUD1 'GRADS' $DOM ;
  1609. LCO = EXTR SADIFF1 'COMP' ;
  1610. SADIFF1X = EXCO (KOPS (CDIFF*(EXCO SADIFF1 'UX')) 'GRADS' $DOM) 'UX' ;
  1611. SADIFF1Y = EXCO (KOPS (CDIFF*(EXCO SADIFF1 'UY')) 'GRADS' $DOM) 'UY' ;
  1612. SADIFF = SADIFF1X + SADIFF1Y + (RV.'INCO'.'SPAL'.'B1') ;
  1613. SAPROD = (RV.'INCO'.'SPAL'.'B2') ;
  1614. SADEST = (-1.) * (RV.'INCO'.'SPAL'.'B3') ;
  1615.  
  1616.  
  1617. EVSADIFF = EVOL 'CHPO' SADIFF SGY1B ;
  1618. LSADIFF = EXTR EVSADIFF 'ORDO' ;
  1619.  
  1620. EVSAPROD = EVOL 'CHPO' SAPROD SGY1B ;
  1621. LSAPROD = EXTR EVSAPROD 'ORDO' ;
  1622.  
  1623. EVSADEST = EVOL 'CHPO' SADEST SGY1B ;
  1624. LSADEST = EXTR EVSADEST 'ORDO' ;
  1625.  
  1626. LSATOT = LSADIFF + LSAPROD + LSADEST ;
  1627.  
  1628. EVSADIFF = EVOL 'ROUG' 'MANU' (LYB/HH) (LSADIFF/(CB1*TW)) ;
  1629. EVSAPROD = EVOL 'VERT' 'MANU' (LYB/HH) (LSAPROD/(CB1*TW)) ;
  1630. EVSADEST = EVOL 'JAUN' 'MANU' (LYB/HH) (LSADEST/(CB1*TW)) ;
  1631. EVSATOT = EVOL 'ROSE' 'MANU' (LYB/HH) (LSATOT/(CB1*TW)) ;
  1632.  
  1633. DESS (EVSADIFF ET EVSAPROD ET EVSADEST ET EVSATOT)
  1634. 'TITR' 'Budget de la viscosité turbulente'
  1635. 'TITX' 'Y/HH'
  1636. 'TITY' '##/(CB1*Tw)'
  1637. 'XBOR' 0. HH 'YBOR' -10. 10. 'GRIL' 'LEGE' LEG5 ;
  1638.  
  1639.  
  1640.  
  1641.  
  1642. FINS ;
  1643. ***********************************************************************
  1644. ***********************************************************************
  1645.  
  1646.  
  1647.  
  1648.  
  1649.  
  1650.  
  1651.  
  1652.  
  1653.  
  1654.  
  1655. * +===================================================================+
  1656. * | |
  1657. * | 5 - C O M P T E - R E N D U D U C A L C U L |
  1658. * | |
  1659. * +===================================================================+
  1660.  
  1661. * Résultats analytiques en utilisant la corrélation de Blasius
  1662. * (valables seulement pour 4000 < Re < 1.E5)
  1663. UQBL = (DPDX*(DH**1.25) / (-0.1582*RHO*(NU**0.25))) ** (4./7.) ;
  1664. TWBL = HH * (-1.) * DPDX ;
  1665. UTAUBL = (TWBL / RHO) ** 0.5 ;
  1666. FFBL = 8. * ((UTAUBL/UQBL) ** 2) ;
  1667. RETAUBL = UTAUBL*HH/NU ;
  1668. REBL = UQBL *HH/NU ;
  1669.  
  1670.  
  1671. OPTI 'ECHO' 0 ;
  1672. MESS ' ' ;
  1673. MESS '===============================================================' ;
  1674. MESS 'RÉSUMÉ DU CALCUL ' ;
  1675. MESS '===============================================================' ;
  1676. MESS 'Description : Test de SPAL sur un canal périodique' ;
  1677. 'Nombre de pas de temps : ' ((RV . 'PASDETPS' . 'NUPASDT') - 1)
  1678. ) ;
  1679. 'Durée du pas de temps : ' (@ARR (RV.'INCO'.'DT'*1000.) 1) 'ms'
  1680. ' (CFL = ' (@ARR (MAXI (UNX*(RV.'INCO'.'DT')/DXE)) 2) ')'
  1681. ) ;
  1682. 'Temps physique simulé : ' (@ARR (RV . 'PASDETPS' . 'TPS') 3) 's'
  1683. ) ;
  1684. 'Type d éléments : ' DISCR ' ' KPRES
  1685. ) ;
  1686. 'Décentrement : ' DCENTR ' (KCMD=' (@ARR KCMD 2) ')'
  1687. ) ;
  1688. MESS ' ' ;
  1689. MESS ' ' ;
  1690. MESS '===============================================================' ;
  1691. MESS 'PARAMÈTRES DU MAILLAGE ' ;
  1692. MESS '===============================================================' ;
  1693. 'Dimensions: : ' (@ARR LX 2) 'x' (@ARR LY 2) 'm'
  1694. ) ;
  1695. 'Nombre d éléments : ' NXE 'x' NYE '=' (NBEL DOM)
  1696. ) ;
  1697. 'Nombre de noeuds : ' NXN 'x' NYN '=' (NBNO DOM)
  1698. ) ;
  1699. 'Taille de la 1ère maille : ' (@ARR (DYNMIN*1000.) 3) 'mm'
  1700. ' (DY+ = ' (@ARR YPMIN 2) ')'
  1701. ) ;
  1702. 'Taille des mailles centrales : ' (@ARR DYNMAX 2) 'm'
  1703. ' (DY+ = ' (@ARR (DYNMAX/LNU) 2) ')'
  1704. ) ;
  1705. 'Facteur d allongement maximum : ' (@ARR (MAXI ALLONG) 2)
  1706. ) ;
  1707. MESS ' ' ;
  1708. MESS ' ' ;
  1709. MESS '===============================================================' ;
  1710. MESS 'CARACTÉRISTIQUES DE L ÉCOULEMENT ' ;
  1711. MESS '===============================================================' ;
  1712. ' ' 'Modèle SA '
  1713. ' DNS '
  1714. ' Blasius '
  1715. ) ;
  1716. 'Gradient de pression : ' (@ARR DPDX 2) ' '
  1717. (@ARR (-1.) 2) ' '
  1718. (@ARR DPDX 2) ' Pa'
  1719. ) ;
  1720. 'Vitesse moyenne : ' (@ARR UQ 3) ' '
  1721. (@ARR UQDNS 3) ' '
  1722. (@ARR UQBL 3) ' m/s'
  1723. ) ;
  1724. 'Vitesse de frottement : ' (@ARR UTAU 3) ' '
  1725. (@ARR UTAUDNS 3) ' '
  1726. (@ARR UTAUBL 3) ' m/s'
  1727. ) ;
  1728. 'Frottement à la paroi : ' (@ARR TW 3) ' '
  1729. (@ARR TWDNS 3) ' '
  1730. (@ARR TWBL 3) ' Pa'
  1731. ) ;
  1732. 'Coefficient de frottement : ' (@ARR FF 2 'EXPOSANT') ' '
  1733. (@ARR FFDNS 2 'EXPOSANT') ' '
  1734. (@ARR FFBL 2 'EXPOSANT')
  1735. ) ;
  1736. 'Nombre de Reynolds global : ' (@ARR RE 1) ' '
  1737. (@ARR REDNS 1) ' '
  1738. (@ARR REBL 1)
  1739. ) ;
  1740. 'Nombre de Reynolds de frot. : ' (@ARR RETAU 1) ' '
  1741. (@ARR RETAUDNS 1) ' '
  1742. (@ARR RETAUBL 1)
  1743. ) ;
  1744. MESS ' ' ;
  1745. MESS ' ' ;
  1746. OPTI 'ECHO' 1 ;
  1747.  
  1748.  
  1749.  
  1750.  
  1751.  
  1752.  
  1753.  
  1754.  
  1755.  
  1756.  
  1757. *OPTI 'DONN' 5 ;
  1758.  
  1759. FIN ;
  1760.  
  1761.  
  1762.  
  1763.  
  1764.  
  1765.  
  1766.  
  1767.  
  1768.  

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