* fichier : carre.dgibi ***************************************************** ** ECOULEMENT AUTOUR D'UNE CYLINDRE DE SECTION CAREE* ** Gregory Turbelin 29/12/1998 * ** modifie le 15/06/2014 passage EQPR -> EQEX * ***************************************************** GRAPH='N' ; COMPLET=FAUX ; DISCR = 'MACRO' ; KPRESS = 'CENTRE'; BETAP = 1. ; ** PROCEDURES DE CALCUL **-------------------- 'DEBPROC' VMPM; 'ARGUMENT' rvx*'TABLE'; DD = rv.PASDETPS.'NUPASDT' ; NN = DD/20; L0 = (DD '-' (20*NN)) 'EGA' 0; 'SI' L0; ** compteur pour connaitre le nombre de valeurs stockées ** CALCUL DE LA VITESSE MOYENNE LE LONG DE L'AXE rv.INCO.'UXa_12'= (rv.INCO.'UXa_12' '+' UXa_12 ); rv.INCO.'UXa_34'= (rv.INCO.'UXa_34' '+' UXa_34 ); ** CALCUL DE LA PRESSION MOYENNE SUR L'OBSTACLE rv.INCO.'Pobst'= (rv.INCO.'Pobst' '+' Pobst); ** CALCUL DE L ENERGIE MOYENNE LE LONG DE L'AXE rv.INCO.'Ka_12'= (rv.INCO.'Ka_12' '+' Ka_12 ); rv.INCO.'Ka_34'= (rv.INCO.'Ka_34' '+' Ka_34 ); 'FINSI' ; 'FINPROC' as2 ama1 ; **------------------------------------------------ 'DEBPROC' CLCD; 'ARGUMENT' rvx*'TABLE'; DD = rv.PASDETPS.'NUPASDT' ; NN = DD/20; L0 = (DD '-' (20*NN)) 'EGA' 0; 'SI' L0; ** CALCUL DES COEFF AERODYNAMIQUES i=1; CD1 = 0.; CD3 = 0.; CD1i= PPf1i * Lf1i; CD1 = CD1 '+'CD1i; * CD3i= PPf3i * Lf3i; CD3 = CD3 '+' CD3i; i = i+1; 'FIN' bloc1; CL = CD1 '-' CD3; * j=1; CD2 = 0.; CD4 = 0.; CD2j= PPf2j * Lf2j; CD2 = CD2 '+' CD2j; * CD4j= PPf4j * Lf4j; CD4 = CD4 '+' CD4j; j = j+1; 'FIN' bloc2; * CD = CD4 '-' CD2 ; rv.INCO.'TP'= rv.INCO.'TP' ET PT; 'FINSI' ; 'FINPROC' as2 ama1 ; ** Procedure pour determiner la valeur moyenne ** d'une liste de relles 'DEBPROC' MOYL LR*'LISTREEL'; LSi =0.; i=1; ielem = 'EXTRAIRE' LR i; LSi = LSi '+' ielem; moyenne = LSi/i; i =i+1; 'FIN' boucle; 'FINPROC' moyenne ; ** Ecart 'TYPE' 'DEBPROC' RMS LR*'LISTREEL'; LMi = 0.; LEi = 0.; i=1; ielem = 'EXTRAIRE' LR i; ielem2 = (ielem**2); LMi = LMi '+' ielem; LEi = LEi '+' ielem2; moyenne = LMi/i; moyenne2 = LEi/i; i =i+1; 'FIN' boucle; ecart = (moyenne2 '-' ((moyenne)**2))**(0.5); 'FINPROC' ecart ; ** CONSTRUCTION DU MAILLAGE (ADIM) **-------------------------------- * **Longueurs sans dim * X1 = 4.5 ; X2 = 1. ; X3 = 14.5; Y1 = 6.5 ; Y2 = 0.5 ; Y3 = 0.5 ; Y4=6.5 ; * **Points caracteristiques * P11=0. 0.; P12=X1 0.; P13=(X1+X2) 0.; P14=(X1+X2+X3) 0.; * P21=0. Y1; P22=X1 Y1; P23=(X1+X2) Y1; P24=(X1+X2+X3) Y1; * P31=0. (Y1+Y2); P32=X1 (Y1+Y2); P33=(X1+X2) (Y1+Y2); P34=(X1+X2+X3) (Y1+Y2); * P41=0. (Y1+Y2+Y3); P42=X1 (Y1+Y2+Y3); P43=(X1+X2) (Y1+Y2+Y3); P44=(X1+X2+X3) (Y1+Y2+Y3); P51=0. (Y1+Y2+Y3+Y4); P52=X1 (Y1+Y2+Y3+Y4); P53=(X1+X2) (Y1+Y2+Y3+Y4); P54=(X1+X2+X3) (Y1+Y2+Y3+Y4); * **Nb de mailles horizontales, sur obstacle si complet ; Nx = 6; sinon ; Nx = 2; finsi ; **Nb de mailles verticales 1/2 obstacle si complet ; Ny = 3; sinon ; Ny = 1; finsi ; **Nb de mailles horizontales, avant obstacle Nx1= 3*Nx; **Nb de mailles horizontales, sur obstacle Nx2 = Nx ; **Nb de mailles horizontales, après obstacle Nx3 =7*Nx; * **Nb de mailles verticales sous obstacle Ny1 = 8*Ny; **Nb de mailles verticales 1/2 obstacle inf Ny2 = Ny; **Nb de mailles verticales 1/2 obstacle sup Ny3 = Ny; **Nb de mailles verticales au dessus obstacle Ny4 = 8*Ny; * * ** Definition des densites **------------------------- DX1 = (X1/Nx1); Dx1_1 = Dx1 ; Dx1_2 = 0.3*Dx1; * DX2 = (X2/Nx2); Dx2_2 = Dx2 ; Dx2_3 = Dx2; * DX3 = (X3/Nx3); Dx3_3 = 0.3*Dx3 ; Dx3_4 = 1.5*Dx3; * Dy1 = (Y1/NY1); Dy1_1 =1.*DY1 ; Dy1_2 = 0.3*DY1; * DY2 = (Y2/NY2); DY2_2 = DY2; DY2_3 = DY2; * DY3 = (Y3/NY3); DY3_3 =0.5*DY3 ; DY3_4 = DY3; * DY4 = (Y4/NY4); DY4_4 =0.3*DY4 ; DY4_5 = 1.*DY4; * **Definition des Lignes **-------------------------------- L1x_12 = P11 droite (-1*Nx1) P12 'DINI' Dx1_1 'DFIN' Dx1_2; L1x_23 = P12 droite (-1*Nx2) P13 'DINI' Dx2_2 'DFIN' Dx2_3; L1x_34 = P13 droite (-1*Nx3) P14 'DINI' Dx3_3 'DFIN' Dx3_4; L2x_12 = P21 droite (-1*Nx1) P22 'DINI' Dx1_1 'DFIN' Dx1_2; L2x_23 = P22 droite (-1*Nx2) P23 'DINI' Dx2_2 'DFIN' Dx2_3; L2x_34 = P23 droite (-1*Nx3) P24 'DINI' Dx3_3 'DFIN' Dx3_4; L3x_12 = P31 droite (-1*Nx1) P32 'DINI' Dx1_1 'DFIN' Dx1_2; L3x_23 = P32 droite (-1*Nx2) P33 'DINI' Dx2_2 'DFIN' Dx2_3; L3x_34 = P33 droite (-1*Nx3) P34 'DINI' Dx3_3 'DFIN' Dx3_4; L4x_12 = P41 droite (-1*Nx1) P42 'DINI' Dx1_1 'DFIN' Dx1_2; L4x_23 = P42 droite (-1*Nx2) P43 'DINI' Dx2_2 'DFIN' Dx2_3; L4x_34 = P43 droite (-1*Nx3) P44 'DINI' Dx3_3 'DFIN' Dx3_4; L5x_12 = P51 droite (-1*Nx1) P52 'DINI' Dx1_1 'DFIN' Dx1_2; L5x_23 = P52 droite (-1*Nx2) P53 'DINI' Dx2_2 'DFIN' Dx2_3; L5x_34 = P53 droite (-1*Nx3) P54 'DINI' Dx3_3 'DFIN' Dx3_4; L1x = L1x_12 'ET' L1x_23 'ET' L1x_34; L2x = L2x_12 'ET' L2x_23 'ET' L2x_34; L3x = L3x_12 'ET' L3x_23 'ET' L3x_34; L4x = L4x_12 'ET' L4x_23 'ET' L4x_34; L5x = L5x_12 'ET' L5x_23 'ET' L5x_34; L1y_12 = P11 droite (-1*Ny1) P21 'DINI' Dy1_1 'DFIN' Dy1_2; L1y_23 = P21 droite (-1*Ny2) P31 'DINI' Dy2_2 'DFIN' Dy2_3; L1y_34 = P31 droite (-1*Ny3) P41 'DINI' Dy3_3 'DFIN' Dy3_4; L1y_45 = P41 droite (-1*Ny4) P51 'DINI' Dy4_4 'DFIN' Dy4_5; L2y_12 = P12 droite (-1*Ny1) P22 'DINI' Dy1_1 'DFIN' Dy1_2; L2y_23 = P22 droite (-1*Ny2) P32 'DINI' Dy2_2 'DFIN' Dy2_3; L2y_34 = P32 droite (-1*Ny3) P42 'DINI' Dy3_3 'DFIN' Dy3_4; L2y_45 = P42 droite (-1*Ny4) P52 'DINI' Dy4_4 'DFIN' Dy4_5; L3y_12 = P13 droite (-1*Ny1) P23 'DINI' Dy1_1 'DFIN' Dy1_2; L3y_23 = P23 droite (-1*Ny2) P33 'DINI' Dy2_2 'DFIN' Dy2_3; L3y_34 = P33 droite (-1*Ny3) P43 'DINI' Dy3_3 'DFIN' Dy3_4; L3y_45 = P43 droite (-1*Ny4) P53 'DINI' Dy4_4 'DFIN' Dy4_5; L4y_12 = P14 droite (-1*Ny1) P24 'DINI' Dy1_1 'DFIN' Dy1_2; L4y_23 = P24 droite (-1*Ny2) P34 'DINI' Dy2_2 'DFIN' Dy2_3; L4y_34 = P34 droite (-1*Ny3) P44 'DINI' Dy3_3 'DFIN' Dy3_4; L4y_45 = P44 droite (-1*Ny4) P54 'DINI' Dy4_4 'DFIN' Dy4_5; L1y = L1y_12 'ET' L1y_23 'ET' L1y_34 'ET' L1y_45; L2y = L2y_12 'ET' L2y_23 'ET' L2y_34 'ET' L2y_45; L3y = L3y_12 'ET' L3y_23 'ET' L3y_34 'ET' L3y_45; L4y = L4y_12 'ET' L4y_23 'ET' L4y_34 'ET' L4y_45; bas = (L1x) 'COULEUR' vert ; 'ELIMINATION' bas 1.e-5; sortie = (L4y) 'COULEUR' jaune; 'ELIMINATION' sortie 1.e-5; haut = (L5x) 'COULEUR' bleu ; 'ELIMINATION' haut 1.e-5; entree = (L1y) 'COULEUR' rouge; 'ELIMINATION' entree 1.e-5; axe_12 = L3x_12; axe_34=L3x_34; axe = (axe_12 'ET' axe_34) 'COULEUR' turq; 'ELIMINATION' axe 1.e-5; face1 = L2x_23 'COULEUR' vert ; face2 = (L3y_23 'ET' L3y_34) 'COULEUR' jaune; face3 = L4x_23 'COULEUR' bleu ; face4 = (L2y_23 'ET' L2y_34) 'COULEUR' rouge ; obstacle = FACE1 'ET' FACE2 'ET' FACE3 'ET' FACE4 ; 'ELIMINATION' obstacle 1.e-5; ; **Creation de sous-zones ZX1Y1 = 'DALLER' L1x_12 L2y_12 L2x_12 L1y_12 PLAN ; ZX1Y2 = 'DALLER' L2x_12 L2y_23 L3x_12 L1y_23 PLAN ; ZX1Y3 = 'DALLER' L3x_12 L2y_34 L4x_12 L1y_34 PLAN ; ZX1Y4 = 'DALLER' L4x_12 L2y_45 L5x_12 L1y_45 PLAN ; ZX1 = ZX1Y1 'ET' ZX1Y2 'ET' ZX1Y3 'ET' ZX1Y4; 'ELIMINATION' 1.e-5 ZX1 ; ZX2Y1 = 'DALLER' L1x_23 L3y_12 L2x_23 L2y_12 PLAN ; ZX2Y4 = 'DALLER' L4x_23 L3y_45 L5x_23 L2y_45 PLAN ; ZX2 = ZX2Y1 'ET' ZX2Y4; 'ELIMINATION' ZX2 1.e-5; orienter Zx2; ZX3Y1 = 'DALLER' L1x_34 L4y_12 L2x_34 L3y_12 PLAN ; ZX3Y2 = 'DALLER' L2x_34 L4y_23 L3x_34 L3y_23 PLAN ; ZX3Y3 = 'DALLER' L3x_34 L4y_34 L4x_34 L3y_34 PLAN ; ZX3Y4 = 'DALLER' L4x_34 L4y_45 L5x_34 L3y_45 PLAN ; ZX3 = ZX3Y1 'ET' ZX3Y2 'ET' ZX3Y3 'ET' ZX3Y4; 'ELIMINATION' ZX3 1.e-5; orienter Zx3; SURFA = Zx1 'ET' ZX2 'ET' Zx3 ; 'ELIMINATION' surfa 1.e-5; orienter surfa; *'TRACER' surfa; *'OPTION' donn 5; ** Définition des domaines **------------------------ Mface1 et Mface2 et Mface3 et Mface4 et Maxe_12 et Maxe_34)1.e-5; 'ORIENTER' surfa; ** Proprietes physiques **------------------- nu_eau = 1.e-6; nu = nu_eau; ** Longeur de reference = Diametre du cylindre en m D_ref = 0.04; ** Hauteur du domaine (sans dim) Hda = 14.; ** Longueur du domaine (sans dim) Lda = 20.; ** Reynolds de l'écoulement Re = 2.2e4; iRe = 1/Re ; ** Vitesse de reference = vitesse en entree (m/s) U_ref = (Re*nu)/D_ref; ** Distances Normales aux parois de l'obstacle **--------------------------------------------- ** Coordonnees des points des faces du cylindre ** abscisse curviligne le long des faces eXface1 = 'EXTRAIRE' eXface1 ABSC; eYface2 = 'EXTRAIRE' eYface2 ABSC; eXface3 = 'EXTRAIRE' eXface3 ABSC; eYface4 = 'EXTRAIRE' eYface4 ABSC; ** Yp = 1/5 hauteur de la premiere maille (sans dim) ** vitesse de frottement sans dim uf1 = (150*nu)/yp1; uf2 = (150*nu)/yp2; uf3 = (150*nu)/yp3; uf4 = (150*nu)/yp4; **constante de Von Karman C1 = 0.4; ** constante du modele RNG k-e CNU = 0.0845; ** taux de turbulence INT = 0.02 ; ** Definition des profils d'entrees et initiaux **---------------------------------------------- ** Definition du domaine d'imposition M_imp =entree; ** VITESSES **----------- U1 = 1. 0.; ** Valeurs IMPOSEES ** Valeurs INITIALES (sans dim) **ENERGIE CINETIQUE **----------------- ** Kadim = K/(U_ref**2) ** En fonction de l'intensite de la turbulence K1 = 1.5*(INT)**2 ; ***INITIALE ***IMPOSEE **DISSIPATION Eadim = E*Href/Uref**3 **-------------- ** Fonction de K et de D ** ! K est sans dim et D = Href E1 = (K1**1.5); ** INITIALE **IMPOSEE **NUT INITIALE **------------------ *fonction de K et E N1=CNU*(K_ini**2)*(E_ini**-1); ** U* INITIALES **------------- ** Module de resolution **------------------- OPTI 'RNG' ZONE $surfa OPER NSKE iRe 'NUT' INCO 'UN' 'KN' 'EN' ZONE $face4 OPER FPU iRe 'UET4' YP4 INCO 'UN' 'KN' 'EN' ZONE $face2 OPER FPU iRe 'UET2' YP2 INCO 'UN' 'KN' 'EN' ZONE $face3 OPER FPU iRe 'UET3' YP3 INCO 'UN' 'KN' 'EN' ZONE $face1 OPER FPU iRe 'UET1' YP1 INCO 'UN' 'KN' 'EN' ; 'ZONE' $surfa 'OPER' 'DFDT' 1. 'UN' 'DELTAT' 'INCO' 'UN' 'ZONE' $surfa 'OPER' 'DFDT' 1. 'KN' 'DELTAT' 'INCO' 'KN' 'ZONE' $surfa 'OPER' 'DFDT' 1. 'EN' 'DELTAT' 'INCO' 'EN' ; RV = 'EQEX' RV ZONE $surfa OPER CLCD ZONE $surfa OPER VMPM; RV = 'EQEX' RV CLIM 'UN' UIMP M_imp UX_imp CLIM 'UN' VIMP M_imp UY_imp CLIM 'UN' VIMP (haut 'ET' bas) 0. CLIM 'KN' TIMP M_imp K_imp CLIM 'EN' TIMP M_imp E_imp ; ; RV.INCO = TABLE INCO; RV.INCO.'UN' = U_ini; RV.INCO.'KN' = K_ini; RV.INCO.'EN' = E_ini; RV.INCO.'NUT' = N_ini; RV.INCO.'UET4' = UET_ini4; RV.INCO.'UET3' = UET_ini3; RV.INCO.'UET2' = UET_ini2; RV.INCO.'UET1' = UET_ini1; 'UN' 2 lh 'KN' lh 'EN' lh; EXEC RV; * 'OPTION' donn 5; * 'FIN' ; rt=rv.pasdetps; tps1 = rt.tps; it1 = rt.nupasdt; dt = rt.'DELTAT-1'; 'MESSAGE' 'No ITERATION ' it1; 'MESSAGE' 'DERNIER PAS ' DT; 'MESSAGE' 'TEMPS PHYSIQUE' tps1; * 'OPTION' donn 5; *****HISTORIQUES***** * TAB1=his.TABD; TAB1.'TITRE'= TABLE ; si ('EGA' graph 'O' ); 'DESSIN' (his.'1UN') 'TITRE' 'HISTORIQUES POUR UX ' LEGE TAB1; 'DESSIN' (his.'2UN') 'TITRE' 'HISTORIQUES POUR UY ' LEGE TAB1; 'DESSIN' (his.'KN') 'TITRE' 'HISTORIQUES POUR K' LEGE TAB1; 'DESSIN' (his.'EN') 'TITRE' 'HISTORIQUES POUR E' LEGE TAB1; finsi ; ** PROFILS SUR LE DOMAINE TOTAL **-------------------------------- vv = 'VECTEUR' rv.inco.'UN' .1 ux uy ; kk = rv.inco.'KN' ; EE = rv.inco.'EN'; si ('EGA' graph 'O' ); *'OPTION' isov ligne; titre 'Vecteur Vitesse'; 'TRACER' vv surfa ('CONTOUR' surfa); titre 'vecteur vitesse composante X'; 'TRACER' Vx surfa ('CONTOUR' surfa) ; titre 'vecteur vitesse composante Y'; 'TRACER' VY surfa ('CONTOUR' surfa) ; titre 'CHAMP DE PRESSION'; 'TRACER' PP surfa ('CONTOUR' surfa); titre 'Energie Cinetique Turbulente'; 'TRACER' kk surfa ('CONTOUR' surfa); titre 'dissipation'; 'TRACER' ee surfa ('CONTOUR' surfa); titre 'NUT'; 'TRACER' nuts surfa ('CONTOUR' surfa); finsi ; * 'OPTION' donn 5; ** FONCTION DE COURANT **--------------------- ** CALCUL DU ROTATIONNEL DU CHAMP DE VITESSE sw= (-1*rt2d); ** DEFINITION DE Utangentielle SUR CHAQUE FACE ** !! la direction de Ut depend de la définition ZONE $SURFA OPER FIMP sw inco 'psi' ZONE $HAUT OPER FIMP unnh inco 'psi' ZONE $bas OPER FIMP unnb inco 'psi' ZONE $sortie OPER FIMP unns inco 'psi' ZONE $entree OPER FIMP unne inco 'psi' CLIM 'psi' TIMP obstacle 0. ; exec rk; si ('EGA' graph 'O' ); psi=rk.inco.'psi'; 'OPTION' ISOV LIGNE; finsi ; ** CALCUL DES COEFFS AERODYNAMIQUES **------------------------------ ** Trainee 'ET' portance cd = 2*(rv.inco.'CD'); cl = 2*(rv.inco.'CL'); tp = 'ENLEVER' (rv.inco.'TP') 1; cd = 'ENLEVER' cd 1; cl = 'ENLEVER' cl 1; PDT1 = 'EXTRAIRE' tp 1; PDTN = 'EXTRAIRE' tp Ntp; ** duree moyenne de 20 pas de tps PDTx20 = (PDTN '-'PDT1 )/( Ntp '-' 1); ** Pas de tps moyen PDTmoy = (PDTx20 '/' 20); *'LISTE' PDTmoy; *'OPTION' donn 5; moycd = MOYL cd; moycl = MOYL cl; rmscd = RMS cd; rmscl = RMS cl; 'LISTE' moycd; 'LISTE' rmscd; 'LISTE' moycl; 'LISTE' rmscl; si ('EGA' graph 'O' ); 'DESSIN' ecl 'TITRE' 'cl'; 'DESSIN' ecd 'TITRE' 'cd'; 'DESSIN' DSPCL; finsi ; ** Evolution du champ de pression autour de l'obstacle ** Presion instantanee Pref = 'EXTRAIRE' PP Scal P32; Pref = Pref '-' 0.5; CP = 2*(Pobst '-' Pref); ** On enleve les valeurs aux extremites Oobst = 'ENLEVER' Oobst 1 ; Aobst = 'EXTRAIRE' eCP absc; Aobst = 'ENLEVER' Aobst 1 ; Aobst = 'ENLEVER' Aobst NbAobst; Oobst = 'ENLEVER' Oobst NbAobst; si ('EGA' graph 'O' ); 'DESSIN' (eCP) 'TITRE' 'pression instantanee sur obstacle' ; finsi ; ** Pression moyenne le long de l'obstacle PM = 'ENLEVER' PM 1; si ('EGA' graph 'O' ); 'DESSIN' (epm) 'TITRE' 'Pression moyenne sur obstacle'; finsi ; ** EVOLUTIONS LE LONG DE L'AXE **------------------------------- ** ABSC reelles des points de l'axe ** Pour tracer Uy ** Evolution instantanne le long de l'axe (fct de l'abscisse curviligne) ** valeurs le long de l'axe ** Evolution le long de l'axe (fct de l'abscisse relle) eUXaxe = eUXa_12 'ET' eUXa_34; eUyaxe = eUya_12 'ET' eUya_34; eKaxe = eKa_12 'ET' eKa_34; ** Ux moyen le long de l'axe eUMaxe = eUM_12 'ET' eUM_34; ** K moyen le long de l'axe eKMaxe = eKM_12 'ET' eKM_34; ** Axes L0 = L0_12 'ET' L0_34; si ('EGA' graph 'O' ); 'DESSIN' (eUMaxe 'ET' L0 ) 'TITRE' 'Ux moyen sur axe'; tity 'Ux/U0' titx 'X/D'; tity 'Uy/U0' titx 'X/D'; 'DESSIN' (eKMaxe 'ET' L0 ) 'TITRE' 'K moyen sur axe'; tity 'K/U0**2' titx 'X/D'; finsi ; Fin; ** Pas de tps moyen *PDTmoy = (PDTx20 '/' 20); *'LISTE' PDTmoy; *'OPTION' donn 5; ** Evolution reguliere dans le tps * RegTPS = 'PROG' PDT1 PAS PDTx20 Npas (Nval '-' 1) ; *'OPTION' donn 5; * * * * *TABUY=Table; * TABUY.1 ='MARQ ETOI'; 'DESSIN' eUYFDT_1 'TITRE''EVOLUTION UY_axe en X=1.94' tity 'UY' titx 'tps'; 'DESSIN' eUYFDT_2 'TITRE''EVOLUTION UY_axe en X=5.9' tity 'UY' titx 'tps' ; 'DESSIN' eUYFDT_3 'TITRE''EVOLUTION UY_axe en X=8' tity 'UY' titx 'tps' 'DESSIN' eUYFDT_4 'TITRE''EVOLUTION UY_axeen X=10' tity 'UY' titx 'tps' ; 'DESSIN' eUYFDT_5 'TITRE''EVOLUTION UY_axe en fonction du temps en X=13' tity 'UY' titx 'tps' ; 'DESSIN' eUYFDT_6 'TITRE''EVOLUTION UY_axe en fonction du temps en X=18' tity 'UY' titx 'tps' ; 'DESSIN' eUxFDT_1 'TITRE''EVOLUTION Ux_axe en fonction du temps en X=1.94' tity'Ux' titx 'tps' ; 'DESSIN' eUxFDT_2 'TITRE''EVOLUTION Ux_axe en fonction dutemps en X=5.9' tity 'Ux' titx 'tps' ;; 'DESSIN' eUxFDT_3 'TITRE''EVOLUTION Ux_axe en fonction du temps en X=8' tity 'Ux' titx 'tps' ;; 'DESSIN' eUxFDT_4 'TITRE''EVOLUTION Ux_axe en fonction du temps en X=10' tity 'TABUY Ux' titx 'tps' ;; 'DESSIN' eUxFDT_5 'TITRE''EVOLUTION Ux_axe en fonction du temps en X=13' tity 'Ux' titx 'tps' ;; 'DESSIN' eUxFDT_6 'TITRE''EVOLUTION Ux_axe en fonction du temps en X=18' tity 'Ux' titx 'tps' ;; 'OPTION' donn 5; *********PROFILS SUR LE DOMAINE TOTAL******** vv = 'VECTEUR' rv.inco.'UN' .1 ux uy ; kk = rv.inco.'KN' ; EE = rv.inco.'EN'; *'OPTION' isov ligne; * titre 'Vecteur Vitesse'; * 'TRACER' vv surfa ('CONTOUR' surfa); * titre 'vecteur vitesse composante X'; * 'TRACER' Vx surfa ('CONTOUR' surfa) ; * titre 'vecteur vitesse composante Y'; * 'TRACER' VY surfa ('CONTOUR' surfa) ; * titre 'CHAMP DE PRESSION'; * 'TRACER' PP surfa ('CONTOUR' surfa); * titre 'Energie Cinetique Turbulente'; * 'TRACER' kk surfa ('CONTOUR' surfa); * titre 'dissipation'; * 'TRACER' ee surfa ('CONTOUR' surfa); * titre 'NUT'; * 'TRACER' nuts surfa ('CONTOUR' surfa); * 'OPTION' donn 5; ** FONCTION DE COURANT ** PREMIERE METHODE **------------------- ** CALCUL DU ROTATIONNEL DU CHAMP DE VITESSE * sw ='KOPS' (rv.inco.'UN') 'ROT' $surfa; * DOMLIM = Haut 'ET' BAS 'ET' entree ; * 'ELIMINATION' domliM 1.e-5 ; * CHPY = 'COORDONNEE' 2 DOMLIM ; * PSin = CHPY ; * CHPTOT = 'KCHT' $surfa scal sommet psin ; * rk=EQEX $SURFA 'OPTI' 'EF' 'IMPL' * ZONE $SURFA OPER LAPN 1. inco 'psi' * ZONE $SURFA OPER FIMP sw inco 'psi' * CLIM 'psi' TIMP DOMLIM CHPTOT ; * rk.inco.'psi'=KCHT $SURFA SCAL SOMMET 0.; * exec rk; * psi=rk.inco.'psi'; * * 'OPTION' ISOV LIGNE; * 'TRACER' psi surfa toto ('CONTOUR' (surfa)) titr 'LIGNES DE COURANT'; * 'OPTION' donn 5 ; ** FONCTION DE COURANT ** SECONDE METHODE **--------------------- ** CALCUL DU ROTATIONNEL DU CHAMP DE VITESSE sw= (-1*rt2d); ** DEFINITION DE Utangentielle SUR CHAQUE FACE ** !! la direction de Ut depend de la définition ** de la normale a la paroi n !! ZONE $SURFA OPER FIMP sw inco 'psi' ZONE $HAUT OPER FIMP unnh inco 'psi' ZONE $bas OPER FIMP unnb inco 'psi' ZONE $sortie OPER FIMP unns inco 'psi' ZONE $entree OPER FIMP unne inco 'psi' CLIM 'psi' TIMP obstacle 0. ; exec rk; psi=rk.inco.'psi'; * 'OPTION' ISOV LIGNE; 'OPTION' donn 5 ; * 'FIN' ; * ** CALCUL DES COEFFS AERODYNAMIQUES **------------------------------ ** Traine 'ET' portance cd = 2*(rv.inco.'CD'); cl = 2*(rv.inco.'CL'); tp = 'ENLEVER' (rv.inco.'TP') 1; cd = 'ENLEVER' cd 1; cl = 'ENLEVER' cl 1; cd = tronc cd 400 ; cl = tronc cl 400 ; tp = tronc tp 400 ; PDT1 = 'EXTRAIRE' tp 1; PDTN = 'EXTRAIRE' tp Ntp; ** duree moyenne de 20 pas de tps PDTx20 = (PDTN '-'PDT1 )/( Ntp '-' 1); ** Pas de tps moyen PDTmoy = (PDTx20 '/' 20); 'LISTE' PDTmoy; 'OPTION' donn 5; ** Evolution reguliere dans le tps *'OPTION' donn 5; moycd = MOYL cd; moycl = MOYL cl; rmscd = RMS cd; rmscl = RMS cl; 'LISTE' moycd; 'LISTE' rmscd; 'LISTE' moycl; 'LISTE' rmscl; 'DESSIN' ecl 'TITRE' 'cl'; 'DESSIN' ecd 'TITRE' 'cd'; 'DESSIN' DSPCL; 'OPTION' donn 5; * Evolution du champ de pression autour de l'obstacle ** Presion instantanee Pref = 'EXTRAIRE' PP Scal P32; Pref = Pref '-' 0.5; CP = 2*(Pobst '-' Pref); * titi = 'PROG' Pref; 'OPTION' isov ligne; titre 'CHAMP DE PRESSION'; * 'TRACER' PP surfa toto ('CONTOUR' surfa); * 'TRACER' PP surfa ('CONTOUR' surfa); * 'OPTION' donn 5; ** On enleve les valeurs aux extremites Oobst = 'ENLEVER' Oobst 1 ; Aobst = 'EXTRAIRE' eCP absc; Aobst = 'ENLEVER' Aobst 1 ; Aobst = 'ENLEVER' Aobst NbAobst; Oobst = 'ENLEVER' Oobst NbAobst; 'DESSIN' (eCP) 'TITRE' 'pression instantanee sur obstacle' ; ** Pression moyenne le long de l'obstacle PM = 'ENLEVER' PM 1; 'DESSIN' (epm) 'TITRE' 'Pression moyenne sur obstacle'; * 'OPTION' donn 5; ** ** EVOLUTIONS LE LONG DE L'AXE **------------------------------- ** ABSC reelles des points de l'axe * 'LISTE' Xaxe_12; ** Pour tracer Uy * 'LISTE' Xaxe_34; * 'OPTION' donn 5; ** Evolution instantanne ** le long de l'axe (fct de l'abscisse curviligne) **valeurs le long de l'axe ** Evolution le long de l'axe (fct de l'abscisse relle) eUXaxe = eUXa_12 'ET' eUXa_34; eUyaxe = eUya_12 'ET' eUya_34; eKaxe = eKa_12 'ET' eKa_34; ** Ux moyen le long de l'axe eUMaxe = eUM_12 'ET' eUM_34; ** K moyen le long de l'axe eKMaxe = eKM_12 'ET' eKM_34; * opti donn 5; TAB2=TABLE; * TAB2.'TITRE'= TABLE ; * TAB2.1='MARQ ETOI NOLI'; * TAB2.'TITRE' . 1 = MOT 'Calcul'; * TAB2.2='MARQ ETOI NOLI'; * TAB2.'TITRE' . 2 = MOT 'en entree'; TAB2.3='TIRL'; * TAB2.'TITRE' . 3 = MOT 'en entree'; TAB2.4='TIRL'; ** affichage du cube L0 = L0_12 'ET' L0_34; ** SORTIES GRAPHIQUES **------------------- *** VITESSE **------------------------------- 'DESSIN' (eUMaxe 'ET' L0 'ET' cubeux ) 'TITRE' 'Ux moyen sur axe'; TAB2 tity 'Ux/U0' titx 'X/D'; * dess (eUyaxe 'ET' L0 'ET' cubeuy) titr 'PROFIL Uy sur axe' * TAB2 tity 'Uy/U0' titx 'X/D'; tity 'Uy/U0' titx 'X/D'; 'DESSIN' (eKMaxe 'ET' L0 'ET' cubeK ) 'TITRE' 'K moyen sur axe'; TAB2 tity 'K/U0**2' titx 'X/D'; * opti donn 5; fin;
© Cast3M 2003 - Tous droits réservés.
Mentions légales