report the number of abs and rel diff checks failed

This commit is contained in:
Trung Nguyen
2024-09-08 17:09:05 -05:00
parent 77bf224b3f
commit 4d04d8492d

View File

@ -639,35 +639,39 @@ def iterate(lmp_binary, input_folder, input_list, config, results, progress_file
msg = f" mismatched log files after the first run. Check both log files for more details."
print(msg)
logger.info(msg)
result.status = "thermo checks failed"
result.status = "thermo checks failed due to mismatched log files after the first run"
result.status = ""
if num_abs_failed > 0:
msg = f" {num_abs_failed} abs diff thermo checks failed."
msg = f" {num_abs_failed} abs diff checks failed."
print(msg)
logger.info(msg)
result.status = f"{num_abs_failed} abs thermo checks failed"
#result.status = f"abs_diff_failed: {num_abs_failed}, "
if verbose == True:
for out in failed_abs_output:
print(f" - {out}")
if num_rel_failed > 0:
msg = f" {num_rel_failed} rel diff thermo checks failed."
msg = f" {num_rel_failed} rel diff checks failed."
print(msg)
logger.info(msg)
result.status = f"{num_rel_failed} rel thermo checks failed"
#result.status += f"rel_diff_failed: {num_rel_failed}"
if verbose == True:
for out in failed_rel_output:
print(f" - {out}")
if num_abs_failed == 0 and num_rel_failed == 0:
msg = f" all {num_checks} thermo checks passed."
msg = f" all {num_checks} checks passed."
print(msg)
logger.info(msg)
result.status = "thermo checks passed"
#result.status = f"all {num_checks} checks passed."
num_passed = num_passed + 1
result.status = f"abs_diff_failed: {num_abs_failed}, rel_diff_failed: {num_rel_failed}"
results.append(result)
# check if memleak detects from valgrind run (need to replace "mpirun" -> valgrind --leak-check=yes mpirun")
msg = "completed, " + result.status
msg = "completed"
if use_valgrind == True:
if "All heap blocks were freed" in error:
msg += ", no memory leak"
@ -675,12 +679,12 @@ def iterate(lmp_binary, input_folder, input_list, config, results, progress_file
msg += ", memory leaks detected"
num_memleak = num_memleak + 1
progress.write(f"{input}: {{ folder: {input_folder}, status: \"{msg}\", walltime: {walltime}, walltime_norm: {walltime_norm} }}\n")
progress.write(f"{input}: {{ folder: {input_folder}, status: \"{msg}\", failed_checks: {{ \"{result.status}\" }}, walltime: {walltime}, walltime_norm: {walltime_norm} }}\n")
progress.close()
# write to failure if there is any numerical failed check
if num_abs_failed > 0 or num_rel_failed > 0:
failure.write(f"{input}: {{ folder: {input_folder}, status: \"{msg}\", walltime: {walltime}, walltime_norm: {walltime_norm} }}\n")
failure.write(f"{input}: {{ folder: {input_folder}, status: \"{msg}\", failed_checks: {{ \"{result.status}\" }}, walltime: {walltime}, walltime_norm: {walltime_norm} }}\n")
# count the number of completed runs
num_completed = num_completed + 1