BOOLEAN MenuInformes(void) { int select = 0; while(TRUE) { select = MenuSelect(&KInformesMenu, select); if (select == -1) return FALSE; switch (select) { case 1: //PrintTransTest2(); PrintTrans(); // APM_WaitKey(3000,0); break; case 2: CoberturaLoteTrans(); break; case 3: PackLimoper(); break; case 4: resumenVentaProd();//Nuevo break; /*case 5: reimpresionDoc(); break;*/ } } return TRUE; }
/** * * Main routine for the standard mode * * @author Mitsuaki Kawamura (The University of Tokyo) */ void StdFace_main(char *fname /**< [in] Input file name for the standard mode */) { struct StdIntList StdI; FILE *fp; int ktrans, kintr; char ctmpline[256]; char *keyword, *value; fprintf(stdout, "\n###### Standard Intarface Mode STARTS ######\n"); if ((fp = fopen(fname, "r")) == NULL) { fprintf(stdout, "\n ERROR ! Cannot open input file %s !\n\n", fname); exitMPI(-1); } else { fprintf(stdout, "\n Open Standard-Mode Inputfile %s \n\n", fname); } StdFace_ResetVals(&StdI); while (fgets(ctmpline, 256, fp) != NULL) { TrimSpaceQuote(ctmpline); if (strncmp(ctmpline, "//", 2) == 0) { fprintf(stdout, " Skipping a line.\n"); continue; } else if (ctmpline[0] == '\0') { fprintf(stdout, " Skipping a line.\n"); continue; } keyword = strtok(ctmpline, "="); value = strtok(NULL, "="); if (value == NULL) { fprintf(stdout, "\n ERROR ! \"=\" is NOT found !\n\n"); exitMPI(-1); } TrimSpaceQuote(keyword); TrimSpaceQuote(value); fprintf(stdout, " KEYWORD : %-20s | VALUE : %s \n", keyword, value); if (strcmp(keyword, "a") == 0) StoreWithCheckDup_d(keyword, value, &StdI.a); else if (strcmp(keyword, "a0") == 0) StoreWithCheckDup_d(keyword, value, &StdI.a0); else if (strcmp(keyword, "a0l") == 0) StoreWithCheckDup_i(keyword, value, &StdI.a0L); else if (strcmp(keyword, "a0w") == 0) StoreWithCheckDup_i(keyword, value, &StdI.a0W); else if (strcmp(keyword, "a1") == 0) StoreWithCheckDup_d(keyword, value, &StdI.a1); else if (strcmp(keyword, "a1l") == 0) StoreWithCheckDup_i(keyword, value, &StdI.a1L); else if (strcmp(keyword, "a1w") == 0) StoreWithCheckDup_i(keyword, value, &StdI.a1W); else if (strcmp(keyword, "d") == 0) StoreWithCheckDup_d(keyword, value, &StdI.D[2][2]); else if (strcmp(keyword, "exct") == 0) StoreWithCheckDup_i(keyword, value, &StdI.exct); else if (strcmp(keyword, "expecinterval") == 0) StoreWithCheckDup_i(keyword, value, &StdI.ExpecInterval); else if (strcmp(keyword, "filehead") == 0) StoreWithCheckDup_s(keyword, value, StdI.filehead); else if (strcmp(keyword, "flgtemp") == 0) StoreWithCheckDup_i(keyword, value, &StdI.FlgTemp); else if (strcmp(keyword, "gamma") == 0) StoreWithCheckDup_d(keyword, value, &StdI.Gamma); else if (strcmp(keyword, "h") == 0) StoreWithCheckDup_d(keyword, value, &StdI.h); else if (strcmp(keyword, "initial_iv") == 0) StoreWithCheckDup_i(keyword, value, &StdI.initial_iv); else if (strcmp(keyword, "j") == 0) StoreWithCheckDup_d(keyword, value, &StdI.JAll); else if (strcmp(keyword, "jx") == 0) StoreWithCheckDup_d(keyword, value, &StdI.J[0][0]); else if (strcmp(keyword, "jxy") == 0) StoreWithCheckDup_d(keyword, value, &StdI.J[0][1]); else if (strcmp(keyword, "jxz") == 0) StoreWithCheckDup_d(keyword, value, &StdI.J[0][2]); else if (strcmp(keyword, "jy") == 0) StoreWithCheckDup_d(keyword, value, &StdI.J[1][1]); else if (strcmp(keyword, "jyx") == 0) StoreWithCheckDup_d(keyword, value, &StdI.J[1][0]); else if (strcmp(keyword, "jyz") == 0) StoreWithCheckDup_d(keyword, value, &StdI.J[1][2]); else if (strcmp(keyword, "jz") == 0) StoreWithCheckDup_d(keyword, value, &StdI.J[2][2]); else if (strcmp(keyword, "jzx") == 0) StoreWithCheckDup_d(keyword, value, &StdI.J[2][0]); else if (strcmp(keyword, "jzy") == 0) StoreWithCheckDup_d(keyword, value, &StdI.J[2][1]); else if (strcmp(keyword, "j0") == 0) StoreWithCheckDup_d(keyword, value, &StdI.J0All); else if (strcmp(keyword, "j0x") == 0) StoreWithCheckDup_d(keyword, value, &StdI.J0[0][0]); else if (strcmp(keyword, "j0xy") == 0) StoreWithCheckDup_d(keyword, value, &StdI.J0[0][1]); else if (strcmp(keyword, "j0xz") == 0) StoreWithCheckDup_d(keyword, value, &StdI.J0[0][2]); else if (strcmp(keyword, "j0y") == 0) StoreWithCheckDup_d(keyword, value, &StdI.J0[1][1]); else if (strcmp(keyword, "j0yx") == 0) StoreWithCheckDup_d(keyword, value, &StdI.J0[1][0]); else if (strcmp(keyword, "j0yz") == 0) StoreWithCheckDup_d(keyword, value, &StdI.J0[1][2]); else if (strcmp(keyword, "j0z") == 0) StoreWithCheckDup_d(keyword, value, &StdI.J0[2][2]); else if (strcmp(keyword, "j0zx") == 0) StoreWithCheckDup_d(keyword, value, &StdI.J0[2][0]); else if (strcmp(keyword, "j0zy") == 0) StoreWithCheckDup_d(keyword, value, &StdI.J0[2][1]); else if (strcmp(keyword, "j1") == 0) StoreWithCheckDup_d(keyword, value, &StdI.J1All); else if (strcmp(keyword, "j1x") == 0) StoreWithCheckDup_d(keyword, value, &StdI.J1[0][0]); else if (strcmp(keyword, "j1xy") == 0) StoreWithCheckDup_d(keyword, value, &StdI.J1[0][1]); else if (strcmp(keyword, "j1xz") == 0) StoreWithCheckDup_d(keyword, value, &StdI.J1[0][2]); else if (strcmp(keyword, "j1y") == 0) StoreWithCheckDup_d(keyword, value, &StdI.J1[1][1]); else if (strcmp(keyword, "j1yx") == 0) StoreWithCheckDup_d(keyword, value, &StdI.J1[1][0]); else if (strcmp(keyword, "j1yz") == 0) StoreWithCheckDup_d(keyword, value, &StdI.J1[1][2]); else if (strcmp(keyword, "j1z") == 0) StoreWithCheckDup_d(keyword, value, &StdI.J1[2][2]); else if (strcmp(keyword, "j1zx") == 0) StoreWithCheckDup_d(keyword, value, &StdI.J1[2][0]); else if (strcmp(keyword, "j1zy") == 0) StoreWithCheckDup_d(keyword, value, &StdI.J1[2][1]); else if (strcmp(keyword, "j1'") == 0) StoreWithCheckDup_d(keyword, value, &StdI.J1pAll); else if (strcmp(keyword, "j1'x") == 0) StoreWithCheckDup_d(keyword, value, &StdI.J1p[0][0]); else if (strcmp(keyword, "j1'xy") == 0) StoreWithCheckDup_d(keyword, value, &StdI.J1p[0][1]); else if (strcmp(keyword, "j1'xz") == 0) StoreWithCheckDup_d(keyword, value, &StdI.J1p[0][2]); else if (strcmp(keyword, "j1'y") == 0) StoreWithCheckDup_d(keyword, value, &StdI.J1p[1][1]); else if (strcmp(keyword, "j1'yx") == 0) StoreWithCheckDup_d(keyword, value, &StdI.J1p[1][0]); else if (strcmp(keyword, "j1'yz") == 0) StoreWithCheckDup_d(keyword, value, &StdI.J1p[1][2]); else if (strcmp(keyword, "j1'z") == 0) StoreWithCheckDup_d(keyword, value, &StdI.J1p[2][2]); else if (strcmp(keyword, "j1'zx") == 0) StoreWithCheckDup_d(keyword, value, &StdI.J1p[2][0]); else if (strcmp(keyword, "j1'zy") == 0) StoreWithCheckDup_d(keyword, value, &StdI.J1p[2][1]); else if (strcmp(keyword, "j2") == 0) StoreWithCheckDup_d(keyword, value, &StdI.J2All); else if (strcmp(keyword, "j2x") == 0) StoreWithCheckDup_d(keyword, value, &StdI.J2[0][0]); else if (strcmp(keyword, "j2xy") == 0) StoreWithCheckDup_d(keyword, value, &StdI.J2[0][1]); else if (strcmp(keyword, "j2xz") == 0) StoreWithCheckDup_d(keyword, value, &StdI.J2[0][2]); else if (strcmp(keyword, "j2y") == 0) StoreWithCheckDup_d(keyword, value, &StdI.J2[1][1]); else if (strcmp(keyword, "j2yx") == 0) StoreWithCheckDup_d(keyword, value, &StdI.J2[1][0]); else if (strcmp(keyword, "j2yz") == 0) StoreWithCheckDup_d(keyword, value, &StdI.J2[1][2]); else if (strcmp(keyword, "j2z") == 0) StoreWithCheckDup_d(keyword, value, &StdI.J2[2][2]); else if (strcmp(keyword, "j2zx") == 0) StoreWithCheckDup_d(keyword, value, &StdI.J2[2][0]); else if (strcmp(keyword, "j2zy") == 0) StoreWithCheckDup_d(keyword, value, &StdI.J2[2][1]); else if (strcmp(keyword, "j2'") == 0) StoreWithCheckDup_d(keyword, value, &StdI.J2pAll); else if (strcmp(keyword, "j2'x") == 0) StoreWithCheckDup_d(keyword, value, &StdI.J2p[0][0]); else if (strcmp(keyword, "j2'xy") == 0) StoreWithCheckDup_d(keyword, value, &StdI.J2p[0][1]); else if (strcmp(keyword, "j2'xz") == 0) StoreWithCheckDup_d(keyword, value, &StdI.J2p[0][2]); else if (strcmp(keyword, "j2'y") == 0) StoreWithCheckDup_d(keyword, value, &StdI.J2p[1][1]); else if (strcmp(keyword, "j2'yx") == 0) StoreWithCheckDup_d(keyword, value, &StdI.J2p[1][0]); else if (strcmp(keyword, "j2'yz") == 0) StoreWithCheckDup_d(keyword, value, &StdI.J2p[1][2]); else if (strcmp(keyword, "j2'z") == 0) StoreWithCheckDup_d(keyword, value, &StdI.J2p[2][2]); else if (strcmp(keyword, "j2'zx") == 0) StoreWithCheckDup_d(keyword, value, &StdI.J2p[2][0]); else if (strcmp(keyword, "j2'zy") == 0) StoreWithCheckDup_d(keyword, value, &StdI.J2p[2][1]); else if (strcmp(keyword, "j'") == 0) StoreWithCheckDup_d(keyword, value, &StdI.JpAll); else if (strcmp(keyword, "j'x") == 0) StoreWithCheckDup_d(keyword, value, &StdI.Jp[0][0]); else if (strcmp(keyword, "j'xy") == 0) StoreWithCheckDup_d(keyword, value, &StdI.Jp[0][1]); else if (strcmp(keyword, "j'xz") == 0) StoreWithCheckDup_d(keyword, value, &StdI.Jp[0][2]); else if (strcmp(keyword, "j'y") == 0) StoreWithCheckDup_d(keyword, value, &StdI.Jp[1][1]); else if (strcmp(keyword, "j'yx") == 0) StoreWithCheckDup_d(keyword, value, &StdI.Jp[1][0]); else if (strcmp(keyword, "j'yz") == 0) StoreWithCheckDup_d(keyword, value, &StdI.Jp[1][2]); else if (strcmp(keyword, "j'z") == 0) StoreWithCheckDup_d(keyword, value, &StdI.Jp[2][2]); else if (strcmp(keyword, "j'zx") == 0) StoreWithCheckDup_d(keyword, value, &StdI.Jp[2][0]); else if (strcmp(keyword, "j'zy") == 0) StoreWithCheckDup_d(keyword, value, &StdI.Jp[2][1]); else if (strcmp(keyword, "k") == 0) StoreWithCheckDup_d(keyword, value, &StdI.K); else if (strcmp(keyword, "l") == 0) StoreWithCheckDup_i(keyword, value, &StdI.L); else if (strcmp(keyword, "lanczoseps") == 0) StoreWithCheckDup_i(keyword, value, &StdI.LanczosEps); else if (strcmp(keyword, "lanczostarget") == 0) StoreWithCheckDup_i(keyword, value, &StdI.LanczosTarget); else if (strcmp(keyword, "lanczos_max") == 0) StoreWithCheckDup_i(keyword, value, &StdI.Lanczos_max); else if (strcmp(keyword, "largevalue") == 0) StoreWithCheckDup_d(keyword, value, &StdI.LargeValue); else if (strcmp(keyword, "lattice") == 0) StoreWithCheckDup_s(keyword, value, StdI.lattice); else if (strcmp(keyword, "lx") == 0) StoreWithCheckDup_d(keyword, value, &StdI.Lx); else if (strcmp(keyword, "ly") == 0) StoreWithCheckDup_d(keyword, value, &StdI.Ly); else if (strcmp(keyword, "method") == 0) StoreWithCheckDup_s(keyword, value, StdI.method); else if (strcmp(keyword, "model") == 0) StoreWithCheckDup_s(keyword, value, StdI.model); else if (strcmp(keyword, "outputmode") == 0) StoreWithCheckDup_s(keyword, value, StdI.outputmode); else if (strcmp(keyword, "mu") == 0) StoreWithCheckDup_d(keyword, value, &StdI.mu); else if (strcmp(keyword, "nelec") == 0) StoreWithCheckDup_i(keyword, value, &StdI.nelec); else if (strcmp(keyword, "numave") == 0) StoreWithCheckDup_i(keyword, value, &StdI.NumAve); else if (strcmp(keyword, "nvec") == 0) StoreWithCheckDup_i(keyword, value, &StdI.nvec); else if (strcmp(keyword, "2sz") == 0) StoreWithCheckDup_i(keyword, value, &StdI.Sz2); else if (strcmp(keyword, "2s") == 0) StoreWithCheckDup_i(keyword, value, &StdI.S2); else if (strcmp(keyword, "t") == 0) StoreWithCheckDup_c(keyword, value, &StdI.t); else if (strcmp(keyword, "t0") == 0) StoreWithCheckDup_c(keyword, value, &StdI.t0); else if (strcmp(keyword, "t1") == 0) StoreWithCheckDup_c(keyword, value, &StdI.t1); else if (strcmp(keyword, "t1'") == 0) StoreWithCheckDup_c(keyword, value, &StdI.t1p); else if (strcmp(keyword, "t2") == 0) StoreWithCheckDup_c(keyword, value, &StdI.t2); else if (strcmp(keyword, "t2'") == 0) StoreWithCheckDup_c(keyword, value, &StdI.t2p); else if (strcmp(keyword, "t'") == 0) StoreWithCheckDup_c(keyword, value, &StdI.tp); else if (strcmp(keyword, "u") == 0) StoreWithCheckDup_d(keyword, value, &StdI.U); else if (strcmp(keyword, "v") == 0) StoreWithCheckDup_d(keyword, value, &StdI.V); else if (strcmp(keyword, "v0") == 0) StoreWithCheckDup_d(keyword, value, &StdI.V0); else if (strcmp(keyword, "v1") == 0) StoreWithCheckDup_d(keyword, value, &StdI.V1); else if (strcmp(keyword, "v1'") == 0) StoreWithCheckDup_d(keyword, value, &StdI.V1p); else if (strcmp(keyword, "v2") == 0) StoreWithCheckDup_d(keyword, value, &StdI.V2); else if (strcmp(keyword, "v2p") == 0) StoreWithCheckDup_d(keyword, value, &StdI.V2); else if (strcmp(keyword, "v'") == 0) StoreWithCheckDup_d(keyword, value, &StdI.Vp); else if (strcmp(keyword, "w") == 0) StoreWithCheckDup_i(keyword, value, &StdI.W); else if (strcmp(keyword, "wx") == 0) StoreWithCheckDup_d(keyword, value, &StdI.Wx); else if (strcmp(keyword, "wy") == 0) StoreWithCheckDup_d(keyword, value, &StdI.Wy); else { fprintf(stdout, "ERROR ! Unsupported Keyword !\n"); exitMPI(-1); } } fclose(fp); /* Check the model */ StdI.lGC = 0; StdI.lBoost = 0; if (strcmp(StdI.model, "fermionhubbard") == 0 || strcmp(StdI.model, "hubbard") == 0) strcpy(StdI.model, "hubbard\0"); else if(strcmp(StdI.model, "fermionhubbardgc") == 0 || strcmp(StdI.model, "hubbardgc") == 0) { strcpy(StdI.model, "hubbard\0"); StdI.lGC = 1; } else if (strcmp(StdI.model, "spin") == 0) strcpy(StdI.model, "spin\0"); else if (strcmp(StdI.model, "spingc") == 0) { strcpy(StdI.model, "spin\0"); StdI.lGC = 1; } else if(strcmp(StdI.model, "spingcboost") == 0) { strcpy(StdI.model, "spin\0"); StdI.lGC = 1; StdI.lBoost = 1; } else if (strcmp(StdI.model, "kondolattice") == 0 || strcmp(StdI.model, "kondo") == 0) { strcpy(StdI.model, "kondo\0"); } else if(strcmp(StdI.model, "kondolatticegc") == 0 || strcmp(StdI.model, "kondogc") == 0) { strcpy(StdI.model, "kondo\0"); StdI.lGC = 1; } else UnsupportedSystem(StdI.model, StdI.lattice); /* Generate Hamiltonian definition files */ if (strcmp(StdI.lattice, "chain") == 0 || strcmp(StdI.lattice, "chainlattice") == 0) StdFace_Chain(&StdI, StdI.model); else if (strcmp(StdI.lattice, "honeycomb") == 0 || strcmp(StdI.lattice, "honeycomblattice") == 0) StdFace_Honeycomb(&StdI, StdI.model); else if (strcmp(StdI.lattice, "kagome") == 0 || strcmp(StdI.lattice, "kagomelattice") == 0) StdFace_Kagome(&StdI, StdI.model); else if (strcmp(StdI.lattice, "ladder") == 0 || strcmp(StdI.lattice, "ladderlattice") == 0) StdFace_Ladder(&StdI, StdI.model); else if (strcmp(StdI.lattice, "tetragonal") == 0 || strcmp(StdI.lattice, "tetragonallattice") == 0 || strcmp(StdI.lattice, "square") == 0 || strcmp(StdI.lattice, "squarelattice") == 0) StdFace_Tetragonal(&StdI, StdI.model); else if (strcmp(StdI.lattice, "triangular") == 0 || strcmp(StdI.lattice, "triangularlattice") == 0) StdFace_Triangular(&StdI, StdI.model); else UnsupportedSystem(StdI.model, StdI.lattice); /**/ StdFace_LargeValue(&StdI); /* Generate Hamiltonian for Boost */ if (StdI.lBoost == 1) { if (strcmp(StdI.lattice, "chain") == 0 || strcmp(StdI.lattice, "chainlattice") == 0) StdFace_Chain_Boost(&StdI); else if (strcmp(StdI.lattice, "honeycomb") == 0 || strcmp(StdI.lattice, "honeycomblattice") == 0) StdFace_Honeycomb_Boost(&StdI); else if (strcmp(StdI.lattice, "kagome") == 0 || strcmp(StdI.lattice, "kagomelattice") == 0) StdFace_Kagome_Boost(&StdI); else if (strcmp(StdI.lattice, "ladder") == 0 || strcmp(StdI.lattice, "ladderlattice") == 0) StdFace_Ladder_Boost(&StdI); else UnsupportedSystem(StdI.model, StdI.lattice); } /**/ CheckModPara(&StdI); CheckOutputMode(&StdI); /**/ fprintf(stdout, "\n"); fprintf(stdout, "###### Print Expert input files ######\n"); fprintf(stdout, "\n"); PrintLocSpin(&StdI); PrintTrans(&StdI); PrintInter(&StdI); PrintNamelist(&StdI); PrintCalcMod(&StdI); PrintModPara(&StdI); Print1Green(&StdI); Print2Green(&StdI); /* Finalize All */ free(StdI.locspinflag); for (ktrans = 0; ktrans < StdI.ntrans; ktrans++) { free(StdI.transindx[ktrans]); } free(StdI.transindx); free(StdI.trans); for (kintr = 0; kintr < StdI.nintr; kintr++) { free(StdI.intrindx[kintr]); } free(StdI.intrindx); free(StdI.intr); fprintf(stdout, "\n###### Input files are generated. ######\n\n"); }