- Use the "Options" to switch off the Hydrogen atoms
- Switch on "atom labels", "elements with number"
- Start Matlab and do a Huckel calculation for anthracene:
- First make a table of neighbors:
tab = [ ...
1 2
2 3
3 4
etc...
]
- Determine the number of bonds (should be 16):
m = size(tab,1)
- Now set up the Hamiltonian matrix:
n = 14 % dimension of Hamiltonian
H = zeros(n, n);
for i=1:m
H(tab(i,1), tab(i,2)) = 1;
end
H = H + H' % make it Hermitian
- There is a quicker way to setup the Hamiltonian.
After you enter the table use "sparse":
H = sparse(tab(:,1), tab(:,2), 1)
H = H+H'
H = full(H)
- Now calculate eigenvalues and eigenvectors
[V,E] = eig(H);
- The eigenvalues should be on the diagonal of E, so
it is convenient to put them in a vector
e = diag(E)
- Now think long and hard which column of V is the HOMO
k = 8
- Make convenient table:
[ (1:n)' V(:,k)]
- Use "View coefficient" and compare the result with the HF/STO-3G calculation
- Copy the coefficients of the Px orbitals in a column vector,
and determine the overlap with all the Huckel MOs:
mo = [0.29
0.23
etc]
S = V'*mo
- Is is also possible to "export" the coefficients as a
"comma separated values" (.csv) file (right-click on table).
To import the file in Matlab use "File", "Open" and select
"Exclude columns with", "Non-numeric cells".
- Import the file into the matrix A (80x2)
- To select the non-zero entries use:
ind = find(A(:,2)~=0)
mo = A(ind, 2)
- Or even shorter:
ind = find(A(:,2))
mo = A(ind,2)
- Use the Viewer to find an orbital of B3g symmetry
- In Matlab define all SALCs of B3g in a matrix, where
each column corresponds to a SALC:
D = [ ...
1 0 0
0 1 0
0 0 1
etc
]
- Normalize each column:
l = size(D,2);
for i=1:l
D(:,i) = D(:,i)/norm(D(:,i));
end
-
Check the orthonormality of the basis:
S = D'*D
- Set up the Hamiltonian in the symmetry basis:
Hb3g = D'*H*D
- Solve Huckel in symmetry basis:
[Vb3g, Eb3g] = eig(Hb3g);
eb3g = diag(Eb3d)
- Transform the eigen vector back to the origional basis:
Wb3g = D * Vb3g
- Compare with HF/STO3g results.
Do not forget