* fichier : recirc.dgibi * * Exemple test : recirculation dans une cavite semi circulaire * Eclt laminaire incompressible * On impose une vitesse tg sur la surface libre * V normale nulle sur le fond * * Post : debit sur le contour , fonction de courant , pression * Teste vitesse normale imposee en 2D plan algorithme Taylor Hood * * Voir aussi RECIRCP.DGIBI pour algorithme de projection DISCR = 'QUAF'; KPRES= 'CENTREP1' ; GRAPH=FAUX ; *GRAPH=VRAI ; nbit = 5 ; p0=0. 0. ; p1= -1. 0.; p2= 1. 0. ; p03= 0. -1. ; p3= 1. -1. ; p4= -1. -1. ; n1= 5 ; n2= 5 ; ab= p1 d n1 p2 ; bc= p2 c p0 n2 p03 c p0 n2 p1; *bc= p2 d n2 p3 d n2 p4 d n2 p1 ; cnt=ab et bc ; * La cavité est fermée il faut imposer la pression en 1 point ! * *NU= 1. / 61. ; NU= 1.e-2 ; U0=1. ; OPTI EF 'CENTREE' 'IMPL' KPRES 'ZONE' $MT 'OPER' 'NS' 1. 'UN' NU 'INCO' 'UN' 'CLIM' 'UN' UIMP slib 1. 'UN' VIMP ab 0. rv.'INCO'= TABLE 'INCO' ; exec rv ; un = rv.inco.'UN' ; Si GRAPH ;trace ung Mmt ; Finsi ; $cnt=model Mcnt1 'NAVIER_STOKES' line ; Mess ' Debit sur le contour ' q ; si ( q > 1.5e-15 ) ; erreur 5 ; finsi ; * * Calcul de la fonction de courant * 'ZONE' $mt 'OPER' 'LAPN' 1.0D0 'INCO' 'PSI' 'ZONE' $mt 'OPER' 'FIMP' sw 'INCO' 'PSI' 'CLIM' 'PSI' 'TIMP' cnt 0.0D0 ; rk . 'INCO' = 'TABLE' 'INCO' ; exec rk ; psi=rk.inco.'PSI' ; Si GRAPH ;trace psi Mmt cnt ; Finsi ; dpsi= abs (mpsi + .26820) ; si ( dpsi > 1.e-5 ) ; erreur 5 ; finsi ; * * Calcul de la pression * Si GRAPH ; trace pn Mmt ; Finsi ; * * Deuxieme cas : Meme probleme geometrie rectangulaire * MACRO CENTRE * * * * * * DISCR = 'MACRO'; KPRES= 'CENTRE' ; p0=0. 0. ; p1= -1. 0.; p2= 1. 0. ; p03= 0. -1. ; p3= 1. -1. ; p4= -1. -1. ; n1= 5 ; n2= 5 ; ab= p1 d n1 p2 ; bc= p2 d n2 p3 d n2 p4 d n2 p1 ; cnt=ab et bc ; * La cavité est fermée il faut imposer la pression en 1 point ! * NU= 1.e-2 ; U0=1. ; OPTI EF 'CENTREE' 'IMPL' KPRES 'ZONE' $MT 'OPER' 'NS' 1. 'UN' NU 'INCO' 'UN' 'CLIM' 'UN' UIMP slib 1. 'UN' VIMP ab 0. rv.'INCO'= TABLE 'INCO' ; rv.'INCO'.'VN'=0. ; exec rv ; un = rv.inco.'UN' ; Si GRAPH ;trace ung Mmt ; Finsi ; $cnt=model Mcnt1 'NAVIER_STOKES' line ; Mess ' Debit sur le contour ' q ; si ( q > 1.5e-15 ) ; erreur 5 ; finsi ; 'ZONE' $mt 'OPER' 'LAPN' 1.0D0 'INCO' 'PSI' 'ZONE' $mt 'OPER' 'FIMP' sw 'INCO' 'PSI' 'CLIM' 'PSI' 'TIMP' cnt 0.0D0 ; rk . 'INCO' = 'TABLE' 'INCO' ; exec rk ; psi=rk.inco.'PSI' ; Si GRAPH ;trace psi Mmt cnt ; Finsi ; dpsi= abs (mpsi + .22) ; si ( dpsi > 1.e-3 ) ; erreur 5 ; finsi ; * * Calcul de la pression * Si GRAPH ; trace pn Mmt ; Finsi ; FIN ;
© Cast3M 2003 - Tous droits réservés.
Mentions légales