[ase-users] Spin polarized calculation of H2 Molecule gives different potential energy
Sashank Kasiraju
sashank.kasiraju at gmail.com
Fri Apr 12 21:41:03 CEST 2013
Dear ASE/VASP users,
This is my first query, so if I miss something or if I am unclear please
bear with me. I am a relatively new vasp user.
I was trying to do this simple calculation for finding the potential energy
of H2 Molecule. I got 2 different results with and without spin-polarized
calculation. I am using "*vasp.5.3.3 18Dez12 (build Jan 17 2013 09:57:53)*"
1. When ispin=1 (non-spin polarized) , the bond length of the relaxed
configuration was around the 0.747 A which is close to the experimental
value with a potential energy of about (-7.04 ev)
2. When ispin=2 (spin-polarized), the bond length of relaxed structure
was 3.801 A, i.e. the hydrogen atoms in the molecule moved apart and exist
as 2 separate H atoms with the potential energy of about (-2.47 ev)
You can find the python script below. Both the cases have the same python
script (except for the presence/absence of ispin tag i.e. case 1: no ispin
tag, case 2: ispin=2). I used the ibrion=2 tag for ionic relaxation. I will
be happy to provide any other information/outputs if required. Can you
please let me know why this is happening? Or if I am going about it totally
wrong?
Thanks in advance!
*Script: *
from ase.visualize import view
from ase.calculators.vasp import Vasp
from ase.io import write
from ase.structure import molecule
from ase.io import read
import os.path, os
os.environ['VASP_EXEC']='vasp_std' # define the vasp executable here
file=open('Hydrogen_Energy.txt','a')
name = 'H2_Energy'+ '.traj'
atoms= molecule('H2')
atoms.center(vacuum=10)
calc=Vasp(xc='PBE',
gga='RP',
ibrion=2,
lscalapack=False,
nsw=500,
nelm=200,
ediffg=-0.01,
prec='Accurate',
encut=540,
ediff=1E-6,
kpts=(1,1,1),
ismear=0,
ispin=2,
sigma=0.01,
lwave=False,
lcharg=False,
ialgo=48,
lreal='False',
idipol=4,
ldipol=True,
dipol=(0.5,0.5,0.5),
gamma=True,
npar=2)
atoms.set_calculator(calc)
e = atoms.get_potential_energy()
write(name, atoms)
file.write(str(e)+'\n'+'In (ev)')
file.close()
Warm Regards,
Sashank.
--
Regards,
Sashank Kasiraju,
PhD Student,
Dept. of Chemical Engineering,
University of Houston.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://listserv.fysik.dtu.dk/pipermail/ase-users/attachments/20130412/68db625b/attachment.html>
More information about the ase-users
mailing list