Télécharger tstd3d.eso

Retour à la liste

Numérotation des lignes :

tstd3d
  1. C TSTD3D SOURCE FD218221 24/02/07 21:15:29 11834
  2. subroutine TSTD3D(fcr,eplr3,deplr3,actif,ncr,
  3. # precision3d,log_reduc,reduc)
  4.  
  5. c test refermeture excessive lors de l coulement et calcul du coeff
  6. c de reduction de retour radial
  7.  
  8. implicit real*8 (a-h,o-z)
  9. implicit integer (i-n)
  10.  
  11. integer ncr
  12. logical actif(ncr),actif_prec(ncr)
  13. real*8 fcr(ncr),eplr3(3),deplr3(3),precision3d
  14. logical log_reduc
  15. real*8 reduc,aux
  16.  
  17. log_reduc=.false.
  18. reduc=1.d0
  19. do i=1,3
  20. if(actif(i)) then
  21. if((eplr3(i)+deplr3(i)).lt.0.d0) then
  22. log_reduc=.true.
  23. aux=-eplr3(i)/deplr3(i)
  24. if(aux.ne.aux)then
  25. print*,'Pb dans testref3d, reduc = NaN, mis a zero'
  26. print*,i,eplr3(i),deplr3(i)
  27. aux=0.d0
  28. end if
  29. c print*,'tstd3d reduc(',i,')=',aux
  30. if(aux.le.precision3d) then
  31. C print*,'pb dans tstd3d'
  32. C print*,'reduc',reduc
  33. reduc=0.d0
  34. c on desactive le critere pour la prochaine iteration
  35. actif(i)=.false.
  36. fcr(i)=0.d0
  37. C print*,'direction',i
  38. C print*,'eplr3(i)',eplr3(i)
  39. C print*,'deplr3(i)',deplr3(i)
  40. C read*
  41. else
  42. reduc=min(reduc,aux)
  43. end if
  44. end if
  45. end if
  46. end do
  47. c if(log_reduc)then
  48. c print*,'testref3d reduc',reduc
  49. c end if
  50.  
  51. return
  52. end
  53.  
  54.  
  55.  
  56.  
  57.  
  58.  

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