|
@@ -537,6 +537,7 @@ namespace ABACUS {
|
537
|
537
|
|
538
|
538
|
Vect<Scan_Thread> threads_to_do;
|
539
|
539
|
int il_to_do = paused_thread_data.lowest_il_with_nthreads_neq_0; // for resaving threads in case we're out of time
|
|
540
|
+ DP current_threshold = exp(-paused_thread_data.logscale * il_to_do);
|
540
|
541
|
{
|
541
|
542
|
#pragma omp critical
|
542
|
543
|
threads_to_do = paused_thread_data.Extract_Next_Scan_Threads();
|
|
@@ -568,6 +569,7 @@ namespace ABACUS {
|
568
|
569
|
|
569
|
570
|
ScanState.Set_to_Label(threads_to_do[ithread].label, BaseScanState.Ix2);
|
570
|
571
|
|
|
572
|
+ Tstate ScanStateBeingDescended = ScanState;
|
571
|
573
|
|
572
|
574
|
// STARTING Descend_and_Compute block:
|
573
|
575
|
int type_required = threads_to_do[ithread].type;
|
|
@@ -657,6 +659,16 @@ namespace ABACUS {
|
657
|
659
|
// << "\t" << setw(16) << std::fixed << setprecision(8)
|
658
|
660
|
// << data_value/exp(-paused_thread_data.logscale * il_to_do) << endl;
|
659
|
661
|
|
|
662
|
+ // Uncomment below if alerts for unexpectedly high data_value (as compared to threshold) are desired
|
|
663
|
+ // if (fabs(data_value) > 10.0* current_threshold) {
|
|
664
|
+ // cout << "\nAlert: data_value > 10* threshold, " << data_value << "\t" << current_threshold << endl;
|
|
665
|
+ // cout << " for state " << ScanState.label << " descendent of type " << type_required
|
|
666
|
+ // << " of state " << ScanStateBeingDescended.label << endl;
|
|
667
|
+ // cout << AveragingState.Ix2 << endl;
|
|
668
|
+ // cout << ScanStateBeingDescended.Ix2 << endl;
|
|
669
|
+ // cout << ScanState.Ix2 << endl;
|
|
670
|
+ // }
|
|
671
|
+
|
660
|
672
|
} // if (ScanState.conv)
|
661
|
673
|
else {
|
662
|
674
|
if (nconv0++ < 1000)
|
|
@@ -753,7 +765,7 @@ namespace ABACUS {
|
753
|
765
|
|
754
|
766
|
} // for idesc
|
755
|
767
|
|
756
|
|
- // FINISHED Descend_and_Compute block
|
|
768
|
+ // FINISHED Descend_and_Compute block
|
757
|
769
|
|
758
|
770
|
|
759
|
771
|
scan_info_this_ithread.TT += omp_get_wtime() - start_time_this_ithread;
|