Beispiel #1
0
# 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
Beispiel #2
0
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: