noepr2e
C NOEPR2E SOURCE PV090527 25/09/17 21:15:01 12360 > dimlon,nodes,ipos,nbtot,lfront,lfron,londim,fcout2,lpiv, > ipoint,noel2,bool,fcout,ldim2,ith,nbthr,npoint,npoint2, > imax,iccon,icouch) implicit real*8 (a-h,o-z) integer dimlon,diml2,bool integer pivot(*),pivots integer iadj(*),jadjc(*),nrelong(*),noelon(*),noel2(*) integer ipos(*),londim(*) -INC PPARAM -INC CCOPTIO ifront = londim(2)-londim(1) if (ifront.le.2) then elong2 = 1 else xfront=ifront profon = dimlon / xfront elong2 = profon*profon/xfront ** write (6,*) 'noepr2 dimlon londim elong',dimlon, ** > londim(2)-londim(1),elong2 endif diml2=dimlon nbz= (diml2+1)/2 nbess= nbz**0.42 +8 nbess=min(nbess,int(icouch**(1.33333333333333333333))) nbess = ((nbess-1)/nbthr+1)*nbthr if (elong2.gt.9) then ** si le domaine est elance, on reduit le nombre d'essais ** write(6,*) 'dimlon xfront elong2 ',dimlon,xfront,elong2 nbess = nbz**0.35 +8 endif nbess=max(nbess,1) do i=1,dimlon noelon(i)=0 enddo isig=2*mod(ipoint,2)-1 idec=((ipoint-1)*nbz)/npoint ** write(6,*) 'npoint ipoint ith idec',npoint,ipoint,ith,idec,nbz do 520 ii=ith,nbess,nbthr fcout2=1d50 i= (ii*nbz+idec)/nbess+1 i= mod(i,diml2+1) if (isig.eq.1.and.i.le.nbz) i=diml2+1-i if (isig.eq.-1.and.i.ge.nbz) i=diml2+1-i pivots=pivot(ipoint) ** la situation arrive vraiment! if (pivots.eq.noel2(i)) then ** write(6,*) 'pivot invariant ii dimlon ipoint ',ii,dimlon,ipoint goto 520 endif pivot(ipoint)=noel2(i) dimlon=diml2 > isens,dimlon,nodes,ipos(1+nodes),nbtot,lfront,lfron, > londim(1),fcout2,lpiv,iccon,icouch) ** write (6,*) ' noepr2 ipoint ii i fcout fcout2 ', ** > ipoint,fcout,fcout2,londim(1),londim(2),londim(3) if (fcout2.lt.fcout.or.(fcout2.le.fcout.and. > pivots*isig.lt.pivot(ipoint)*isig)) then ** write (6,*) 'amelioration dimlon iii i nbz ith ', ** > dimlon,iii,i,nbz,ith if (ierr.ne.0) return if (fcout2.ne.fcout) bool=2 fcout=fcout2 ldim2=londim(2) npoint2=npoint+1 pivot(npoint2)=0 endif if (fcout.lt.5 ) return else pivot(ipoint)=pivots endif 520 continue * write (6,*) ' noepr2 dimlon londim ',dimlon,londim(2)-londim(1) end
© Cast3M 2003 - Tous droits réservés.
Mentions légales