Tweak `LiebLin_Catalogue_Fixed_c_k_Nscaling`

这个提交包含在:
Jean-Sébastien 2021-12-09 14:03:34 +01:00
父节点 20c0035208
当前提交 d419d933d1
共有 2 个文件被更改,包括 19 次插入15 次删除

查看文件

@ -22,7 +22,7 @@ using namespace ABACUS;
int main(int argc, char* argv[])
{
if (argc != 7) { // provide some info
if (argc != 8) { // provide some info
cout << endl << "Welcome to ABACUS\t(copyright J.-S. Caux)." << endl;
cout << endl << "Usage of LiebLin_Catalogue_Fixed_c_k_Nscaling executable: " << endl;
@ -30,10 +30,11 @@ int main(int argc, char* argv[])
cout << "char whichDSF \t\t Which structure factor should be calculated ? Options are: "
"d for rho rho, g for psi psi{dagger}, o for psi{dagger} psi" << endl;
cout << "DP c_int \t\t Value of the interaction parameter: use positive real values only" << endl;
cout << "int kfact \t\t momentum factor: momemntum will be set to kfact * kF/4" << endl;
cout << "int kfact \t\t momentum factor: momemntum will be set to kfact * kF/16" << endl;
cout << "DP kBT \t\t Temperature (positive only of course)" << endl;
cout << "DP target_sumrule \t sumrule saturation you're satisfied with" << endl;
cout << "int Max_Secs \t\t Allowed computational time" << endl;
cout << "int Hrs \t\t Allowed computational time (hours)" << endl;
cout << "int Mns \t\t Allowed computational time (minutes)" << endl;
}
else { // correct nr of arguments
@ -43,7 +44,7 @@ int main(int argc, char* argv[])
int kfact = atoi(argv[ia++]);
DP kBT = atof(argv[ia++]);
DP target_sumrule = atof(argv[ia++]);
int Max_Secs = atoi(argv[ia++]);
int Max_Secs = 3600*atoi(argv[ia++]) + 60*atoi(argv[ia++]);
double StartTime = omp_get_wtime();
@ -53,17 +54,20 @@ int main(int argc, char* argv[])
int iN = 0;
int nN = 12;
int nN = 16;
Vect<int> Nv(nN);
Nv[0] = 160; Nv[1] = 192; Nv[2] = 224; Nv[3] = 256;
Nv[4] = 320; Nv[5] = 384; Nv[6] = 448; Nv[7] = 512;
Nv[8] = 640; Nv[9] = 768; Nv[10] = 896; Nv[11] = 1024;
// Multiples of 32 up to 256
for (int i = 1; i <= 8; ++i) Nv[i-1] = 32*i;
// Then steps of 64 up to 512
for (int i = 1; i <= 4; ++i) Nv[7+i] = 256 + 64*i;
// Then steps of 128 up to 1024
for (int i = 1; i <= 4; ++i) Nv[11+i] = 512 + 128*i;
for (int iN = 0; iN < nN; ++iN) {
int N = Nv[iN];
DP L = N;
int iKmin = (kfact * N)/8;
int iKmin = (kfact * N)/32;
int iKmax = iKmin;
DP srsat = 0.0;
bool refine = false;

查看文件

@ -650,12 +650,12 @@ namespace ABACUS {
}
// Uncomment line below if .stat file is desired:
STAT_outfile << setw(20) << label_here << "\t" << setw(5) << type_required
<< "\t" << setw(16) << std::scientific
<< exp(-paused_thread_data.logscale * il_to_do)
<< "\t" << setw(20) << ScanState.label << "\t" << setw(16) << data_value
<< "\t" << setw(16) << std::fixed << setprecision(8)
<< data_value/exp(-paused_thread_data.logscale * il_to_do) << endl;
// STAT_outfile << setw(20) << label_here << "\t" << setw(5) << type_required
// << "\t" << setw(16) << std::scientific
// << exp(-paused_thread_data.logscale * il_to_do)
// << "\t" << setw(20) << ScanState.label << "\t" << setw(16) << data_value
// << "\t" << setw(16) << std::fixed << setprecision(8)
// << data_value/exp(-paused_thread_data.logscale * il_to_do) << endl;
} // if (ScanState.conv)
else {