* fichier : jetkei.dgibi ************************************************************************ ************************************************************************ ************************************************************************ * jetkei.dgibi * * jet 2D axi monophasique incompressible * * pour fiche de validation du K-epsilon * * Pierre Cornet , sept 97 * jpm , mars 06 : adaptation pour K-epsilon implicite (kei) * ************************************************************************ * graph = faux; *graph = vrai; *opti trace 'PSC' ; COMPLET = FAUX; *--------------------------- Numérique --------------------------------- Si COMPLET; KMAIL=1; zr=1./3.; zr=1.; NBIT=2000; NBIT=10000; NBIT=3000; NBIT=10000; NBIT=400; NBIT=3000; *NBIT=800; *NBIT=3 ; DISCR = MACRO; KPRESS= CENTREP1; DISCR = LINE; KPRESS= CENTRE; sinon; KMAIL=1; zr=2.; NBIT=80; DISCR = LINE; KPRESS= CENTRE; finsi; *--------------------------- procédure --------------------------------- *$$$$ OUTFLOW 'DEBPROC' OUTFLOW ; ************************************************************************ * ZONE $Mt OPER 'OUTFLOW' $out Ro Un Muf INCO 'UN' * * UN * MUF viscosité dynamique effective * (tourbillonnaire+moléculaire) ************************************************************************ iarg=rx.'IARG' ; *mess 'iarg='iarg; $mt=rx.'DOMZ' ; * Lecture du 1er Argument objet mmodel $mfront=rx.'ARG1'; Sinon ; erreur 2; quitter outflow; Finsi ; * Lecture du 2ème Argument la densité Ro = rv.inco.(rx.'ARG2'); Sinon ; Ro = rx.'ARG2'; Finsi ; * Lecture du 3ème Argument la vitesse un = rv.inco.(rx.'ARG3'); Sinon ; un = rx.'ARG3'; Finsi ; * Lecture du 4ème Argument la viscosité Muf = rv.inco.(rx.'ARG4'); Sinon ; Muf = rx.'ARG4'; Finsi ; **************** INITIALISATIONs *********************** Si (Exist rx 'rxtm'); rxtm=rx.'rxtm'; lmx=rxtm.'lmx'; lm0=rxtm.'lm0'; lm=rxtm.'lm'; nc=rxtm.'nc'; MI1 = rxtm.'MI1' ; KPRES=rxtm.'KPRES'; Sinon; rxtm=table 'KIZX'; rx.'rxtm'=rxtm; mess ' Il doit y avoir une inconnue !'; quitter outflow ; Finsi; Si(nc > 1); *mess 'Outflow Cas vectoriel ' MI1; Finsi; kpr=rx.'KOPT'.'KPOIN'; Si(EGA KPR 2);KPRES='CENTRE';Finsi; Si(EGA KPR 4);KPRES='CENTREP1';Finsi; Si(EGA KPR 5);KPRES='MSOMMET';Finsi; Sinon; *mess 'Outflow Cas scalaire ' MI1; Finsi; rxtm.'lmx'=lmx; rxtm.'lm0'=lm0; rxtm.'lm'=lm; rxtm.'nc'=nc; rxtm.'MI1'=MI1; rxtm.'KPRES'=KPRES; rxtm.'DOMZ'=$mfront; rxtm.'KOPT'=rx.'KOPT'; rxtm.'IARG'=1; rxtm.'NOMZONE'=' '; rxtm.'TDOMZ'=0; Finsi; **************** Fin Initialisations ******************* *unj= vect nj 0.1 ux uy jaune ; *trace unj mt; *unj= vect njf 0.1 ux uy rouge ; *trace unj mt TITR ' FRONTIERE'; xn = rv.inco.MI1; rv.inco.'us'=us; rv.inco.'ius'=ius; Si(Ega nc 1); Finsi; *st1 mat1 = KOPS 'MATRIK' ; Dgi=Dg*ius; Si(nc > 1); puj=0.; Si(EXIST (rv.inco) 'PRESSION'); puj=Ro*pn*us; Finsi; Finsi; Sinon; Finsi; RESPRO St1 mat1 ; FINPROC ; *----------------------- fin procédure --------------------------------- *--------------------------- maillage ---------------------------------- TITRE 'JET' ; DJ = 2.e-2 ; RJ = DJ/2. ; RM = 50.*RJ ; * points : DJJ=1.*DJ; P00=0. 0.; PJ0=RJ 0.; PR0=RM 0.; PJ5=RJ (50.*DJJ); P02=0. (20.*DJJ); P03=0. (30.*DJJ); P04=0. (40.*DJJ); P05=0. (50.*DJJ); PR2=RM (20.*DJJ); PR3=RM (30.*DJJ); PR4=RM (40.*DJJ); PR5=RM (50.*DJJ); * segments verticaux : Si (EGA KMAIL 1); Finsi; Si (EGA KMAIL 2); Finsi; Si (EGA KMAIL 3); Finsi; AXE = A02 ET A23 ET A34 ET A45 ; * segments horizontaux : Si (EGA KMAIL 1); BAS = JET ET BAS2 ; Finsi; Si (EGA KMAIL 2); BAS = JET ET BAS2 ; Finsi; Si (EGA KMAIL 3); BAS = JET ET BAS2 ; Finsi; * domaine total : doma $mt 'IMPR'; Si Graph; * On prend soin de vérifier que l'allongement n'est pas supérieur à 20 trace MT; Finsi; *--------------------------- maillage ---------------------------------- *------------------------ donnees physiques ---------------------------- * NUF = 1.5E-5 ; REJ = 2.e5 ; REJ = 100. ; *REJ = 30. ; REJ = 2.e4 ; REJ = 3000. ; tasser jet; UJ=UJ0/a*((RJ - xjet)**(1./7.)); *dess (evol chpo uj jet); *opti donn 5; KA = KJ*1.E-5 ; NUTAsnu=1.e-4; cnu=0.09; EA=cnu*ka*ka/nuf; *-------------------------- equations ---------------------------------- *$out = $haut; RV = EQEX $MT 'DUMP' 'ITMA' NBIT 'OPTI' 'EF' 'SUPG' 'IMPL' KPRESS * 'ZONE' $MT OPER OUTFLOW $out 1. 'UN' 'MUF' 'INCO' 'KN' * 'ZONE' $MT OPER OUTFLOW $out 1. 'UN' 'MUF' 'INCO' 'EN' 'ZONE' $MT OPER OUTFLOW $out 1. 'UN' 'MUF' 'INCO' 'UN' 'ZONE' $MT 'OPER' 'KEPSILON' 1. 'UN' NUF 'DT' 'INCO' 'KN' 'EN' RV = EQEX RV 'OPTI' 'EFM1' 'CENTREE' 'ZONE' $MT 'OPER' DFDT 1. 'UN' 'DT' 'INCO' 'UN' ; RV = EQEX RV 'CLIM' 'UN' UIMP JET 0. 'UN' VIMP JET UJ 'UN' VIMP BAS2 0. 'UN' UIMP AXE 0. 'KN' TIMP JET KJ 'EN' TIMP JET EJ * 'UN' VIMP BORD 0. * 'KN' TIMP Bord 0. 'EN' TIMP Bord 1.e-10 'KN' TIMP BAS2 0. 'EN' TIMP BAS2 1.e-10; ; *RV.'ALGO_KEPSILON'= MOTS 'RNG'; *RV.'ALGO_KEPSILON'= MOTS 'Ret'; *------------------------ initialisations ------------------------------ RV.INCO = TABLE 'INCO' ; RV.'INCO'.'DT' = DT ; *------------------------ historiques ---------------------------------- LH = P02 et P03 et P04 et P05 et P11 et P12 et P14 et P15 ; *------------------------ resolution ----------------------------------- 'UN' 2 lh 'KN' lh 'EN' lh; his.'KFIH'=1; EXEC rv; *opti sauv 'JETKEI1'; *sauv; *------------------------ post-traitement ------------------------------ UN = (RV.'INCO'.'UN'); Si graph dessin his.'TABD' his.'KN' TITR ' historiques: k'; dessin his.'TABD' his.'EN' TITR ' historiques: epsilon'; dessin his.'TABD' his.'1UN' TITR ' historiques: ux'; dessin his.'TABD' his.'2UN' TITR ' historiques: uy'; TRAC UNV CMT TITRE 'VITESSES AIR' ; TITR ' Profil radiaux de vitesse'; nutsnu = rv.inco.'MUF' * (1./NUF) ; Finsi; *-------------------- fin post-traitement ------------------------------ Si (NON COMPLET); uaxref=prog 1.8650 1.8896 1.9826 1.8759 1.4946 1.1368 0.91643 0.74427 0.60911 0.51210 0.43502 0.37462 0.32726 0.28785 0.25592 0.23163 0.21113 0.19329 0.17719 0.16177 0.14722 0.13685 0.13161 0.12988 0.12893 0.12679 0.12180 0.11305; Si (delt2 > 1.e-3);ERREUR 5;Finsi; FINSI; FIN ;
© Cast3M 2003 - Tous droits réservés.
Mentions légales