Coverage for gpaw/test/pseudopotential/test_upf_h2o.py: 25%

20 statements  

« prev     ^ index     » next       coverage.py v7.7.1, created at 2025-07-20 00:19 +0000

1import pytest 

2from gpaw.upf import UPFSetupData 

3 

4 

5def get(fname): 

6 s = UPFSetupData(fname) 

7 return s 

8 

9 

10@pytest.mark.skip(reason='TODO') 

11def test_psp_upf_h2o(): 

12 s = get('O.pz-hgh.UPF') 

13 # upfplot(s.data, show=True) 

14 

15 # dr = x[1] - x[0] 

16 

17 from gpaw.atom.atompaw import AtomPAW 

18 

19 if 0: 

20 # f = 1.0 # 1e-12 

21 c = AtomPAW('H', [[[2.0], [4.0]]], 

22 # charge=1 - f, 

23 h=0.04, 

24 # setups='paw', 

25 # setups='hgh', 

26 setups={'H': s} 

27 ) 

28 

29 import matplotlib.pyplot as plt 

30 plt.plot(c.wfs.gd.r_g, c.hamiltonian.vt_sg[0]) 

31 plt.show() 

32 raise SystemExit 

33 

34 # print 'test v201 Au.pz-d-hgh.UPF' 

35 # s = UPFSetupData('Au.pz-d-hgh.UPF') 

36 # print 'v201 ok' 

37 

38 # print 'test horrible version O.pz-mt.UPF' 

39 # s = UPFSetupData('O.pz-mt.UPF') 

40 # print 'horrible version ok, relatively speaking' 

41 

42 if 1: 

43 from gpaw import GPAW, PoissonSolver 

44 from gpaw.utilities import h2gpts 

45 from ase.build import molecule 

46 

47 # s = UPFSetupData('/home/askhl/parse-upf/h_lda_v1.uspp.F.UPF') 

48 

49 upfsetups = {'H': UPFSetupData('H.pz-hgh.UPF'), 

50 'O': UPFSetupData('O.pz-hgh.UPF')} 

51 

52 system = molecule('H2O') 

53 system.center(vacuum=3.5) 

54 calc = GPAW(mode='fd', 

55 txt='-', 

56 nbands=6, 

57 setups=upfsetups, 

58 # setups='paw', 

59 # hund=True, 

60 # mixer=MixerSum(0.1, 5, 20.0), 

61 # eigensolver='cg', 

62 # occupations=FermiDirac(0.1), 

63 # charge=1-1e-12, 

64 # eigensolver='rmm-diis', 

65 gpts=h2gpts(0.12, system.get_cell(), idiv=8), 

66 poissonsolver=PoissonSolver(relax='GS', eps=1e-7), 

67 xc='oldLDA', 

68 # nbands=4 

69 ) 

70 

71 system.calc = calc 

72 system.get_potential_energy()