Readme file for energ10.cpp and current.cpp C++ files author: Bence Kocsis referenence: B. Kocsis, G. Palla, & J. Cserti Physical Review B, vol. 71, id. 075331 (2005) short title: energ10.cpp - calculates the energy eigenstates of a magnetic quantum antidot current.cpp - creates an xfig output to plot the current distribution example: make ./energ10-dyn s5.txt s5calc s5 see s5.txt attached. The s5* output files are also attached. see paramfile.txt (alternative for s5.txt) compile: make see Makefile attached. Note that the program uses Pari-GP which is a program available online that must be installed previously. The directory paths need to be set according to the Pari-GP paths. The easiest is to install pari-gp and copy its example Makefile, and replace the program name to energ10. Be sure to replace .c extension references to .cpp and the compiler from gcc to g++. discription: The program allows to specify the range of n, m, and s quantum numbers (see definition below) for which the levels need to be obtained. Several iterations are ran to make sure no levels are missed. The results are checked by multiple aspects. The parameters can be set in a separate file (see s5.txt or paramfile.txt). n - an index of which energy eigenstate for fixed m and s m - magnetic quantum number (i.e. angular momentum) s - missing flux quanta output: example for ./energ10-dyn s5.txt s5calc s5 calculation binary files: s5calc.qm - binary for eigenstates for exact QM states s5calc.wkb - binary for eigenstates for wkb approximation s5calc.wkb1 - binary for eigenstates with a modified wkb approx s5calc.log - log file for checking missed states txt files for the s dependence: s5.qm.dat - The data file in txt format (useful for comparing results for multiple s values) First element is s, the next elements are E(n=0,m=mmin), ..., E(n=0,m=mmax), E(n=1,m=mmin), ..., E(n=1,m=mmax), E(n=nmax,m=mmin), ..., E(n=nmax,m=mmax), s5.wkb.dat - same as s5.qm.dat but for the wkb approximation s5.wkb1.dat - same as s5.qm.dat but for the wkb1 approximation s5.err.dat - the difference between s5.qm.dat and s5.wkb.dat s5.err1.dat - the difference between s5.qm.dat and s5.wkb1.dat s5.mas.dat - Maslov index, which is 0.5 for qm=wkb and 0.75 for qm=wkb1 E_m, mu_s dependence files s5.E_m.qm.dat - the E-m relationship for fixed s, using qm s5.E_m.wkb.dat - the E-m relationship for fixed s, using wkb s5.E_m.wkb1.dat - the E-m relationship for fixed s, using wkb1 s5.mu_s.dat - the maslov index vs. s for fixed n wavefunction wavefunc*.dat - the wavefunction itself for a given state Last Notes: I last used this file for creating the figures for our paper (cited on top). It is likely that you will have to alter the main{} routine to get what you would like. The program is written in C++, with nice class structure for lucidity. You will not have to write any code to create all files shown above, but only to run the corresponding functions in the main{} routine.