Пример #1
0
def test_functional():
  from pylada.dftcrystal import Functional, Shell
  from pylada.dftcrystal.input import print_input
  
  a = Functional()
  assert repr(a) == repr(loads(dumps(a)))
  a.basis['H'] = [ Shell( 's', 1.0, 
                          a0=[18.731137, 0.0334946],
                          a1=[2.8253937, 0.23472695],
                          a2=[0.6401217, 0.81375733] ),
                   Shell('s', 0.0, a0=[0.1612778, 1.0]), 
                   Shell('p', 0.0, a0=[1.1, 1.0]) ]
  a.shrink = [8, 8, 9], None
  a.tolinteg = 8, 8, 8, 8, 14
  a.dft.b3lyp = True
  a.dft.exchange = 'lda'
  a.dft.xxlgrid = True
  a.optgeom.maxcycle = 50
  a.optgeom.fulloptg = True
  assert repr(Functional()) != repr(loads(dumps(a)))
  assert repr(a) == repr(loads(dumps(a)))
  b = loads(dumps(a))
  assert print_input(a.output_map(crystal=a)) == print_input(b.output_map(crystal=b))