* CORMASSE PROCEDUR SERRE 21/06/28 21:15:02 11045 'DEBP' CORMASSE * * E/ $vtf : MMODEL : NAVIER_STOKES * E/ RHOi : CHPOINT : Densité à contraindre * E/ Mi0D : FLOTTANT : Contrainte sur l'intégrale de la densité * E/ Mr : FLOTTANT : Borne supérieure admissible de la densité (filtre) * * /S dRHOi : FLOTTANT : Correction de la densité * /S RHOk : CHPOINT : RHOi corrigé * /S MiCFD : FLOTTANT : Intégrale avant correction * * On impose à l'intégrale de la densité d'être égale à la valeur cible. * Pour cela on calcule la différence et on décalle de la densité * volumique moyenne associée à la différence en controlant la positivité * de la densité. * * * On borne la densité par 1E-10 et Mr * * dRHOi : Correction moyenne de la densité dMi = Mi0D '-' MiCFD ; dRHOi = dMi '/' VTotal ; * * S'il manque de la masse on en ajoute partout. S'il y en a trop, on * l'enlève partout en vérifiant la positivité : on redistribue alors * uniformement la masse négative dans la partie positive du champ * jusqu'à convergence. * 'SI' (dMi '>EG' 0.) ; RHOk = RHOi + dRHOi ; 'SINO' ; nfs = 15 ; epsim = 0. ; epsir = 1.e-20 ; epsiv = epsir '*' VTotal ; dMk = 'ABS' dMi ; RHOk = RHOi ; 'REPE' Bcor nfs ; RHOk = ik '*' RHOk ; 'SI' (dMk '<EG' epsir) ; 'QUIT' Bcor ; 'SINO' ; 'SI' (&bcor 'EGA' nfs) ; 'MESS' 'Mi0D' Mi0D ' ' 'MiCFD ' MiCFD ; 'MESS' dmk ; * 'ERRE' 5 ; 'FINS' ; 'FINS' ; dRHOk = dMk '/' (Vk + epsiv) ; RHOk = RHOk '-' dRHOk ; 'FIN' Bcor ; 'FINS' ; * 'FINP' dRHOi RHOk MiCFD ;
© Cast3M 2003 - Tous droits réservés.
Mentions légales