GPW calculations with hybrid functionals
Simone Piccinin
piccini... at gmail.com
Wed Dec 2 16:43:30 UTC 2009
Dear CP2K users,
I am studying an inorganic molecule (an anion with charge -2) in
vacuum using CP2K. I have already done a GPW calculation using the PBE
functional and I obtained a satisfactory agreement with planewave-
pseudopotential calculations that use the same functional. Now I would
like to see what happens using a hybrid functional.
After reading the papers by M. Guidon et al. in JCP and JCTC and
looking at the examples files contained in the test/QS folder of CP2K,
I performed a HSE06 test on a single Ru atom coordinated to two water
molecules (I'm interested in the Ru/H2O vs. Ru/OH interaction). The
results in terms of the relative binding energy of OH and H2O with Ru
are not very different from what I got with the PBE functional.
Now, rather than a single atom, I'd like to study the full molecule.
Here Ru is formally in a 4+ oxidation state when coordinated to H2O
and +5 when coordinated to OH. The goal is to see if hybrid
functionals change the water/Ru interaction with respect to the PBE
result.
Here is the input file I prepared for a HSE06 calculation using the
DZVP-SR basis set:
&FORCE_EVAL
METHOD Quickstep
&DFT
BASIS_SET_FILE_NAME ../BASIS_MOLOPT
POTENTIAL_FILE_NAME ../POTENTIAL
LSD
MULTIPLICITY 1
CHARGE -2
&MGRID
CUTOFF 280
# REL_CUTOFF 50
NGRIDS 5
&END MGRID
&QS
METHOD GPW
EPS_DEFAULT 1.0E-12
MAP_CONSISTENT
EXTRAPOLATION PS
EXTRAPOLATION_ORDER 3
&END QS
&POISSON
PERIODIC NONE
PSOLVER MT
&END
&SCF
EPS_SCF 1.0E-6
SCF_GUESS ATOMIC
MAX_SCF 30
&OUTER_SCF
MAX_SCF 15
EPS_SCF 1.0E-6
&END OUTER_SCF
&OT ON
MINIMIZER DIIS
PRECONDITIONER FULL_ALL
ENERGY_GAP 0.001
&END OT
&END SCF
&XC
&XC_FUNCTIONAL
&XWPBE
SCALE_X -0.25
SCALE_X0 1.0
OMEGA 0.11
&END
&PBE
SCALE_X 0.0
SCALE_C 1.0
&END PBE
&END XC_FUNCTIONAL
&HF
&SCREENING
EPS_SCHWARZ 1.0E-6
EPS_SCHWARZ_FORCES 1.0E-5
# SCREEN_ON_INITIAL_P TRUE
&END
&INTERACTION_POTENTIAL
POTENTIAL_TYPE SHORTRANGE
OMEGA 0.11
&END
&MEMORY
MAX_MEMORY 20000
EPS_STORAGE_SCALING 0.1
&END
FRACTION 0.25
&END
&END XC
&END DFT
&SUBSYS
&CELL
ABC 18.0 18.0 18.0
PERIODIC NONE
&END CELL
&COORD
Ru 11.3574774452 11.4909122237 15.3267083201
Ru 8.6628081359 8.7367166895 15.3510280226
Cl 9.4970511723 7.1839977503 16.8975362058
Cl 7.1094265692 9.4273853366 16.9691857840
Cl 10.4970342002 12.9510456586 16.9755193841
Cl 13.0174806568 10.8492796775 16.8413873454
O 10.0307482999 10.1184326345 16.2195956041
O 7.4165771620 7.4165175401 14.6328883981
O 12.5608627105 12.8434462670 14.6272850975
O 11.9060890048 10.1339287212 14.1549030350
O 10.0093318129 8.3267603160 14.1603134294
O 10.0228938778 11.9997581712 14.1563049606
Ru 8.5741532487 11.4942007220 13.0868391614
Ru 11.3376140984 8.8332336054 12.9734396763
Cl 10.5300709168 7.2522438712 11.4265535377
Cl 12.8221607072 9.5923669464 11.3325247768
Cl 9.1109965769 13.2206821806 11.5996288634
Cl 7.0729388474 10.6424141234 11.4691383990
O 9.9431268173 10.2174547462 12.1023082014
O 12.6541066990 7.5922942768 13.6781280842
O 7.2227549871 12.6534286501 13.8707205439
O 8.0644623524 10.1318227596 14.2452191185
H 9.4281929463 9.7355582704 11.4269460151
H 9.5684784396 10.6036552254 16.9293974232
H 7.8543114631 7.0436069864 13.8434650774
H 12.1052133394 13.2201253420 13.8495058778
H 13.0620078910 8.0530500261 14.4360362158
H 6.8209494207 12.1199439454 14.5839274433
&END COORD
&KIND H
BASIS_SET DZVP-MOLOPT-SR-GTH
POTENTIAL GTH-PBE-q1
&END KIND
&KIND O
BASIS_SET DZVP-MOLOPT-SR-GTH
POTENTIAL GTH-PBE-q6
&END KIND
&KIND Ru
BASIS_SET DZVP-MOLOPT-SR-GTH
POTENTIAL GTH-PBE-q16
&END KIND
&KIND Cl
BASIS_SET DZVP-MOLOPT-SR-GTH
POTENTIAL GTH-PBE-q7
&END KIND
&END SUBSYS
&END FORCE_EVAL
&GLOBAL
PROJECT Ru
RUN_TYPE GEO_OPT
PRINT_LEVEL MEDIUM
&END GLOBAL
I would like to ask your help in understanding if the calculation is
setup properly. I have no previous experience in the use of hybrid
functionals and any suggestion would be very helpful.
I find that this calculation takes (roughly) 1 hour per ionic step,
using 128 CPUs on a IBM SP6, and I'd like to know if this sounds
reasonable to you or not. Later, I'd like to increase the size of the
basis set, include diffuse functions, since I have an anion, and
experiment a bit with different hybrids, so I'd be happy to know if
there is any way I can reduce the computation time (other than
increasing the number of processors).
For example, to exploit the "Screen on an initial density matrix" can
I use as restart file the restart file of the PBE calculation or do I
have to do 1 iteration with the current setup and than use its restart
file?
Among other things, I do not understand how to set the variable
MAX_MEMORY. The machine I'm using has 128Gb of shared memory per node,
where each node contains 32 processors. So I have up to 4x128 Gb of
memory when asking for 128 processors. What is the rational for
chosing the value of MAX_MEMORY? According to the online description
of this variable, it "defines the maximum amount of memory [MB] to be
consumed by the full HFX module". If I set it too small will the code
dump to disk whatever doesn't fit in MAX_MEMORY thus slowing down the
calculation?
Thank you very much for your help.
Best wishes,
Simone
---
Simone Piccinin
CNR-INFM Democritos, Trieste (Italy)
More information about the CP2K-user
mailing list