Télécharger noepr2e.eso

Retour à la liste

Numérotation des lignes :

  1. C NOEPR2E SOURCE PV 20/01/16 21:15:09 10501
  2. subroutine noepr2e(iadj,jadjc,pivot,nrelong,noelon,isens,
  3. > dimlon,nodes,ipos,nbtot,lfront,lfron,londim,fcout2,lpiv,
  4. > ipoint,noel2,bool,fcout,ldim2,ith,nbthr,npoint,npoint2,
  5. > imax,iccon,icouch)
  6. implicit real*8 (a-h,o-z)
  7. integer dimlon,diml2,bool
  8. integer pivot(*),pivots
  9. integer iadj(*),jadjc(*),nrelong(*),noelon(*),noel2(*)
  10. integer ipos(*),londim(*)
  11.  
  12. * write (6,*) ' noepr2 dimlon lfront ipoint ',dimlon,lfront,ipoint
  13. nbess= int(dimlon**0.42+8)
  14. nbess=min(nbess,dimlon/2)
  15. nbess=min(nbess,int((icouch+1)**1.3))
  16. nbess=max(nbess,1)
  17. ** write (6,*) ' noepr2e nbthr ',nbthr
  18. diml2=dimlon
  19. do i=1,dimlon
  20. noelon(i)=0
  21. enddo
  22. nbz= (diml2+1)/2
  23. isig=2*mod(ipoint,2)-1
  24. do 520 ii=ith,nbess,nbthr
  25. fcout2=1d50
  26. i= (( ii-1)*(nbz))/(nbess)+1+((ipoint-1)*nbz)/(npoint*nbess)
  27. i=mod(i-1,diml2)+1
  28. if (mod(ipoint,2).eq.1) i=diml2+1-i
  29. ** write (6,*) ' nbthr nbess nbz ith ii i',nbthr,nbess,nbz,ith,ii,i
  30.  
  31. pivots=pivot(ipoint)
  32. pivot(ipoint)=noel2(i)
  33. dimlon=diml2
  34. ** if (ii.ne.0) pivot(ipoint)=noelon(i)
  35. call noepr2(iadj(1),jadjc(1),pivot,nrelong(1),noelon(1),
  36. > isens,dimlon,nodes,ipos(1),nbtot,lfront,lfron,
  37. > londim(1),fcout2,lpiv,iccon,icouch)
  38. ** write (6,*) ' noepr2 ipoint ii i fcout fcout2 ',
  39. ** > ipoint,fcout,fcout2,londim(1),londim(2),londim(3)
  40. if (fcout2.lt.fcout.or.(fcout2.le.fcout.and.
  41. > pivots*isig.lt.pivot(ipoint)*isig)) then
  42. ** write (6,*) 'amelioration dimlon iii i nbz ith ',
  43. ** > dimlon,iii,i,nbz,ith
  44. if (fcout2.ne.fcout) bool=2
  45. fcout=fcout2
  46. ldim2=londim(2)
  47. if (npoint.lt.50.and.imax.eq.0) then
  48. npoint2=npoint+1
  49. pivot(npoint2)=0
  50. endif
  51. if (fcout.lt.2) return
  52. else
  53. pivot(ipoint)=pivots
  54. endif
  55. 520 continue
  56. end
  57.  
  58.  
  59.  
  60.  
  61.  
  62.  
  63.  
  64.  
  65.  
  66.  
  67.  
  68.  
  69.  
  70.  
  71.  
  72.  
  73.  
  74.  

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