Author Topic: HOMO LUMO  (Read 8980 times)

0 Members and 1 Guest are viewing this topic.

Offline shank

  • Heavy QuantumATK user
  • ***
  • Posts: 33
  • Reputation: 0
    • View Profile
HOMO LUMO
« on: August 22, 2009, 11:28 »
Hi
I tried to find out HOMO LUMO of C6H6.I did egien state occupatncy and molecular septrum calculation.Ki Kindly help me to find out HOMO LUMO.As far I knew highest nonzero occupancy state is HOMO.Then how do i define nonzero for e-16 or 0. I also attached the file for reference.
with regards

Offline Anders Blom

  • QuantumATK Staff
  • Supreme QuantumATK Wizard
  • *****
  • Posts: 5428
  • Country: dk
  • Reputation: 89
    • View Profile
    • QuantumATK at Synopsys
Re: HOMO LUMO
« Reply #1 on: August 22, 2009, 12:10 »
1e-16 is zero. Your HOMO is state #14 and LUMO hence #15 (remember, counting starts from #0).

Offline Anders Blom

  • QuantumATK Staff
  • Supreme QuantumATK Wizard
  • *****
  • Posts: 5428
  • Country: dk
  • Reputation: 89
    • View Profile
    • QuantumATK at Synopsys
Re: HOMO LUMO
« Reply #2 on: August 22, 2009, 12:12 »
The fact that there are 15 occupied levels can also trivially be deducted from the fact that there are 4 valence electrons in each C atom (2s2 2p2) and 1 for each H atom, so in total there are 30 electrons in the system. Given double-degeneracy (spin), the first 30/2=15 levels will be occupied.

Offline shank

  • Heavy QuantumATK user
  • ***
  • Posts: 33
  • Reputation: 0
    • View Profile
Re: HOMO LUMO
« Reply #3 on: August 23, 2009, 20:11 »
Thank you very much.When I set quantum no 15,I found in result browser eigen state 0.Why so
thanking you
with regards

Offline Anders Blom

  • QuantumATK Staff
  • Supreme QuantumATK Wizard
  • *****
  • Posts: 5428
  • Country: dk
  • Reputation: 89
    • View Profile
    • QuantumATK at Synopsys
