include 'COMMON.VAR'
include 'COMMON.GEO'
include 'COMMON.MINIM'
+ include 'COMMON.CONTROL'
common /srutu/ icall
dimension iv(liv)
double precision minval,x(maxvar),d(maxvar),v(1:lv),xx(maxvar)
* controls output
iv(19)=2
* selects output unit
-c iv(21)=iout
iv(21)=0
+ if (print_min_ini+print_min_stat+print_min_res.gt.0) iv(21)=iout
* 1 means to print out result
- iv(22)=0
+ iv(22)=print_min_res
* 1 means to print out summary stats
- iv(23)=0
+ iv(23)=print_min_stat
* 1 means to print initial x and d
- iv(24)=0
+ iv(24)=print_min_ini
* min val for v(radfac) default is 0.1
v(24)=0.1D0
* max val for v(radfac) default is 4.0
c call chainbuild
c call etotal(energia(0))
c etot = energia(0)
+c icheckgrad=3
+c call exec_checkgrad
IF (mask_r) THEN
call x2xx(x,xx,nvar_restr)
call sumsl(nvar_restr,d,xx,func_restr,grad_restr,
ELSE
call sumsl(nvar,d,x,func,gradient,iv,liv,lv,v,idum,rdum,fdum)
ENDIF
+c icheckgrad=3
+c call exec_checkgrad
etot=v(10)
iretcode=iv(1)
cd print *,'Exit SUMSL; return code:',iretcode,' energy:',etot
* controls output
iv(19)=2
* selects output unit
-c iv(21)=iout
- iv(21)=0
+ iv(21)=0
+ if (print_min_ini+print_min_stat+print_min_res.gt.0) iv(21)=iout
* 1 means to print out result
- iv(22)=0
+ iv(22)=print_min_res
* 1 means to print out summary stats
- iv(23)=0
+ iv(23)=print_min_stat
* 1 means to print initial x and d
- iv(24)=0
+ iv(24)=print_min_ini
* min val for v(radfac) default is 0.1
v(24)=0.1D0
* max val for v(radfac) default is 4.0
enddo
endif
enddo
+ print *,"check_ecart before sumsl"
+c icheckgrad=2
+c call exec_checkgrad
call sumsl(k,d,x,func_dc,grad_dc,iv,liv,lv,v,idum,rdum,fdum)
etot=v(10)
iretcode=iv(1)
nfun=iv(6)
+ print *,"check_ecart"
+c icheckgrad=2
+c call exec_checkgrad
return
end