[gpaw-users] non self-consitent calculation with PBE0

Jens Jørgen Mortensen jensj at fysik.dtu.dk
Wed May 18 10:01:37 CEST 2011


ons, 18 05 2011 kl. 01:19 +0200, skrev Mathias Ljungberg:
> Hi,
> 
> It seems the following script cannot parallelize over k-points (nor  
> bands). When I tried it with 2 processors I got the error message below.

Should work OK now in trunk.  vxc() now returns an array of shape
(nspins, nibzkpts, nbands) on all cpu's.

Jens Jørgen

> Mathias
> 
> 
> ******
> from ase.structure import bulk
> from gpaw import GPAW, FermiDirac
> from gpaw.xc.tools import vxc
> from gpaw.xc.hybridk import HybridXC
> 
> a=5.43
> k=4
> 
> si = bulk('Si', 'diamond', a)
> si.calc = GPAW(kpts=(k, k, k),
>                 xc='PBE',
>                 gpts=(20, 20, 20),
>                 occupations=FermiDirac(0.01),
>                 parallel={'domain': 1},
>                 txt='Si-PBE.txt' )
> 
> si.get_potential_energy()
> 
> si.calc.write('Si-PBE.gpw', mode='all')
> 
> pbe0 = HybridXC('PBE0', alpha=5.0)
> 
> calc = GPAW('Si-PBE.gpw',txt='Si-PBE0.txt', parallel={'domain':1})
> 
> print vxc(calc, pbe0) - vxc(calc, 'PBE')
> 
> 
> ***********
> 
>   Traceback (most recent call last):
>    File "si_non_scf_PBE0.py", line 9, in ?
>      print vxc(calc, pbe0) - vxc(calc, 'PBE')
>    File "/home/m/mathiasl/pfs/gpaw_devel/gpaw/gpaw/xc/tools.py", line  
> 60, in vxc
>      vxc_un += xc.exx_skn[0]
> ValueError    vxc_un += xc.exx_skn[0]
> : shape mismatch: objects cannot be broadcast to a single shape
> 
> ************
> 
> 
> 
> 
> 
> On May 17, 2011, at 5:30 PM, Mathias Ljungberg wrote:
> 
> > Hi,
> >
> > Thanks for the answer, I'll try more k-points if I manage to get the
> > calculation running.I have another question: if I use the vxc function
> > to get the difference of eigenvalues like below, how can I calculate
> > the new fermi level?
> >
> > pbe0 = HybridXC('PBE0', alpha=5.0)
> > de_kn = vxc(calc, pbe0) - vxc(calc, 'PBE')
> >
> >
> > Mathias
> >
> >
> > On May 17, 2011, at 1:08 PM, Thomas Olsen wrote:
> >
> >> Hi
> >>
> >> I think in general you need a denser k-point sampling for EXX
> >> calculations compared to local functionals. 6x6 may be enough, but I
> >> would test an increased sampling (perhaps 10x10) afterwards.
> >>
> >> You should parallelize the calculation over ibz kpoints as usual.
> >>
> >> BR
> >> Thomas
> >>
> >>
> >> On Tue, 2011-05-17 at 12:46 +0200, Mathias Ljungberg wrote:
> >>> Hello,
> >>>
> >>> I want to attempt a non self-consistent calculation of PBE0
> >>> eigenvalues of CO adsorbed on a Ni slab. My unit cell is (4.98,  
> >>> 4.98,
> >>> 17.28) and I have 20 atoms with 180 electrons. I use 6x6x1 kpoints
> >>> which give 12 kpoints in the IBZ. Is this feasible and in that case
> >>> what parallelization options should I use?
> >>>
> >>> Best Regards,
> >>> Mathias Ljungberg
> >>>
> >>> _______________________________________________
> >>> gpaw-users mailing list
> >>> gpaw-users at listserv.fysik.dtu.dk
> >>> https://listserv.fysik.dtu.dk/mailman/listinfo/gpaw-users
> >>
> >
> > _______________________________________________
> > gpaw-users mailing list
> > gpaw-users at listserv.fysik.dtu.dk
> > https://listserv.fysik.dtu.dk/mailman/listinfo/gpaw-users
> 
> _______________________________________________
> gpaw-users mailing list
> gpaw-users at listserv.fysik.dtu.dk
> https://listserv.fysik.dtu.dk/mailman/listinfo/gpaw-users





More information about the gpaw-users mailing list