parallel={'domain': mpi.size}, xc='PBE', txt='CO-m.txt', spinpol=True) m = atoms.copy() m.set_initial_magnetic_moments([-1,1]) m.set_calculator(m_c) m.get_potential_energy() d_c = GPAW(gpts=N_c, nbands=16, mixer=MixerDif(0.1, 5, weight=100.0), convergence={'bands':10}, parallel={'domain': mpi.size}, xc='PBE', txt='CO-d.txt', spinpol=True) d = atoms.copy() d.set_initial_magnetic_moments([-1,1]) d_c.set(charge=1) d.set_calculator(d_c) d.get_potential_energy() istart=0 # band index of the first occ. band to consider jend=15 # band index of the last unocc. band to consider d_lr = LrTDDFT(d_c, xc='PBE', nspins=2 , istart=istart, jend=jend) d_lr.diagonalize() pes = TDDFTPES(m_c, d_lr, d_c) pes.save_folded_pes('CO-td.dat', folding=None) pes = DOSPES(m_c, d_c) pes.save_folded_pes('CO-dos.dat', folding=None)
pes.save_folded_pes(filename=out, folding=None) pes.save_folded_pes(filename=None, folding=None) # check for correct shift VDE = calc_plus.get_potential_energy() - calc.get_potential_energy() BE_HOMO = 1.e23 be_n, f_n = pes.get_energies_and_weights() for be, f in zip(be_n, f_n): if f > 0.1 and be < BE_HOMO: BE_HOMO = be equal(BE_HOMO, VDE) lr = LrTDDFT(calc_plus, xc=xc) out = 'lrpes.dat' pes = TDDFTPES(calc, lr) pes.save_folded_pes(filename=out, folding='Gauss') pes.save_folded_pes(filename=None, folding=None) energy_tolerance = 0.0001 niter_tolerance = 1 equal(e_H2, -3.90059, energy_tolerance) equal(e_H2_plus, 10.5659703, energy_tolerance) # io out = 'lrpes.dat.gz' lr.write(out) lr = LrTDDFT(out) lr.set_calculator(calc_plus) pes = TDDFTPES(calc, lr) pes.save_folded_pes(filename=None, folding=None)
parallel={'domain': mpi.size}, xc='PBE', txt='CO-m.txt', spinpol=True) m = atoms.copy() m.set_initial_magnetic_moments([-1,1]) m.set_calculator(m_c) m.get_potential_energy() d_c = GPAW(gpts=N_c, nbands=16, mixer=MixerDif(0.1, 5, weight=100.0), convergence={'bands':10}, parallel={'domain': mpi.size}, xc='PBE', txt='CO-d.txt', spinpol=True) d = atoms.copy() d.set_initial_magnetic_moments([-1,1]) d_c.set(charge=1) d.set_calculator(d_c) d.get_potential_energy() istart=0 # band index of the first occ. band to consider jend=15 # band index of the last unocc. band to consider d_lr = LrTDDFT(d_c, xc='PBE', nspins=2 , istart=istart, jend=jend) d_lr.diagonalize() pes = TDDFTPES(m_c, d_lr, d_c) pes.save_folded_pes('CO-td.dat', folding=None) pes = DOSPES(m_c, d_c, shift=True) pes.save_folded_pes('CO-dos.dat', folding=None)
parallel={'domain': mpi.size}, xc='PBE', txt='NH3-m.txt', spinpol=True) m = atoms.copy() m.set_initial_magnetic_moments([-1,1,1,-1]) m.set_calculator(m_c) m.get_potential_energy() d_c = GPAW(gpts=N_c, nbands=16, mixer=MixerDif(0.1, 5, weight=100.0), convergence={'bands':10}, parallel={'domain': mpi.size}, xc='PBE', txt='NH3-d.txt', spinpol=True) d = atoms.copy() d.set_initial_magnetic_moments([-1, 0.5, 0.5, -0.5]) d_c.set(charge=1) d.set_calculator(d_c) d.get_potential_energy() istart=0 # band index of the first occ. band to consider jend=15 # band index of the last unocc. band to consider d_lr = LrTDDFT(d_c, xc='PBE', nspins=2 , istart=istart, jend=jend) d_lr.diagonalize() pes = TDDFTPES(m_c, d_lr, d_c) pes.save_folded_pes('NH3-td.dat', folding=None) pes = DOSPES(m_c, d_c, shift=True) pes.save_folded_pes('NH3-dos.dat', folding=None)