-
Notifications
You must be signed in to change notification settings - Fork 0
cationly/Huckel-Energy
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Folders and files
Name | Name | Last commit message | Last commit date | |
---|---|---|---|---|
Repository files navigation
HUCKEL ~~~~~~ The "Huckel" code is a collection (2) of tools for analysing systems according to the Tight Binding, or Hückel, model. REPOSITORY CONTENTS ~~~~~~~~~~~~~~~~~~~ / (root directory) \ |-- TODO (to-do list, for dev use only) | |-- makefile (file compatible with the GNU Make utility for easy compilation) | |-- examples/ (Directory of example hamiltonians for use with Huckel Energy) | |-- hamiltonians/ (Directory used by HuckelPlot for plot-file output (see docs) | |-- src/ (Directory containing the source for Huckel Energy | |-- scripts/ (Directory containing the HuckelPlot program and its dependencies, | as well as some other useful scripts for use with Huckel Energy) BACKGROUND ~~~~~~~~~~ Within the Tight Binding model we attempt to describe molecular wavefunctions by expressing them in terms of local atomic orbitals centred on the individual atoms in the given molecule. We approximate the Hamiltonian in this basis of localised orbitals by: H_ij = -t_ij Where t_ij = t when i & j are neighbouring sites and 0 otherwise. e.g. for a chain of 4 hydrogen atoms: H--H--H--H We would have a basis of atomic orbitals: phi_1, phi_2, phi_3, phi_4 where phi_j is localised on the j^th H atom in the chain. Our Tight Binding hamiltonian in this basis of localised orbitals would have the form: /0 1 0 0\ Ĥ = -t|1 0 1 0| |0 1 0 1| \0 0 1 0/ THE CODES ~~~~~~~~~ The back-end code to this project is a Fortran90 code called "Huckel Energy", which calculates the eigenstate energies in terms of the parameter "t" and (optionally) the eigenstates themselves in the basis of atomic orbitals. This code is essentially a glorified matrix-diagonalisation program which uses the LAPACK and LBLAS libraries to do the computations fast. This code was originally written as an excercise in writing Fortran90 code, and as a proof of concept. The source for Huckel Energy is found in the /src directory, as is the README specific for the compilation and running of Huckel Energy. The "front-end" code is a python code called "HuckelPlot". It is, again, a fairly basic code which was written as a programming exercise but which nevertheless serves a useful purpose. HuckelPlot allows the user to specify a hamiltonian matrix to solve, but with variable parameters. Huckelplot then calculates the energies of the hamiltonian while varying the parameters between user defined limits. The output is an easily-graphable file which gives the user information about how the molecule's energy changes as the hamiltonian is altered. Coupled with knowledge of how the hamiltonian translates into real-space configuration of atoms then gives the user a tool to analyse molecules withing the Tight Binding approximation. The source for HuckelPlot is in the /scripts directory, and its README is found at the top of the huckelPlot.py file.
About
Very simple program to calculate the relative energies of molecules according to the Tight Binding model
Resources
Stars
Watchers
Forks
Releases
No releases published
Packages 0
No packages published