1#! /usr/bin/env python3 2import h5py 3from pyscf.pbc import gto, scf, df 4from numpy import array 5 6cell = gto.Cell() 7cell.a = ''' 8 3.37316115 3.37316115 0.00000000 9 0.00000000 3.37316115 3.37316115 10 3.37316115 0.00000000 3.37316115''' 11cell.atom = ''' 12 C 0.00000000 0.00000000 0.00000000 13 C 1.686580575 1.686580575 1.686580575 14 ''' 15cell.basis = 'bfd-vdz' 16cell.ecp = 'bfd' 17cell.unit = 'B' 18cell.drop_exponent = 0.1 19cell.verbose = 5 20cell.charge = 0 21cell.spin = 0 22cell.build() 23 24 25sp_twist=[0.07761248, 0.07761248, -0.07761248] 26 27kmesh=[2,1,1] 28kpts=array([[ 0.07761248, 0.07761248, -0.07761248],[ 0.54328733, 0.54328733, -0.54328733]]) 29 30 31 32 33mydf = df.GDF(cell,kpts) 34mydf.auxbasis = 'weigend' 35mydf._cderi_to_save = 'df_ints.h5' 36mydf.build() 37mf = scf.KROHF(cell,kpts).density_fit() 38mf.exxdiv = 'ewald' 39mf.max_cycle = 200 40mf.with_df = mydf 41mf.chkfile ='diamond-scf.chk' 42mf.with_df._cderi = 'df_ints.h5' 43 44e_scf=mf.kernel() 45 46ener = open('e_scf','w') 47ener.write('%s\n' % (e_scf)) 48print('e_scf',e_scf) 49ener.close() 50 51title="C_diamond-twist" 52from PyscfToQmcpack import savetoqmcpack 53savetoqmcpack(cell,mf,title=title,kmesh=kmesh,kpts=kpts,sp_twist=sp_twist) 54 55from MolPyscfToQPkpts import pyscf2QP 56pyscf2QP(cell,mf,kpts=kpts,int_threshold = 1E-15) 57