* fichier : linekmanimp.dgibi ************************************************************************ ************************************************************************ **************************************************************************** * * * Date : 06/01/99 * * Description: Cas test simulant l'écoulement dans une région * limitée par une plaque horizontale infinie en * rotation autour d'un axe perpendiculaire. * * l'ensemble du fluide tourne à une vitesse Omeg * tandis que la plaque tourne à la vitesse * (Omeg + ddom). * * Les calculs étant effectués en axi-symétrique, * seule la moitié de la région est représentée. * L'axe de rotation constitue l'axe des z de notre * étude. La plaque inférieure a pour équation z = 0. * * La région étant par ailleurs infinie, on est bien * entendu obligé de la limiter dans notre étude. * On met les conditions adéquates au bord. * * * Objet : Le but de ce test est de valider la mise * en place sous CASTEM 2000 de calculs en * "vrai axi-symétrique", c'est à dire pour * lesquels la composante ortho-radiale de * la vitesse n'est pas nulle mais par contre * toutes les dérivées par rapport à la composante * ortho-radiale du repère cylindrique sont nulles. * * Les résultats issus du calcul numérique seront * comparés aux résultats prédits par la théorie * (voir M. Ungarish, Hydrodynalics of Suspensions, * p. 47, Springer-Verlag, 1993): linear ekman layer. * * La solution est permanente. * * Cet écoulement admet une solution analytique car * les termes de transport sont négligés. * * Type de calcul : PERMANENT, PAS DE TERME DE TRANSPORT * * Type de méthode : IMPLICITE * * Type d'éléments : ELEMENTS QUA9 CENTREP1 * * Opérateurs utilisés : KBBT LAPN MDIA * * * * Auteurs : Gilles Bernard-Michel * : Daniel Guilbaud pour la présente version implicite * ***************************************************************************** * * ********************* Les options utilisateur ****************************** * * ** Déformation du maillage. * DEFORM = FAUX ; * ** Sortie graphique. * GRAPH = FAUX ; * ** Test long ou court. * COMPLET = FAUX ; ************************************************************************** * ************************ On définit les propriétés physiques *************** * ** viscosité dynamique mu/rho. * nu =1.E-1 ; * ** La vitesse de rotation initiale. * omeg = 1 ; * ** Le nombre de Rossby. * Rosb = 0.0 ; * ** L'impulsion. * ddom = 1 ; * ********************* On traite les aspects géométriques ******************** * * ** Les paramètres de la géométrie. * rint = 0.5 ; rext = 1.; hh = 1. ; * ** Densité du maillage. * SI (NON COMPLET); nptx = 10; nptz = 20; SINON; nptx = 30; nptz = 60; FINSI; * ** Constantes caractérisant les différentes couches limites. * ekma = nu / (abs omeg) ; ddek = ekma**0.5; * ** Les sommets du bol * p1 = rint 0. ; p2 = rext 0. ; p3 = rext hh ; p4 = rint hh ; * ** Assemblage des bords du domaine. * bas = d nptx p1 p2; cdro = d nptz p2 p3; haut = d nptx p3 p4; cgau = d nptz p4 p1; * ** On maille. * cnt = bas et cdro et haut et cgau; mt= bas cdro haut cgau daller ; tass mt ; * ** On réoriente les éléments. * mt = orienter mt ; * ** On déforme le maillage avec un bruit gaussien. ** Sous réserve que l'option soit selectionnée. * SI (DEFORM); ** Amplitude des déformation (nombre arbitraire, 1 donne une déformation ** acceptable pour le maillage). ampdef = 1. ; mmt = CHANGE mt POI1; ccnt= CHANGE cnt POI1; denn = (0.03 * ampdef) / nptx; brbl1 = BRUIT BLAN GAUS 0 denn inmt; brbl2 = BRUIT BLAN GAUS 0 denn inmt; DEPLAC mt PLUS brbl; FINSI; * ** On trace le maillage obtenu. * SI GRAPH ; titre 'tracé du maillage' ; trace mt ; FINSI ; * ** On crée le domaine associé au maillage. * * transformation des éléments en qua9 £mt = CHANGER mt QUAF ; £haut = CHANGER haut QUAF ; £cnt = CHANGER cnt QUAF ; £cgau = CHANGER cgau QUAF ; £bas = CHANGER bas QUAF ; £cdro = CHANGER cdro QUAF ; * formulation du modèle NAVIER_STOKES * ************************ On défini les conditions sur les vitesses ************** * * ** On se donne l'échelle de grandeur pour le tracage. * uref= 0.2 ; * ** Calcul de la solution exacte. * zba = cory / ddek; dzba = zba * 180. / PI ; mzba = -1.*zba; urdo = ddom * corx * (EXP mzba) * (SIN dzba) ; wzdo = -1. * ddom * ddek * (1. - ((EXP mzba) * ((SIN dzba) + (COS dzba)))); vdom = ddom * corx * (EXP mzba) * (COS dzba) ; pdom = -2. * ddom * ekma * (EXP mzba) * (SIN dzba) ; zb = 1. / ddek; dzb = zb * 180. / PI ; mzb = -1 * zb; pdelt = 2. * ddom * ekma * (EXP mzb) * (SIN dzb) ; pdom = pdom + pdelt; * ****************** Mise en place du calcul numérique ******************** * * equations de qdm sur ur et uz + div V = 0 RV = EQEX $mt OPTI 'EF' 'IMPL' 'CENTREP1' 'SUPG' * il faut opti CENTREP1 pour KBBT ZONE $mt OPER LAPN nu INCO 'UN' ; * equation scalaire sur ut RV = EQEX RV OPTI 'EF' 'IMPL' 'SUPG' ZONE $mt OPER LAPN nu INCO 'VT' ZONE $mt OPER MDIA 'nusr' INCO 'VT' ; * conditions aux limites RV = EQEX RV 'CLIM' 'UN' 'UIMP' £cnt urdo 'UN' 'VIMP' (£cgau et £bas et £cdro) wzdo 'VT' 'TIMP' £cnt vdom ; * ________________ * * INITIALISATION * ________________ RV.INCO = TABLE INCO ; * terme -nu/r2 * __________ * * CALCUL * __________ EXEC RV ; * ** Calcul de l'erreur par rapport à la solution analytique. * VT = RV.INCO.'VT' ; SI ( DEFORM ) ; erv = 2.e-3 ; erp = 1.e-1 ; SINON ; erv = 1.e-5 ; erp = 5.e-2 ; FINSI ; BOOL1 = ERRUNR <EG erv ; BOOL2 = ERRUNZ <EG erv ; BOOL3 = ERRVT <EG erv ; BOOL4 = ERRPN <EG erp ; BOOLT = BOOL1 et BOOL2 et BOOL3 et BOOL4 ; SI BOOLT ; MESS 'TEST CORRECT' ; SINON ; MESS 'TEST FAUX' ; ERREUR 5 ; FINSI ; * **************** Traitement graphique *************************************** * SI GRAPH ; * ** Tracé pour les vitesses dans le plan (rz). * UN = RV.INCO.'UN' ; titre 'vitesse VR VZ du calcul numérique' ; trac ung1 £mt titre 'vitesse VR VZ du calcul numérique' ; titre 'vitesse VT du calcul numérique' ; trac vt £mt ; titre 'pression numérique' ; trac pnn £mt ; titre 'vitesse VR VZ du calcul analytique' ; trac upla1 £mt titre 'vitesse VR VZ du calcul analytique' ; titre 'vitesse VT du calcul analytique' ; trac vdom £mt ; titre 'pression analytique' ; trac pdom £mt ; titre 'difference relative de vitesse UR' ; trac ERUNR £mt ; titre 'difference relative de vitesse UZ' ; trac ERUNZ £mt ; titre 'difference relative de vitesse VT' ; trac ERVT £mt ; titre 'difference relative de pression' ; trac ERPN £mt ; * ** Tracé pour la vitesse ortho-radiale en 3D. * VT = RV.INCO.'VT' ; * La vitesse est inversée car le maillage * est en réalité dans le plan rz et non xy. * Pour recreer la véritable orientation, on change * le signe de la vitesse ortho-radiale. titre 'vitesse azimutale 3D' ; trac ung2 mt titre 'vitesse azimutale 3D' ; FINSI ; fin ;
© Cast3M 2003 - Tous droits réservés.
Mentions légales