Re: HOMO LUMO
« Reply #4 on: August 23, 2009, 20:31 »
Either it is mislabeled (i.e. it's realy 15, but the label is wrong), or the quantum number was somehow assigned wrong. Can you attach the script, then it's easy to check.

Offline Anders Blom

  • QuantumATK Staff
  • Supreme QuantumATK Wizard
  • *****
  • Posts: 5428
  • Country: dk
  • Reputation: 89
    • View Profile
    • QuantumATK at Synopsys
Re: HOMO LUMO
« Reply #5 on: August 23, 2009, 20:32 »
Oops, embarrassing mistake!!! HOMO = 14 and LUMO = 15 !!!

Offline shank

  • Heavy QuantumATK user
  • ***
  • Posts: 33
  • Reputation: 0
    • View Profile
Re: HOMO LUMO
« Reply #6 on: August 24, 2009, 19:00 »
Thanks for replyand effort.Please find attached script.Each time I find eigenstate 0 and1 in result browser whatever I give quantum no .
Thanking you
with regards







from ATK.KohnSham import *
from ATK.MPI import processIsMaster

# Generate time stamp
if processIsMaster():
    import platform, time
    print '#',time.ctime()
    print '#',platform.node(),platform.platform()+'\n'

# Opening vnlfile
if processIsMaster(): file = VNLFile('E:/Documents and Settings/shan/c6h61result.vnl')

# Define elements
elements = [Hydrogen, Hydrogen, Hydrogen, Hydrogen,
            Hydrogen, Hydrogen, Carbon,   Carbon,   
            Carbon,   Carbon,   Carbon,   Carbon]

# Define coordinates
coordinates = [[  2.16567108e+00,   1.25036313e+00,   0.00000000e+00],
               [  2.16567108e+00,  -1.25036300e+00,   0.00000000e+00],
               [ -2.74814866e-08,  -2.50067816e+00,   0.00000000e+00],
               [ -2.16567114e+00,  -1.25036300e+00,   0.00000000e+00],
               [ -2.16567114e+00,   1.25036313e+00,   0.00000000e+00],
               [ -2.75083976e-08,   2.50067808e+00,   0.00000000e+00],
               [  1.21225307e+00,   6.99759982e-01,   0.00000000e+00],
               [  1.21225307e+00,  -6.99760027e-01,   0.00000000e+00],
               [ -2.74874102e-08,  -1.39979500e+00,   0.00000000e+00],
               [ -1.21225303e+00,  -6.99760027e-01,   0.00000000e+00],
               [ -1.21225303e+00,   6.99759982e-01,   0.00000000e+00],
               [ -2.75024740e-08,   1.39979508e+00,   0.00000000e+00]]*Angstrom

# Set up configuration
molecule_configuration = MoleculeConfiguration(elements,coordinates)
if processIsMaster(): nlPrint(molecule_configuration)
if processIsMaster(): file.addToSample(molecule_configuration, 'molecule_configuration')

######################################################################
# Parameters
######################################################################
exchange_correlation_type = LDA.PZ

iteration_mixing_parameters = iterationMixingParameters(
    algorithm = IterationMixing.Pulay,
    diagonal_mixing_parameter = 0.1,
    quantity = IterationMixing.Hamiltonian,
    history_steps = 6
)

eigenstate_occupation_parameters = eigenstateOccupationParameters(
    temperature = 300.0*Kelvin
)

electron_density_parameters = electronDensityParameters(
    mesh_cutoff = 150.0*Rydberg
)

basis_set_parameters = basisSetParameters(
    type = DoubleZetaPolarized,
    radial_sampling_dr = 0.001*Bohr,
    energy_shift = 0.01*Rydberg,
    delta_rinn = 0.8,
    v0 = 40.0*Rydberg,
    charge = 0.0,
    split_norm = 0.15
)

poisson_equation_parameters = poissonEquationParameters(padding_factor = 0.1)

iteration_control_parameters = iterationControlParameters(
    tolerance = 1e-005,
    criterion = IterationControl.TotalEnergy,
    max_steps = 100
)

two_center_integral_parameters = twoCenterIntegralParameters(
    cutoff = 2500.0*Rydberg,
    points = 1024
)

######################################################################
# Initialize self-consistent field calculation
######################################################################
kohnsham_method = KohnShamMethod(
    exchange_correlation_type = exchange_correlation_type,
    iteration_mixing_parameters = iteration_mixing_parameters,
    eigenstate_occupation_parameters = eigenstate_occupation_parameters,
    electron_density_parameters = electron_density_parameters,
    basis_set_parameters = basis_set_parameters,
    iteration_control_parameters = iteration_control_parameters,
    two_center_integral_parameters = two_center_integral_parameters,
    poisson_equation_parameters = poisson_equation_parameters
)
if processIsMaster(): nlPrint(kohnsham_method)

# Restore self consistent calculation from check point file
scf = restoreSelfConsistentCalculation(
    filename = 'E:/Documents and Settings/shan/c6h61.nc'
)
######################################################################
# Calculate physical properties
######################################################################
eigenstates = calculateEigenstates(
    self_consistent_calculation = scf,
    quantum_numbers = (14,15)
)
for state_index,state in enumerate(eigenstates):
    label='Eigenstate'+' '+str(state_index)
    if processIsMaster(): file.addToSample(state, 'molecule_configuration', label)


Offline Nordland

  • QuantumATK Staff
  • Supreme QuantumATK Wizard
  • *****
  • Posts: 812
  • Reputation: 18
    • View Profile
Re: HOMO LUMO
« Reply #7 on: August 24, 2009, 20:34 »
The eigenstate 0 and eigenstate 1 is simply the two eigenstate you selected.

So eigenstate is the first you selected, hence it is 14, and eigenstate is the second you selected, hence it is 15.

Offline Anders Blom

  • QuantumATK Staff
  • Supreme QuantumATK Wizard
  • *****
  • Posts: 5428
  • Country: dk
  • Reputation: 89
    • View Profile
    • QuantumATK at Synopsys
Re: HOMO LUMO
« Reply #8 on: August 24, 2009, 20:47 »
I admit this is confusing, and we should try to make the next version of VNL produce a script which labels the states according to the quantum numbers. To "fix" this manually, you can modify the last bit of the code slightly, by hand:
Code
######################################################################
# Calculate physical properties
######################################################################
quantum_numbers = (14,15)
eigenstates = calculateEigenstates(
    self_consistent_calculation = scf,
    quantum_numbers = quantum_numbers
)
for state_index,state in enumerate(eigenstates):
    label='Eigenstate'+' '+str(quantum_numbers[state_index])
    if processIsMaster(): file.addToSample(state, 'molecule_configuration', label)

This will make it easier to identify the states in the Result Browser (or, rather, in the Nanoscope) when you plot them.

Offline shank

  • Heavy QuantumATK user
  • ***
  • Posts: 33
  • Reputation: 0
    • View Profile
Re: HOMO LUMO
« Reply #9 on: August 25, 2009, 12:46 »
Thanks for reply.
I have  coordinate of molecule in  txt file.Now I am facing problem to convert it to .xyz.i am attaching some data below for reference.Please help me  with tips to do so.
with regards


Center     Atomic     Atomic              Coordinates (Angstroms)
 Number     Number      Type              X           Y           Z
 ---------------------------------------------------------------------
    1          7             0       -4.056579   -0.069489    2.250744
    2          6             0       -3.955644   -1.251688    2.978232
    3          6             0       -3.886743    1.013511    3.108214
    4          6             0       -3.718521   -0.905147    4.345514
    5          6             0       -3.675840    0.499252    4.426103
    6          7             0       -4.207991   -2.013892    0.031712
    7          6             0       -4.308179   -2.749149   -1.081842
    8          6             0       -4.155732   -2.919342    1.131526
    9          6             0       -4.328849   -4.209887   -0.758998
   10          6             0       -4.239881   -4.309904    0.596981
   11          7             0       -4.235050    0.174678   -1.906612
   12          6             0       -4.278253    1.370384   -2.637779
   13          6             0       -4.347220   -0.924881   -2.769537
   14          6             0       -4.407975    0.985613   -4.073667
   15          6             0       -4.448727   -0.371413   -4.151571
   16          7             0       -4.083965    2.121545    0.269112
   17          6             0       -3.979607    2.890401    1.464980

Offline Anders Blom

  • QuantumATK Staff
  • Supreme QuantumATK Wizard
  • *****
  • Posts: 5428
  • Country: dk
  • Reputation: 89
    • View Profile
    • QuantumATK at Synopsys
Re: HOMO LUMO
« Reply #10 on: August 25, 2009, 13:01 »
An xyz file should look like First line: number of atoms (so, 17 in your case) Second line: some comment Third to last line: Element symbol x y z (in Angstrom) Like so:
Code
17
my molecule
N -4.056579   -0.069489    2.250744
...

Offline shank

  • Heavy QuantumATK user
  • ***
  • Posts: 33
  • Reputation: 0
    • View Profile
Re: HOMO LUMO
« Reply #11 on: August 25, 2009, 14:31 »
Thanks.I want to know if i remove two other column keeping X,Y,Z co-ordinate and chaning atomic number in element symbol.Then the file will be in XYZ or not, of course first line conatins total number of atom.As i have total coordinates of 138 atoms in txt format at notepad.So I want some easy and accurate way to design  molecule.It is possible  by atomic manipulator but in any time errror may occur.Thats why i request for  help.
with regards

Offline Anders Blom

  • QuantumATK Staff
  • Supreme QuantumATK Wizard
  • *****
  • Posts: 5428
  • Country: dk
  • Reputation: 89
    • View Profile
    • QuantumATK at Synopsys
Re: HOMO LUMO
« Reply #12 on: August 25, 2009, 14:55 »
Try this.
Code
import sys
from NL.ScienceUtilities import PeriodicTable as P

fname = sys.argv[2]
f = open(fname,'r') 
lines = f.readlines()
new_lines = []
for i in range(len(lines)):
    tmp = lines[i].strip().split()
    if len(tmp)>0:
        new_lines.append(tmp)

print len(new_lines)
print 'XYZ file converted from',fname
for line in new_lines:
    print P.__all_elements[int(line[1])-1].symbol(),
    print line[3],line[4],line[5]
Save as "convert.py", then run
Code
atk convert.py myfile > newfile.xyz
Here "myfile" should have the format indicated above, but without the extra 3 lines at the top, that is only the lines with coordinates.

Offline shank

  • Heavy QuantumATK user
  • ***
  • Posts: 33
  • Reputation: 0
    • View Profile
Re: HOMO LUMO
« Reply #13 on: August 27, 2009, 19:55 »
Thanks.I did it
with regards