* fichier : BINGHAMp.dgibi ************************************************************************ ************************************************************************ ** Fluide de BINGHAM : Ecoulement de POISEUILLE ** Comparaison à une solution analytique ** CANAL LONGUEUR 10. LARGEUR 4. ** Algorithme implicite (dans ce cas beaucoup plus rapide) ** Auteur : Isabelle Claudel Décembre 1997 GRAPH='N' ; COMPLET= FAUX ; ERR1=5.E-2 ; *************************************** ***PROCEDURE CALCUL DE LA VISCOSITE *** *************************************** DEBP CALCUL ; iarg=rx.'IARG' ; si( non ( ega iarg 2)) ; mess 'Procedure CALCUL : nombre d arguments incorrect ' iarg ; quitter CALCUL ; finsi ; UN=rv.'INCO'.(rx.'ARG1') ; sinon ; quitter CALCUL ; finsi ; NU=rv.'INCO'.(rx.'ARG2') ; sinon ; quitter CALCUL ; finsi ; *mess ' Proc CALCUL ' ; D11= dudx ; D21= (D12) ; D22= (dvdy) ; *** Proten = Produit tensoriel D:D *** rv.'INCO'.'ProTen' = ProTen ; *list ProTen ; *** Norme de D = racine carree (Proten / 2) *** **Comportement rhéologique de Bingham ** rv.'INCO'.(rx.'ARG2')=NU ; rv.'INCO'.'GU1'=D12 ; FINPROC as2 ama1 ; *********************** *******MAILLAGE******** *********************** nbe=16 ; nbv=16 ; nbee = nbe / 2 ; p1=0. 0.; p2=4. 0.; entree= p1 d nbe p2 ; c1= 5. 0. ; isa = 2. 0. ; entree2 = isa d nbee p2 ; ikas=0 ; *mess 'ikas= 0 --> DROIT (option par defaut) ikas=1 --> COURBE ? '; *obtenir ikas*entier ; si (EGA ikas 1) ; pp1=p1 c c1 q1 nbv; pp2=p2 c c1 q2 nbv; sinon ; pp1=p1 d q1 nbv; pp2=p2 d q2 nbv; finsi ; cnt=entree et pp2 et sortie et pp1 ; *mt=surf cnt ; mt=daller entree pp2 sortie pp1 ; angle=0. ; *ccc=2. 5. ; *option donn 5 ; *trace mt ; ************************ *** RESOLUTION *** ************************ mt0= mt ; doma $mt 'IMPR' ; * doma $entree 'IMPR' ; * doma $sortie 'IMPR' ; ***dP/dy = - 20*** *to = kcht $entree vect centre ( 0. 6.) ; *tos = kcht $sortie vect centre ( 0. 0.) ; EPS=1.E-6 ; DT=1. ; ZONE $mt 'OPER' CALCUL 'UN' 'NU' ZONE $mt 'OPER' DUDW EPS INCO 'UN' OPTI EF IMPL 'CENTREE' ZONE $mt 'OPER' NS 1. 'UN' 'NU' INCO 'UN' ZONE $entree 'OPER' 'TOIMP' TO INCO 'UN' ZONE $sortie 'OPER' 'TOIMP' TOS INCO 'UN' ; RV=EQEX RV CLIM UN UIMP (pp1 et pp2) 0. UN VIMP (pp1 et pp2) 0. ; rv.'INCO'=table 'INCO' ; DEBPROC POST ; *** POST TRAITEMENT *** *list evol2v ; vth10 = prog -2.25 -2.25 -2.25 -2.1875 -2. -1.6875 -1.25 -0.6875 0. ; mess ' Ecart sur profil de V : ' ER ; evolt = evol1v10 et evol2v10 ; TAB1=TABLE ; TAB1.'TITRE'=TABLE ; TAB1.1='MARQ ETOI REGU ' ; TAB1.2='TIRR REGU ' ; un=rv.INCO.'UN' ; si (EGA GRAPH 'O' ); *list evolt ; trace ung1 mt0 ; trace nu mt0 12 ; FINSI ; si ( er > err1 ) ; erreur 5 ; finsi ; FINPROC ; rv.'OMEGA'=0.9; rv.'NITER'=20 ; EXEC RV ; POST RV GRAPH ; FIN ;
© Cast3M 2003 - Tous droits réservés.
Mentions légales