* fichier : ccar_cond.dgibi ************************************************************************ ************************************************************************ 'OPTION' 'ECHO' 0 ; ************************************************************************ * NOM : CCAR_COND * DESCRIPTION : Cavité chauffée contenant un carré conducteur * centré. * Refs biblio: * @article{Lee20053308, * title = "A numerical study of natural convection in a horizontal enclosure with a conducting body ", * journal = "International Journal of Heat and Mass Transfer ", * volume = "48", * number = "16", * pages = "3308 - 3318", * year = "2005", * doi = "http://dx.doi.org/10.1016/j.ijheatmasstransfer.2005.02.026", * url = "http://www.sciencedirect.com/science/article/pii/S0017931005001948", * author = "Jae Ryong Lee and Man Yeong Ha" * } * @article{doi:10.1080/10407789008944791, * author = {House, John M. and Beckermann, Christoph and Smith, Theodore F.}, * title = {EFFECT OF A CENTERED CONDUCTING BODY ON NATURAL CONVECTION HEAT TRANSFER IN AN ENCLOSURE}, * journal = {Numerical Heat Transfer, Part A: Applications}, * volume = {18}, * number = {2}, * pages = {213-225}, * year = {1990}, * doi = {10.1080/10407789008944791}, * URL = {http://dx.doi.org/10.1080/10407789008944791} * } * En fait, on fait le cas de House (chauffage par le mur gauche), plutôt * que le cas de Lee (chauffage par le bas). Lee utilise House pour valider * son code et donne les valeurs du Nusselt pour Ra=10^5. * On compare le nusselt sur le cas Ra=10^5, alph=5. * * * LANGAGE : GIBIANE-CAST3M * AUTEUR : Stéphane GOUNAND (CEA/DEN/DM2S/SFME/LTMF) * mél : gounand@semt2.smts.cea.fr ********************************************************************** * VERSION : v1, 18/04/2014, version initiale * HISTORIQUE : v1, 18/04/2014, création * HISTORIQUE : * HISTORIQUE : ************************************************************************ * interact = FAUX ; graph = FAUX ; complet = FAUX ; * * * Physique * asp : longueur du carré solide / longueur du carré fluide * Pr : nombre de Prandtl * Ra : nombre de Rayleigh * alph : diffusivité solide / diffusivité fluide * asp = 0.5 ; alph = 5. ; Pr = 0.7 ; Ra = 1.d5 ; * nu = Pr ; gb = (0. ('*' ('*' Ra Pr) -1.)) ; alfl = 1. ; alfs = '*' alfl alph ; * * Maillages + discrétisation : * den : taille de maille * disv : élément fini pour la vitesse * disp : élément fini pour la pression * dec : décentrement des termes convectifs (CENTREE, SUPG ou SUPGDC) * nitma : nombre de pas de temps * pdt : valeur du pas de temps * niter : nombre d'itérations de point fixe * omeg : sous-relaxation * insta = VRAI on fait de l'instationnaire (Ra=10^6) * = FAUX on essaie de calculer directement le stationnaire * (marche pour Ra<=10^5) 'SI' complet ; den = 0.025 ; 'SINON' ; den = 0.075 ; 'FINSI' ; disv = 'QUAF' ; disp = 'CENTREP1' ; insta = Ra '>' 5.d5 ; 'SI' insta ; dec = 'SUPG' ; niter = 5 ; omeg = 0.5 ; pdt = 0.0025 ; npdt = 100 ; 'SINON' ; dec = 'CENTREE' ; niter = 30 ; omeg = 0.5 ; npdt = 1 ; * niter = 2 ; omeg = 1. ; npdt = 1 ; 'FINSI' ; * * Maillage * 'DENS' den ; p0 = 0. 0. ; p1 = 1. 0. ; p2 = 1. 1. ; p3 = 0. 1. ; pcen = 0.5 0.5 ; bas = 'DROIT' p0 p1 ; dro = 'DROIT' p1 p2 ; hau = 'DROIT' p2 p3 ; gau = 'DROIT' p3 p0 ; bass dros haus gaus = 'HOMOTHETIE' bas dro hau gau asp pcen ; cext = bas 'ET' dro 'ET' hau 'ET' gau ; cint = bass 'ET' dros 'ET' haus 'ET' gaus ; mtf = 'REGLER' cint cext ; mts = 'DALLER' bass dros haus gaus ; mtf = 'COULEUR' mtf 'BLEU' ; mts = 'COULEUR' mts 'ROUG' ; mt = mtf 'ET' mts ; *mt = 'SURFACE' (cext 'ET' ('INVERSE' cint) ; 'SI' graph ; 'TRACER' mt 'TITR' tit ; 'FINSI' ; * * Création des éléments quadratique fluides * et des modèles NAVIER_STOKES * _mt = 'CHANGER' mt 'QUAF' ; _mtf = 'CHANGER' mtf 'QUAF' ; _mts = 'CHANGER' mts 'QUAF' ; _bas = 'CHANGER' bas 'QUAF' ; _dro = 'CHANGER' dro 'QUAF' ; _hau = 'CHANGER' hau 'QUAF' ; _gau = 'CHANGER' gau 'QUAF' ; _cint = 'CHANGER' cint 'QUAF' ; _cext = 'CHANGER' cext 'QUAF' ; 'ELIMINATION' (_mt 'ET' _mtf 'ET' _mts 'ET' _bas 'ET' _dro 'ET' _hau 'ET' _gau 'ET' _cint 'ET' _cext) 1.D-6 ; * $mt = 'MODELISER' _mt 'NAVIER_STOKES' disv ; $mtf = 'MODELISER' _mtf 'NAVIER_STOKES' disv ; $mts = 'MODELISER' _mts 'NAVIER_STOKES' disv ; $bas = 'MODELISER' _bas 'NAVIER_STOKES' disv ; $dro = 'MODELISER' _dro 'NAVIER_STOKES' disv ; $hau = 'MODELISER' _hau 'NAVIER_STOKES' disv ; $gau = 'MODELISER' _gau 'NAVIER_STOKES' disv ; $cint = 'MODELISER' _cint 'NAVIER_STOKES' disv ; $cext = 'MODELISER' _cext 'NAVIER_STOKES' disv ; * * Création du point où on impose la référence de pression (cavité * fermée) * mp1 = 'MANUEL' ppres 'POI1' ; * * Description du problème (NS incompressible Boussinesq) * * Navier-Stokes rv = 'EQEX' rv 'OPTI' 'EF' 'IMPL' dec 'OPTI' 'EF' 'IMPL' 'CENTREE' disp 'SI' insta ; rv = 'EQEX' rv 'OPTI' 'EF' 'IMPL' 'CENTREE' 'FINSI' ; * Energie * liquide rv = 'EQEX' rv 'OPTI' 'EF' 'IMPL' dec 'ZONE' $mtf 'OPER' 'KONV' 1. 'UN' alfl 'INCO' 'TN' 'OPTI' 'EF' 'IMPL' 'CENTREE' 'ZONE' $mtf 'OPER' 'LAPN' alfl 'INCO' 'TN' ; * solide rv = 'EQEX' rv 'OPTI' 'EF' 'IMPL' 'CENTREE' 'ZONE' $mts 'OPER' 'LAPN' alfs 'INCO' 'TN' ; 'SI' insta ; rv = 'EQEX' rv 'OPTI' 'EF' 'IMPL' 'CENTREE' 'FINSI' ; * Conditions aux limites * dynamiques rv = 'EQEX' rv 'CLIM' 'UN' 'UIMP' (cint 'ET' cext) 0. 'UN' 'VIMP' (cint 'ET' cext) 0. 'PN' 'TIMP' mp1 0. ; * thermiques rv = 'EQEX' rv 'CLIM' 'TN' 'TIMP' gau 1. 'TN' 'TIMP' dro 0. ; * * Table des inconnues et conditions initiales * rv . 'INCO' = 'TABLE' 'INCO' ; * Perturbation du champ de température initial pour déclencher * l'instabilité tnal = 'BRUIT' 'BLAN' 'UNIF' 0.5 0.1 mtf ; * 'SI' insta ; 'FINSI' ; * * Résolution du problème * EXEC rv ; * * Post-traitement * * Tracés 'SI' graph ; vit = rv . 'INCO' . 'UN' ; nvit = '**' ('PSCAL' vit vit ncovit ncovit) 0.5 ; mvit = 'MAXIMUM' nvit ; cmt = 'CONTOUR' mtf ; pre = rv . 'INCO' . 'PN' ; 'TRACER' prep mtf cmt 'TITR' 'Pression' ; tem = rv . 'INCO' . 'TN' ; 'TRACER' tem mt cmt 'TITR' 'Temperature' ; 'FINSI' ; * Calcul du Nusselt tem = rv . 'INCO' . 'TN' ; nusdro))) ; 'MESSAGE' ('CHAINE' 'nusgau=' nusgau) ; 'MESSAGE' ('CHAINE' 'nusdro=' nusdro) ; 'MESSAGE' ('CHAINE' 'ecar= ' ecar) ; 'SI' (ecar '>' 1.d-4) ; 'ERREUR' 'Stationnaire non atteint ou calcul du nusselt imprecis' ; 'FINSI' ; * Test de bon fonctionnement 'SI' ('ET' ('EGA' Ra 1.D5 1.) ('EGA' alph 5.)) ; * Nusselt de référence issu de House et Lee nusref = 4.324 ; 'MESSAGE' 'On effectue le test du Nusselt' ; 'MESSAGE' ('CHAINE' 'nusref=' nusref) ; ecref = 'ABS' ('/' ('-' nusdro nusref) nusref) ; 'MESSAGE' ('CHAINE' 'ecref=' ecref) ; 'SI' complet ; ecmax = 1.D-3 ; 'SINON' ; ecmax = 4.D-2 ; 'FINSI' ; 'MESSAGE' ('CHAINE' 'ecmax=' ecmax) ; 'SI' (ecref '>' ecmax) ; 'MESSAGE' ('CHAINE' 'Resultat imprecis') ; 'ERREUR' 5 ; 'SINON' ; 'MESSAGE' ('CHAINE' 'Tout sest bien passe !') ; 'FINSI' ; 'FINSI' ; 'SI' interact ; 'OPTION' 'ECHO' 1 ; 'OPTION' 'DONN' 5 ; 'FINSI' ; * * End of dgibi file CCAR_COND * 'FIN' ;
© Cast3M 2003 - Tous droits réservés.
Mentions légales