Télécharger Th1D-T3D-mono.dgibi
* fichier : Th1D-T3D-mono.dgibi * ********************************************************************************************** * * NOM DE FICHIER : Th1D-T3D-mono.dgibi * * DESCRIPTION : Modelisation thermique 3D - thermohydraulique 1D monophasique * ********************************************************************************************** * CAS TEST CORRESPONDANT AU RAPPORT DM2S/STMF/LMES/RT/12-013/A : * Calculs thermohydrauliques HCLL/TBM realises avec le code CAST3M "fluide" * Etude du refroidissement de la couverture tritigene du reacteur a fusion * par un ecoulement d'helium * ********************************************************************************************** * A U T E U R S ********************************************************************************************** * * Giacomo AIELLO - CEA/DEN/DANS/DM2S/SEMT/BCCR - mel : giacomo.aiello@cea.fr * Jean-Louis LASZLO - CEA/DEN/DANS/DM2S/STMF/LMES - mel : jean-louis.laszlo@cea.fr * Stephane GOUNAND - CEA/DEN/DANS/DM2S/SFMF/LMSF - mel : gounand@semt2.smts.cea.fr * ********************************************************************************************** ********************************************************************************************** * * * TEST RAPIDE : la variable logique complet = FAUX; * TEST NOMINAL : la variable logique complet = VRAI; * * ********************************************************************************************** * Exemple de resultats * ********************************************************************************************** * Variable logique COMPLET FAUX VRAI * ******* **** **** * Nombre iterations 1 seule test * convergence * Maillage grossier nominal * * Debit massique commun fluide 1 et 2 0.11 kg/s 0.11 kg/s * Flux impose 92.4 kW 92.4 kW * * Temperature minimale solide 298.8 degres C 303.5 degres C * Temperature maximale solide 449.0 degres C 517.3 degres C * * Temperature minimale fluide 1 300.0 degres C 300.0 degres C * Temperature maximale fluide 1 380.5 degres C 383.7 degres C ********************************************************************************************** * * * VARIABLES LOGIQUES * ********************************************************************************************** *complet = VRAI ; comm TEST NOMINAL ; * EchColb = VRAI ; comm loi echange thermique COLBURN ; ********************************************************************************************** ********************************************************************************************** *** PROCEDURES ********************************************************************************************** ********************************************************************************************** debproc spabas spass*flottant ori*point ; v9 = spass ** 0.5 ; finpro sp9 ; c/flottant ; * 1 pour UX - 2 pour UY - 3 pour UZ xmt = 'COORDONNEE' 1 m0 ; ymt = 'COORDONNEE' 2 m0 ; orig0 = 'FORME' ; 'FORME' dxmt ; 'FORME' dymt ; SINON ; FINSI ; 'FORME' orig0 ; finproc ; DEBP PARTSURF TABCONV*TABLE; REPE BOUC NBOUCT ; SI (&bouc EGA 1 ); LARGEMENT TABCONV . SIN; TOTPART = NEWPART; SINON ; QUITTER BOUC; SINON ; TOTPART = TOTPART et NEWPART; FINSI; FINSI; FIN bouc; FINP; DEBPROC FLUI1D_2 TABCONV*TABLE DECAX*FLOTTANT DECAY*FLOTTANT kdec*FLOTTANT spa9*FLOTTANT ; TABCONV . FAC0 = TABLE ; TABCONV . ELE0 = TABLE ; DECAX = kdec * DECAX ; DECAY = kdec * DECAY ; SurBas = spabas spa9 PINI ; TABCONV .'BAFLU' = SurBas ; *mess Npart ; REPE BOUC Npart ; *mess NS ; HautF = Slat / ( 4. * ( spa9 ** 0.5 )) ; * mess &bouc spa9 hautf slat ; si ( ega &bouc 1 ) ; TOTFLU = NEWFLU ; TOTSOL = NEWSOL ; SINON ; TOTFLU = TOTFLU ET NEWFLU ; TOTSOL = TOTSOL et NEWSOL ; FINSI ; kfac = kfac + 1 ; * mess &bouc &w kfac ; TABCONV . ELE0 . kfac = NEWFLU ; fin w ; FIN bouc; TABCONV .'MTFLU' = totflu ; FINP ; debproc matcon0 tfa00*TABLE tel00*TABLE ; *** CREATION DE LA MATRICE DE COUPLAGE * *** ---------------------------------- * 'REPETER' iitab nitab ; ifac = tfa00 . &iitab ; iqfac = 'CHANGER' ifac 'QUAF' ; miqfac = 'MODELISER' iqfac 'NAVIER_STOKES' discr ; iele = tel00 . &iitab ; iqele = 'CHANGER' iele 'QUAF' ; miqele = 'MODELISER' iqele 'NAVIER_STOKES' discr ; * Attention ('MESU' iele) ne fonctionne pas en axisymetrique clfc = 'MANUEL' 'SEG2' ciqfac ciqele ; 'SI' ('EGA' &iitab 1) ; cfc00 = clfc ; mcf00 = mlcf ; mfc00 = mlfc ; 'SINON' ; cfc00 = 'ET' cfc00 clfc ; mcf00 = 'ET' mcf00 mlcf ; mfc00 = 'ET' mfc00 mlfc ; 'FINSI' ; 'FIN' iitab ; finpro cfc00 mcf00 mfc00 ; DEBPROC tcpu9 a/flottant ; tcpu = TABTPS.'TEMPS_CPU'.'INITIAL'; tcpus = '/' ('FLOTTANT' tcpu) 100.D0 ; RESPRO tcpus ; SINON ; 'MESSAGE' ( et ('CHAINE' 'tcpus = ' tcpus) ' secondes') ; FINSI ; FINPROC ; DEBPROC PRPHE8 prt7C*'LISTREEL' roo*'LISTREEL' muo*'LISTREEL' cpo*'LISTREEL' lambo*'LISTREEL' T/'CHPOINT' TL/'LISTREEL' TS/'FLOTTANT' ; 'SI' ('EXISTE' T) ; 'RESPRO' rhohe8 muhe8 lhe8 cphe8 ; 'FINSI' ; 'SI' ('EXISTE' TL) ; 'RESPRO' rhohe8 muhe8 lhe8 cphe8 ; 'FINSI' ; 'SI' ('EXISTE' TS) ; 'RESPRO' rhohe8 muhe8 lhe8 cphe8 ; 'FINSI' ; 'FINPROC' ; DEBPROC PTH_HE8 X/'CHPOINT' XL/'LISTREEL' XS/'FLOTTANT' ; TABHE8 = TABLE ; 'SI' ('EXISTE' X) ; rhohe8 muhe8 lhe8 cphe8 = PRPHE8 PROGTHe PROGRHO PROGMU PROGCP PROGLAM X ; 'FINSI' ; 'SI' ('EXISTE' XL) ; rhohe8 muhe8 lhe8 cphe8 = PRPHE8 PROGTHe PROGRHO PROGMU PROGCP PROGLAM XL ; 'FINSI' ; 'SI' ('EXISTE' XS) ; rhohe8 muhe8 lhe8 cphe8 = PRPHE8 PROGTHe PROGRHO PROGMU PROGCP PROGLAM XS ; 'FINSI' ; TABHE8 . 'ROG' = rhohe8 ; TABHE8 . 'MUG' = muhe8 ; TABHE8 . 'LAMG' = lhe8 ; TABHE8 . 'CPG' = cphe8 ; FINPRO TABHE8 ; DEBPROC PRACIER prt7C*'LISTREEL' roo*'LISTREEL' cpo*'LISTREEL' lambo*'LISTREEL' T/'CHPOINT' TL/'LISTREEL' TS/'FLOTTANT' ; 'SI' ('EXISTE' T) ; 'RESPRO' rhoaci laci cpaci ; 'FINSI' ; 'SI' ('EXISTE' TL) ; 'RESPRO' rhoaci laci cpaci ; 'FINSI' ; 'SI' ('EXISTE' TS) ; 'RESPRO' rhoaci laci cpaci ; 'FINSI' ; 'FINPROC' ; DEBPROC PTH_ACI X/'CHPOINT' XL/'LISTREEL' XS/'FLOTTANT' ; TABACI = TABLE ; 'SI' ('EXISTE' X) ; rhohe8 lhe8 cphe8 = PRACIER PROGTAc ROACIER CPACIER LAMACIER X ; 'FINSI' ; 'SI' ('EXISTE' XL) ; rhohe8 lhe8 cphe8 = PRACIER PROGTAc ROACIER CPACIER LAMACIER XL ; 'FINSI' ; 'SI' ('EXISTE' XS) ; rhohe8 lhe8 cphe8 = PRACIER PROGTAc ROACIER CPACIER LAMACIER XS ; 'FINSI' ; TABACI . 'ROS' = rhohe8 ; TABACI . 'LAMS' = lhe8 ; TABACI . 'CPS' = cphe8 ; FINPRO TABACI ; *Elle permet d'afficher les valeurs minimales et maximales d'un *champoint avec message optionnel MesEx0 = EXISTE mess1 ; 'SI' ('EXISTE' TC) ; SI MesEx0 ; SINON ; FINSI ; FINSi ; 'SI' ('EXISTE' T) ; SI MesEx0 ; mess mess1 ' : ' T ; SINON ; mess T ; FINSI ; FINSi ; FINPROC ; c1 = et c1 ' = ' ; c3 = et ' ' c3 ; c20 = ( chaine 'FORMAT' c2 v0) ; finproc ; ********************************************************************************************** ********************************************************************************************** *** FIN PROCEDURES ********************************************************************************************** ********************************************************************************************** ********************************************************************************************** * * DONNEES GEOMETRIE * ********************************************************************************************** OPTION TRAC PSC ; DCP = 0.015; DCH = (PITCHFW - DCT) / 2.; EPS0 = 1.E-6 ; *********************************************************************** * * MAILLAGE * *********************************************************************** si complet ; N1V1 = 3 ; N2V1 = 20 ; NV2 = 8 ; NV3 = 40 ; NV7 = 6 ; sinon ; * N1V1 = 3 ; * N2V1 = 3 ; * NV2 = 4 ; * NV3 = 4 ; * NV7 = 6 ; * modif gounand N1V1 = 2 ; N2V1 = 2 ; NV2 = 2 ; NV3 = 2 ; NV7 = 2 ; FINSI ; NV4 = NV2 ; NV5 = N2V1 ; NV6 = N1V1 ; NV8 = N1V1 ; NV9 = N2V1 ; NV10 = NV2 ; NV11 = NV3 ; NV12 = NV2 ; N1V13 = N2V1 ; N2V13 = N1V1 ; P1 = 0. 0. 0. ; P2 = 0. PITCHFW 0.; P3 = 0. PITCHFW ( -1. * EPFW ); P4 = 0. 0. (-1. * EPFW); PC1 = 0. DCH ( -1. * DPL); PC2 = 0. (DCH + DCT) ( -1. * DPL); PC3 = 0. (DCH + DCT) ( -1. * (DPL + DCP) ); PC4 = 0. DCH ( -1. * (DPL + DCP) ); L1 = D P1 P2; L2 = D P2 P3; L3 = D P3 P4; L4 = D P4 P1; LC1 = D PC1 PC2; LC2 = D PC2 PC3; LC3 = D PC3 PC4; LC4 = D PC4 PC1; C1 = L1 et L2 et L3 et L4; C2 = LC1 et LC2 et LC3 et LC4; ( (R - RFW) 0. (-1 * RFW)) ( (R - RFW) PITCHFW (-1 * RFW)); ( (R - RFW) 0. (-1 * (H - RFW))) ( (R - RFW) PITCHFW (-1 * (H - RFW))); ( (0. 0. (-1. * H) )) ( (PITCHFW) (PITCHFW) (-1. * H) ) ( 0. 0. 0.); ( 0. (2*PITCHFW) H ) ( PITCHFW (PITCHFW) H ) ( 0. (2*PITCHFW) 0.); (PITCHFW. 0. 0.) (PITCHFW 1. 0.) (PITCHFW 0. 1.); ( (R - RFW) 0. (-1 * (H - RFW))) ( (R - RFW) PITCHFW (-1 * (H - RFW))); ( (R - RFW) 0. (-1 * RFW)) ( (R - RFW) PITCHFW (-1 * RFW)); VTUBE = V1 ET V2 ET V3 ET V4 ET V5 ET V6 ET V7 ET V8 ET V9 ET V10 ET V11 ET V12 ET V13; ELIM EPS0 VTUBE; VTUBE2 = VTUBE SYME PLAN (0. 0. (H / -2.)) (0. 1. (H / -2.)) (1. 0. (H / -2.)); VFW = VTUBE et VTUBE2; ELIM EPS0 VFW; TRAC CACH VFW; SAUV VFW; ******************************************************************* ******************************************************************* *** ** *** COUPLAGE THERMIQUE 3D - THERMOHYDRAULIQUE 1D ** *** ** ******************************************************************* ******************************************************************* REST; *** #################################################################* *** ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~* *** DECLARATIONS *** ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~* *** #################################################################* oeilx = 1.e30 0. 0. ; oeily = 0. 1.e30 0. ; oeilz = 0. 0. 1.e30 ; oeil = 1.e30 1.e30 1.e30 ; epselim = 1.e-7 ; * discr = 'QUAF' ; comm elements quadratiques ; TFLUec = 300. ; TFLUek = TFLUec + CK ; nitr1 = 1 ; omgr1 = 1. ; SI (non complet) ; nb_bouc = 1 ; SINON ; FINSI ; *** Loi de convection forcee en regime turbulent (COLBURN) A_colb = 0.023 ; B_colb = 0.8D0 ; C_colb = ('/' 1.D0 3.D0) ; *** Loi de convection forcee en regime turbulent (Gnielinski) A_gnie = 1.7372 ; B_gnie = 1.964 ; C_gnie = -3.8215 ; s_23 = 2. / 3. ; *** Methode d'inversion *** MetInv = 'ITERAT' ; comm moins robuste mais plus rapide ; SI ( EGA MetInv 'DIRECT' ) ; IndInv = 1 ; SINON ; IndInv = 3 ; FINSI ; RegEcoM = TABLE ; RegEcoD = TABLE ; RTUR = 'TURB' ; RLAM = 'LAMI' ; *** DONNEES RELATIVES A L ECOULEMENT: ***************************************************************** *** PROPRIETES MATERIAUX ***************************************************************** *** ici les temperatures PROGTAc sont en degres CELSIUS *** Conducibilite Thermique ACIER 'T' PROGTAc 'K' LAMACIER ; *** On n'utilise pas ces valeurs *** Chaleur specifique ACIER 'T' PROGTAc 'C' CPACIER ; *** DENSITE ACIER 'T' PROGTAc 'RHO' ROACIER ; * *** HELIUM 8 MPA * *** ATTENTION: LES PROGRESSIONS DOIVENT AVOIR LA MEME LONGEUR *** ici les temperatures PROGTHe sont en degres CELSIUS 350. 360. 370. 380. 390. 400. 410. 420. 430. 440. 450. 460. 470. 480. 490. 500. 510. 520. 530. 540. 550. ; PROGRHO = PROG 7.2195 7.0872 6.9596 6.8365 6.7176 6.6029 6.4919 6.3847 6.2809 6.1804 6.0831 5.9888 5.8974 5.8087 5.7227 5.6391 5.5580 5.4791 5.4025 5.3280 5.2554 5.1849 5.1162 5.0493 4.9841 4.9206 4.8587 4.7983 4.7394 4.6819 4.6258 ; PROGCP = PROG 5183.9 5184.2 5184.5 5184.8 5185.1 5185.4 5185.6 5185.9 5186.1 5186.3 5186.5 5186.7 5186.9 5187.1 5187.3 5187.4 5187.6 5187.7 5187.9 5188.0 5188.1 5188.3 5188.4 5188.5 5188.6 5188.7 5188.8 5188.9 5188.9 5189.0 5189.1 ; PROGLAM = PROG 0.23121 0.23432 0.23741 0.24049 0.24354 0.24658 0.24960 0.25261 0.25560 0.25857 0.26152 0.26446 0.26738 0.27029 0.27318 0.27606 0.27892 0.28176 0.28460 0.28741 0.29022 0.29300 0.29578 0.29854 0.30129 0.30402 0.30675 0.30946 0.31215 0.31484 0.31751; PROGMU = PROG 2.86840E-05 2.90485E-05 2.94108E-05 2.97711E-05 3.01293E-05 3.04856E-05 3.08401E-05 3.11927E-05 3.15435E-05 3.18927E-05 3.22402E-05 3.25862E-05 3.29307E-05 3.32737E-05 3.36154E-05 3.39557E-05 3.42947E-05 3.46325E-05 3.49691E-05 3.53045E-05 3.56389E-05 3.59722E-05 3.63046E-05 3.66360E-05 3.69664E-05 3.72960E-05 3.76248E-05 3.79527E-05 3.82799E-05 3.86064E-05 3.89322E-05; *** helium : la procedure PTH_HE8 sort ro mu lambda cp *** acier : la procedure PTH_ACI sort ro lambda cp **************************************************************** *** IDENTIFICATION DES SURFACES D ECHANGE **************************************************************** (POINT VFW PLAN (XMIN 0. 0.) (XMIN 1. 0.) (XMIN 0. 1.)); * SIN1 = CTUBES . 2; * SIN2 = CTUBES . 6; *bp2016 : on ne sait pas a priori comment range CCON pSIN1 = 0.0000 7.66500E-02 -1.6490 ; pSIN2 = 0.0000 1.09500E-02 -1.10000E-02; SIN1t = CTUBES . &bccon; si (n1t ega 20); si (x1 < 1.E-4); isin1 = &bccon; finsi; si (x2 < 1.E-4); isin2 = &bccon; finsi; finsi; fin bccon; SIN1 = CTUBES . isin1; SIN2 = CTUBES . isin2; list EXPTUBES ; * SCONV1 = EXPTUBES . 2; * SCONV2 = EXPTUBES . 3; pconv1 = 0.28682 6.57000E-02 -0.77540; pconv2 = 0.28682 2.19000E-02 -0.88460; SCONV1t = EXPTUBES . &bccon; * p1t = BARY SCONV1t; * MESS &bccon ' : ' n1t (coor p1t 1) (coor p1t 2) (coor p1t 3); * 2 : 600 0.28682 6.57000E-02 -0.77540 * 3 : 600 0.28682 2.19000E-02 -0.88460 si (n1t ega 600); si (x1 < 1.E-4); iconv1 = &bccon; finsi; si (x2 < 1.E-4); iconv2 = &bccon; finsi; finsi; fin bccon; SCONV1 = EXPTUBES . iconv1; SCONV2 = EXPTUBES . iconv2; **************************************************************** *** PARTITIONNEMENT DES SURFACES D ECHANGE **************************************************************** TUBE1 = TABLE; TUBE2 = TABLE; TUBE1 . 'G' = GTUBE; TUBE1 . 'PM' = PMOUL; TUBE1 . 'DH' = DIAM; TUBE1 . 'RHO' = EVOROHE; TUBE1 . 'LAM' = EVOLAMHE; TUBE1 . 'CP' = EVOCPHE; TUBE1 . 'MU' = EVOMUHE; TUBE2 . 'G' = GTUBE; TUBE2 . 'PM' = PMOUL; TUBE2 . 'DH' = DIAM; TUBE2 . 'RHO' = EVOROHE; TUBE2 . 'LAM' = EVOLAMHE; TUBE2 . 'CP' = EVOCPHE; TUBE2 . 'MU' = EVOMUHE; Spass1 = TUBE1 . 'PM' * TUBE1 . 'DH' / 4. ; Spass2 = TUBE2 . 'PM' * TUBE2 . 'DH' / 4. ; TUBE1 . SIN = SIN1; TUBE2 . SIN = SIN2; TUBE1 . SURFCONV = SCONV1; TUBE2 . SURFCONV = SCONV2; *** Flux de chaleur sur la FW (POINT VFW PLAN (0. YMIN 0.) (1. YMIN 0.) (0. YMIN 1.) ); (POINT VFW PLAN (0. YMAX 0.) (1. YMAX 0.) (0. YMAX 1.) ); (ELYMAX et ELYMIN et ELXMIN et TUBE1 . SURFCONV et TUBE2 . SURFCONV); * SFW2 = (CCON ENVEXT) . 2; * SFW1 = (CCON ENVEXT) . 1; psfw1 = 0.28310 4.38000E-02 -0.83000; psfw2 = 0.29199 4.38000E-02 -0.83000; sfw1t = ENVCCON . &bccon; * MESS &bccon ' : ' n1t (coor p1t 1) (coor p1t 2) (coor p1t 3); si (x1 < 1.E-4); isfw1 = &bccon; finsi; si (x2 < 1.E-4); isfw2 = &bccon; finsi; fin bccon; SFW2 = ENVCCON . isfw2; SFW1 = ENVCCON . isfw1; ELSIDE = ELEM SFW2 APPUYE (POINT SFW2 PLAN (0. 0. ZMAX) (1. 0. ZMAX) (0. 1. ZMAX) 0.0001); SPLSM = ELEM SFW2 APPUYE ELSIDE = ELEM SFW1 APPUYE (POINT SFW1 PLAN (0. 0. ZMAX) (1. 0. ZMAX) (0. 1. ZMAX) 0.0001); SBZ = ELEM SFW1 APPUYE PARTSURF TUBE1 ; FLUI1D_2 TUBE1 decx decy 1.0 Spass1 ; PARTSURF TUBE2; FLUI1D_2 TUBE2 decx decy 1.1 Spass2 ; sc1 = tube1.surfconv ; sc2 = tube2.surfconv ; *trac cach ( vfw et tube1.mtflu et tube2.mtflu ) ; 'ELIMINATION' (sc1 et VFW ) pelim1 ; 'ELIMINATION' (tube1.baflu et tube1.mtflu ) pelim1 ; 'ELIMINATION' (sc2 et VFW ) pelim2 ; 'ELIMINATION' (tube2.baflu et tube2.mtflu ) pelim2 ; *** On va construire le chpoint des produits scalaires de la normale *** a la face SPLSM et le vecteur unitaire i (1. 0. 0. ), egal au cosinus *** de la normale et du vecteur i, pour ponderer le flux impose et *** faire en sorte que sa direction soit donc constante. On cree un *** nouveau maillage SPLSM2 oriente vers l'exterieur. _SPLSM2 et $SPLSM2 *** sont respectivement les elements QUAF et le modele Navier-Stokes *** correspondant. *** Idem avec la face SBZ *** On va multiplier ce produit scalaire par le flux impose. fin x ; *** Generation des QUAFs *** -------------------- _baflu1 = 'CHANGER' tube1.baflu 'QUAF' ; _mtflu1 = 'CHANGER' tube1.mtflu 'QUAF' ; _Clim1 = 'CHANGER' sc1 'QUAF' ; _VFW = 'CHANGER' VFW 'QUAF' ; _baflu2 = 'CHANGER' tube2.baflu 'QUAF' ; _mtflu2 = 'CHANGER' tube2.mtflu 'QUAF' ; _Clim2 = 'CHANGER' sc2 'QUAF' ; _SPLSM = 'CHANGER' SPLSM 'QUAF' ; _SBZ = 'CHANGER' SBZ 'QUAF' ; 'TEMPS' 'ZERO' ; cfc1 mcf1 mfc1 = matcon0 ( tube1 . fac0 ) ( tube1 . ele0 ) ; *** Elimination des points doubles *** ------------------------------ 'ELIMINATION' ( _baflu1 'ET' _mtflu1 'ET' cfc1 ) pelim1 ; 'ELIMINATION' ( _Clim1 'ET' _VFW 'ET' cfc1 ) pelim1 ; cfc2 mcf2 mfc2 = matcon0 ( tube2 . fac0 ) ( tube2 . ele0 ) ; *** Elimination des points doubles *** ------------------------------ 'ELIMINATION' ( _baflu2 'ET' _mtflu2 'ET' cfc2 ) pelim2 ; 'ELIMINATION' ( _Clim2 'ET' _VFW 'ET' cfc2 ) pelim2 ; *** ***** Densite de puissance neutronique afw = 2.7116 ; bfw = 13.673 ; cfw = 3.3047 ; dfw = 5.425 ; FACTF = 0.78/0.75; Pr_NWLfw = FACTF * ( (afw * (EXP ( -1. * bfw * Pr_Xfw))) + (cfw * (EXP ( -1. * dfw * Pr_Xfw))) ); NWP_fw = NWP_fw * 1.E6; *** Recapitulatif *** ------------- Mess 'Recapitulatif : ' ; Mess ; SI ( EGA MetInv 'DIRECT' ) ; Mess 'Methode d inversion directe, robuste mais lente' ; SINON ; 'Methode d inversion iterative, moins robuste mais plus rapide'; FINSI ; SI EchColb ; MESS 'Loi echange turbulent COLBURN' ; SINON ; MESS 'Loi echange turbulent Gnielinski' ; FINSI ; SI (non complet) ; MESS 'Calcul test avec ' nb_bouc ' iterations' ; SINON ; MESS 'Calcul nominal avec ' nb_bouc ' iterations' ; FINSI ; *gounand opti echo 1 ; *********************************************************** * * *** PREPARATION DU CALCUL * * * *********************************************************** * *** Modeles Navier-Stokes *** --------------------- $baflu1 = 'MODELISER' _baflu1 'NAVIER_STOKES' discr ; $mtflu1 = 'MODELISER' _mtflu1 'NAVIER_STOKES' discr ; $Clim1 = 'MODELISER' _Clim1 'NAVIER_STOKES' discr ; $baflu2 = 'MODELISER' _baflu2 'NAVIER_STOKES' discr ; $mtflu2 = 'MODELISER' _mtflu2 'NAVIER_STOKES' discr ; $Clim2 = 'MODELISER' _Clim2 'NAVIER_STOKES' discr ; $VFW = 'MODELISER' _VFW 'NAVIER_STOKES' discr ; $SPLSM = 'MODELISER' _SPLSM 'NAVIER_STOKES' discr ; $SBZ = 'MODELISER' _SBZ 'NAVIER_STOKES' discr ; *** Initialisation des tables pour les calculs Thermiques structures et fluides rvsol = 'EQEX' rvsol 'OPTI' 'EF' 'IMPL' 'ZONE' $VFW 'OPER' 'LAPN' 'Lacier' 'INCO' 'TSOL' 'ZONE' $Clim1 'OPER' 'ECHI' 'H1' 'T1' 'INCO' 'TSOL' 'TSOL' 'ZONE' $Clim2 'OPER' 'ECHI' 'H2' 'T2' 'INCO' 'TSOL' 'TSOL' ; rvsol = 'EQEX' rvsol 'OPTI' 'EF' 'IMPL' 'ZONE' $VFW 'OPER' 'FIMP' 'Soursol' 'INCO' 'TSOL' 'ZONE' $SPLSM 'OPER' 'FIMP' FSPLSM9 'INCO' 'TSOL' 'ZONE' $SBZ 'OPER' 'FIMP' FSBZ9 'INCO' 'TSOL' ; rvsol . 'METHINV' . 'TYPINV' = IndInv ; *** Dans l'eau rvflu = 'EQEX' rvflu 'OPTI' 'EF' 'IMPL' 'CENTREE' 'NOCONS' 'ZONE' $mtflu1 'OPER' 'KONV' 'RCPFLU1' 'UFLU1' 'LFLU1' 'INCO' 'TFLU' 'ZONE' $mtflu2 'OPER' 'KONV' 'RCPFLU2' 'UFLU2' 'LFLU2' 'INCO' 'TFLU' ; rvflu = 'EQEX' rvflu 'OPTI' 'EF' 'IMPL' 'ZONE' $mtflu1 'OPER' 'LAPN' 'LFLU1' 'INCO' 'TFLU' 'ZONE' $mtflu1 'OPER' 'FIMP' 'PFLU1' 'INCO' 'TFLU' 'ZONE' $mtflu2 'OPER' 'LAPN' 'LFLU2' 'INCO' 'TFLU' 'ZONE' $mtflu2 'OPER' 'FIMP' 'PFLU2' 'INCO' 'TFLU' ; *** Conditions aux limites en temperature lames d'eau rvflu = 'EQEX' rvflu ; *** Initialisation de toutes les variables avant le calcul rvi = 'TABLE' 'INCO' ; rvsol . 'INCO' = rvi ; rvflu . 'INCO' = rvi ; LamAci = ( pth_aci TFLUek ) . 'LAMS' ; *** Copy of the fields to do the convergence check : thep = 'COPIER' (rvi . 'TFLU') ; tcbp = 'COPIER' (rvi . 'TSOL') ; *** Initialisation des proprietes physiques de l'helium : Rt_He8 = PTH_HE8 TFLUek ; rflu = Rt_He8 . 'ROG' ; muflu = Rt_He8 . 'MUG' ; lflu = Rt_He8 . 'LAMG' ; cpflu = Rt_He8 . 'CPG' ; *** TUBEx . 'G' est un debit massique en kg/s uflu1 = (( TUBE1 . 'G' / Spass1 ) / rflu) ; uflu2 = (( TUBE2 . 'G' / Spass2 ) / rflu) ; reyn6 = rflu * uflu1 * diam / muflu ; mess diam reyn6 uflu1 ; **************************************************************************** *** BOUCLE DE CALCUL * *** * **************************************************************************** 'TEMPS' 'ZERO' ; 'REPETER' bouc nb_bouc ; ('-' ('MAXIMUM' tmyflu1) CK) ; ('-' ('MAXIMUM' tmyflu2) CK) ; tmtif1 = '*' mcf1 tmyflu1 ; tmtif2 = '*' mcf2 tmyflu2 ; chpobor 'Tre interface 1 (Celsius )' (( rvi . 'T1' ) - CK ) ; chpobor 'Tre interface 2 (Celsius )' (( rvi . 'T2' ) - CK ) ; *** 3) Calcul du coefficient d'echange a l'interface *** et des proprietes physiques du solide *** a partir des temperatures a l'instant precedent. *** Temperature de melange tm1 = rvi . 'T1' ; tm2 = rvi . 'T2' ; *** Temperature a la paroi *** Temperature de film tfi1 = '*' ('+' tm1 tp1) 0.5D0 ; tfi2 = '*' ('+' tm2 tp2) 0.5D0 ; pptfil1 = PTH_HE8 tfi1 ; mufil1 = pptfil1 . 'MUG' ; lfil1 = pptfil1 . 'LAMG'; cpfil1 = pptfil1 . 'CPG' ; pptfil2 = PTH_HE8 tfi2 ; mufil2 = pptfil2 . 'MUG' ; lfil2 = pptfil2 . 'LAMG'; cpfil2 = pptfil2 . 'CPG' ; pranfil1 = '*' ('*' mufil1 cpfil1) ('INVERSE' lfil1) ; pranfil2 = '*' ('*' mufil2 cpfil2) ('INVERSE' lfil2) ; SI ( EGA &bouc 1 ) ; *** Calcul des nombres de Reynolds a partir de la temperature fluide (une fois) rofil9 = pptfil9 . 'ROG' ; mufil9 = pptfil9 . 'MUG' ; lfil9 = pptfil9 . 'LAMG'; cpfil9 = pptfil9 . 'CPG' ; Reflu1 = ( ( TUBE1 . 'G' ) * ( TUBE1 . 'DH' ) / Spass1 ) / mufil9 ; rofil9 = pptfil9 . 'ROG' ; mufil9 = pptfil9 . 'MUG' ; lfil9 = pptfil9 . 'LAMG'; cpfil9 = pptfil9 . 'CPG' ; Reflu2 = ( ( TUBE2 . 'G' ) * ( TUBE2 . 'DH' ) / Spass2 ) / mufil9 ; Mess 'Nb de Reynolds ' ; chpobor 'interne fluide 1 ' Reflu1 ; chpobor 'interne fluide 2 ' Reflu2 ; SI ( Reflu1 > seuilam ) ; RegEcoM.1 = RTUR ; SINON ; RegEcoM.1 = RLAM ; FINSI ; SI ( Reflu2 > seuilam ) ; RegEcoM.2 = RTUR ; SINON ; RegEcoM.2 = RLAM ; FINSI ; MESS ; *gounand opti echo 1 ; SI EchColb ; *** Colburn nuss1 = A_colb '*' ('**' Reflu1 B_colb) '*' ('**' pranfil1 C_colb) ; SINON ; *** Gnielinski ReyGnie = Reflu1 - 1000. ; ReyLogG = LOG Reflu1 ; K_gnie = A_gnie * (LOG (Reflu1 / (( B_gnie * ReyLogG ) + C_gnie ))) ; F_frot = 0.5 / ( K_gnie ** 2. ) ; F_frot2 = F_frot ** 0.5 ; chpobor 'Reyn - 1000. ' ReyGnie ; chpobor 'coeff frott ' ( 2. * F_frot ); PrGnie = ((pranfil1 ** s_23 ) - 1. ) ; chpobor 'Pr**2/3 - 1 ' PrGnie ; nuss1 = F_frot * pranfil1 * ReyGnie / ( 1. + (12.7 * F_frot2 * PrGnie )) ; FINSI ; SINON ; nuss1 = Nusslam ; nuss2 = Nusslam ; FINSI ; SI EchColb ; *** Colburn nuss2 = A_colb '*' ('**' Reflu2 B_colb) '*' ('**' pranfil2 C_colb) ; SINON ; *** Gnielinski ReyGnie = Reflu2 - 1000. ; ReyLogG = LOG Reflu2 ; K_gnie = A_gnie * (LOG (Reflu2 / (( B_gnie * ReyLogG ) + C_gnie ))) ; F_frot = 0.5 / ( K_gnie ** 2. ) ; F_frot2 = F_frot ** 0.5 ; chpobor 'Reyn - 1000. ' ReyGnie ; chpobor 'coeff frott ' ( 2. * F_frot ); PrGnie = ((pranfil2 ** s_23 ) - 1. ) ; chpobor 'Pr**2/3 - 1 ' PrGnie ; nuss2 = F_frot * pranfil2 * ReyGnie / ( 1. + (12.7 * F_frot2 * PrGnie )) ; FINSI ; SINON ; nuss1 = Nusslam ; nuss2 = Nusslam ; FINSI ; *** Coefficients d'echange cech1 = nuss1 * lfil1 / ( TUBE1 . 'DH' ) ; cech2 = nuss2 * lfil2 / ( TUBE2 . 'DH' ) ; mess 'Diametres hydrauliques' ; chpobor 'fluide 1 ' ( TUBE1 . 'DH' ) ; chpobor 'fluide 2 ' ( TUBE2 . 'DH' ) ; mess 'Conductivites ' ; chpobor 'fluide 1 ' lfil1 ; chpobor 'fluide 2 ' lfil2 ; mess 'Nb de Prandtl ' ; chpobor 'fluide 1 ' pranfil1; chpobor 'fluide 2 ' pranfil2; mess 'Nb de Nusselt ' ; chpobor 'fluide 1 ' nuss1; chpobor 'fluide 2 ' nuss2; chpobor 'champ rvi echange 1 ' ( rvi . 'H1' ) ; chpobor 'champ rvi echange 2 ' ( rvi . 'H2' ) ; *** Proprietes physiques du solide lcb = ( pth_aci tinter9 ) . 'LAMS' ; *** 3bis) Activation des sources internes dans les des structures (en W/m3) *** Commentaires : *** Comme lors de l'initialisation : on calcule la masse volumique de *** chaque corps a partir de la temperature. Puis on en deduit les *** puissances des sources internes. *** 4) Resolution de la thermique dans les structures EXEC rvsol ; (( rvi.tsol ) - CK ) ; *gounand opti echo 1 ; *** 5) Calcul du flux de chaleur aux interfaces Solides/Fluides *** solide/Fluide 1 'ZONE' $clim1 'OPER' 'MDIA' 'H1' 'INCO' 'TSOL' 'F1' ; rvmdia1 . 'INCO' = rvi ; 'ZONE' $clim1 'OPER' 'MDIA' 'H1' 'INCO' 'T1' 'F1' ; rvmdia2 . 'INCO' = rvi ; 'MESSAGE' ('MAXIMUM' ('RESULT' flx1)) ; *** solide/Fluide 2 'ZONE' $clim2 'OPER' 'MDIA' 'H2' 'INCO' 'TSOL' 'F2' ; rvmdia1 . 'INCO' = rvi ; 'ZONE' $clim2 'OPER' 'MDIA' 'H2' 'INCO' 'T2' 'F2' ; rvmdia2 . 'INCO' = rvi ; 'MESSAGE' ('MAXIMUM' ('RESULT' flx2)) ; *** 6) Transfert en une puissance volumique dans le fluide pflx1 = '*' mfc1 flx1 ; chpobor 'interface fluide 1 tube solide ' pflx1 ; chpobor ( rvi . 'PFLU1' ) ; pflx2 = '*' mfc2 flx2 ; chpobor 'interface fluide 2 tube solide ' pflx2 ; chpobor ( rvi . 'PFLU2' ) ; *** 6bis) Activation des sources internes dans le fluide (en W/m3) *** Commentaires : *** Comme lors de l'initialisation : on calcule la masse volumique de *** chaque corps a partir de la temperature. Puis on en deduit les *** puissances des sources internes. *** 7) Calcul des proprietes physiques fluide *** a partir des variables a l'instant precedent. *** *** Fluide 1 : ppthe8s = PTH_HE8 Tflus ; ppthe8c = PTH_HE8 Tfluc ; rhes = ppthe8s . 'ROG' ; muhes = ppthe8s . 'MUG' ; lhes = ppthe8s . 'LAMG' ; cphes = ppthe8s . 'CPG' ; rhec = ppthe8c . 'ROG' ; muhec = ppthe8c . 'MUG' ; lhec = ppthe8c . 'LAMG' ; cphec = ppthe8c . 'CPG' ; chpobor 'rvi . uflu1 : ' fb1 ; *** Fluide 2 : ppthe8s = PTH_HE8 Tflus ; ppthe8c = PTH_HE8 Tfluc ; rhes = ppthe8s . 'ROG' ; muhes = ppthe8s . 'MUG' ; lhes = ppthe8s . 'LAMG' ; cphes = ppthe8s . 'CPG' ; rhec = ppthe8c . 'ROG' ; muhec = ppthe8c . 'MUG' ; lhec = ppthe8c . 'LAMG' ; cphec = ppthe8c . 'CPG' ; chpobor 'rvi . uflu2 : ' fb2 ; *** 8) Calcul de la temperature dans l'eau EXEC rvflu ; chpobor 'temperature fluide (Celsius) : ' ((rvi . 'TFLU') - CK ); *** Convergence : then = 'COPIER' (rvi . 'TFLU') ; tcbn = 'COPIER' (rvi . 'TSOL') ; errhe = '/' ('MAXIMUM' ('-' then thep) 'ABS') ('MAXIMUM' thep 'ABS') ; errcb = '/' ('MAXIMUM' ('-' tcbn tcbp) 'ABS') ('MAXIMUM' tcbp 'ABS') ; 'MESSAGE' ('CHAINE' 'Iteration ' &bouc) ; 'MESSAGE' ('CHAINE' ' errhe = ' errhe) ; 'MESSAGE' ('CHAINE' ' errcb = ' errcb) ; thep = then ; tcbp = tcbn ; testcvg = 'ET' (errhe '<' 1.D-4) (errcb '<' 1.D-4) ; 'SI' testcvg ; maxiter = faux ; 'QUITTER' bouc ; 'FINSI' ; fin bouc ; TCpu2 = tcpu9 0. ; ************************************************************************ *** **------------ FIN DU CALCUL ------------------------------******** ************************************************************************ *********************************************************************** *** POST TRAITEMENT SOMMAIRE *********************************************************************** *** Calcul des Temperatures et les vitesses *** --------------------------------------- t_tn = rvsol . 'INCO' . 'TSOL' ; TsoliC = (rvi . 'TSOL') - CK ; TfluiC = (rvi . 'TFLU') - CK ; *** Verification des bilans de puissance Wsolid = 'MAXIMUM' ('RESULT'(( rvi . 'Soursol' ) * Ecform 'Diametre passage fluide 1 ' '(F5.3)' 'm' ( TUBE1 . 'DH' ) ; Ecform 'Diametre passage fluide 2 ' '(F5.3)' 'm' ( TUBE2 . 'DH' ) ; Ecform 'Surface de passage fluide 1 ' '(E12.5)' 'm2' Spass1 ; Ecform 'Surface de passage fluide 2 ' '(E12.5)' 'm2' Spass2 ; Ecform 'Debit massique fluide 1 ' '(F5.2)' 'kg/s' ( TUBE1 . 'G' ) ; Ecform 'Debit massique fluide 2 ' '(F5.2)' 'kg/s' ( TUBE2 . 'G' ) ; Ecform 'Volume solide ' '(E12.5)' 'm3' VoSol ; Ecform 'Densite de puissance interne ' '(E12.5)' 'W/m3' Sousol ; chpobor 'X_TOT (pour sources) : ' X_TOT ; Ecform 'Puissance surfacique plasma ' '(E12.5)' 'W' W_SPLSM ; Ecform 'Puissance surfacique interne ' '(E12.5)' 'W' W_SBZ ; WsolTot = Wsolid + W_SPLSM + W_SBZ ; WfluTot = ('MAXIMUM' ('RESULT' flx1)) + ('MAXIMUM' ('RESULT' flx2)) ; Chpobor 'Coefficient echange fluide 1 (W/m2.K) ' Cech1 ; Chpobor 'Coefficient echange fluide 2 (W/m2.K) ' Cech2 ; ecform '(E12.5)' 'W' ('MAXIMUM' ('RESULT' flx1)) ; ecform '(E12.5)' 'W' ('MAXIMUM' ('RESULT' flx2)) ; ecform 'Puissance totale solide ' '(E12.5)' 'W' WsolTot ; ecform 'Puissance totale fluide ' '(E12.5)' 'W' WfluTot ; mess ; chpobor 'temperatures solides min & max (Celsius) ' mess ; si complet ; sinon ; finsi ; si complet ; *** Evolution fluide 1 *** ------------------ pt = mtfc9c point &x ; si ( ega &x 1 ) ; dqqc = val89 ; drrc = wal89 ; sinon ; dqqc = dqqc et val89 ; drrc = drrc et wal89 ; finsi ; fin x ; *** Evolution fluide 2 *** ------------------ pt = mtfc9c point &x ; si ( ega &x 1 ) ; dqqc = val89 ; drrc = wal89 ; sinon ; dqqc = dqqc et val89 ; drrc = drrc et wal89 ; finsi ; fin x ; *** Chercher les abscisses curvilignes factech = 2. ; loupe oeil TsoliC VFW 'Temperature solide' factech 0. ; loupe oeil TsoliC sc1 'Temperature interface solide-fluide 1' factech ; loupe oeil TsoliC sc2 'Temperature interface solide-fluide 2' factech ; loupe oeil TfluiC tube1.mtflu 'Temperature fluide 1' factech 5. ; loupe oeil TfluiC tube2.mtflu 'Temperature fluide 2' factech 5. ; loupe oeil TfluiC ( tube1.mtflu et tube2.mtflu ) 'Temperatures fluides 1 et 2' factech 0. ; finsi ; ************************************************************************ ****************FIN DU POST-TRAITEMENT SOMMAIRE************************* ************************************************************************ 'TEMPS' 'ZERO' ; rvsol . METHINV.'MATASS'=matvide; rvsol . METHINV.'MAPREC'=matvide; rvflu . METHINV.'MATASS'=matvide; rvflu . METHINV.'MAPREC'=matvide; menage; TCpu3 = tcpu9 0. ; mess 'Duree calcul matrices des connectivites : ' TCpu1 ; mess 'Duree calcul iteratif : ' TCpu2 ; mess 'Duree menage : ' TCpu3 ; FIN ;
© Cast3M 2003 - Tous droits réservés.
Mentions légales