Télécharger cormasse.procedur

Retour à la liste

Numérotation des lignes :

  1. * CORMASSE PROCEDUR MAGN 08/12/09 21:15:02 6189
  2. 'DEBPROC' cormasse GAZ*'MOT' Rmzn*'FLOTTANT' Mdrvap*'MOT' ;
  3. * Positivité et bornage par la masse totale qui elle
  4. * est exacte
  5. Rvz = tic.GAZ ;
  6. Rvz = 'KOPS' Rvz '|<' 1.e-10 ;
  7. Rvz = 'KOPS' Rvz '>|' (maxi tic.'RHO') ;
  8. * Correction de la densite de (vapeur+brouillard) pour verifier la masse
  9. Rhomzt = 'SOMT' (Diag '*' Rvz) ;
  10. da = (Rmzn '*' VTotal) '-' Rhomzt ;
  11.  
  12. dRhov = da '/' VTotal ;
  13. Si (da >eg 0.) ;
  14. * La masse est manquante
  15. dr = da '/' VTotal ;
  16. Rvz = Rvz + dr ;
  17. * mess 'Correction Rho Vap masse manquante ' ;
  18. Sinon ;
  19. * La masse est en trop. On l'enlève uniquement sur les noeuds
  20. * tels que Rvz > epsilon
  21. * mess 'Correction Rho Vap masse en trop ' ;
  22. nfs=15 ; epsim=0. ; epsir=1.e-20 ;
  23. Repeter Bcor nfs ;
  24. it=masq Rvz 'SUPERIEUR' epsim ;
  25. Rvz=it*Rvz ;
  26. Vi=somt (Diag*it) ;
  27. dr=(abs da)/(Vi+1.e-20) ;
  28. Si(dr <eg epsir) ;
  29. * mess 'Correction Rho Vap masse en trop CONVERGENCE' ;
  30. quitter Bcor ;
  31. Sinon ;
  32. si(&bcor ega nfs) ;
  33. mess 'Correction Rho Vap masse en trop NON CONVERGENCE' &bcor ;
  34. finsi ;
  35. Finsi ;
  36. it1=masq (Rvz-dr) 'INFERIEUR' epsim ;
  37. jt=it1*it ;
  38. Rvz = Rvz - dr ;
  39. da=somt (Diag * Rvz * jt) ;
  40. Fin Bcor ;
  41. Finsi ;
  42. Rvz = 'KCHT' $vtf 'SCAL' 'SOMMET' Rvz ;
  43. tic.GAZ = Rvz ;
  44. Si(EGA GAZ 'RVP') ;
  45. tic.'ROVP'= Rvz ;
  46. Finsi ;
  47.  
  48.  
  49. tic. Mdrvap = tic. Mdrvap 'ET' ('PROG' dRhov );
  50. * dRhov = 'SOMT' ( Diag '*' dRhov ) ;
  51.  
  52. resproc dRhov rvz Rhomzt ;
  53.  
  54. FINPROC ;
  55.  
  56.  

© Cast3M 2003 - Tous droits réservés.
Mentions légales