* XBIF PROCEDUR MAGN 98/12/30 21:15:27 3420 *X XBIF (Procedure) *X modele bifluide *X resolution d'equations de Navier-Stokes couplees si (ega idime 2) ; vnul=0. 0. ; sinon; vnul=0. 0. 0. ; finsi ; bidon = table ; GR=rv.'GR' ; ALFA=rv.'ALFA' ; ITMA=rv.'ITMA' ; FIDT=rv.'FIDT' ; KIZT=rv.'INCO' ; testpr=exist rv 'PRESSION' ; testdefo=exist rv 'DEFOR' ; si testdefo ; verdefo rv ; finsi ; finsi ; si (non(exist rv kizd)) ; kdia rv ; finsi ; si (non(exist rvc kizd)) ; kdia rvc ; finsi ; si (non(exist rvc kizc)) ; rvc.kizc=table 'KIZC' ; finsi ; si (non(exist rvc kizg)) ; rvc.kizg=table 'KIZG' ; finsi ; si (non(exist rv kizg)) ; rv.kizg=table 'KIZG' ; finsi ; KIZG=rv.'KIZG' ; si (non(exist rv kizg1)) ; rv.kizg1=table 'KIZG1' ; finsi ; KIZG1=rv.'KIZG1' ; KD=rv.'KIZD' ; si (exist rv kizc) ; KIZC=rv.'KIZC' ; sinon ; KIZC=table 'KIZC' ; rv.'KIZC'=KIZC ; finsi ; SI testpr ; dmn=rvp.'DOMAINE' ; rvp=rv.'PRESSION' ; U=KIZT.'UN' ; V=KIZT.'VN' ; Du=KD.'UN' ; Dv=KD.'VN' ; FV=RVC.'INCO'.'CN' ; si (non(exist rvp diagv)) ; rvp.diagv=Du ; finsi ; rvp.'KIZC' = kizc ; si (non(exist rvp 'MATC')) ; C=kmac rvp ; rvp.'MATC'=C ; finsi ; C=rvp.'MATC' ; rvp.'PRESSION'=P ; FINSI ; si (exist rv 'DECDOM') ; decdom rv ; finsi ; diaga = DGSI $DOMTOT ; diagb = COPIE diaga ; diag0 = diaga ET diagb ; REPETER BLOC1 ITMA ; repeter bloc2 nbop ; fin bloc2 ; SI testpr ; dt=(rv.pasdetps.deltat)*ALFA ; rvp.deltat=dt ; P=rvp.'PRESSION' ; detr P ; f=KIZG.'UN' ; g=KIZG.'VN' ; detr dm1f ; kres rvp P ; rvp.'PRESSION'=P ; detr GP ; GPF=gp ; RO=ROF/ROP ; rset f vnul ; rset g vnul ; dltt= rv.pasdetps.deltat ; FINSI ; si testdefo ; si (&bloc1 > itd) ; si (ega reponse vrai) ; finsi ; finsi ; finsi ; si (testpr) ; KIZG.'UN'=f ; KIZG.'VN'=g ; finsi ; VP = RV.'INCO'.'VN' ; rvc.pasdetps.deltat =dltt ; (RVC.'KIZD') (RVP.DOMAINE) (RVC.'ALFA') 'IMPR' (RVC.'FIDT') ; menage ; FIN BLOC1 ; si (testpr) ; rvp.gradp=GP ; finsi; FINPROC ;
© Cast3M 2003 - Tous droits réservés.
Mentions légales