diff --git a/tools/run_sim_puremd.py b/tools/run_sim_puremd.py
index cfb2f96c8e74f914f693b21b4554447738120f8e..f119dec564ad7b0deb364cf4ffdcc2db776493cc 100644
--- a/tools/run_sim_puremd.py
+++ b/tools/run_sim_puremd.py
@@ -205,22 +205,25 @@ class TestCase():
         from operator import mul
         from functools import reduce
         
-        total = 0.
-        comm = 0.
-        neighbors = 0.
-        init = 0.
-        bonded = 0.
-        nonbonded = 0.
-        time = 0.
-        cm = 0.
-        cm_sort = 0.
-        s_iters = 0.
-        pre_comp = 0.
-        pre_app = 0.
-        s_comm = 0.
-        s_allr = 0.
-        s_spmv = 0.
-        s_vec_ops = 0.
+        total = 0.0
+        comm = 0.0
+        neighbors = 0.0
+        init = 0.0
+        init_dist = 0.0
+        init_cm = 0.0
+        init_bond = 0.0
+        bonded = 0.0
+        nonbonded = 0.0
+        time = 0.0
+        cm = 0.0
+        cm_sort = 0.0
+        s_iters = 0.0
+        pre_comp = 0.0
+        pre_app = 0.0
+        s_comm = 0.0
+        s_allr = 0.0
+        s_spmv = 0.0
+        s_vec_ops = 0.0
         cnt = 0
         cnt_valid = 0
         line_cnt = 0
@@ -241,17 +244,20 @@ class TestCase():
                         comm = comm + float(line[2])
                         neighbors = neighbors + float(line[3])
                         init = init + float(line[4])
-                        bonded = bonded + float(line[5])
-                        nonbonded = nonbonded + float(line[6])
-                        cm = cm + float(line[7])
-                        cm_sort = cm_sort + float(line[8])
-                        s_iters = s_iters + float(line[9])
-                        pre_comp = pre_comp + float(line[10])
-                        pre_app = pre_app + float(line[11])
-                        s_comm = s_comm + float(line[12])
-                        s_allr = s_allr + float(line[13])
-                        s_spmv = s_spmv + float(line[14])
-                        s_vec_ops = s_vec_ops + float(line[15])
+                        init_dist = init_dist + float(line[5])
+                        init_cm = init_cm + float(line[6])
+                        init_bond = init_bond + float(line[7])
+                        bonded = bonded + float(line[8])
+                        nonbonded = nonbonded + float(line[9])
+                        cm = cm + float(line[10])
+                        cm_sort = cm_sort + float(line[11])
+                        s_iters = s_iters + float(line[12])
+                        pre_comp = pre_comp + float(line[13])
+                        pre_app = pre_app + float(line[14])
+                        s_comm = s_comm + float(line[15])
+                        s_allr = s_allr + float(line[16])
+                        s_spmv = s_spmv + float(line[17])
+                        s_vec_ops = s_vec_ops + float(line[18])
                         cnt = cnt + 1
                     cnt_valid = cnt_valid + 1
                 except Exception:
@@ -266,6 +272,9 @@ class TestCase():
                 comm = comm / cnt
                 neighbors = neighbors / cnt
                 init = init / cnt
+                init_dist = init_dist / cnt
+                init_cm = init_cm / cnt
+                init_bond = init_bond / cnt
                 bonded = bonded / cnt
                 nonbonded = nonbonded / cnt
                 cm = cm / cnt
@@ -287,7 +296,8 @@ class TestCase():
                 param['cm_solver_q_err'],
                 param['reneighbor'],
                 param['cm_solver_pre_comp_sai_thres'],
-                total, comm, neighbors, init, bonded, nonbonded, cm, cm_sort,
+                total, comm, neighbors, init, init_dist, init_cm, init_bond,
+                bonded, nonbonded, cm, cm_sort,
                 s_iters, pre_comp, pre_app, s_comm, s_allr, s_spmv, s_vec_ops))
         else:
             fout.write(self.__result_body_fmt.format(path.basename(self.__geo_file).split('.')[0],
@@ -296,8 +306,11 @@ class TestCase():
                 param['cm_solver_q_err'],
                 param['reneighbor'],
                 param['cm_solver_pre_comp_sai_thres'],
-                float('nan'), float('nan'), float('nan'), float('nan'), float('nan'), float('nan'), float('nan'), float('nan'),
-                float('nan'), float('nan'), float('nan'), float('nan'), float('nan'), float('nan'), float('nan')))
+                float('nan'), float('nan'), float('nan'), float('nan'),
+                float('nan'), float('nan'), float('nan'), float('nan'),
+                float('nan'), float('nan'), float('nan'), float('nan'),
+                float('nan'), float('nan'), float('nan'), float('nan'),
+                float('nan'), float('nan')))
 
             print('**WARNING: nsteps not correct in file {0} (nsteps = {1:d}, counted steps = {2:d}).'.format(
                 log_file, int(param['nsteps']), max(line_cnt - 3, 0)))
@@ -338,11 +351,12 @@ if __name__ == '__main__':
     control_dir = path.join(base_dir, 'environ')
     data_dir = path.join(base_dir, 'data/benchmarks')
 
-    header_fmt_str = '{:15} {:5} {:5} {:5} {:5} {:5} {:5} {:10} {:10} {:10} {:10} {:10} {:10} {:10} {:10} {:10} {:10} {:10} {:10} {:10} {:10} {:10}\n'
-    header_str = ['Data Set', 'Proc', 'Steps', 'PreCt', 'Q Tol', 'Ren', 'PCSAI',
-            'total', 'comm', 'neighbors', 'init', 'bonded', 'nonbonded', 'CM', 'CM Sort',
-            'S Iters', 'Pre Comm', 'Pre App', 'S Comm', 'S Allr', 'S SpMV', 'S Vec Ops']
-    body_fmt_str = '{:15} {:5} {:5} {:5} {:5} {:5} {:5} {:10.3f} {:10.3f} {:10.3f} {:10.3f} {:10.3f} {:10.3f} {:10.3f} {:10.3f} {:10.3f} {:10.3f} {:10.3f} {:10.3f} {:10.3f} {:10.3f} {:10.3f}\n'
+    header_fmt_str = '{:15} {:5} {:5} {:5} {:5} {:5} {:5} {:10} {:10} {:10} {:10} {:10} {:10} {:10} {:10} {:10} {:10} {:10} {:10} {:10} {:10} {:10} {:10} {:10} {:10}\n'
+    header_str = ['Data_Set', 'Proc', 'Steps', 'PreCt', 'Q_Tol', 'Ren', 'PCSAI',
+            'total', 'comm', 'neighbors', 'init', 'init_dist', 'init_cm', 'init_bond',
+            'bonded', 'nonbonded', 'cm', 'cm_sort',
+            's_iters', 'pre_comm', 'pre_app', 's_comm', 's_allr', 's_spmv', 's_vec_ops']
+    body_fmt_str = '{:15} {:5} {:5} {:5} {:5} {:5} {:5} {:10.3f} {:10.3f} {:10.3f} {:10.3f} {:10.3f} {:10.3f} {:10.3f} {:10.3f} {:10.3f} {:10.3f} {:10.3f} {:10.3f} {:10.3f} {:10.3f} {:10.3f} {:10.3f} {:10.3f} {:10.3f}\n'
 
     params = {
             'ensemble_type': ['0'],