# Check dipole moment file data_tj = np.loadtxt('dm.dat') # Original run ref_i = data_tj[4:6].ravel() # Restarted steps data_i = data_tj[7:].ravel() tol = 1e-10 equal(data_i, ref_i, tol) # Test the absolute values data = np.loadtxt('dm.dat')[:6].ravel() if 0: from gpaw.test import print_reference print_reference(data, 'ref', '%.12le') ref = [ 0.0, 1.46915686e-15, -3.289312570937e-14, -2.273046460905e-14, -3.201827522804e-15, 0.82682747, 1.30253044e-15, 6.113786782415e-05, 6.113753835177e-05, 6.113827464597e-05, 1.65365493, -1.69353262e-15, 0.0001073089135539, 0.0001073052457949, 0.0001073068465827, 2.4804824, 1.42934356e-15, 0.0001353894007493, 0.0001353887214486, 0.0001353873226291, 3.30730987, -3.43926271e-16, 0.0001441529062519, 0.000144155244532, 0.0001441536382364, 4.13413733, -8.41062896e-16, 0.0001348222114923, 0.0001348264801341, 0.0001348229035149 ] print(data.tolist()) tol = 1e-7
energy = atoms.get_potential_energy() calc.write('gs.gpw', mode='all') # Time-propagation calculation td_calc = LCAOTDDFT('gs.gpw', txt='td.out') DipoleMomentWriter(td_calc, 'dm.dat') td_calc.absorption_kick(np.ones(3) * 1e-5) td_calc.propagate(20, 3) photoabsorption_spectrum('dm.dat', 'spec.dat', delta_e=5) world.barrier() # Test dipole moment data_i = np.loadtxt('dm.dat')[:, 2:].ravel() if 0: from gpaw.test import print_reference print_reference(data_i, 'ref_i', '%.12le') ref_i = [ 4.786589735249e-15, 6.509942495725e-15, 3.836848815869e-14, 4.429061708370e-15, 7.320865686028e-15, 2.877243538173e-14, 1.967175332445e-05, 1.967175332505e-05, 1.805003047148e-05, 3.799528613595e-05, 3.799528613766e-05, 3.602504333467e-05, 5.371491630029e-05, 5.371491629857e-05, 5.385043148270e-05 ] tol = 1e-12 equal(data_i, ref_i, tol) # Test spectrum data_i = np.loadtxt('spec.dat').ravel() if 0: