Main routine for the standard mode.
2262 struct StdIntList *StdI;
2266 char *keyword, *value;
2268 StdI = (
struct StdIntList *)malloc(
sizeof(
struct StdIntList));
2270 fprintf(stdout,
"\n###### Input Parameter of Standard Intarface ######\n");
2271 if ((fp = fopen(fname,
"r")) == NULL) {
2272 fprintf(stdout,
"\n ERROR ! Cannot open input file %s !\n\n", fname);
2276 fprintf(stdout,
"\n Open Standard-Mode Inputfile %s \n\n", fname);
2281 while (fgets(ctmpline, 256, fp) != NULL) {
2284 if (strncmp(ctmpline,
"//", 2) == 0) {
2285 fprintf(stdout,
" Skipping a line.\n");
2288 else if (ctmpline[0] ==
'\0') {
2289 fprintf(stdout,
" Skipping a line.\n");
2292 keyword = strtok(ctmpline,
"=");
2293 value = strtok(NULL,
"=");
2294 if (value == NULL) {
2295 fprintf(stdout,
"\n ERROR ! \"=\" is NOT found !\n\n");
2299 fprintf(stdout,
" KEYWORD : %-20s | VALUE : %s \n", keyword, value);
2302 else if (strcmp(keyword,
"a0h") == 0)
StoreWithCheckDup_i(keyword, value, &StdI->box[0][2]);
2303 else if (strcmp(keyword,
"a0l") == 0)
StoreWithCheckDup_i(keyword, value, &StdI->box[0][1]);
2304 else if (strcmp(keyword,
"a0w") == 0)
StoreWithCheckDup_i(keyword, value, &StdI->box[0][0]);
2305 else if (strcmp(keyword,
"a1h") == 0)
StoreWithCheckDup_i(keyword, value, &StdI->box[1][2]);
2306 else if (strcmp(keyword,
"a1l") == 0)
StoreWithCheckDup_i(keyword, value, &StdI->box[1][1]);
2307 else if (strcmp(keyword,
"a1w") == 0)
StoreWithCheckDup_i(keyword, value, &StdI->box[1][0]);
2308 else if (strcmp(keyword,
"a2h") == 0)
StoreWithCheckDup_i(keyword, value, &StdI->box[2][2]);
2309 else if (strcmp(keyword,
"a2l") == 0)
StoreWithCheckDup_i(keyword, value, &StdI->box[2][1]);
2310 else if (strcmp(keyword,
"a2w") == 0)
StoreWithCheckDup_i(keyword, value, &StdI->box[2][0]);
2311 else if (strcmp(keyword,
"cutoff_j") == 0)
StoreWithCheckDup_d(keyword, value, &StdI->cutoff_j);
2312 else if (strcmp(keyword,
"cutoff_jh") == 0)
StoreWithCheckDup_i(keyword, value, &StdI->cutoff_JR[2]);
2313 else if (strcmp(keyword,
"cutoff_jl") == 0)
StoreWithCheckDup_i(keyword, value, &StdI->cutoff_JR[1]);
2314 else if (strcmp(keyword,
"cutoff_jw") == 0)
StoreWithCheckDup_i(keyword, value, &StdI->cutoff_JR[0]);
2315 else if (strcmp(keyword,
"cutoff_length_j") == 0)
StoreWithCheckDup_d(keyword, value, &StdI->cutoff_length_J);
2316 else if (strcmp(keyword,
"cutoff_length_u") == 0)
StoreWithCheckDup_d(keyword, value, &StdI->cutoff_length_U);
2317 else if (strcmp(keyword,
"cutoff_length_t") == 0)
StoreWithCheckDup_d(keyword, value, &StdI->cutoff_length_t);
2318 else if (strcmp(keyword,
"cutoff_t") == 0)
StoreWithCheckDup_d(keyword, value, &StdI->cutoff_t);
2319 else if (strcmp(keyword,
"cutoff_th") == 0)
StoreWithCheckDup_i(keyword, value, &StdI->cutoff_tR[2]);
2320 else if (strcmp(keyword,
"cutoff_tl") == 0)
StoreWithCheckDup_i(keyword, value, &StdI->cutoff_tR[1]);
2321 else if (strcmp(keyword,
"cutoff_tw") == 0)
StoreWithCheckDup_i(keyword, value, &StdI->cutoff_tR[0]);
2322 else if (strcmp(keyword,
"cutoff_u") == 0)
StoreWithCheckDup_d(keyword, value, &StdI->cutoff_u);
2323 else if (strcmp(keyword,
"cutoff_uh") == 0)
StoreWithCheckDup_i(keyword, value, &StdI->cutoff_UR[2]);
2324 else if (strcmp(keyword,
"cutoff_ul") == 0)
StoreWithCheckDup_i(keyword, value, &StdI->cutoff_UR[1]);
2325 else if (strcmp(keyword,
"cutoff_uw") == 0)
StoreWithCheckDup_i(keyword, value, &StdI->cutoff_UR[0]);
2327 else if (strcmp(keyword,
"doublecounting") == 0)
StoreWithCheckDup_i(keyword, value, &StdI->double_counting);
2328 else if (strcmp(keyword,
"gamma") == 0)
StoreWithCheckDup_d(keyword, value, &StdI->Gamma);
2330 else if (strcmp(keyword,
"height") == 0)
StoreWithCheckDup_i(keyword, value, &StdI->Height);
2331 else if (strcmp(keyword,
"hlength") == 0)
StoreWithCheckDup_d(keyword, value, &StdI->length[2]);
2332 else if (strcmp(keyword,
"hx") == 0)
StoreWithCheckDup_d(keyword, value, &StdI->direct[2][0]);
2333 else if (strcmp(keyword,
"hy") == 0)
StoreWithCheckDup_d(keyword, value, &StdI->direct[2][1]);
2334 else if (strcmp(keyword,
"hz") == 0)
StoreWithCheckDup_d(keyword, value, &StdI->direct[2][2]);
2337 else if (strcmp(keyword,
"jxy") == 0)
StoreWithCheckDup_d(keyword, value, &StdI->J[0][1]);
2338 else if (strcmp(keyword,
"jxz") == 0)
StoreWithCheckDup_d(keyword, value, &StdI->J[0][2]);
2340 else if (strcmp(keyword,
"jyx") == 0)
StoreWithCheckDup_d(keyword, value, &StdI->J[1][0]);
2341 else if (strcmp(keyword,
"jyz") == 0)
StoreWithCheckDup_d(keyword, value, &StdI->J[1][2]);
2343 else if (strcmp(keyword,
"jzx") == 0)
StoreWithCheckDup_d(keyword, value, &StdI->J[2][0]);
2344 else if (strcmp(keyword,
"jzy") == 0)
StoreWithCheckDup_d(keyword, value, &StdI->J[2][1]);
2346 else if (strcmp(keyword,
"j0x") == 0)
StoreWithCheckDup_d(keyword, value, &StdI->J0[0][0]);
2347 else if (strcmp(keyword,
"j0xy") == 0)
StoreWithCheckDup_d(keyword, value, &StdI->J0[0][1]);
2348 else if (strcmp(keyword,
"j0xz") == 0)
StoreWithCheckDup_d(keyword, value, &StdI->J0[0][2]);
2349 else if (strcmp(keyword,
"j0y") == 0)
StoreWithCheckDup_d(keyword, value, &StdI->J0[1][1]);
2350 else if (strcmp(keyword,
"j0yx") == 0)
StoreWithCheckDup_d(keyword, value, &StdI->J0[1][0]);
2351 else if (strcmp(keyword,
"j0yz") == 0)
StoreWithCheckDup_d(keyword, value, &StdI->J0[1][2]);
2352 else if (strcmp(keyword,
"j0z") == 0)
StoreWithCheckDup_d(keyword, value, &StdI->J0[2][2]);
2353 else if (strcmp(keyword,
"j0zx") == 0)
StoreWithCheckDup_d(keyword, value, &StdI->J0[2][0]);
2354 else if (strcmp(keyword,
"j0zy") == 0)
StoreWithCheckDup_d(keyword, value, &StdI->J0[2][1]);
2356 else if (strcmp(keyword,
"j0'x") == 0)
StoreWithCheckDup_d(keyword, value, &StdI->J0p[0][0]);
2357 else if (strcmp(keyword,
"j0'xy") == 0)
StoreWithCheckDup_d(keyword, value, &StdI->J0p[0][1]);
2358 else if (strcmp(keyword,
"j0'xz") == 0)
StoreWithCheckDup_d(keyword, value, &StdI->J0p[0][2]);
2359 else if (strcmp(keyword,
"j0'y") == 0)
StoreWithCheckDup_d(keyword, value, &StdI->J0p[1][1]);
2360 else if (strcmp(keyword,
"j0'yx") == 0)
StoreWithCheckDup_d(keyword, value, &StdI->J0p[1][0]);
2361 else if (strcmp(keyword,
"j0'yz") == 0)
StoreWithCheckDup_d(keyword, value, &StdI->J0p[1][2]);
2362 else if (strcmp(keyword,
"j0'z") == 0)
StoreWithCheckDup_d(keyword, value, &StdI->J0p[2][2]);
2363 else if (strcmp(keyword,
"j0'zx") == 0)
StoreWithCheckDup_d(keyword, value, &StdI->J0p[2][0]);
2364 else if (strcmp(keyword,
"j0'zy") == 0)
StoreWithCheckDup_d(keyword, value, &StdI->J0p[2][1]);
2365 else if (strcmp(keyword,
"j0''") == 0)
StoreWithCheckDup_d(keyword, value, &StdI->J0ppAll);
2366 else if (strcmp(keyword,
"j0''x") == 0)
StoreWithCheckDup_d(keyword, value, &StdI->J0pp[0][0]);
2367 else if (strcmp(keyword,
"j0''xy") == 0)
StoreWithCheckDup_d(keyword, value, &StdI->J0pp[0][1]);
2368 else if (strcmp(keyword,
"j0''xz") == 0)
StoreWithCheckDup_d(keyword, value, &StdI->J0pp[0][2]);
2369 else if (strcmp(keyword,
"j0''y") == 0)
StoreWithCheckDup_d(keyword, value, &StdI->J0pp[1][1]);
2370 else if (strcmp(keyword,
"j0''yx") == 0)
StoreWithCheckDup_d(keyword, value, &StdI->J0pp[1][0]);
2371 else if (strcmp(keyword,
"j0''yz") == 0)
StoreWithCheckDup_d(keyword, value, &StdI->J0pp[1][2]);
2372 else if (strcmp(keyword,
"j0''z") == 0)
StoreWithCheckDup_d(keyword, value, &StdI->J0pp[2][2]);
2373 else if (strcmp(keyword,
"j0''zx") == 0)
StoreWithCheckDup_d(keyword, value, &StdI->J0pp[2][0]);
2374 else if (strcmp(keyword,
"j0''zy") == 0)
StoreWithCheckDup_d(keyword, value, &StdI->J0pp[2][1]);
2376 else if (strcmp(keyword,
"j1x") == 0)
StoreWithCheckDup_d(keyword, value, &StdI->J1[0][0]);
2377 else if (strcmp(keyword,
"j1xy") == 0)
StoreWithCheckDup_d(keyword, value, &StdI->J1[0][1]);
2378 else if (strcmp(keyword,
"j1xz") == 0)
StoreWithCheckDup_d(keyword, value, &StdI->J1[0][2]);
2379 else if (strcmp(keyword,
"j1y") == 0)
StoreWithCheckDup_d(keyword, value, &StdI->J1[1][1]);
2380 else if (strcmp(keyword,
"j1yx") == 0)
StoreWithCheckDup_d(keyword, value, &StdI->J1[1][0]);
2381 else if (strcmp(keyword,
"j1yz") == 0)
StoreWithCheckDup_d(keyword, value, &StdI->J1[1][2]);
2382 else if (strcmp(keyword,
"j1z") == 0)
StoreWithCheckDup_d(keyword, value, &StdI->J1[2][2]);
2383 else if (strcmp(keyword,
"j1zx") == 0)
StoreWithCheckDup_d(keyword, value, &StdI->J1[2][0]);
2384 else if (strcmp(keyword,
"j1zy") == 0)
StoreWithCheckDup_d(keyword, value, &StdI->J1[2][1]);
2386 else if (strcmp(keyword,
"j1'x") == 0)
StoreWithCheckDup_d(keyword, value, &StdI->J1p[0][0]);
2387 else if (strcmp(keyword,
"j1'xy") == 0)
StoreWithCheckDup_d(keyword, value, &StdI->J1p[0][1]);
2388 else if (strcmp(keyword,
"j1'xz") == 0)
StoreWithCheckDup_d(keyword, value, &StdI->J1p[0][2]);
2389 else if (strcmp(keyword,
"j1'y") == 0)
StoreWithCheckDup_d(keyword, value, &StdI->J1p[1][1]);
2390 else if (strcmp(keyword,
"j1'yx") == 0)
StoreWithCheckDup_d(keyword, value, &StdI->J1p[1][0]);
2391 else if (strcmp(keyword,
"j1'yz") == 0)
StoreWithCheckDup_d(keyword, value, &StdI->J1p[1][2]);
2392 else if (strcmp(keyword,
"j1'z") == 0)
StoreWithCheckDup_d(keyword, value, &StdI->J1p[2][2]);
2393 else if (strcmp(keyword,
"j1'zx") == 0)
StoreWithCheckDup_d(keyword, value, &StdI->J1p[2][0]);
2394 else if (strcmp(keyword,
"j1'zy") == 0)
StoreWithCheckDup_d(keyword, value, &StdI->J1p[2][1]);
2395 else if (strcmp(keyword,
"j1''") == 0)
StoreWithCheckDup_d(keyword, value, &StdI->J1ppAll);
2396 else if (strcmp(keyword,
"j1''x") == 0)
StoreWithCheckDup_d(keyword, value, &StdI->J1pp[0][0]);
2397 else if (strcmp(keyword,
"j1''xy") == 0)
StoreWithCheckDup_d(keyword, value, &StdI->J1pp[0][1]);
2398 else if (strcmp(keyword,
"j1''xz") == 0)
StoreWithCheckDup_d(keyword, value, &StdI->J1pp[0][2]);
2399 else if (strcmp(keyword,
"j1''y") == 0)
StoreWithCheckDup_d(keyword, value, &StdI->J1pp[1][1]);
2400 else if (strcmp(keyword,
"j1''yx") == 0)
StoreWithCheckDup_d(keyword, value, &StdI->J1pp[1][0]);
2401 else if (strcmp(keyword,
"j1''yz") == 0)
StoreWithCheckDup_d(keyword, value, &StdI->J1pp[1][2]);
2402 else if (strcmp(keyword,
"j1''z") == 0)
StoreWithCheckDup_d(keyword, value, &StdI->J1pp[2][2]);
2403 else if (strcmp(keyword,
"j1''zx") == 0)
StoreWithCheckDup_d(keyword, value, &StdI->J1pp[2][0]);
2404 else if (strcmp(keyword,
"j1''zy") == 0)
StoreWithCheckDup_d(keyword, value, &StdI->J1pp[2][1]);
2406 else if (strcmp(keyword,
"j2x") == 0)
StoreWithCheckDup_d(keyword, value, &StdI->J2[0][0]);
2407 else if (strcmp(keyword,
"j2xy") == 0)
StoreWithCheckDup_d(keyword, value, &StdI->J2[0][1]);
2408 else if (strcmp(keyword,
"j2xz") == 0)
StoreWithCheckDup_d(keyword, value, &StdI->J2[0][2]);
2409 else if (strcmp(keyword,
"j2y") == 0)
StoreWithCheckDup_d(keyword, value, &StdI->J2[1][1]);
2410 else if (strcmp(keyword,
"j2yx") == 0)
StoreWithCheckDup_d(keyword, value, &StdI->J2[1][0]);
2411 else if (strcmp(keyword,
"j2yz") == 0)
StoreWithCheckDup_d(keyword, value, &StdI->J2[1][2]);
2412 else if (strcmp(keyword,
"j2z") == 0)
StoreWithCheckDup_d(keyword, value, &StdI->J2[2][2]);
2413 else if (strcmp(keyword,
"j2zx") == 0)
StoreWithCheckDup_d(keyword, value, &StdI->J2[2][0]);
2414 else if (strcmp(keyword,
"j2zy") == 0)
StoreWithCheckDup_d(keyword, value, &StdI->J2[2][1]);
2416 else if (strcmp(keyword,
"j2'x") == 0)
StoreWithCheckDup_d(keyword, value, &StdI->J2p[0][0]);
2417 else if (strcmp(keyword,
"j2'xy") == 0)
StoreWithCheckDup_d(keyword, value, &StdI->J2p[0][1]);
2418 else if (strcmp(keyword,
"j2'xz") == 0)
StoreWithCheckDup_d(keyword, value, &StdI->J2p[0][2]);
2419 else if (strcmp(keyword,
"j2'y") == 0)
StoreWithCheckDup_d(keyword, value, &StdI->J2p[1][1]);
2420 else if (strcmp(keyword,
"j2'yx") == 0)
StoreWithCheckDup_d(keyword, value, &StdI->J2p[1][0]);
2421 else if (strcmp(keyword,
"j2'yz") == 0)
StoreWithCheckDup_d(keyword, value, &StdI->J2p[1][2]);
2422 else if (strcmp(keyword,
"j2'z") == 0)
StoreWithCheckDup_d(keyword, value, &StdI->J2p[2][2]);
2423 else if (strcmp(keyword,
"j2'zx") == 0)
StoreWithCheckDup_d(keyword, value, &StdI->J2p[2][0]);
2424 else if (strcmp(keyword,
"j2'zy") == 0)
StoreWithCheckDup_d(keyword, value, &StdI->J2p[2][1]);
2425 else if (strcmp(keyword,
"j2''") == 0)
StoreWithCheckDup_d(keyword, value, &StdI->J2ppAll);
2426 else if (strcmp(keyword,
"j2''x") == 0)
StoreWithCheckDup_d(keyword, value, &StdI->J2pp[0][0]);
2427 else if (strcmp(keyword,
"j2''xy") == 0)
StoreWithCheckDup_d(keyword, value, &StdI->J2pp[0][1]);
2428 else if (strcmp(keyword,
"j2''xz") == 0)
StoreWithCheckDup_d(keyword, value, &StdI->J2pp[0][2]);
2429 else if (strcmp(keyword,
"j2''y") == 0)
StoreWithCheckDup_d(keyword, value, &StdI->J2pp[1][1]);
2430 else if (strcmp(keyword,
"j2''yx") == 0)
StoreWithCheckDup_d(keyword, value, &StdI->J2pp[1][0]);
2431 else if (strcmp(keyword,
"j2''yz") == 0)
StoreWithCheckDup_d(keyword, value, &StdI->J2pp[1][2]);
2432 else if (strcmp(keyword,
"j2''z") == 0)
StoreWithCheckDup_d(keyword, value, &StdI->J2pp[2][2]);
2433 else if (strcmp(keyword,
"j2''zx") == 0)
StoreWithCheckDup_d(keyword, value, &StdI->J2pp[2][0]);
2434 else if (strcmp(keyword,
"j2''zy") == 0)
StoreWithCheckDup_d(keyword, value, &StdI->J2pp[2][1]);
2436 else if (strcmp(keyword,
"j'x") == 0)
StoreWithCheckDup_d(keyword, value, &StdI->Jp[0][0]);
2437 else if (strcmp(keyword,
"j'xy") == 0)
StoreWithCheckDup_d(keyword, value, &StdI->Jp[0][1]);
2438 else if (strcmp(keyword,
"j'xz") == 0)
StoreWithCheckDup_d(keyword, value, &StdI->Jp[0][2]);
2439 else if (strcmp(keyword,
"j'y") == 0)
StoreWithCheckDup_d(keyword, value, &StdI->Jp[1][1]);
2440 else if (strcmp(keyword,
"j'yx") == 0)
StoreWithCheckDup_d(keyword, value, &StdI->Jp[1][0]);
2441 else if (strcmp(keyword,
"j'yz") == 0)
StoreWithCheckDup_d(keyword, value, &StdI->Jp[1][2]);
2442 else if (strcmp(keyword,
"j'z") == 0)
StoreWithCheckDup_d(keyword, value, &StdI->Jp[2][2]);
2443 else if (strcmp(keyword,
"j'zx") == 0)
StoreWithCheckDup_d(keyword, value, &StdI->Jp[2][0]);
2444 else if (strcmp(keyword,
"j'zy") == 0)
StoreWithCheckDup_d(keyword, value, &StdI->Jp[2][1]);
2446 else if (strcmp(keyword,
"j''x") == 0)
StoreWithCheckDup_d(keyword, value, &StdI->Jpp[0][0]);
2447 else if (strcmp(keyword,
"j''xy") == 0)
StoreWithCheckDup_d(keyword, value, &StdI->Jpp[0][1]);
2448 else if (strcmp(keyword,
"j''xz") == 0)
StoreWithCheckDup_d(keyword, value, &StdI->Jpp[0][2]);
2449 else if (strcmp(keyword,
"j''y") == 0)
StoreWithCheckDup_d(keyword, value, &StdI->Jpp[1][1]);
2450 else if (strcmp(keyword,
"j''yx") == 0)
StoreWithCheckDup_d(keyword, value, &StdI->Jpp[1][0]);
2451 else if (strcmp(keyword,
"j''yz") == 0)
StoreWithCheckDup_d(keyword, value, &StdI->Jpp[1][2]);
2452 else if (strcmp(keyword,
"j''z") == 0)
StoreWithCheckDup_d(keyword, value, &StdI->Jpp[2][2]);
2453 else if (strcmp(keyword,
"j''zx") == 0)
StoreWithCheckDup_d(keyword, value, &StdI->Jpp[2][0]);
2454 else if (strcmp(keyword,
"j''zy") == 0)
StoreWithCheckDup_d(keyword, value, &StdI->Jpp[2][1]);
2458 else if (strcmp(keyword,
"llength") == 0)
StoreWithCheckDup_d(keyword, value, &StdI->length[1]);
2459 else if (strcmp(keyword,
"lx") == 0)
StoreWithCheckDup_d(keyword, value, &StdI->direct[1][0]);
2460 else if (strcmp(keyword,
"ly") == 0)
StoreWithCheckDup_d(keyword, value, &StdI->direct[1][1]);
2461 else if (strcmp(keyword,
"lz") == 0)
StoreWithCheckDup_d(keyword, value, &StdI->direct[1][2]);
2464 else if (strcmp(keyword,
"nelec") == 0)
StoreWithCheckDup_i(keyword, value, &StdI->nelec);
2465 else if (strcmp(keyword,
"outputmode") == 0)
StoreWithCheckDup_sl(keyword, value, StdI->outputmode);
2466 else if (strcmp(keyword,
"phase0") == 0)
StoreWithCheckDup_d(keyword, value, &StdI->phase[0]);
2467 else if (strcmp(keyword,
"phase1") == 0)
StoreWithCheckDup_d(keyword, value, &StdI->phase[1]);
2468 else if (strcmp(keyword,
"phase2") == 0)
StoreWithCheckDup_d(keyword, value, &StdI->phase[2]);
2495 else if (strcmp(keyword,
"wlength") == 0)
StoreWithCheckDup_d(keyword, value, &StdI->length[0]);
2496 else if (strcmp(keyword,
"wx") == 0)
StoreWithCheckDup_d(keyword, value, &StdI->direct[0][0]);
2497 else if (strcmp(keyword,
"wy") == 0)
StoreWithCheckDup_d(keyword, value, &StdI->direct[0][1]);
2498 else if (strcmp(keyword,
"wz") == 0)
StoreWithCheckDup_d(keyword, value, &StdI->direct[0][2]);
2502 else if (strcmp(keyword,
"calcspec") == 0)
StoreWithCheckDup_sl(keyword, value, StdI->CalcSpec);
2504 else if (strcmp(keyword,
"eigenvecio") == 0)
StoreWithCheckDup_sl(keyword, value, StdI->EigenVecIO);
2505 else if (strcmp(keyword,
"expandcoef") == 0)
StoreWithCheckDup_i(keyword, value, &StdI->ExpandCoef);
2506 else if (strcmp(keyword,
"expecinterval") == 0)
StoreWithCheckDup_i(keyword, value, &StdI->ExpecInterval);
2507 else if (strcmp(keyword,
"cdatafilehead") == 0)
StoreWithCheckDup_s(keyword, value, StdI->CDataFileHead);
2509 else if (strcmp(keyword,
"flgtemp") == 0)
StoreWithCheckDup_i(keyword, value, &StdI->FlgTemp);
2511 else if (strcmp(keyword,
"initialvectype") == 0)
StoreWithCheckDup_sl(keyword, value, StdI->InitialVecType);
2512 else if (strcmp(keyword,
"initial_iv") == 0)
StoreWithCheckDup_i(keyword, value, &StdI->initial_iv);
2513 else if (strcmp(keyword,
"lanczoseps") == 0)
StoreWithCheckDup_i(keyword, value, &StdI->LanczosEps);
2514 else if (strcmp(keyword,
"lanczostarget") == 0)
StoreWithCheckDup_i(keyword, value, &StdI->LanczosTarget);
2515 else if (strcmp(keyword,
"lanczos_max") == 0)
StoreWithCheckDup_i(keyword, value, &StdI->Lanczos_max);
2516 else if (strcmp(keyword,
"largevalue") == 0)
StoreWithCheckDup_d(keyword, value, &StdI->LargeValue);
2518 else if (strcmp(keyword,
"nomega") == 0)
StoreWithCheckDup_i(keyword, value, &StdI->Nomega);
2519 else if (strcmp(keyword,
"numave") == 0)
StoreWithCheckDup_i(keyword, value, &StdI->NumAve);
2521 else if (strcmp(keyword,
"omegamax") == 0)
StoreWithCheckDup_d(keyword, value, &StdI->OmegaMax);
2522 else if (strcmp(keyword,
"omegamin") == 0)
StoreWithCheckDup_d(keyword, value, &StdI->OmegaMin);
2523 else if (strcmp(keyword,
"omegaim") == 0)
StoreWithCheckDup_d(keyword, value, &StdI->OmegaIm);
2524 else if (strcmp(keyword,
"pumptype") == 0)
StoreWithCheckDup_sl(keyword, value, StdI->PumpType);
2526 else if (strcmp(keyword,
"spectrumqh") == 0)
StoreWithCheckDup_d(keyword, value, &StdI->SpectrumQ[2]);
2527 else if (strcmp(keyword,
"spectrumql") == 0)
StoreWithCheckDup_d(keyword, value, &StdI->SpectrumQ[1]);
2528 else if (strcmp(keyword,
"spectrumqw") == 0)
StoreWithCheckDup_d(keyword, value, &StdI->SpectrumQ[0]);
2529 else if (strcmp(keyword,
"spectrumtype") == 0)
StoreWithCheckDup_sl(keyword, value, StdI->SpectrumType);
2530 else if (strcmp(keyword,
"tdump") == 0)
StoreWithCheckDup_d(keyword, value, &StdI->tdump);
2531 else if (strcmp(keyword,
"tshift") == 0)
StoreWithCheckDup_d(keyword, value, &StdI->tshift);
2532 else if (strcmp(keyword,
"uquench") == 0)
StoreWithCheckDup_d(keyword, value, &StdI->Uquench);
2533 else if (strcmp(keyword,
"vecpoth") == 0)
StoreWithCheckDup_d(keyword, value, &StdI->VecPot[2]);
2534 else if (strcmp(keyword,
"vecpotl") == 0)
StoreWithCheckDup_d(keyword, value, &StdI->VecPot[1]);
2535 else if (strcmp(keyword,
"vecpotw") == 0)
StoreWithCheckDup_d(keyword, value, &StdI->VecPot[0]);
2537 #elif defined(_mVMC) 2538 else if (strcmp(keyword,
"a0hsub") == 0)
StoreWithCheckDup_i(keyword, value, &StdI->boxsub[0][2]);
2539 else if (strcmp(keyword,
"a0lsub") == 0)
StoreWithCheckDup_i(keyword, value, &StdI->boxsub[0][1]);
2540 else if (strcmp(keyword,
"a0wsub") == 0)
StoreWithCheckDup_i(keyword, value, &StdI->boxsub[0][0]);
2541 else if (strcmp(keyword,
"a1hsub") == 0)
StoreWithCheckDup_i(keyword, value, &StdI->boxsub[1][2]);
2542 else if (strcmp(keyword,
"a1lsub") == 0)
StoreWithCheckDup_i(keyword, value, &StdI->boxsub[1][1]);
2543 else if (strcmp(keyword,
"a1wsub") == 0)
StoreWithCheckDup_i(keyword, value, &StdI->boxsub[1][0]);
2544 else if (strcmp(keyword,
"a2hsub") == 0)
StoreWithCheckDup_i(keyword, value, &StdI->boxsub[2][2]);
2545 else if (strcmp(keyword,
"a2lsub") == 0)
StoreWithCheckDup_i(keyword, value, &StdI->boxsub[2][1]);
2546 else if (strcmp(keyword,
"a2wsub") == 0)
StoreWithCheckDup_i(keyword, value, &StdI->boxsub[2][0]);
2547 else if (strcmp(keyword,
"complextype") == 0)
StoreWithCheckDup_i(keyword, value, &StdI->ComplexType);
2548 else if (strcmp(keyword,
"cparafilehead") == 0)
StoreWithCheckDup_s(keyword, value, StdI->CParaFileHead);
2549 else if (strcmp(keyword,
"dsroptredcut") == 0)
StoreWithCheckDup_d(keyword, value, &StdI->DSROptRedCut);
2550 else if (strcmp(keyword,
"dsroptstadel") == 0)
StoreWithCheckDup_d(keyword, value, &StdI->DSROptStaDel);
2551 else if (strcmp(keyword,
"dsroptstepdt") == 0)
StoreWithCheckDup_d(keyword, value, &StdI->DSROptStepDt);
2554 else if (strcmp(keyword,
"nvmccalmode") == 0)
StoreWithCheckDup_i(keyword, value, &StdI->NVMCCalMode);
2555 else if (strcmp(keyword,
"ndataidxstart") == 0)
StoreWithCheckDup_i(keyword, value, &StdI->NDataIdxStart);
2556 else if (strcmp(keyword,
"ndataqtysmp") == 0)
StoreWithCheckDup_i(keyword, value, &StdI->NDataQtySmp);
2557 else if (strcmp(keyword,
"nlanczosmode") == 0)
StoreWithCheckDup_i(keyword, value, &StdI->NLanczosMode);
2558 else if (strcmp(keyword,
"nmptrans") == 0)
StoreWithCheckDup_i(keyword, value, &StdI->NMPTrans);
2559 else if (strcmp(keyword,
"nspgaussleg") == 0)
StoreWithCheckDup_i(keyword, value, &StdI->NSPGaussLeg);
2560 else if (strcmp(keyword,
"nsplitsize") == 0)
StoreWithCheckDup_i(keyword, value, &StdI->NSplitSize);
2561 else if (strcmp(keyword,
"nspstot") == 0)
StoreWithCheckDup_i(keyword, value, &StdI->NSPStot);
2562 else if (strcmp(keyword,
"nsroptitrsmp") == 0)
StoreWithCheckDup_i(keyword, value, &StdI->NSROptItrSmp);
2563 else if (strcmp(keyword,
"nsroptitrstep") == 0)
StoreWithCheckDup_i(keyword, value, &StdI->NSROptItrStep);
2564 else if (strcmp(keyword,
"nstore") == 0)
StoreWithCheckDup_i(keyword, value, &StdI->NStore);
2565 else if (strcmp(keyword,
"nsrcg") == 0)
StoreWithCheckDup_i(keyword, value, &StdI->NSRCG);
2566 else if (strcmp(keyword,
"nvmcinterval") == 0)
StoreWithCheckDup_i(keyword, value, &StdI->NVMCInterval);
2567 else if (strcmp(keyword,
"nvmcsample") == 0)
StoreWithCheckDup_i(keyword, value, &StdI->NVMCSample);
2568 else if (strcmp(keyword,
"nvmcwarmup") == 0)
StoreWithCheckDup_i(keyword, value, &StdI->NVMCWarmUp);
2569 else if (strcmp(keyword,
"rndseed") == 0)
StoreWithCheckDup_i(keyword, value, &StdI->RndSeed);
2573 fprintf(stdout,
"ERROR ! Unsupported Keyword in Standard mode!\n");
2579 fprintf(stdout,
"\n");
2580 fprintf(stdout,
"####### Construct Model #######\n");
2581 fprintf(stdout,
"\n");
2585 if (strcmp(StdI->CDataFileHead,
"****") == 0) {
2586 strcpy(StdI->CDataFileHead,
"zvo\0");
2587 fprintf(stdout,
" CDataFileHead = %-12s###### DEFAULT VALUE IS USED ######\n", StdI->CDataFileHead);
2589 else fprintf(stdout,
" CDataFileHead = %-s\n", StdI->CDataFileHead);
2593 if (strcmp(StdI->model,
"fermionhubbard") == 0
2594 || strcmp(StdI->model,
"hubbard") == 0)
2595 strcpy(StdI->model,
"hubbard\0");
2596 else if(strcmp(StdI->model,
"fermionhubbardgc") == 0
2597 || strcmp(StdI->model,
"hubbardgc") == 0) {
2598 strcpy(StdI->model,
"hubbard\0");
2601 else if (strcmp(StdI->model,
"spin") == 0)
2602 strcpy(StdI->model,
"spin\0");
2603 else if (strcmp(StdI->model,
"spingc") == 0) {
2604 strcpy(StdI->model,
"spin\0");
2608 else if(strcmp(StdI->model,
"spingcboost") == 0 ||
2609 strcmp(StdI->model,
"spingccma") == 0) {
2610 strcpy(StdI->model,
"spin\0");
2615 else if (strcmp(StdI->model,
"kondolattice") == 0
2616 || strcmp(StdI->model,
"kondo") == 0) {
2617 strcpy(StdI->model,
"kondo\0");
2619 else if(strcmp(StdI->model,
"kondolatticegc") == 0
2620 || strcmp(StdI->model,
"kondogc") == 0) {
2621 strcpy(StdI->model,
"kondo\0");
2629 if (strcmp(StdI->method,
"direct") == 0
2630 || strcmp(StdI->method,
"alldiag") == 0)
2631 strcpy(StdI->method,
"fulldiag\0");
2632 else if (strcmp(StdI->method,
"te") == 0
2633 || strcmp(StdI->method,
"time-evolution") == 0) {
2634 strcpy(StdI->method,
"timeevolution\0");
2639 if (strcmp(StdI->method,
"timeevolution") == 0)
VectorPotential(StdI);
2644 if (strcmp(StdI->lattice,
"chain") == 0
2645 || strcmp(StdI->lattice,
"chainlattice") == 0)
StdFace_Chain(StdI);
2646 else if (strcmp(StdI->lattice,
"face-centeredorthorhombic") == 0
2647 || strcmp(StdI->lattice,
"fcorthorhombic") == 0
2649 else if (strcmp(StdI->lattice,
"honeycomb") == 0
2651 else if (strcmp(StdI->lattice,
"kagome") == 0
2652 || strcmp(StdI->lattice,
"kagomelattice") == 0)
StdFace_Kagome(StdI);
2653 else if (strcmp(StdI->lattice,
"ladder") == 0
2654 || strcmp(StdI->lattice,
"ladderlattice") == 0)
StdFace_Ladder(StdI);
2655 else if (strcmp(StdI->lattice,
"orthorhombic") == 0
2658 else if (strcmp(StdI->lattice,
"tetragonal") == 0
2659 || strcmp(StdI->lattice,
"tetragonallattice") == 0
2660 || strcmp(StdI->lattice,
"square") == 0
2662 else if (strcmp(StdI->lattice,
"triangular") == 0
2672 if (StdI->lBoost == 1) {
2673 if (strcmp(StdI->lattice,
"chain") == 0
2675 else if (strcmp(StdI->lattice,
"honeycomb") == 0
2677 else if (strcmp(StdI->lattice,
"kagome") == 0
2679 else if (strcmp(StdI->lattice,
"ladder") == 0
2685 fprintf(stdout,
"\n");
2686 fprintf(stdout,
"###### Print Expert input files ######\n");
2687 fprintf(stdout,
"\n");
2695 if (strcmp(StdI->method,
"timeevolution") == 0)
PrintPump(StdI);
2697 #elif defined(_mVMC) 2699 if(StdI->lGC == 0 && (StdI->Sz2 == 0 || StdI->Sz2 == StdI->NaN_i))
2703 StdFace_generate_orb(StdI);
2706 if(StdI->lGC == 1 || (StdI->Sz2 != 0 && StdI->Sz2 != StdI->NaN_i) )
2708 PrintGutzwiller(StdI);
2718 free(StdI->locspinflag);
2719 for (ktrans = 0; ktrans < StdI->ntrans; ktrans++) {
2720 free(StdI->transindx[ktrans]);
2722 free(StdI->transindx);
2724 for (kintr = 0; kintr < StdI->nintr; kintr++) {
2725 free(StdI->intrindx[kintr]);
2727 free(StdI->intrindx);
2730 fprintf(stdout,
"\n###### Input files are generated. ######\n\n");
void StdFace_Ladder(struct StdIntList *StdI)
Setup a Hamiltonian for the generalized Heisenberg model on a square lattice.
void StdFace_Ladder_Boost(struct StdIntList *StdI)
void StdFace_Honeycomb_Boost(struct StdIntList *StdI)
void StdFace_Tetragonal(struct StdIntList *StdI)
Setup a Hamiltonian for the square lattice.
static void TrimSpaceQuote(char *value)
Remove : space etc. from keyword and value in an iput file.
static void Print2Green(struct StdIntList *StdI)
Print greentwo.def.
void StdFace_Pyrochlore(struct StdIntList *StdI)
Setup a Hamiltonian for the Pyrochlore structure.
static void PrintCalcMod(struct StdIntList *StdI)
Print calcmod.def.
void StdFace_exit(int errorcode)
MPI Abortation wrapper.
void StdFace_Kagome_Boost(struct StdIntList *StdI)
static void PrintNamelist(struct StdIntList *StdI)
Print namelist.def.
void StdFace_FCOrtho(struct StdIntList *StdI)
Setup a Hamiltonian for the Face-Centered Orthorhombic lattice.
static void VectorPotential(struct StdIntList *StdI)
static void PrintLocSpin(struct StdIntList *StdI)
Print the locspin file.
void StdFace_Orthorhombic(struct StdIntList *StdI)
Setup a Hamiltonian for the Simple Orthorhombic lattice.
static void UnsupportedSystem(char *model, char *lattice)
Stop HPhi if unsupported model is read.
void StdFace_Triangular(struct StdIntList *StdI)
Setup a Hamiltonian for the Triangular lattice.
static void Text2Lower(char *value)
static void PrintModPara(struct StdIntList *StdI)
Print modpara.def.
static void PrintInteractions(struct StdIntList *StdI)
Output .def file for Specific interaction.
static void StoreWithCheckDup_sl(char *keyword, char *valuestring, char *value)
Store an input value into the valiable (string) Force string lower. If duplicated, HPhi will stop.
void StdFace_Chain(struct StdIntList *StdI)
Setup a Hamiltonian for the Hubbard model on a Chain lattice.
void StdFace_Kagome(struct StdIntList *StdI)
Setup a Hamiltonian for the Kagome lattice.
static void StoreWithCheckDup_s(char *keyword, char *valuestring, char *value)
Store an input value into the valiable (string) If duplicated, HPhi will stop.
void StdFace_Wannier90(struct StdIntList *StdI)
Setup a Hamiltonian for the Wannier90 *_hr.dat.
static void StdFace_ResetVals(struct StdIntList *StdI)
Clear grobal variables in the standard mode All variables refered in this function is modified...
static void StoreWithCheckDup_d(char *keyword, char *valuestring, double *value)
Store an input value into the valiable (double) If duplicated, HPhi will stop.
static void StoreWithCheckDup_i(char *keyword, char *valuestring, int *value)
Store an input value into the valiable (integer) If duplicated, HPhi will stop.
static void Print1Green(struct StdIntList *StdI)
Print greenone.def.
void StdFace_PrintVal_i(const char *valname, int *val, int val0)
Print a valiable (integer) read from the input file if it is not specified in the input file (=214748...
static void PrintPump(struct StdIntList *StdI)
Print single.def or pair.def.
static void CheckModPara(struct StdIntList *StdI)
Summary numerical parameter check the combination of the number of sites, total spin, the number of electrons.
void StdFace_Honeycomb(struct StdIntList *StdI)
Setup a Hamiltonian for the Hubbard model on a Honeycomb lattice.
static void PrintExcitation(struct StdIntList *StdI)
Print single.def or pair.def.
static void PrintTrans(struct StdIntList *StdI)
Print the transfer file.
static void StoreWithCheckDup_c(char *keyword, char *valuestring, std::complex< double > *value)
Store an input value into the valiable (Double complex) If duplicated, HPhi will stop.
void StdFace_Chain_Boost(struct StdIntList *StdI)
Setup a Hamiltonian for the generalized Heisenberg model on a Chain lattice.
static void CheckOutputMode(struct StdIntList *StdI)
Verify outputmode.
static void StdFace_LargeValue(struct StdIntList *StdI)
Set Largevalue (StdIntList::LargeValue) for TPQ. Sum absolute-value of all one- and two- body terms...