[CP2K-user] Number of sph. DERIV's calculated on the fly

Sun Geng gengs... at gmail.com
Mon Jan 4 20:31:47 UTC 2021

Dear CP2K users,

I am using CP2K with the ADMM method for structure optimization.
The system is an inorganic bulk with around 100 atoms in a cubic box 
12x12x12 angstrom^3.
I am able to set up the calculation resulting smooth SCF convergence. 
The "Number of sph. ERI's calculated on the fly" is 0 and hence the SCF 
converges quickly. The first SCF takes about 1800 seconds and the following 
SCF steps take only an impressive 20 seconds. In the end, CP2K can converge 
the SCF in approximate 2500 seconds.
However, I notice that in between the optimization steps, the derivatives 
of integrals are still calculated on the fly (see the output below), and 
this step appears to be very slow. CP2K did not print how long it took to 
compute the derivatives, but I can tell by checking the updating time in 
the output. My estimation is that it takes more than 2 hours to calculate 
the derivatives.

  HFX_MEM_INFO| Number of cart. primitive DERIV's calculated:    
  HFX_MEM_INFO| Number of sph. DERIV's calculated:                  
  HFX_MEM_INFO| Number of sph. DERIV's stored in-core:                      
  HFX_MEM_INFO| Number of sph. DERIV's calculated on the fly:      
  HFX_MEM_INFO| Total memory consumption DERIV's RAM [MiB]:                
  HFX_MEM_INFO| Whereof max-vals [MiB]:                                    
  HFX_MEM_INFO| Total compression factor DERIV's RAM:                      

Finally, the overall efficiency of CP2K for optimization is much slower 
than that of VASP code for this system (both of them used HSE06 
functional). In VASP, although an SCF step takes 200 seconds and SCF 
converged in 15 steps (resulting in 3000 seconds per optimization step), 
the forces are calculated with negligible cost in VASP.

I wonder are there any tricks in the cp2k inputs that can speed up the 
derivatives of the integrals? Or any pieces of advice that I can use in 
using CP2K/ADMM methods?
My personal impression is that CP2K/ADMM is not the optimal choice (in 
terms of optimization efficiency) for a small system (maybe within 150~200 
atoms, I did not test though) compared with VASP code. Maybe, for a larger 
system, the overhead of calculating forces in CP2K/ADMM is relatively 
small, and in that case, CP2K/ADMM will be more efficient than VASP? Please 
let me know if this is a realistic point for choosing VASP and CP2K.

Thank you very much in advance!


-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.cp2k.org/archives/cp2k-user/attachments/20210104/3f94a8ad/attachment.htm>

More information about the CP2K-user mailing list