* fichier : difasyk2Dax.dgibi *'OPTION' 'echo' 0 ; * * ************************************************************************** * * CAS TEST DIPHASIQUE LIQUIDE-LIQUIDE 2D PLAN * *************************************************************************** * * * Présentation: Ce cas test permet la simulation de la sédimention * de gouttes sphériques de liquide immergé dans * un milieu continu (autre liquide) de densité moindre. * Bien entendu les densités peuvent être modifiées. * les deux liquides sont dans un extracteur * centrifuges et sont soumis à une * force centrifuge horizontale * * * Le modèle : Le modèle simulé consiste à résoudre 2 équations de la * quantité de mouvement sur les flux volumiques des 2 * phases JC et JD. Ensuite on résout une équation de la * conservation de la masse qui porte sur la fraction * volumique de la phase dispersée : AD (pour alpha_D). * La conservation de la fraction voumique de la phase * continue AC s'en déduite par AD + AC = 1. * L'équation d'incompressibilité du fluide est * Div(JC+JD) = 0. * * Des équations de mouvements sont rajoutées pour * les composantes orthoradiales pour la prise en * compte des forces de Coriolis. * * le modèle de coalescence est simplifié, ce qui * revient à jouer sur la viscosité efficace de l'émulsion * MUEFF qui tend vers la valeur de la phase pure * reconstituée lorsque la fraction volumique dépasse * un certain seuil. * Le front de sédimentation est rès raide * notre problème revient regarder évoluer le front * de sédimentation de gouttes en sédimentation dans * un extracteur perpétuellement alimenté en mélange * et pourvu de deux sorties expulsant des phases pures * séparées. * * * Auteur : Gilles Bernard-Michel * * Révision : version 1 * * date : 21/12/99 * * REMARQUES : * * Nous somme en diphasique et en mode axis * * différence entre mueff et hinder pas à jour pour exposant. * * AD : ALPD au Sommet * AC : ALPC au Sommet * * implicitation en alpha pour les frottements. * * attention meme mueff pour les dex phases ce qui est faux. * on doit tendre vers les bons mu homogenes. * * ************************ Options générales ********************************* * * ** Sortie graphique. * GRAPH = 'O'; * *test court uniquement. * COMPLET = FAUX; * *période des sorties graphiques : tous les NITMA/PERIO pas de temps * PERIO = 1 ; * * nombre d'itérations en temps * NITMA = 1; * * nombre de points fixes max. * NITER = 2; * * Précision du point fixe * * * Pas de temps * DELTATPS = 0.2 ; * ********************* On traite les aspects géométriques ******************** * ** viscosité dynamique mu/rho (utilisé uniquement pour le maillage). * nu =1.E-6 ; * ** La vitesse de rotation initiale. (rad/s) * omeg = 100 ; * ** Les paramètres de la géométrie. * rint = 0.1 ; rext = 0.2; hh = 0.044 ; inj1 = 0.145 ; inj2 = 0.155; exi1 = 0.102; exi2 = 0.198; * ** Coefficients affectés aux couches d'Ekman et Stewartson. * coefekma = 8. ; coefste1 = 4. ; coefste2 = 2. ; * ** Densité du maillage. * npts = 12. ; d1 = 0.1 / npts; d2x1 = d1 / 10. ; d2x2 = d1 / 1.4 ; d2y = d1 / 2. ; d2y2 = d2y / 10. ; * ** Calcul des épaisseurs des couches d'Ekman et de Stewartson. ** Ces épaisseurs sont des ordres de grandeurs sans dimension. ** on épaissit un peu les mailles en prenant nu = 10 *nu nu = 10.*nu; ekma = nu / (omeg * (rext**2)); ddek = ekma**0.5; stew = ekma**0.25; * ** Modifications de ces épaisseurs en tenant compte des coefficents ** introduits. * dbek = coefekma * ddek * hh ; fiek = hh * (1. - (coefekma * ddek)) ; dste = rint * coefste1 * stew ; fste = rext * coefste2 * stew ; * ** Les sommets du bol * p1 = rint 0. ; p2 = rext 0. ; p3 = rext hh ; p4 = rint hh ; * ** Les milieux des cotés. * mil1 = ((rint + rext)/2.0); mil2 = hh/2.0 ; p6 = rext mil2 ; p8 = rint mil2 ; p68 = inj1 mil2 ; * ** Les points délimitant les couches d'Ekman. * p11 = rint dbek ; p22 = rext dbek ; p33 = rext fiek ; p44 = rint fiek ; * ** Les points d'entrée du fluide et leurs symétriques. ** Sont rajoutées les couches de Stewartson qui les ** entourent. * ent1 = inj1 0. ; ent2 = inj2 0. ; sym1 = inj1 hh ; sym2 = inj2 hh ; en11 = (inj1 - fste) 0. ; en22 = (inj2 + fste) 0. ; sy11 = (inj1 - fste) hh ; sy22 = (inj2 + fste) hh ; * ents = inj1 dbek ; syms = inj1 fiek ; * * ** Les points de sortie du fluide et leurs symétriques. ** Sont rajoutées les couches de Stewartson qui les ** entourent. * out1 = exi1 hh ; out2 = exi2 hh ; syo1 = exi1 0. ; syo2 = exi2 0. ; ou11 = (exi1 '+' fste) hh; ou22 = (exi2 '-' fste) hh; so11 = (exi1 '+' fste) 0.D0; so22 = (exi2 '-' fste) 0.D0; * ** Assemblage des bords du domaine. * bas1 = p1 'DROIT' dini d2x1 dfin d2x1 syo1 'DROIT' dini d2x1 dfin d1 so11 'DROIT' dini d1 dfin d1 en11 'DROIT' dini d1 dfin d2x2 ent1; entr = ent1 'DROIT' dini d2x2 dfin d2x2 ent2 ; bas2 = ent2 'DROIT' dini d2x2 dfin d1 en22 'DROIT' dini d1 dfin d1 so22 'DROIT' dini d1 dfin d2x1 syo2 'DROIT' dini d2x1 dfin d2x1 p2; cdro = p2 'DROIT' dini d2y dfin d2y p22 'DROIT' dini d2y dfin d1 p6 'DROIT' dini d1 dfin d2y p33 'DROIT' dini d2y dfin d2y p3; sor2 = p3 'DROIT' dini d2x1 dfin d2x1 out2; hau = out2 'DROIT' dini d2x1 dfin d1 ou22 'DROIT' dini d1 dfin d1 sy22 'DROIT' dini d1 dfin d2x2 sym2 'DROIT' dini d2x2 dfin d2x2 sym1 'DROIT' dini d2x2 dfin d1 sy11 'DROIT' dini d1 dfin d1 ou11 'DROIT' dini d1 dfin d2x1 out1; sor1 = out1 'DROIT' dini d2x1 dfin d2x1 p4; cgau = p4 'DROIT' dini d2y dfin d2y p44 'DROIT' dini d2y dfin d1 p8 'DROIT' dini d1 dfin d2y p11 'DROIT' dini d2y dfin d2y p1; cot1 = bas1 'ET' entr 'ET' bas2; cot2 = cdro; cot3 = sor2 'ET' hau 'ET' sor1; cot4 = cgau; cnt = cot1 'ET' cot2 'ET' cot3 'ET' cot4 ; * * * *borbg = p1 'DROIT' dini d2x1 dfin d2x1 syo1 * 'DROIT' dini d2x1 dfin d1 ent1; *borbd = ent1 'DROIT' dini d1 dfin d2x1 syo2 * 'DROIT' dini d2x1 dfin d2x1 p2; * *bord = p2 'DROIT' dini d2y2 dfin d2y2 p22 * 'DROIT' dini d1 dfin d1 p6 * 'DROIT' dini d1 dfin d1 p33 * 'DROIT' dini d2y2 dfin d2y2 p3; *borhd = p3 'DROIT' dini d2x1 dfin d2x1 out2 * 'DROIT' dini d2x1 dfin d1 sym1; *borhg = sym1 'DROIT' dini d1 dfin d2x1 out1 * 'DROIT' dini d2x1 dfin d2x1 p4; * *borg = p4 'DROIT' dini d2y2 dfin d2y2 p44 * 'DROIT' dini d1 dfin d1 p8 * 'DROIT' dini d1 dfin d1 p11 * 'DROIT' dini d2y2 dfin d2y2 p1; *milieud = ent1 'DROIT' dini d2y2 dfin d2y2 ents * 'DROIT' dini d1 dfin d1 p68 * 'DROIT' dini d1 dfin d1 syms * 'DROIT' dini d2y2 dfin d2y2 sym1; *milieug = 'INVERSE' milieud ; * ** On maille avec des rectangles. * *mt1 = borbg milieud borhg borg 'DALLER' ; *mt2 = borbd bord borhd milieug 'DALLER' ; *mt = mt1 'ET' mt2 ; mt= cot1 cot2 cot3 cot4 'DALLER' ; 'TASSER' mt ; *'TITRE' 'Maillage de la centrifugeuse'; *'TRACER' mt ; * ** On réoriente les éléments. * mt = 'ORIENTER' mt ; * définition du modèle. &mt = CHANGER mt QUAF ; *&bord = CHANGER bord QUAF ; *&borg = CHANGER borg QUAF ; *&borhd = CHANGER borhd QUAF ; *&borhg = CHANGER borhg QUAF ; *&borbd = CHANGER borbd QUAF ; *&borbg = CHANGER borbg QUAF ; *&milieud = CHANGER milieud QUAF ; &sor1 = CHANGER sor1 QUAF ; &sor2 = CHANGER sor2 QUAF ; &bas1 = CHANGER bas1 QUAF ; &bas2 = CHANGER bas2 QUAF ; &cdro = 'CHANGER' cdro QUAF ; &cgau = 'CHANGER' cgau QUAF ; &entr = 'CHANGER' entr QUAF ; &hau = CHANGER hau QUAF ; &cot1 = CHANGER cot1 QUAF; &cot2 = CHANGER cot2 QUAF; &cot3 = CHANGER cot3 QUAF; &cot4 = CHANGER cot4 QUAF; &cnt = CHANGER cnt QUAF ; 'ELIMINATION' 1.e-6 (&mt 'ET' &bas1 'ET' &bas2 'ET' &cdro 'ET' &cgau 'ET' &entr 'ET' &hau 'ET' &cot1 'ET' &cot2 'ET' &cot3 'ET' &cot4 'ET' &cnt 'ET' &sor1 'ET' &sor2); *'ELIMINATION' 1.e-6 (&mt *'ET' &borbd 'ET' &borbg 'ET' &bord 'ET' &borhd 'ET' &borhg 'ET' &borg *'ET' &milieud ) ; * ** On crée le domaine associé au maillage. * cnt = 'CONTOUR' mt; lmt = 'CHANGE' mt LIGNE ; * ** on crée une frontière moins un noeud pour le cas ** de cavités carrés. Il ne faut pas retirer un coin ** car on peut avoir un champ sortant. * *$cnt = 'MODELISER' &cnt 'NAVIER_STOKES' QUAF; *cntcc = 'DOMA' $cnt maillage ; *cntcc = 'CHANGER' cntcc POI1; *retir = p8 'MANUEL' POI1; *cntcc = retir 'DIFF' cntcc; sor2c = 'CHANGER' sor2c POI1; retir = p3 'MANUEL' POI1; * * * ********************************* * PROCEDURE CALCULANT LE MODLO * ********************************* * DEBPROC MODULO i*ENTIER j*ENTIER ; k*ENTIER = i / j ; mod = i - ( k * j ) ; FINPROC mod ; * * *************************************** * PROCEDURE DE CALCUL DES COEFFICIENTS * DES EQUATIONS DE QUANTITE DE MOUVEMENT * *************************************** * DEBPROC ACTU RV*'TABLE' $mt*'MMODEL' ; * constantes du probleme roc = RV.INCO.'ROC' ; rod = RV.INCO.'ROD' ; muc = RV.INCO.'MUC' ; mud = RV.INCO.'MUD' ; expo = RV.INCO.'EXPOS' ; farcc = RV.INCO.'FARCC' ; farcd = RV.INCO.'FARCD' ; * LECTURE DES INCONNUES * JC = RV.INCO.'JC' ; JD = RV.INCO.'JD' ; * implicitation en alpha pour les frottements. ALPM = RV.INCO.'AM' ; *ALPD = 'COPIER' RV.INCO.'AD'; MASK1D = ALPD MASQUE 'INFERIEUR' (1.D0 '-' 1.D-15) ; MASK1D = ALPD MASQUE 'SUPERIEUR' 1D-15 ; *** COUPLAGE DYNAMIQUE *** * VISCOSITE DYNAMIQUE EFFICACE MUEFF = MUC * RV.INCO.'MUCOEF' ; ** UC ET UD : VITESSES INSTANTANEES ** SEUIL = RV.INCO.'AD' 'MASQUE' 'SUPERIEUR' 0.05D0; ALPCV = ALPCX 'ET' ALPCY ; ALPDV = ALPDX 'ET' ALPDY ; * COEFF DE FROTTEMENT *on calcule une fraction volumique ALPD prenant *en compte les parois verticales = max (alpd alpdm). maskp = ALPD 'MASQUE' 'SUPERIEUR' ALPM ; *HINDER = ALPDF ; *HINDER = ALPC; * termes de pression RV.INCO.'PUD' = 1.0 * RV.INCO.'PUD'; * terme source pesanteur signe + si TOIMP * signe - si MDIA ou dans DFDT. on met de l'ordre * 2, au lieu de alpc alpd(n+1), on a * (alpc-alpd)alpd(n+1) + alpd*alpd farchci = -1.D0 * farchc ; *partie expl farchce = -1.D0 * farchce; farchdi = -1.D0 * farchd ; *partie expl farchde = -1.D0 * farchde; * terme correction laplacien sur ortho radiale FINPROC RV; ************************* *** DONNEES PHYSIQUES *** ************************* * vitesse angulaire en rad/s omeg = 100.0D0 ; * rotation, coef de la force de Coriolis à gauche de l'égalité pour r,z domeg = ((-2.D0*omeg) 0.D0) ; * rotation, coef de la force de Coriolis à gauche de l'égalité pour theta domegt = ((2.D0*omeg) 0.D0); * champs des 1/r2 * accélération centrifuge omeg2 = omeg * omeg; omeg2 = (omeg2 0.D0); * formule Ishii trainée expo = -4.1D0; * formule viscosité expomu = -0.0D0; *coeff de viscosité (pour lisser avec mauvais maillage) MUCOEF = 10.D0 ; *Densité volumique ROC = 1000.D0 ; ROD = 1100.D0 ; epsilc = (ROC - ROD) / ROC ; epsild = (ROD - ROC) / ROD ; * Viscosite cinématique et dynamique de la phase liquide MUC = 0.001D0 ; NUC = MUC / ROC ; MUD = 0.001D0 ; NUD = MUD / ROD ; * Rayon initial des gouttes ray0 = 1.D-5 ; * Concentration initiale de la phase dispersée ALPD0 = 0.3D0 ; * Concentration initiale de la phase continue ALPC0 = 1 - ALPD0 ; *C0 = 1.D-2 ; C0 = 1.D-2; * Coeff. de Pénalisation * EPSS=1.D-9; * Valeur minimale de EPSN * MIEPS = 1.e-5 ; * Valeur maximale de EPSN * MAEPS = 0.99999 ; * Vicosité maximale et truc maximal * ALPMAX = 0.9D0 ; MUMAX = 1.D-1 ; RAY2 = 1.D-3; * fraction vol max alphadm = 0.9900000001D0 ; alphacm = MIEPS ; * profil de fraction volumique corx = 'COORDONNEE' 1 &mt; alpd1 = 'TANH' (20000.D0 * (corx '-' (7.95*rext/10.D0))) ; alpd1 = (0.998 '-' ALPD0) * (1.D0 '+' alpd1) '/' 2.D0; alpd2 = 'TANH' (20000.D0 * (corx '-' (7.05D0 * rext/10.D0))) ; alpd2 = ALPD0 * (1.D0 '+' alpd2) '/' 2.D0; alpd = 0.001D0 '+' alpd1 '+' alpd2; alpini = alpd; * concentration aire interf ALPI0 = 3.D0 * alpd / ray0 ; *'TRACER' ALPD &mt; * poussée d'Archimède multipliée par +1 car TOIMP à droite de l'égaZZlité farcc = epsilc* archi ; farcd = epsild* archi ; * PAS DE TEMPS * DT = DELTATPS ; ************************************ *** SYSTEMES D'EQUATIONS ET C.L. *** ************************************ * * ************************************* *** SYSTEME PORTANT SUR : *** *** UN, VN, P *** ************************************* * EQUATION DE CONSERVATION DE LA QUANTIE DE MVT PHASE CONT * * composantes r,z OPTI 'EFM1' 'IMPL' 'CONS' 'BDF2' 'CENTREE' ZONE $mt OPER 'MDIA' 'FARCHCI' INCO 'AD' 'JC' ; RV = 'EQEX' RV OPTI 'EFM1' 'IMPL' 'CENTREE' ZONE $mt OPER 'MDIA' 'FRCD' INCO 'JD' 'JC' ZONE $mt OPER 'MDIA' 'FRCC' INCO 'JC' 'JC' ZONE $mt OPER 'MDIA' domeg INCO 'CT' 'JC' OPTI 'EF' 'IMPL' 'CENTREE' ZONE $mt OPER 'LAPN' 'NUEFFC' INCO 'JC' ZONE $mt OPER 'LAPN' 'NUEFFC' INCO 'JD' *ZONE $mt OPER 'LAPN' 'NUEFFC' INCO 'JC' ; * composante theta, otho radiale RV = 'EQEX' RV OPTI 'EFM1' 'IMPL' 'BDF2' 'CENTREE' ZONE $mt OPER 'MDIA' 'FRCD' INCO 'JDT' 'CT' ZONE $mt OPER 'MDIA' 'FRCC' INCO 'CT' 'CT' 'OPTI' 'EFM1' 'IMPL' 'CENTREE' ZONE $mt OPER 'MDIA' 'domegt' INCO 'JC' 'CT' ZONE $mt OPER 'MDIA' 'TCORIC' INCO 'CT' 'CT' ZONE $mt OPER 'MDIA' 'TCORIC' INCO 'JDT' 'CT' ; RV = EQEX RV OPTI 'EF' 'IMPL' 'CENTREE' ZONE $mt OPER 'LAPN' 'NUEFFC' INCO 'CT' ZONE $mt OPER 'LAPN' 'NUEFFC' INCO 'JDT' *ZONE $mt OPER 'LAPN' 'NUEFFC' INCO 'CT' OPTI 'EF' 'IMPL' 'CENTREP1' 'CENTREE' ; * * EQUATION DE CONSERVATION DE LA QUANTITE DE MVT PHASE DISP * * composantes r, z RV = EQEX RV OPTI 'EFM1' 'IMPL' 'BDF2' 'CONS' 'CENTREE' ZONE $mt OPER 'MDIA' 'FARCHDI' INCO 'AD' 'JD' ZONE $mt OPER 'MDIA' 'FRDC' INCO 'JC' 'JD' ZONE $mt OPER 'MDIA' 'FRDD' INCO 'JD' 'JD' ZONE $mt OPER 'MDIA' domeg INCO 'JDT' 'JD' ; * ATTENTION LES LAPLACIENS PAS BONS, LAPN JC + JD -> JC * ET RIEN POUR JD (A VERIF) * composante ortho-radiale theta RV = EQEX RV OPTI 'EFM1' 'IMPL' 'BDF2' 'CENTREE' ZONE $mt OPER 'MDIA' 'FRDC' INCO 'CT' 'JDT' ZONE $mt OPER 'MDIA' 'FRDD' INCO 'JDT' 'JDT' ZONE $mt OPER 'MDIA' 'domegt' INCO 'JD' 'JDT' ZONE $mt OPER 'MDIA' 'TCORID' INCO 'CT' 'JDT' ZONE $mt OPER 'MDIA' 'TCORID' INCO 'JDT' 'JDT' ; RV = EQEX RV OPTI 'EF' 'IMPL' 'CENTREE' ZONE $mt OPER 'LAPN' 'NUEFFD' INCO 'CT' ZONE $mt OPER 'LAPN' 'NUEFFD' INCO 'JDT' *ZONE $mt OPER 'LAPN' 'NUEFFD' INCO 'JDT' OPTI 'EF' 'IMPL' 'CENTREE' ZONE $mt OPER 'LAPN' 'NUEFFD' INCO 'JD' ZONE $mt OPER 'LAPN' 'NUEFFD' INCO 'JC' *ZONE $mt OPER 'LAPN' 'NUEFFD' INCO 'JD' ; RV = EQEX RV OPTI 'EF' 'IMPL' 'CENTREP1' 'CENTREE' ; * * EQUATION DE CONSERVATION DU VOLUME (INCOMPRESSIBLE) * RV = EQEX RV OPTI 'EFM1' 'IMPL' 'CENTREP1' 'CENTREE' ; * * EQUATION DE CONSERVATION DE LA FRACTION VOLUMIQUE * RV = EQEX RV OPTI 'EFM1' 'IMPL' 'CONS' 'BDF2' 'SUPG' 'CMD' 0.2 OPTI 'EF' 'IMPL' 'CENTREP1' 'CONS' 'SUPG' 'CMD' 0.2 ; *** FIN SECOND SYSTEME *** ************************** * * CONDITION AUX LIMITES * RV = EQEX RV 'CLIM' 'JC' 'VIMP' (&bas1 'ET' &bas2 'ET' &hau) 0. 'JC' 'UIMP' (&bas1 ET &bas2 ET &hau ET &cot2 ET &cot4) 0.D0 'JD' 'VIMP' (&bas1 'ET' &bas2 'ET' &hau) 0. 'JD' 'UIMP' (&bas1 ET &bas2 ET &hau ET &cot2 ET &cot4) 0.D0 'JD' 'VIMP' (&entr) 1.65D-4 'JC' 'VIMP' (&entr) 1.65D-4 ; RV = EQEX RV 'CLIM' 'CT' 'TIMP' &cnt 0.D0 'JDT' 'TIMP' &cnt 0.D0 ; RV = EQEX RV 'CLIM' 'AD' 'TIMP' (&cot2) 0.99 'AD' 'TIMP' (&cot4) 0. 'AD' 'TIMP' &sor1 0.D0 'AD' 'TIMP' sor2c 0.99D0 'AD' 'TIMP' &entr ALPD0 ; * ******************************************* * INITIALISATION DES TABLES DES INCONNUES ******************************************* * * RV.INCO = TABLE INCO ; * constantes du probleme RV.INCO.'ROC' = ROC ; RV.INCO.'ROD' = ROD ; RV.INCO.'MUC' = MUC ; RV.INCO.'MUD' = MUD ; RV.INCO.'EXPOS' = expo ; RV.INCO.'FARCC' = farcc ; RV.INCO.'FARCD' = farcd ; RV.INCO.'ALPHADMAX' = alphadm ; * RV.'DT' = DELTATPS ; RV.INCO.'DT' = RV.'DT' ; RV.INCO.'GDT' = -1.D0 * epsild * 9.81D0 * RV.'DT' ; * AI est l'inverse du rayon ; * INITIALISATION DES COEFFICIENTS * RV.INCO.'domegt' = domegt; *COEFFICIENT DE RELAXATION ALFI = 1.0D0 ; ALFID = 1.0D0 ; ALFII = 1.D0 ; * Compteur des pas de temps ntemp = 0 ; *** Calcul de ALPM frac vol pour la paroi *********************** *** distance à la paroi la plus proche ************************** masko = corx 'MASQUE' 'INFERIEUR' corxi ; drel = 2.D0 * (alphadm**0.34); * on fabrique une fraction volumique telle que les écarts * entre particules soient identiques à la distance à la paroi * la plus proche. *'TRACER' RV.INCO.'AM' &mt ('CONTOUR' &mt); * **** BOUCLES DES ITERATIONS INTERNES ET EN TEMPS **************** * REPETER BLOCKT NITMA ; * ntemp = ntemp + 1 ; 'MESSAGE' 'Itération externe N°' ntemp; ntempi = 0 ; * On stocke les variables au pas de temps ntemp VJCTP = 'COPIER' RV.INCO.'CTP' ; VJCTPP = 'COPIER' RV.INCO.'CTPP' ; VJDTP = 'COPIER' RV.INCO.'DTP' ; VJDTPP = 'COPIER' RV.INCO.'DTPP' ; * On effectue les itérations de point fixe * 'REPETER' BLOCKI NITER ; * ntempi = ntempi + 1 ; * * ************************************* *** SYSTEME PORTANT SUR : *** *** UN, VN, P *** ************************************* * * On charge les résultats du vrai pas de temps précédent * resultats de l'iter interne préc. *RAYC = 'KOPS' ALPCIP '/' ('KOPS' 1.D-15 '+' ALPIIP) ; *RAYC = 'KOPS' ('KOPS' ray0 '+' RAYC) '+' ('ABS' ('KOPS' ray0 '-' RAYC)); *RAYC = 'KCHT' $mt SCAL 'SOMMET' RAYC ; *RAYC = 'KOPS' RAYC '*' 3 ; *RV.INCO.'RAYC' = RAYC ; * * On réactualise les données. * RV = ACTU RV $mt; * On affecte le terme source expl de QDM par le biais de DFDT * coef 2 car ordre 2 en temps dans dfdt. JCPP sinon la poussee * archi est rechargéee * fois lors des reinitialisations rv . 'METHINV' . 'TYPINV' = 2 ; EXEC RV ; 'MESSAGE' 'Boucle interne N°' ntempi; MASK1D = ALPD MASQUE 'INFERIEUR' (1.D0 '-' 1.D-15) ; MASK1D = ALPD MASQUE 'SUPERIEUR' 1D-15 ; * On masque AD RV.INCO.'AD' = ALPD; * CALCUL DE L'ERREUR RELATIVE MAX. * ERR = 0.D0 ; '/' ('MAXIMUM' ('ABS' JCIP) '+' 1.D-10) ; '/' ('MAXIMUM' ('ABS' JDIP) '+' 1.D-10) ; ERRC = 'MAXIMUM' ('ABS' ERRC) ; ERRD = 'MAXIMUM' ('ABS' ERRD) ; 'SI' (ERRC > ERR) ; ERR = ERRC ; 'FINSI' ; 'SI' (ERRD > ERR) ; ERR = ERRD ; 'FINSI' ; '/' ('MAXIMUM' ('ABS' ALPDIP) '+' 1.D-10) ; ERRA = 'MAXIMUM' ('ABS' ERRA) ; 'SI' (ERRA > ERR) ; ERR = ERRA ; 'FINSI' ; * CALCUL DE L'ERREUR RELATIVE MAX. * *'LIST' VAR; 'MESSAGE' ERR; 'MESSAGE' ERRC ERRD ERRA; QUITTER BLOCKI ; 'FINSI' ; * 'FIN' BLOCKI ; * 'MESSAGE' 'NBR ITER INTERNES' ntempi; 'MESSAGE' 'ERREUR RELATIVE MAX' ERR ; 'MESSAGE' 'Max JC' ('MAXIMUM' (RV.INCO.'JC')) ; 'MESSAGE' 'Min JC' ('MINIMUM' (RV.INCO.'JC')) ; 'MESSAGE' 'Max JD' ('MAXIMUM' (RV.INCO.'JD')) ; 'MESSAGE' 'Min JD' ('MINIMUM' (RV.INCO.'JD')) ; 'MESSAGE' 'Max AlpD' ('MAXIMUM' (RV.INCO.'AD')) ; 'MESSAGE' 'Min AlpD' ('MINIMUM' (RV.INCO.'AD')) ; SI (EGA GRAPH O); 'SI' ('EGA' (ntemp MODULO (NITMA/PERIO)) 0 ) ; 'DESSIN' Ejd 'TITRE' 'Jd'; 'DESSIN' Ejc 'TITRE' 'Jc'; 'DESSIN' Etransp 'TITRE' 'Champ transportant Ud' ; toto = RV.INCO.'AD'; 'Fraction volumique de la phase Dispersee' ; uref = 2.0D0; uref = 2.0D0; 'DESSIN' Epp 'TITRE' 'pression'; MASK1D = 'MASQUE' ALPD 'INFERIEUR' (1.D0 '-' 1.D-15) ; MASK1D = 'MASQUE' ALPD 'SUPERIEUR' 1D-15 ; 'FINSI' ; 'FINSI'; * 'FIN' BLOCKT ; fin;
© Cast3M 2003 - Tous droits réservés.
Mentions légales