eHtuner
A program for refining Hückel or extended Hückel parameters against DFT band structure energies and density of states curves, as described in our article:
*************************************************
This file is part of eHtuner.
eHtuner is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.
eHtuner is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
You should have received a copy of the GNU General Public License along with eHtuner. If not, see http://www.gnu.org/licenses.
*************************************************
Using eHtuner
Compilation
eHtuner is written in c, and can be compiled with the GNU C Compiler, gcc. The program makes use of the Nelder-Mead Simplex minimization algorithm function in the GNU Scientific library, so it should be linked with this library during compilation.
The command sequence we usually use for this is:
gcc -c eHtuner.c
gcc eHtuner.o /usr/local/lib/libgsl.a /usr/local/lib/libgslcblas.a -lm
mv a.out eHtuner
where "/usr/local/lib/" happens to be where the .a files for the GSL are installed on our computer.
Visualization of the eHtuner results is made possible with the program gnuplot.
Interactions with other programs
The eHtuner program takes the output of VASP calculations to iteratively run YAeHMOP calculations in an attempt to find a simple or extended Hückel parameterization that reproduces the VASP result well. A few settings must be made in order for eHtuner to correctly call YAeHMOP properly. These are:
(1) In the .ini eHtuner input file, the line following the "BIND_COMMAND" keyword should give the executable for a version of the YAeHMOP bind program compiled such that it searches for the eht_parms.dat file in the current directory.
(2) In the .ini eHtuner input file, the line following the "FITDOS_COMMAND" keyword should give the executable for a version of the YAeHMOP fit_dos program, which generates density of states (DOS) curves viewable by the VIEWKEL program.
(3) Before compiling eHtuner.c file, the EHT_PARMS parameter near the top of the file should be set to the full eht_parms.dat file in the directory containing the YAeHMOP bind program's source code. Also, the "GNUPLOT_COMMAND" should be set to the executable for the gnuplot program.
Operations of the program
Once eHtuner is properly installed, the program is relatively simple to operate. After moving to the directory containing the VASP output, you can begin by typing:
eHtuner jobname
The program will then inform you that a file named jobname.ini has been created containing all of the default settings for the program. After editing the .ini file to the desired settings, the program is run by repeating the command:
eHtuner jobname
After the program finishes its iterations, the output parameters can be found in jobname.opt. The refinement can be continued by copying jobname.opt to jobname.ini, editing the jobname.ini to make any modifications that seem necessary, and running eHtuner again.