int main(int argc, const char * argv[]) { /** %%%%%%%%%%%%%%%%%%%% INITIALIZING %%%%%%%%%%%%%%%%%%%% */ const char *dis=argv[argc-1]; //string c="dis_in.txt"; string line; int dum=0; VectorXd a; ifstream input ("dis_in.txt"); if (input.is_open()) { while (getline(input,line)) { if (line[0]=='!'){dum=dum+1;} else { if (dum==1) { size=atoi(line.c_str()); occfile=occfile.append(line.c_str()); rndfile=rndfile.append(line.c_str()); outfile=outfile.append(line.c_str()); outfile=outfile.append("_"); } else if (dum==2) { if (line.compare("Long")==0) { range=size*2.0; outfile=outfile.append("LR"); outfile=outfile.append("_"); } else { range=atoi(line.c_str()); outfile=outfile.append(line.c_str()); outfile=outfile.append("NN_"); } } else if (dum==3){Gamma=atof(line.c_str());} else if (dum==4){zhop=atoi(line.c_str());} else if (dum==5) { pvac=atoi(line.c_str()); occfile=occfile.append(line.c_str()); rndfile=rndfile.append(line.c_str()); outfile=outfile.append(line.c_str()); outfile=outfile.append("_"); } /* else if (dum==6) { cout<<'\t'<<dum<<endl; occfile=occfile.append(line.c_str()); rndfile=rndfile.append(line.c_str()); } */ } } input.close(); } else {cout<<"Unable to open file: "<<"dis_in.txt"<< " \n";}; occfile=occfile.append(dis); rndfile=rndfile.append(dis); outfile=outfile.append(dis); occfile=occfile.append(".txt"); rndfile=rndfile.append(".txt"); cout<<"lattice size = "<<size<<endl; cout<<"range = "<<range<<endl; cout<<"decay = "<<Gamma<<endl; cout<<"symmetrical? "<<zhop<<endl; cout<<"percent of vacancy: "<<pvac<<endl; cout<<"occupation file: "<<occfile<<endl; cout<<"on-site energy file: "<<rndfile<<endl; /** %%%%%%%%%%%%%%%%%%%% END OF INITIALIZATION %%%%%%%%%%%%%%%%%%%% */ Hamiltonian C; double* H; C.Hami(size, occfile, rndfile, range, zhop, Gamma, H, occnum); //Lapack int numEigvals; double* eigvals; int presInt = 16; eigvals = new double [occnum]; dsyevrEigvalsInterface(H, occnum, &numEigvals, eigvals); cout << "NumEvals: " << numEigvals << endl; cout << "Eigenvalues: " << endl; cout << setprecision(presInt); ofstream myfile2; myfile2.open((outfile+"_Eval.txt").c_str()); myfile2 << setprecision(presInt); for (int i=0; i<numEigvals; i++) { cout << eigvals[i] << endl; myfile2<< eigvals[i] <<endl; } myfile2.close(); delete [] eigvals; delete [] H; }