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