From df5e305a3bebc4b2cffa9e17f92eb6164e18fe7d Mon Sep 17 00:00:00 2001
From: "Kurt A. O'Hearn" <ohearnk@msu.edu>
Date: Mon, 1 Oct 2018 14:35:58 -0400
Subject: [PATCH] Test: add serial control files. Update MPI control files.

---
 .../bilayer_340800_mpi_not_gpu_control        | 44 ----------
 test_harness/bilayer_56800_control            | 44 ----------
 ...mpi_control => control_bilayer_340800_mpi} |  6 +-
 ...control => control_bilayer_340800_mpi_gpu} |  0
 test_harness/control_bilayer_340800_serial    | 68 +++++++++++++++
 test_harness/control_bilayer_56800_mpi        | 49 +++++++++++
 test_harness/control_bilayer_56800_serial     | 68 +++++++++++++++
 test_harness/control_silica_300000_mpi        | 87 ++++++++++---------
 test_harness/control_silica_300000_serial     | 68 +++++++++++++++
 test_harness/control_silica_6000_mpi          | 87 ++++++++++---------
 test_harness/control_silica_6000_serial       | 68 +++++++++++++++
 test_harness/control_silica_72000_mpi         | 87 ++++++++++---------
 test_harness/control_silica_72000_serial      | 68 +++++++++++++++
 test_harness/control_water_327000_mpi         | 87 ++++++++++---------
 test_harness/control_water_327000_serial      | 68 +++++++++++++++
 test_harness/control_water_6540_mpi           | 80 +++++++++--------
 test_harness/control_water_6540_serial        | 68 +++++++++++++++
 test_harness/control_water_78480_mpi          | 80 +++++++++--------
 test_harness/control_water_78480_serial       | 68 +++++++++++++++
 test_harness/control_zno_6912_mpi             |  4 +-
 test_harness/submit_short_jobs.bash           | 48 +++++-----
 21 files changed, 890 insertions(+), 357 deletions(-)
 delete mode 100644 test_harness/bilayer_340800_mpi_not_gpu_control
 delete mode 100644 test_harness/bilayer_56800_control
 rename test_harness/{bilayer_340800_mpi_control => control_bilayer_340800_mpi} (90%)
 rename test_harness/{bilayer_340800_mpi_gpu_control => control_bilayer_340800_mpi_gpu} (100%)
 create mode 100644 test_harness/control_bilayer_340800_serial
 create mode 100644 test_harness/control_bilayer_56800_mpi
 create mode 100644 test_harness/control_bilayer_56800_serial
 create mode 100644 test_harness/control_silica_300000_serial
 create mode 100644 test_harness/control_silica_6000_serial
 create mode 100644 test_harness/control_silica_72000_serial
 create mode 100644 test_harness/control_water_327000_serial
 create mode 100644 test_harness/control_water_6540_serial
 create mode 100644 test_harness/control_water_78480_serial

diff --git a/test_harness/bilayer_340800_mpi_not_gpu_control b/test_harness/bilayer_340800_mpi_not_gpu_control
deleted file mode 100644
index d1646173..00000000
--- a/test_harness/bilayer_340800_mpi_not_gpu_control
+++ /dev/null
@@ -1,44 +0,0 @@
-simulation_name	        bilayer.340800_mpi_not_gpu    ! output files will carry this name + their specific ext.
-ensemble_type	 	1	! 0: NVE  1: Berendsen NVT  2: Nose-Hoover NVT(under testing)  3: semi-isotropic NPT  4: isotropic NPT  5: anisotropic NPT (under development)
-nsteps			100    ! number of simulation steps
-dt			0.10 	! time step in fs
-proc_by_dim             2 2 2   ! distribution of processors by dimensions
-geo_format 		0 	! 0: custom  1: pdb (only if natoms < 100000) 2: ASCII restart 3: binary restart
-
-tabulate_long_range	0	! number of sampling points for cubic spline interpolation, 0 no interpolation
-energy_update_freq 	10
-remove_CoM_vel	        500	! remove the transrot vel of CoM every 'this many' steps
-reposition_atoms	1	! 1:center of mass to center of box
-
-reneighbor              1
-vlist_buffer            0
-nbrhood_cutoff		4.5 	! bond cutoff in A
-hbond_cutoff		7.5	! hbond cutoff in A
-thb_cutoff		0.001	! cutoff value for three body interactions
-
-qeq_freq                1       ! frequency to update charges with QEq
-q_err			1e-6	! norm of the relative residual in QEq solve
-
-temp_init	        0.01	! initial temperature of the system
-temp_final 	        300.0	! final temperature of the system
-t_mass		        500.0   ! 0.16666 for nhNVT ! 500.0 for bNVT, iNPT, sNPT ! in fs, thermal inertia
-t_rate                  5.0                  ! in K
-t_freq                  1.0                     ! in ps
-t_mode			2	! 2: constant slope
-
-pressure 		0.000101325 0.000101325 0.000101325	! desired pressure of the simulated system in GPa, 1atm = 0.000101325 GPa
-p_mass		        10000.00     10000.00     10000.00  	! in fs, pressure inertia parameter
-
-write_freq		0	! write trajectory after so many steps
-traj_method		1	! 0: simple parallel I/O, 1: MPI I/O
-traj_title		micelle	! (no white spaces)
-atom_info		1	! 0: no atom info, 1: print basic atom info in the trajectory file
-atom_forces		0	! 0: basic atom format, 1: print force on each atom in the trajectory file
-atom_velocities		1	! 0: basic atom format, 1: print the velocity of each atom in the trajectory file
-bond_info		1	! 0: do not print bonds, 1: print bonds in the trajectory file
-angle_info		1	! 0: do not print angles, 1: print angles in the trajectory file 
-
-restart_format          1    ! 0: restarts in ASCII  1: restarts in binary
-restart_freq		10000    ! 0: do not output any restart files. >0: output a restart file at every 'this many' steps
-
-bond_graph_cutoff	0.3  ! bond strength cutoff for bond graphs
diff --git a/test_harness/bilayer_56800_control b/test_harness/bilayer_56800_control
deleted file mode 100644
index 35af73ed..00000000
--- a/test_harness/bilayer_56800_control
+++ /dev/null
@@ -1,44 +0,0 @@
-simulation_name	        bilayer.56800    ! output files will carry this name + their specific ext.
-ensemble_type	 	1	! 0: NVE  1: Berendsen NVT  2: Nose-Hoover NVT(under testing)  3: semi-isotropic NPT  4: isotropic NPT  5: anisotropic NPT (under development)
-nsteps			100    ! number of simulation steps
-dt			0.10 	! time step in fs
-proc_by_dim             1 1 2   ! distribution of processors by dimensions
-geo_format 		1 	! 0: custom  1: pdb (only if natoms < 100000) 2: ASCII restart 3: binary restart
-
-tabulate_long_range	0	! number of sampling points for cubic spline interpolation, 0 no interpolation
-energy_update_freq 	10
-remove_CoM_vel	        500	! remove the transrot vel of CoM every 'this many' steps
-reposition_atoms	1	! 1:center of mass to center of box
-
-reneighbor              1
-vlist_buffer            0
-nbrhood_cutoff		4.5 	! bond cutoff in A
-hbond_cutoff		7.5	! hbond cutoff in A
-thb_cutoff		0.001	! cutoff value for three body interactions
-
-qeq_freq                1       ! frequency to update charges with QEq
-q_err			1e-6	! norm of the relative residual in QEq solve
-
-temp_init	        0.01	! initial temperature of the system
-temp_final 	        300.0	! final temperature of the system
-t_mass		        500.0   ! 0.16666 for nhNVT ! 500.0 for bNVT, iNPT, sNPT ! in fs, thermal inertia
-t_rate                  5.0                  ! in K
-t_freq                  1.0                     ! in ps
-t_mode			2	! 2: constant slope
-
-pressure 		0.000101325 0.000101325 0.000101325	! desired pressure of the simulated system in GPa, 1atm = 0.000101325 GPa
-p_mass		        10000.00     10000.00     10000.00  	! in fs, pressure inertia parameter
-
-write_freq		0	! write trajectory after so many steps
-traj_method		1	! 0: simple parallel I/O, 1: MPI I/O
-traj_title		micelle	! (no white spaces)
-atom_info		1	! 0: no atom info, 1: print basic atom info in the trajectory file
-atom_forces		0	! 0: basic atom format, 1: print force on each atom in the trajectory file
-atom_velocities		1	! 0: basic atom format, 1: print the velocity of each atom in the trajectory file
-bond_info		1	! 0: do not print bonds, 1: print bonds in the trajectory file
-angle_info		1	! 0: do not print angles, 1: print angles in the trajectory file 
-
-restart_format          1    ! 0: restarts in ASCII  1: restarts in binary
-restart_freq		10000    ! 0: do not output any restart files. >0: output a restart file at every 'this many' steps
-
-bond_graph_cutoff	0.3  ! bond strength cutoff for bond graphs
diff --git a/test_harness/bilayer_340800_mpi_control b/test_harness/control_bilayer_340800_mpi
similarity index 90%
rename from test_harness/bilayer_340800_mpi_control
rename to test_harness/control_bilayer_340800_mpi
index 2c6aa7e5..ea03ff53 100644
--- a/test_harness/bilayer_340800_mpi_control
+++ b/test_harness/control_bilayer_340800_mpi
@@ -1,8 +1,8 @@
-simulation_name	        bilayer.340800_mpi    ! output files will carry this name + their specific ext.
-ensemble_type	 	1	! 0: NVE  1: Berendsen NVT  2: Nose-Hoover NVT(under testing)  3: semi-isotropic NPT  4: isotropic NPT  5: anisotropic NPT (under development)
+simulation_name	        bilayer_340800_notab_nve_qeq_mpi    ! output files will carry this name + their specific ext.
+ensemble_type	 	0	! 0: NVE  1: Berendsen NVT  2: Nose-Hoover NVT(under testing)  3: semi-isotropic NPT  4: isotropic NPT  5: anisotropic NPT (under development)
 nsteps			100    ! number of simulation steps
 dt			0.10 	! time step in fs
-proc_by_dim             2 2 2   ! distribution of processors by dimensions
+proc_by_dim             1 1 2   ! distribution of processors by dimensions
 geo_format 		0 	! 0: custom  1: pdb (only if natoms < 100000) 2: ASCII restart 3: binary restart
 
 tabulate_long_range	0	! number of sampling points for cubic spline interpolation, 0 no interpolation
diff --git a/test_harness/bilayer_340800_mpi_gpu_control b/test_harness/control_bilayer_340800_mpi_gpu
similarity index 100%
rename from test_harness/bilayer_340800_mpi_gpu_control
rename to test_harness/control_bilayer_340800_mpi_gpu
diff --git a/test_harness/control_bilayer_340800_serial b/test_harness/control_bilayer_340800_serial
new file mode 100644
index 00000000..7087989c
--- /dev/null
+++ b/test_harness/control_bilayer_340800_serial
@@ -0,0 +1,68 @@
+simulation_name         bilayer_340800_notab_nve_qeq_serial           ! output files will carry this name + their specific extension
+ensemble_type           0                       ! 0: NVE, 1: Berendsen NVT, 2: nose-Hoover NVT, 3: semi-isotropic NPT, 4: isotropic NPT, 5: anisotropic NPT
+nsteps                  100                     ! number of simulation steps
+dt                      0.10                    ! time step in fs
+periodic_boundaries     1                       ! 0: no periodic boundaries, 1: periodic boundaries
+
+reposition_atoms        0                       ! 0: just fit to periodic boundaries, 1: CoM to the center of box, 3: CoM to the origin
+restrict_bonds          0                       ! enforce the bonds given in CONECT lines of pdb file for this many steps
+tabulate_long_range     0                       ! denotes the granularity of long range tabulation, 0 means no tabulation
+energy_update_freq      1
+remove_CoM_vel          500                     ! remove the translational and rotational vel around the center of mass at every 'this many' steps
+
+nbrhood_cutoff          4.5                     ! near neighbors cutoff for bond calculations (Angstroms)
+bond_graph_cutoff       0.3                     ! bond strength cutoff for bond graphs (Angstroms)
+thb_cutoff              0.001                   ! cutoff value for three body interactions (Angstroms)
+hbond_cutoff            7.50                    ! cutoff distance for hydrogen bond interactions (Angstroms)
+
+charge_method         		  0             ! charge method: 0 = QEq, 1 = EEM, 2 = ACKS2
+cm_q_net              		  0.0           ! net system charge
+cm_solver_type        		  0             ! iterative linear solver for charge method: 0 = GMRES(k), 1 = GMRES_H(k), 2 = CG, 3 = SDM
+cm_solver_max_iters   		  20            ! max solver iterations
+cm_solver_restart     		  100           ! inner iterations of before restarting (GMRES(k)/GMRES_H(k))
+cm_solver_q_err       		  1e-6          ! relative residual norm threshold used in solver
+cm_domain_sparsity     		  1.0           ! scalar for scaling cut-off distance, used to sparsify charge matrix (between 0.0 and 1.0)
+cm_init_guess_extrap1		  3             ! order of spline extrapolation for initial guess (s)
+cm_init_guess_extrap2		  2             ! order of spline extrapolation for initial guess (t)
+cm_solver_pre_comp_type           1             ! method used to compute preconditioner, if applicable
+cm_solver_pre_comp_refactor       1000          ! number of steps before recomputing preconditioner
+cm_solver_pre_comp_droptol        0.0           ! threshold tolerance for dropping values in preconditioner computation (ICHOLT/ILUT/FG-ILUT)
+cm_solver_pre_comp_sweeps         3             ! number of sweeps used to compute preconditioner (FG-ILUT)
+cm_solver_pre_comp_sai_thres      0.1           ! ratio of charge matrix NNZ's used to compute preconditioner (SAI)
+cm_solver_pre_app_type            1             ! method used to apply preconditioner (ICHOLT/ILUT/FG-ILUT)
+cm_solver_pre_app_jacobi_iters    50            ! num. Jacobi iterations used for applying precondition (ICHOLT/ILUT/FG-ILUT)
+
+temp_init               0.0                     ! desired initial temperature of the simulated system
+temp_final              300.0                   ! desired final temperature of the simulated system
+t_mass                  0.16666                 ! 0.16666 for Nose-Hoover nvt ! 100.0 for npt! in fs, thermal inertia parameter
+t_mode                  0                       ! 0: T-coupling only, 1: step-wise, 2: constant slope
+t_rate                  -100.0                  ! in K
+t_freq                  4.0                     ! in ps
+
+pressure                0.000101325             ! desired pressure of the simulated system in GPa, 1atm = 0.000101325 GPa
+p_mass                  5000.00                 ! in fs, pressure inertia parameter
+compress                0.008134                ! in ps^2 * A / amu ( 4.5X10^(-5) bar^(-1) )
+press_mode              0                       ! 0: internal + external pressure, 1: ext only, 2: int only
+
+geo_format              0                       ! 0: custom, 1: pdb, 2: bgf
+write_freq              0                       ! write trajectory after so many steps
+traj_compress           0                       ! 0: no compression  1: uses zlib to compress trajectory output
+traj_format             0                       ! 0: our own format (below options apply to this only), 1: xyz, 2: bgf, 3: pdb
+traj_title              WATER_NVE               ! (no white spaces)
+atom_info               1                       ! 0: no atom info, 1: print basic atom info in the trajectory file
+atom_forces             0                       ! 0: basic atom format, 1: print force on each atom in the trajectory file
+atom_velocities         0                       ! 0: basic atom format, 1: print the velocity of each atom in the trajectory file
+bond_info               1                       ! 0: do not print bonds, 1: print bonds in the trajectory file
+angle_info              1                       ! 0: do not print angles, 1: print angles in the trajectory file
+test_forces             0                       ! 0: normal run, 1: at every timestep print each force type into a different file
+
+molec_anal              0                       ! 1: outputs newly formed molecules as the simulation progresses
+freq_molec_anal         0                       ! perform molecular analysis at every 'this many' timesteps
+dipole_anal             0                       ! 1: calculate a electric dipole moment of the system
+freq_dipole_anal        1                       ! calculate electric dipole moment at every 'this many' steps
+diffusion_coef          0                       ! 1: calculate diffusion coefficient of the system
+freq_diffusion_coef     1                       ! calculate diffusion coefficient at every 'this many' steps
+restrict_type           2                       ! -1: all types of atoms, 0 and up: only this type of atoms
+
+restart_format          1                       ! 0: restarts in ASCII  1: restarts in binary
+restart_freq            0                       ! 0: do not output any restart files. >0: output a restart file at every 'this many' steps
diff --git a/test_harness/control_bilayer_56800_mpi b/test_harness/control_bilayer_56800_mpi
new file mode 100644
index 00000000..a0efb817
--- /dev/null
+++ b/test_harness/control_bilayer_56800_mpi
@@ -0,0 +1,49 @@
+simulation_name         bilayer_56800_notab_nve_qeq_mpi    ! output files will carry this name + their specific ext.
+ensemble_type           0                       ! 0: NVE, 1: Berendsen NVT, 2: nose-Hoover NVT, 3: semi-isotropic NPT, 4: isotropic NPT, 5: anisotropic NPT
+nsteps                  100                     ! number of simulation steps
+dt                      0.10                    ! time step in fs
+periodic_boundaries     1                       ! 0: no periodic boundaries, 1: periodic boundaries
+proc_by_dim             1 1 2                   ! distribution of processors by dimensions
+geo_format              1                       ! 0: custom  1: pdb (only if natoms < 100000) 2: ASCII restart 3: binary restart
+
+reposition_atoms        0                       ! 0: just fit to periodic boundaries, 1: CoM to the center of box, 3: CoM to the origin
+restrict_bonds          0                       ! enforce the bonds given in CONECT lines of pdb file for this many steps
+tabulate_long_range     0                       ! denotes the granularity of long range tabulation, 0 means no tabulation
+energy_update_freq      1
+remove_CoM_vel          500                     ! remove the translational and rotational vel around the center of mass at every 'this many' steps
+
+reneighbor              1
+vlist_buffer            0
+
+nbrhood_cutoff          4.5                     ! near neighbors cutoff for bond calculations (Angstroms)
+bond_graph_cutoff       0.3                     ! bond strength cutoff for bond graphs (Angstroms)
+thb_cutoff              0.001                   ! cutoff value for three body interactions (Angstroms)
+hbond_cutoff            7.50                    ! cutoff distance for hydrogen bond interactions (Angstroms)
+
+qeq_freq                1                       ! frequency to update charges with QEq
+q_err                   1e-6                    ! norm of the relative residual in QEq solve
+
+temp_init               0.0                     ! desired initial temperature of the simulated system
+temp_final              300.0                   ! desired final temperature of the simulated system
+t_mass                  0.16666                 ! 0.16666 for Nose-Hoover nvt ! 100.0 for npt! in fs, thermal inertia parameter
+t_mode                  0                       ! 0: T-coupling only, 1: step-wise, 2: constant slope
+t_rate                  -100.0                  ! in K
+t_freq                  4.0                     ! in ps
+
+pressure                0.000101325 0.000101325 0.000101325     ! desired pressure of the simulated system in GPa, 1atm = 0.000101325 GPa
+p_mass                  5000.00     5000.00     5000.00      ! in fs, pressure inertia parameter
+compress                0.008134                ! in ps^2 * A / amu ( 4.5X10^(-5) bar^(-1) )
+press_mode              0                       ! 0: internal + external pressure, 1: ext only, 2: int only
+
+geo_format              1                       ! 0: custom, 1: pdb, 2: bgf
+write_freq              0                       ! write trajectory after so many steps
+traj_method             1                       ! 0: simple parallel I/O, 1: MPI I/O
+traj_title              WATER_NVE               ! (no white spaces)
+atom_info               1                       ! 0: no atom info, 1: print basic atom info in the trajectory file
+atom_forces             0                       ! 0: basic atom format, 1: print force on each atom in the trajectory file
+atom_velocities         0                       ! 0: basic atom format, 1: print the velocity of each atom in the trajectory file
+bond_info               1                       ! 0: do not print bonds, 1: print bonds in the trajectory file
+angle_info              1                       ! 0: do not print angles, 1: print angles in the trajectory file
+
+restart_format          1                       ! 0: restarts in ASCII  1: restarts in binary
+restart_freq            0                       ! 0: do not output any restart files. >0: output a restart file at every 'this many' steps
diff --git a/test_harness/control_bilayer_56800_serial b/test_harness/control_bilayer_56800_serial
new file mode 100644
index 00000000..a3cc7de0
--- /dev/null
+++ b/test_harness/control_bilayer_56800_serial
@@ -0,0 +1,68 @@
+simulation_name         bilayer_56800_notab_nve_qeq_serial           ! output files will carry this name + their specific extension
+ensemble_type           0                       ! 0: NVE, 1: Berendsen NVT, 2: nose-Hoover NVT, 3: semi-isotropic NPT, 4: isotropic NPT, 5: anisotropic NPT
+nsteps                  100                     ! number of simulation steps
+dt                      0.10                    ! time step in fs
+periodic_boundaries     1                       ! 0: no periodic boundaries, 1: periodic boundaries
+
+reposition_atoms        0                       ! 0: just fit to periodic boundaries, 1: CoM to the center of box, 3: CoM to the origin
+restrict_bonds          0                       ! enforce the bonds given in CONECT lines of pdb file for this many steps
+tabulate_long_range     0                       ! denotes the granularity of long range tabulation, 0 means no tabulation
+energy_update_freq      1
+remove_CoM_vel          500                     ! remove the translational and rotational vel around the center of mass at every 'this many' steps
+
+nbrhood_cutoff          4.5                     ! near neighbors cutoff for bond calculations (Angstroms)
+bond_graph_cutoff       0.3                     ! bond strength cutoff for bond graphs (Angstroms)
+thb_cutoff              0.001                   ! cutoff value for three body interactions (Angstroms)
+hbond_cutoff            7.50                    ! cutoff distance for hydrogen bond interactions (Angstroms)
+
+charge_method         		  0             ! charge method: 0 = QEq, 1 = EEM, 2 = ACKS2
+cm_q_net              		  0.0           ! net system charge
+cm_solver_type        		  0             ! iterative linear solver for charge method: 0 = GMRES(k), 1 = GMRES_H(k), 2 = CG, 3 = SDM
+cm_solver_max_iters   		  20            ! max solver iterations
+cm_solver_restart     		  100           ! inner iterations of before restarting (GMRES(k)/GMRES_H(k))
+cm_solver_q_err       		  1e-6          ! relative residual norm threshold used in solver
+cm_domain_sparsity     		  1.0           ! scalar for scaling cut-off distance, used to sparsify charge matrix (between 0.0 and 1.0)
+cm_init_guess_extrap1		  3             ! order of spline extrapolation for initial guess (s)
+cm_init_guess_extrap2		  2             ! order of spline extrapolation for initial guess (t)
+cm_solver_pre_comp_type           1             ! method used to compute preconditioner, if applicable
+cm_solver_pre_comp_refactor       1000          ! number of steps before recomputing preconditioner
+cm_solver_pre_comp_droptol        0.0           ! threshold tolerance for dropping values in preconditioner computation (ICHOLT/ILUT/FG-ILUT)
+cm_solver_pre_comp_sweeps         3             ! number of sweeps used to compute preconditioner (FG-ILUT)
+cm_solver_pre_comp_sai_thres      0.1           ! ratio of charge matrix NNZ's used to compute preconditioner (SAI)
+cm_solver_pre_app_type            1             ! method used to apply preconditioner (ICHOLT/ILUT/FG-ILUT)
+cm_solver_pre_app_jacobi_iters    50            ! num. Jacobi iterations used for applying precondition (ICHOLT/ILUT/FG-ILUT)
+
+temp_init               0.0                     ! desired initial temperature of the simulated system
+temp_final              300.0                   ! desired final temperature of the simulated system
+t_mass                  0.16666                 ! 0.16666 for Nose-Hoover nvt ! 100.0 for npt! in fs, thermal inertia parameter
+t_mode                  0                       ! 0: T-coupling only, 1: step-wise, 2: constant slope
+t_rate                  -100.0                  ! in K
+t_freq                  4.0                     ! in ps
+
+pressure                0.000101325             ! desired pressure of the simulated system in GPa, 1atm = 0.000101325 GPa
+p_mass                  5000.00                 ! in fs, pressure inertia parameter
+compress                0.008134                ! in ps^2 * A / amu ( 4.5X10^(-5) bar^(-1) )
+press_mode              0                       ! 0: internal + external pressure, 1: ext only, 2: int only
+
+geo_format              1                       ! 0: custom, 1: pdb, 2: bgf
+write_freq              0                       ! write trajectory after so many steps
+traj_compress           0                       ! 0: no compression  1: uses zlib to compress trajectory output
+traj_format             0                       ! 0: our own format (below options apply to this only), 1: xyz, 2: bgf, 3: pdb
+traj_title              WATER_NVE               ! (no white spaces)
+atom_info               1                       ! 0: no atom info, 1: print basic atom info in the trajectory file
+atom_forces             0                       ! 0: basic atom format, 1: print force on each atom in the trajectory file
+atom_velocities         0                       ! 0: basic atom format, 1: print the velocity of each atom in the trajectory file
+bond_info               1                       ! 0: do not print bonds, 1: print bonds in the trajectory file
+angle_info              1                       ! 0: do not print angles, 1: print angles in the trajectory file
+test_forces             0                       ! 0: normal run, 1: at every timestep print each force type into a different file
+
+molec_anal              0                       ! 1: outputs newly formed molecules as the simulation progresses
+freq_molec_anal         0                       ! perform molecular analysis at every 'this many' timesteps
+dipole_anal             0                       ! 1: calculate a electric dipole moment of the system
+freq_dipole_anal        1                       ! calculate electric dipole moment at every 'this many' steps
+diffusion_coef          0                       ! 1: calculate diffusion coefficient of the system
+freq_diffusion_coef     1                       ! calculate diffusion coefficient at every 'this many' steps
+restrict_type           2                       ! -1: all types of atoms, 0 and up: only this type of atoms
+
+restart_format          1                       ! 0: restarts in ASCII  1: restarts in binary
+restart_freq            0                       ! 0: do not output any restart files. >0: output a restart file at every 'this many' steps
diff --git a/test_harness/control_silica_300000_mpi b/test_harness/control_silica_300000_mpi
index 3e1d10cf..73ba28e6 100644
--- a/test_harness/control_silica_300000_mpi
+++ b/test_harness/control_silica_300000_mpi
@@ -1,44 +1,49 @@
-simulation_name	        silica.300000_mpi    ! output files will carry this name + their specific ext.
-ensemble_type	 	1	! 0: NVE  1: Berendsen NVT  2: Nose-Hoover NVT(under testing)  3: semi-isotropic NPT  4: isotropic NPT  5: anisotropic NPT (under development)
-nsteps			100    ! number of simulation steps
-dt			0.10 	! time step in fs
-proc_by_dim             2 2 2   ! distribution of processors by dimensions
-geo_format 		0 	! 0: custom  1: pdb (only if natoms < 100000) 2: ASCII restart 3: binary restart
-
-tabulate_long_range	0	! number of sampling points for cubic spline interpolation, 0 no interpolation
-energy_update_freq 	10
-remove_CoM_vel	        500	! remove the transrot vel of CoM every 'this many' steps
-reposition_atoms	1	! 1:center of mass to center of box
+simulation_name         silica_300000_notab_nve_qeq_mpi    ! output files will carry this name + their specific ext.
+ensemble_type           0                       ! 0: NVE, 1: Berendsen NVT, 2: nose-Hoover NVT, 3: semi-isotropic NPT, 4: isotropic NPT, 5: anisotropic NPT
+nsteps                  100                     ! number of simulation steps
+dt                      0.10                    ! time step in fs
+periodic_boundaries     1                       ! 0: no periodic boundaries, 1: periodic boundaries
+proc_by_dim             1 1 2                   ! distribution of processors by dimensions
+geo_format              0                       ! 0: custom  1: pdb (only if natoms < 100000) 2: ASCII restart 3: binary restart
+
+reposition_atoms        0                       ! 0: just fit to periodic boundaries, 1: CoM to the center of box, 3: CoM to the origin
+restrict_bonds          0                       ! enforce the bonds given in CONECT lines of pdb file for this many steps
+tabulate_long_range     0                       ! denotes the granularity of long range tabulation, 0 means no tabulation
+energy_update_freq      1
+remove_CoM_vel          500                     ! remove the translational and rotational vel around the center of mass at every 'this many' steps
 
 reneighbor              1
 vlist_buffer            0
-nbrhood_cutoff		4.5 	! bond cutoff in A
-hbond_cutoff		0	! hbond cutoff in A
-thb_cutoff		0.001	! cutoff value for three body interactions
-
-qeq_freq                1       ! frequency to update charges with QEq
-q_err			1e-6	! norm of the relative residual in QEq solve
-
-temp_init	        0.01	! initial temperature of the system
-temp_final 	        300.0	! final temperature of the system
-t_mass		        500.0   ! 0.16666 for nhNVT ! 500.0 for bNVT, iNPT, sNPT ! in fs, thermal inertia
-t_rate                  5.0                  ! in K
-t_freq                  1.0                     ! in ps
-t_mode			2	! 2: constant slope
-
-pressure 		0.000101325 0.000101325 0.000101325	! desired pressure of the simulated system in GPa, 1atm = 0.000101325 GPa
-p_mass		        10000.00     10000.00     10000.00  	! in fs, pressure inertia parameter
-
-write_freq		0	! write trajectory after so many steps
-traj_method		1	! 0: simple parallel I/O, 1: MPI I/O
-traj_title		micelle	! (no white spaces)
-atom_info		1	! 0: no atom info, 1: print basic atom info in the trajectory file
-atom_forces		0	! 0: basic atom format, 1: print force on each atom in the trajectory file
-atom_velocities		1	! 0: basic atom format, 1: print the velocity of each atom in the trajectory file
-bond_info		1	! 0: do not print bonds, 1: print bonds in the trajectory file
-angle_info		1	! 0: do not print angles, 1: print angles in the trajectory file 
-
-restart_format          1    ! 0: restarts in ASCII  1: restarts in binary
-restart_freq		10000    ! 0: do not output any restart files. >0: output a restart file at every 'this many' steps
-
-bond_graph_cutoff	0.3  ! bond strength cutoff for bond graphs
+
+nbrhood_cutoff          4.5                     ! near neighbors cutoff for bond calculations (Angstroms)
+bond_graph_cutoff       0.3                     ! bond strength cutoff for bond graphs (Angstroms)
+thb_cutoff              0.001                   ! cutoff value for three body interactions (Angstroms)
+hbond_cutoff            7.50                    ! cutoff distance for hydrogen bond interactions (Angstroms)
+
+qeq_freq                1                       ! frequency to update charges with QEq
+q_err                   1e-6                    ! norm of the relative residual in QEq solve
+
+temp_init               0.0                     ! desired initial temperature of the simulated system
+temp_final              300.0                   ! desired final temperature of the simulated system
+t_mass                  0.16666                 ! 0.16666 for Nose-Hoover nvt ! 100.0 for npt! in fs, thermal inertia parameter
+t_mode                  0                       ! 0: T-coupling only, 1: step-wise, 2: constant slope
+t_rate                  -100.0                  ! in K
+t_freq                  4.0                     ! in ps
+
+pressure                0.000101325 0.000101325 0.000101325     ! desired pressure of the simulated system in GPa, 1atm = 0.000101325 GPa
+p_mass                  5000.00     5000.00     5000.00      ! in fs, pressure inertia parameter
+compress                0.008134                ! in ps^2 * A / amu ( 4.5X10^(-5) bar^(-1) )
+press_mode              0                       ! 0: internal + external pressure, 1: ext only, 2: int only
+
+geo_format              1                       ! 0: custom, 1: pdb, 2: bgf
+write_freq              0                       ! write trajectory after so many steps
+traj_method             1                       ! 0: simple parallel I/O, 1: MPI I/O
+traj_title              WATER_NVE               ! (no white spaces)
+atom_info               1                       ! 0: no atom info, 1: print basic atom info in the trajectory file
+atom_forces             0                       ! 0: basic atom format, 1: print force on each atom in the trajectory file
+atom_velocities         0                       ! 0: basic atom format, 1: print the velocity of each atom in the trajectory file
+bond_info               1                       ! 0: do not print bonds, 1: print bonds in the trajectory file
+angle_info              1                       ! 0: do not print angles, 1: print angles in the trajectory file
+
+restart_format          1                       ! 0: restarts in ASCII  1: restarts in binary
+restart_freq            0                       ! 0: do not output any restart files. >0: output a restart file at every 'this many' steps
diff --git a/test_harness/control_silica_300000_serial b/test_harness/control_silica_300000_serial
new file mode 100644
index 00000000..6fc327fe
--- /dev/null
+++ b/test_harness/control_silica_300000_serial
@@ -0,0 +1,68 @@
+simulation_name         silica_300000_notab_nve_qeq_serial           ! output files will carry this name + their specific extension
+ensemble_type           0                       ! 0: NVE, 1: Berendsen NVT, 2: nose-Hoover NVT, 3: semi-isotropic NPT, 4: isotropic NPT, 5: anisotropic NPT
+nsteps                  100                     ! number of simulation steps
+dt                      0.10                    ! time step in fs
+periodic_boundaries     1                       ! 0: no periodic boundaries, 1: periodic boundaries
+
+reposition_atoms        0                       ! 0: just fit to periodic boundaries, 1: CoM to the center of box, 3: CoM to the origin
+restrict_bonds          0                       ! enforce the bonds given in CONECT lines of pdb file for this many steps
+tabulate_long_range     0                       ! denotes the granularity of long range tabulation, 0 means no tabulation
+energy_update_freq      1
+remove_CoM_vel          500                     ! remove the translational and rotational vel around the center of mass at every 'this many' steps
+
+nbrhood_cutoff          4.5                     ! near neighbors cutoff for bond calculations (Angstroms)
+bond_graph_cutoff       0.3                     ! bond strength cutoff for bond graphs (Angstroms)
+thb_cutoff              0.001                   ! cutoff value for three body interactions (Angstroms)
+hbond_cutoff            7.50                    ! cutoff distance for hydrogen bond interactions (Angstroms)
+
+charge_method         		  0             ! charge method: 0 = QEq, 1 = EEM, 2 = ACKS2
+cm_q_net              		  0.0           ! net system charge
+cm_solver_type        		  0             ! iterative linear solver for charge method: 0 = GMRES(k), 1 = GMRES_H(k), 2 = CG, 3 = SDM
+cm_solver_max_iters   		  20            ! max solver iterations
+cm_solver_restart     		  100           ! inner iterations of before restarting (GMRES(k)/GMRES_H(k))
+cm_solver_q_err       		  1e-6          ! relative residual norm threshold used in solver
+cm_domain_sparsity     		  1.0           ! scalar for scaling cut-off distance, used to sparsify charge matrix (between 0.0 and 1.0)
+cm_init_guess_extrap1		  3             ! order of spline extrapolation for initial guess (s)
+cm_init_guess_extrap2		  2             ! order of spline extrapolation for initial guess (t)
+cm_solver_pre_comp_type           1             ! method used to compute preconditioner, if applicable
+cm_solver_pre_comp_refactor       1000          ! number of steps before recomputing preconditioner
+cm_solver_pre_comp_droptol        0.0           ! threshold tolerance for dropping values in preconditioner computation (ICHOLT/ILUT/FG-ILUT)
+cm_solver_pre_comp_sweeps         3             ! number of sweeps used to compute preconditioner (FG-ILUT)
+cm_solver_pre_comp_sai_thres      0.1           ! ratio of charge matrix NNZ's used to compute preconditioner (SAI)
+cm_solver_pre_app_type            1             ! method used to apply preconditioner (ICHOLT/ILUT/FG-ILUT)
+cm_solver_pre_app_jacobi_iters    50            ! num. Jacobi iterations used for applying precondition (ICHOLT/ILUT/FG-ILUT)
+
+temp_init               0.0                     ! desired initial temperature of the simulated system
+temp_final              300.0                   ! desired final temperature of the simulated system
+t_mass                  0.16666                 ! 0.16666 for Nose-Hoover nvt ! 100.0 for npt! in fs, thermal inertia parameter
+t_mode                  0                       ! 0: T-coupling only, 1: step-wise, 2: constant slope
+t_rate                  -100.0                  ! in K
+t_freq                  4.0                     ! in ps
+
+pressure                0.000101325             ! desired pressure of the simulated system in GPa, 1atm = 0.000101325 GPa
+p_mass                  5000.00                 ! in fs, pressure inertia parameter
+compress                0.008134                ! in ps^2 * A / amu ( 4.5X10^(-5) bar^(-1) )
+press_mode              0                       ! 0: internal + external pressure, 1: ext only, 2: int only
+
+geo_format              0                       ! 0: custom, 1: pdb, 2: bgf
+write_freq              0                       ! write trajectory after so many steps
+traj_compress           0                       ! 0: no compression  1: uses zlib to compress trajectory output
+traj_format             0                       ! 0: our own format (below options apply to this only), 1: xyz, 2: bgf, 3: pdb
+traj_title              WATER_NVE               ! (no white spaces)
+atom_info               1                       ! 0: no atom info, 1: print basic atom info in the trajectory file
+atom_forces             0                       ! 0: basic atom format, 1: print force on each atom in the trajectory file
+atom_velocities         0                       ! 0: basic atom format, 1: print the velocity of each atom in the trajectory file
+bond_info               1                       ! 0: do not print bonds, 1: print bonds in the trajectory file
+angle_info              1                       ! 0: do not print angles, 1: print angles in the trajectory file
+test_forces             0                       ! 0: normal run, 1: at every timestep print each force type into a different file
+
+molec_anal              0                       ! 1: outputs newly formed molecules as the simulation progresses
+freq_molec_anal         0                       ! perform molecular analysis at every 'this many' timesteps
+dipole_anal             0                       ! 1: calculate a electric dipole moment of the system
+freq_dipole_anal        1                       ! calculate electric dipole moment at every 'this many' steps
+diffusion_coef          0                       ! 1: calculate diffusion coefficient of the system
+freq_diffusion_coef     1                       ! calculate diffusion coefficient at every 'this many' steps
+restrict_type           2                       ! -1: all types of atoms, 0 and up: only this type of atoms
+
+restart_format          1                       ! 0: restarts in ASCII  1: restarts in binary
+restart_freq            0                       ! 0: do not output any restart files. >0: output a restart file at every 'this many' steps
diff --git a/test_harness/control_silica_6000_mpi b/test_harness/control_silica_6000_mpi
index 42746753..23dceb7d 100644
--- a/test_harness/control_silica_6000_mpi
+++ b/test_harness/control_silica_6000_mpi
@@ -1,44 +1,49 @@
-simulation_name	        silica.6000    ! output files will carry this name + their specific ext.
-ensemble_type	 	1	! 0: NVE  1: Berendsen NVT  2: Nose-Hoover NVT(under testing)  3: semi-isotropic NPT  4: isotropic NPT  5: anisotropic NPT (under development)
-nsteps			100    ! number of simulation steps
-dt			0.10 	! time step in fs
-proc_by_dim             1 1 2   ! distribution of processors by dimensions
-geo_format 		1 	! 0: custom  1: pdb (only if natoms < 100000) 2: ASCII restart 3: binary restart
-
-tabulate_long_range	0	! number of sampling points for cubic spline interpolation, 0 no interpolation
-energy_update_freq 	10
-remove_CoM_vel	        500	! remove the transrot vel of CoM every 'this many' steps
-reposition_atoms	1	! 1:center of mass to center of box
+simulation_name         silica_6000_notab_nve_qeq_mpi    ! output files will carry this name + their specific ext.
+ensemble_type           0                       ! 0: NVE, 1: Berendsen NVT, 2: nose-Hoover NVT, 3: semi-isotropic NPT, 4: isotropic NPT, 5: anisotropic NPT
+nsteps                  100                     ! number of simulation steps
+dt                      0.10                    ! time step in fs
+periodic_boundaries     1                       ! 0: no periodic boundaries, 1: periodic boundaries
+proc_by_dim             1 1 2                   ! distribution of processors by dimensions
+geo_format              1                       ! 0: custom  1: pdb (only if natoms < 100000) 2: ASCII restart 3: binary restart
+
+reposition_atoms        0                       ! 0: just fit to periodic boundaries, 1: CoM to the center of box, 3: CoM to the origin
+restrict_bonds          0                       ! enforce the bonds given in CONECT lines of pdb file for this many steps
+tabulate_long_range     0                       ! denotes the granularity of long range tabulation, 0 means no tabulation
+energy_update_freq      1
+remove_CoM_vel          500                     ! remove the translational and rotational vel around the center of mass at every 'this many' steps
 
 reneighbor              1
 vlist_buffer            0
-nbrhood_cutoff		4.5 	! bond cutoff in A
-hbond_cutoff		0	! hbond cutoff in A
-thb_cutoff		0.001	! cutoff value for three body interactions
-
-qeq_freq                1       ! frequency to update charges with QEq
-q_err			1e-6	! norm of the relative residual in QEq solve
-
-temp_init	        0.01	! initial temperature of the system
-temp_final 	        300.0	! final temperature of the system
-t_mass		        500.0   ! 0.16666 for nhNVT ! 500.0 for bNVT, iNPT, sNPT ! in fs, thermal inertia
-t_rate                  5.0                  ! in K
-t_freq                  1.0                     ! in ps
-t_mode			2	! 2: constant slope
-
-pressure 		0.000101325 0.000101325 0.000101325	! desired pressure of the simulated system in GPa, 1atm = 0.000101325 GPa
-p_mass		        10000.00     10000.00     10000.00  	! in fs, pressure inertia parameter
-
-write_freq		0	! write trajectory after so many steps
-traj_method		1	! 0: simple parallel I/O, 1: MPI I/O
-traj_title		micelle	! (no white spaces)
-atom_info		1	! 0: no atom info, 1: print basic atom info in the trajectory file
-atom_forces		0	! 0: basic atom format, 1: print force on each atom in the trajectory file
-atom_velocities		1	! 0: basic atom format, 1: print the velocity of each atom in the trajectory file
-bond_info		1	! 0: do not print bonds, 1: print bonds in the trajectory file
-angle_info		1	! 0: do not print angles, 1: print angles in the trajectory file 
-
-restart_format          1    ! 0: restarts in ASCII  1: restarts in binary
-restart_freq		10000    ! 0: do not output any restart files. >0: output a restart file at every 'this many' steps
-
-bond_graph_cutoff	0.3  ! bond strength cutoff for bond graphs
+
+nbrhood_cutoff          4.5                     ! near neighbors cutoff for bond calculations (Angstroms)
+bond_graph_cutoff       0.3                     ! bond strength cutoff for bond graphs (Angstroms)
+thb_cutoff              0.001                   ! cutoff value for three body interactions (Angstroms)
+hbond_cutoff            7.50                    ! cutoff distance for hydrogen bond interactions (Angstroms)
+
+qeq_freq                1                       ! frequency to update charges with QEq
+q_err                   1e-6                    ! norm of the relative residual in QEq solve
+
+temp_init               0.0                     ! desired initial temperature of the simulated system
+temp_final              300.0                   ! desired final temperature of the simulated system
+t_mass                  0.16666                 ! 0.16666 for Nose-Hoover nvt ! 100.0 for npt! in fs, thermal inertia parameter
+t_mode                  0                       ! 0: T-coupling only, 1: step-wise, 2: constant slope
+t_rate                  -100.0                  ! in K
+t_freq                  4.0                     ! in ps
+
+pressure                0.000101325 0.000101325 0.000101325     ! desired pressure of the simulated system in GPa, 1atm = 0.000101325 GPa
+p_mass                  5000.00     5000.00     5000.00      ! in fs, pressure inertia parameter
+compress                0.008134                ! in ps^2 * A / amu ( 4.5X10^(-5) bar^(-1) )
+press_mode              0                       ! 0: internal + external pressure, 1: ext only, 2: int only
+
+geo_format              1                       ! 0: custom, 1: pdb, 2: bgf
+write_freq              0                       ! write trajectory after so many steps
+traj_method             1                       ! 0: simple parallel I/O, 1: MPI I/O
+traj_title              WATER_NVE               ! (no white spaces)
+atom_info               1                       ! 0: no atom info, 1: print basic atom info in the trajectory file
+atom_forces             0                       ! 0: basic atom format, 1: print force on each atom in the trajectory file
+atom_velocities         0                       ! 0: basic atom format, 1: print the velocity of each atom in the trajectory file
+bond_info               1                       ! 0: do not print bonds, 1: print bonds in the trajectory file
+angle_info              1                       ! 0: do not print angles, 1: print angles in the trajectory file
+
+restart_format          1                       ! 0: restarts in ASCII  1: restarts in binary
+restart_freq            0                       ! 0: do not output any restart files. >0: output a restart file at every 'this many' steps
diff --git a/test_harness/control_silica_6000_serial b/test_harness/control_silica_6000_serial
new file mode 100644
index 00000000..5b4cee39
--- /dev/null
+++ b/test_harness/control_silica_6000_serial
@@ -0,0 +1,68 @@
+simulation_name         silica_6000_notab_nve_qeq_serial           ! output files will carry this name + their specific extension
+ensemble_type           0                       ! 0: NVE, 1: Berendsen NVT, 2: nose-Hoover NVT, 3: semi-isotropic NPT, 4: isotropic NPT, 5: anisotropic NPT
+nsteps                  100                     ! number of simulation steps
+dt                      0.10                    ! time step in fs
+periodic_boundaries     1                       ! 0: no periodic boundaries, 1: periodic boundaries
+
+reposition_atoms        0                       ! 0: just fit to periodic boundaries, 1: CoM to the center of box, 3: CoM to the origin
+restrict_bonds          0                       ! enforce the bonds given in CONECT lines of pdb file for this many steps
+tabulate_long_range     0                       ! denotes the granularity of long range tabulation, 0 means no tabulation
+energy_update_freq      1
+remove_CoM_vel          500                     ! remove the translational and rotational vel around the center of mass at every 'this many' steps
+
+nbrhood_cutoff          4.5                     ! near neighbors cutoff for bond calculations (Angstroms)
+bond_graph_cutoff       0.3                     ! bond strength cutoff for bond graphs (Angstroms)
+thb_cutoff              0.001                   ! cutoff value for three body interactions (Angstroms)
+hbond_cutoff            7.50                    ! cutoff distance for hydrogen bond interactions (Angstroms)
+
+charge_method         		  0             ! charge method: 0 = QEq, 1 = EEM, 2 = ACKS2
+cm_q_net              		  0.0           ! net system charge
+cm_solver_type        		  0             ! iterative linear solver for charge method: 0 = GMRES(k), 1 = GMRES_H(k), 2 = CG, 3 = SDM
+cm_solver_max_iters   		  20            ! max solver iterations
+cm_solver_restart     		  100           ! inner iterations of before restarting (GMRES(k)/GMRES_H(k))
+cm_solver_q_err       		  1e-6          ! relative residual norm threshold used in solver
+cm_domain_sparsity     		  1.0           ! scalar for scaling cut-off distance, used to sparsify charge matrix (between 0.0 and 1.0)
+cm_init_guess_extrap1		  3             ! order of spline extrapolation for initial guess (s)
+cm_init_guess_extrap2		  2             ! order of spline extrapolation for initial guess (t)
+cm_solver_pre_comp_type           1             ! method used to compute preconditioner, if applicable
+cm_solver_pre_comp_refactor       1000          ! number of steps before recomputing preconditioner
+cm_solver_pre_comp_droptol        0.0           ! threshold tolerance for dropping values in preconditioner computation (ICHOLT/ILUT/FG-ILUT)
+cm_solver_pre_comp_sweeps         3             ! number of sweeps used to compute preconditioner (FG-ILUT)
+cm_solver_pre_comp_sai_thres      0.1           ! ratio of charge matrix NNZ's used to compute preconditioner (SAI)
+cm_solver_pre_app_type            1             ! method used to apply preconditioner (ICHOLT/ILUT/FG-ILUT)
+cm_solver_pre_app_jacobi_iters    50            ! num. Jacobi iterations used for applying precondition (ICHOLT/ILUT/FG-ILUT)
+
+temp_init               0.0                     ! desired initial temperature of the simulated system
+temp_final              300.0                   ! desired final temperature of the simulated system
+t_mass                  0.16666                 ! 0.16666 for Nose-Hoover nvt ! 100.0 for npt! in fs, thermal inertia parameter
+t_mode                  0                       ! 0: T-coupling only, 1: step-wise, 2: constant slope
+t_rate                  -100.0                  ! in K
+t_freq                  4.0                     ! in ps
+
+pressure                0.000101325             ! desired pressure of the simulated system in GPa, 1atm = 0.000101325 GPa
+p_mass                  5000.00                 ! in fs, pressure inertia parameter
+compress                0.008134                ! in ps^2 * A / amu ( 4.5X10^(-5) bar^(-1) )
+press_mode              0                       ! 0: internal + external pressure, 1: ext only, 2: int only
+
+geo_format              1                       ! 0: custom, 1: pdb, 2: bgf
+write_freq              0                       ! write trajectory after so many steps
+traj_compress           0                       ! 0: no compression  1: uses zlib to compress trajectory output
+traj_format             0                       ! 0: our own format (below options apply to this only), 1: xyz, 2: bgf, 3: pdb
+traj_title              WATER_NVE               ! (no white spaces)
+atom_info               1                       ! 0: no atom info, 1: print basic atom info in the trajectory file
+atom_forces             0                       ! 0: basic atom format, 1: print force on each atom in the trajectory file
+atom_velocities         0                       ! 0: basic atom format, 1: print the velocity of each atom in the trajectory file
+bond_info               1                       ! 0: do not print bonds, 1: print bonds in the trajectory file
+angle_info              1                       ! 0: do not print angles, 1: print angles in the trajectory file
+test_forces             0                       ! 0: normal run, 1: at every timestep print each force type into a different file
+
+molec_anal              0                       ! 1: outputs newly formed molecules as the simulation progresses
+freq_molec_anal         0                       ! perform molecular analysis at every 'this many' timesteps
+dipole_anal             0                       ! 1: calculate a electric dipole moment of the system
+freq_dipole_anal        1                       ! calculate electric dipole moment at every 'this many' steps
+diffusion_coef          0                       ! 1: calculate diffusion coefficient of the system
+freq_diffusion_coef     1                       ! calculate diffusion coefficient at every 'this many' steps
+restrict_type           2                       ! -1: all types of atoms, 0 and up: only this type of atoms
+
+restart_format          1                       ! 0: restarts in ASCII  1: restarts in binary
+restart_freq            0                       ! 0: do not output any restart files. >0: output a restart file at every 'this many' steps
diff --git a/test_harness/control_silica_72000_mpi b/test_harness/control_silica_72000_mpi
index d6241044..e9e69cb6 100644
--- a/test_harness/control_silica_72000_mpi
+++ b/test_harness/control_silica_72000_mpi
@@ -1,44 +1,49 @@
-simulation_name	        silica.72000    ! output files will carry this name + their specific ext.
-ensemble_type	 	1	! 0: NVE  1: Berendsen NVT  2: Nose-Hoover NVT(under testing)  3: semi-isotropic NPT  4: isotropic NPT  5: anisotropic NPT (under development)
-nsteps			100    ! number of simulation steps
-dt			0.10 	! time step in fs
-proc_by_dim             1 1 2   ! distribution of processors by dimensions
-geo_format 		0 	! 0: custom  1: pdb (only if natoms < 100000) 2: ASCII restart 3: binary restart
-
-tabulate_long_range	0	! number of sampling points for cubic spline interpolation, 0 no interpolation
-energy_update_freq 	10
-remove_CoM_vel	        500	! remove the transrot vel of CoM every 'this many' steps
-reposition_atoms	1	! 1:center of mass to center of box
+simulation_name         silica_72000_notab_nve_qeq_mpi    ! output files will carry this name + their specific ext.
+ensemble_type           0                       ! 0: NVE, 1: Berendsen NVT, 2: nose-Hoover NVT, 3: semi-isotropic NPT, 4: isotropic NPT, 5: anisotropic NPT
+nsteps                  100                     ! number of simulation steps
+dt                      0.10                    ! time step in fs
+periodic_boundaries     1                       ! 0: no periodic boundaries, 1: periodic boundaries
+proc_by_dim             1 1 2                   ! distribution of processors by dimensions
+geo_format              0                       ! 0: custom  1: pdb (only if natoms < 100000) 2: ASCII restart 3: binary restart
+
+reposition_atoms        0                       ! 0: just fit to periodic boundaries, 1: CoM to the center of box, 3: CoM to the origin
+restrict_bonds          0                       ! enforce the bonds given in CONECT lines of pdb file for this many steps
+tabulate_long_range     0                       ! denotes the granularity of long range tabulation, 0 means no tabulation
+energy_update_freq      1
+remove_CoM_vel          500                     ! remove the translational and rotational vel around the center of mass at every 'this many' steps
 
 reneighbor              1
 vlist_buffer            0
-nbrhood_cutoff		4.5 	! bond cutoff in A
-hbond_cutoff		0	! hbond cutoff in A
-thb_cutoff		0.001	! cutoff value for three body interactions
-
-qeq_freq                1       ! frequency to update charges with QEq
-q_err			1e-6	! norm of the relative residual in QEq solve
-
-temp_init	        0.01	! initial temperature of the system
-temp_final 	        300.0	! final temperature of the system
-t_mass		        500.0   ! 0.16666 for nhNVT ! 500.0 for bNVT, iNPT, sNPT ! in fs, thermal inertia
-t_rate                  5.0                  ! in K
-t_freq                  1.0                     ! in ps
-t_mode			2	! 2: constant slope
-
-pressure 		0.000101325 0.000101325 0.000101325	! desired pressure of the simulated system in GPa, 1atm = 0.000101325 GPa
-p_mass		        10000.00     10000.00     10000.00  	! in fs, pressure inertia parameter
-
-write_freq		0	! write trajectory after so many steps
-traj_method		1	! 0: simple parallel I/O, 1: MPI I/O
-traj_title		micelle	! (no white spaces)
-atom_info		1	! 0: no atom info, 1: print basic atom info in the trajectory file
-atom_forces		0	! 0: basic atom format, 1: print force on each atom in the trajectory file
-atom_velocities		1	! 0: basic atom format, 1: print the velocity of each atom in the trajectory file
-bond_info		1	! 0: do not print bonds, 1: print bonds in the trajectory file
-angle_info		1	! 0: do not print angles, 1: print angles in the trajectory file 
-
-restart_format          1    ! 0: restarts in ASCII  1: restarts in binary
-restart_freq		10000    ! 0: do not output any restart files. >0: output a restart file at every 'this many' steps
-
-bond_graph_cutoff	0.3  ! bond strength cutoff for bond graphs
+
+nbrhood_cutoff          4.5                     ! near neighbors cutoff for bond calculations (Angstroms)
+bond_graph_cutoff       0.3                     ! bond strength cutoff for bond graphs (Angstroms)
+thb_cutoff              0.001                   ! cutoff value for three body interactions (Angstroms)
+hbond_cutoff            7.50                    ! cutoff distance for hydrogen bond interactions (Angstroms)
+
+qeq_freq                1                       ! frequency to update charges with QEq
+q_err                   1e-6                    ! norm of the relative residual in QEq solve
+
+temp_init               0.0                     ! desired initial temperature of the simulated system
+temp_final              300.0                   ! desired final temperature of the simulated system
+t_mass                  0.16666                 ! 0.16666 for Nose-Hoover nvt ! 100.0 for npt! in fs, thermal inertia parameter
+t_mode                  0                       ! 0: T-coupling only, 1: step-wise, 2: constant slope
+t_rate                  -100.0                  ! in K
+t_freq                  4.0                     ! in ps
+
+pressure                0.000101325 0.000101325 0.000101325     ! desired pressure of the simulated system in GPa, 1atm = 0.000101325 GPa
+p_mass                  5000.00     5000.00     5000.00      ! in fs, pressure inertia parameter
+compress                0.008134                ! in ps^2 * A / amu ( 4.5X10^(-5) bar^(-1) )
+press_mode              0                       ! 0: internal + external pressure, 1: ext only, 2: int only
+
+geo_format              1                       ! 0: custom, 1: pdb, 2: bgf
+write_freq              0                       ! write trajectory after so many steps
+traj_method             1                       ! 0: simple parallel I/O, 1: MPI I/O
+traj_title              WATER_NVE               ! (no white spaces)
+atom_info               1                       ! 0: no atom info, 1: print basic atom info in the trajectory file
+atom_forces             0                       ! 0: basic atom format, 1: print force on each atom in the trajectory file
+atom_velocities         0                       ! 0: basic atom format, 1: print the velocity of each atom in the trajectory file
+bond_info               1                       ! 0: do not print bonds, 1: print bonds in the trajectory file
+angle_info              1                       ! 0: do not print angles, 1: print angles in the trajectory file
+
+restart_format          1                       ! 0: restarts in ASCII  1: restarts in binary
+restart_freq            0                       ! 0: do not output any restart files. >0: output a restart file at every 'this many' steps
diff --git a/test_harness/control_silica_72000_serial b/test_harness/control_silica_72000_serial
new file mode 100644
index 00000000..1990d37a
--- /dev/null
+++ b/test_harness/control_silica_72000_serial
@@ -0,0 +1,68 @@
+simulation_name         silica_72000_notab_nve_qeq_serial           ! output files will carry this name + their specific extension
+ensemble_type           0                       ! 0: NVE, 1: Berendsen NVT, 2: nose-Hoover NVT, 3: semi-isotropic NPT, 4: isotropic NPT, 5: anisotropic NPT
+nsteps                  100                     ! number of simulation steps
+dt                      0.10                    ! time step in fs
+periodic_boundaries     1                       ! 0: no periodic boundaries, 1: periodic boundaries
+
+reposition_atoms        0                       ! 0: just fit to periodic boundaries, 1: CoM to the center of box, 3: CoM to the origin
+restrict_bonds          0                       ! enforce the bonds given in CONECT lines of pdb file for this many steps
+tabulate_long_range     0                       ! denotes the granularity of long range tabulation, 0 means no tabulation
+energy_update_freq      1
+remove_CoM_vel          500                     ! remove the translational and rotational vel around the center of mass at every 'this many' steps
+
+nbrhood_cutoff          4.5                     ! near neighbors cutoff for bond calculations (Angstroms)
+bond_graph_cutoff       0.3                     ! bond strength cutoff for bond graphs (Angstroms)
+thb_cutoff              0.001                   ! cutoff value for three body interactions (Angstroms)
+hbond_cutoff            7.50                    ! cutoff distance for hydrogen bond interactions (Angstroms)
+
+charge_method         		  0             ! charge method: 0 = QEq, 1 = EEM, 2 = ACKS2
+cm_q_net              		  0.0           ! net system charge
+cm_solver_type        		  0             ! iterative linear solver for charge method: 0 = GMRES(k), 1 = GMRES_H(k), 2 = CG, 3 = SDM
+cm_solver_max_iters   		  20            ! max solver iterations
+cm_solver_restart     		  100           ! inner iterations of before restarting (GMRES(k)/GMRES_H(k))
+cm_solver_q_err       		  1e-6          ! relative residual norm threshold used in solver
+cm_domain_sparsity     		  1.0           ! scalar for scaling cut-off distance, used to sparsify charge matrix (between 0.0 and 1.0)
+cm_init_guess_extrap1		  3             ! order of spline extrapolation for initial guess (s)
+cm_init_guess_extrap2		  2             ! order of spline extrapolation for initial guess (t)
+cm_solver_pre_comp_type           1             ! method used to compute preconditioner, if applicable
+cm_solver_pre_comp_refactor       1000          ! number of steps before recomputing preconditioner
+cm_solver_pre_comp_droptol        0.0           ! threshold tolerance for dropping values in preconditioner computation (ICHOLT/ILUT/FG-ILUT)
+cm_solver_pre_comp_sweeps         3             ! number of sweeps used to compute preconditioner (FG-ILUT)
+cm_solver_pre_comp_sai_thres      0.1           ! ratio of charge matrix NNZ's used to compute preconditioner (SAI)
+cm_solver_pre_app_type            1             ! method used to apply preconditioner (ICHOLT/ILUT/FG-ILUT)
+cm_solver_pre_app_jacobi_iters    50            ! num. Jacobi iterations used for applying precondition (ICHOLT/ILUT/FG-ILUT)
+
+temp_init               0.0                     ! desired initial temperature of the simulated system
+temp_final              300.0                   ! desired final temperature of the simulated system
+t_mass                  0.16666                 ! 0.16666 for Nose-Hoover nvt ! 100.0 for npt! in fs, thermal inertia parameter
+t_mode                  0                       ! 0: T-coupling only, 1: step-wise, 2: constant slope
+t_rate                  -100.0                  ! in K
+t_freq                  4.0                     ! in ps
+
+pressure                0.000101325             ! desired pressure of the simulated system in GPa, 1atm = 0.000101325 GPa
+p_mass                  5000.00                 ! in fs, pressure inertia parameter
+compress                0.008134                ! in ps^2 * A / amu ( 4.5X10^(-5) bar^(-1) )
+press_mode              0                       ! 0: internal + external pressure, 1: ext only, 2: int only
+
+geo_format              0                       ! 0: custom, 1: pdb, 2: bgf
+write_freq              0                       ! write trajectory after so many steps
+traj_compress           0                       ! 0: no compression  1: uses zlib to compress trajectory output
+traj_format             0                       ! 0: our own format (below options apply to this only), 1: xyz, 2: bgf, 3: pdb
+traj_title              WATER_NVE               ! (no white spaces)
+atom_info               1                       ! 0: no atom info, 1: print basic atom info in the trajectory file
+atom_forces             0                       ! 0: basic atom format, 1: print force on each atom in the trajectory file
+atom_velocities         0                       ! 0: basic atom format, 1: print the velocity of each atom in the trajectory file
+bond_info               1                       ! 0: do not print bonds, 1: print bonds in the trajectory file
+angle_info              1                       ! 0: do not print angles, 1: print angles in the trajectory file
+test_forces             0                       ! 0: normal run, 1: at every timestep print each force type into a different file
+
+molec_anal              0                       ! 1: outputs newly formed molecules as the simulation progresses
+freq_molec_anal         0                       ! perform molecular analysis at every 'this many' timesteps
+dipole_anal             0                       ! 1: calculate a electric dipole moment of the system
+freq_dipole_anal        1                       ! calculate electric dipole moment at every 'this many' steps
+diffusion_coef          0                       ! 1: calculate diffusion coefficient of the system
+freq_diffusion_coef     1                       ! calculate diffusion coefficient at every 'this many' steps
+restrict_type           2                       ! -1: all types of atoms, 0 and up: only this type of atoms
+
+restart_format          1                       ! 0: restarts in ASCII  1: restarts in binary
+restart_freq            0                       ! 0: do not output any restart files. >0: output a restart file at every 'this many' steps
diff --git a/test_harness/control_water_327000_mpi b/test_harness/control_water_327000_mpi
index c5019d48..3a3615fe 100644
--- a/test_harness/control_water_327000_mpi
+++ b/test_harness/control_water_327000_mpi
@@ -1,44 +1,49 @@
-simulation_name	        water.327000_mpi    ! output files will carry this name + their specific ext.
-ensemble_type	 	1	! 0: NVE  1: Berendsen NVT  2: Nose-Hoover NVT(under testing)  3: semi-isotropic NPT  4: isotropic NPT  5: anisotropic NPT (under development)
-nsteps			100    ! number of simulation steps
-dt			0.10 	! time step in fs
-proc_by_dim             2 2 2   ! distribution of processors by dimensions
-geo_format 		0 	! 0: custom  1: pdb (only if natoms < 100000) 2: ASCII restart 3: binary restart
-
-tabulate_long_range	0	! number of sampling points for cubic spline interpolation, 0 no interpolation
-energy_update_freq 	10
-remove_CoM_vel	        500	! remove the transrot vel of CoM every 'this many' steps
-reposition_atoms	1	! 1:center of mass to center of box
+simulation_name         water_327000_notab_nve_qeq_mpi    ! output files will carry this name + their specific ext.
+ensemble_type           0                       ! 0: NVE, 1: Berendsen NVT, 2: nose-Hoover NVT, 3: semi-isotropic NPT, 4: isotropic NPT, 5: anisotropic NPT
+nsteps                  100                     ! number of simulation steps
+dt                      0.10                    ! time step in fs
+periodic_boundaries     1                       ! 0: no periodic boundaries, 1: periodic boundaries
+proc_by_dim             1 1 2                   ! distribution of processors by dimensions
+geo_format              0                       ! 0: custom  1: pdb (only if natoms < 100000) 2: ASCII restart 3: binary restart
+
+reposition_atoms        0                       ! 0: just fit to periodic boundaries, 1: CoM to the center of box, 3: CoM to the origin
+restrict_bonds          0                       ! enforce the bonds given in CONECT lines of pdb file for this many steps
+tabulate_long_range     0                       ! denotes the granularity of long range tabulation, 0 means no tabulation
+energy_update_freq      1
+remove_CoM_vel          500                     ! remove the translational and rotational vel around the center of mass at every 'this many' steps
 
 reneighbor              1
 vlist_buffer            0
-nbrhood_cutoff		4.5 	! bond cutoff in A
-hbond_cutoff		7.5	! hbond cutoff in A
-thb_cutoff		0.001	! cutoff value for three body interactions
-
-qeq_freq                1       ! frequency to update charges with QEq
-q_err			1e-6	! norm of the relative residual in QEq solve
-
-temp_init	        0.01	! initial temperature of the system
-temp_final 	        300.0	! final temperature of the system
-t_mass		        500.0   ! 0.16666 for nhNVT ! 500.0 for bNVT, iNPT, sNPT ! in fs, thermal inertia
-t_rate                  5.0                  ! in K
-t_freq                  1.0                     ! in ps
-t_mode			2	! 2: constant slope
-
-pressure 		0.000101325 0.000101325 0.000101325	! desired pressure of the simulated system in GPa, 1atm = 0.000101325 GPa
-p_mass		        10000.00     10000.00     10000.00  	! in fs, pressure inertia parameter
-
-write_freq		0	! write trajectory after so many steps
-traj_method		1	! 0: simple parallel I/O, 1: MPI I/O
-traj_title		micelle	! (no white spaces)
-atom_info		1	! 0: no atom info, 1: print basic atom info in the trajectory file
-atom_forces		0	! 0: basic atom format, 1: print force on each atom in the trajectory file
-atom_velocities		1	! 0: basic atom format, 1: print the velocity of each atom in the trajectory file
-bond_info		1	! 0: do not print bonds, 1: print bonds in the trajectory file
-angle_info		1	! 0: do not print angles, 1: print angles in the trajectory file 
-
-restart_format          1    ! 0: restarts in ASCII  1: restarts in binary
-restart_freq		10000    ! 0: do not output any restart files. >0: output a restart file at every 'this many' steps
-
-bond_graph_cutoff	0.3  ! bond strength cutoff for bond graphs
+
+nbrhood_cutoff          4.5                     ! near neighbors cutoff for bond calculations (Angstroms)
+bond_graph_cutoff       0.3                     ! bond strength cutoff for bond graphs (Angstroms)
+thb_cutoff              0.001                   ! cutoff value for three body interactions (Angstroms)
+hbond_cutoff            7.50                    ! cutoff distance for hydrogen bond interactions (Angstroms)
+
+qeq_freq                1                       ! frequency to update charges with QEq
+q_err                   1e-6                    ! norm of the relative residual in QEq solve
+
+temp_init               0.0                     ! desired initial temperature of the simulated system
+temp_final              300.0                   ! desired final temperature of the simulated system
+t_mass                  0.16666                 ! 0.16666 for Nose-Hoover nvt ! 100.0 for npt! in fs, thermal inertia parameter
+t_mode                  0                       ! 0: T-coupling only, 1: step-wise, 2: constant slope
+t_rate                  -100.0                  ! in K
+t_freq                  4.0                     ! in ps
+
+pressure                0.000101325 0.000101325 0.000101325     ! desired pressure of the simulated system in GPa, 1atm = 0.000101325 GPa
+p_mass                  5000.00     5000.00     5000.00      ! in fs, pressure inertia parameter
+compress                0.008134                ! in ps^2 * A / amu ( 4.5X10^(-5) bar^(-1) )
+press_mode              0                       ! 0: internal + external pressure, 1: ext only, 2: int only
+
+geo_format              1                       ! 0: custom, 1: pdb, 2: bgf
+write_freq              0                       ! write trajectory after so many steps
+traj_method             1                       ! 0: simple parallel I/O, 1: MPI I/O
+traj_title              WATER_NVE               ! (no white spaces)
+atom_info               1                       ! 0: no atom info, 1: print basic atom info in the trajectory file
+atom_forces             0                       ! 0: basic atom format, 1: print force on each atom in the trajectory file
+atom_velocities         0                       ! 0: basic atom format, 1: print the velocity of each atom in the trajectory file
+bond_info               1                       ! 0: do not print bonds, 1: print bonds in the trajectory file
+angle_info              1                       ! 0: do not print angles, 1: print angles in the trajectory file
+
+restart_format          1                       ! 0: restarts in ASCII  1: restarts in binary
+restart_freq            0                       ! 0: do not output any restart files. >0: output a restart file at every 'this many' steps
diff --git a/test_harness/control_water_327000_serial b/test_harness/control_water_327000_serial
new file mode 100644
index 00000000..e895ac17
--- /dev/null
+++ b/test_harness/control_water_327000_serial
@@ -0,0 +1,68 @@
+simulation_name         water_327000_notab_nve_qeq_serial           ! output files will carry this name + their specific extension
+ensemble_type           0                       ! 0: NVE, 1: Berendsen NVT, 2: nose-Hoover NVT, 3: semi-isotropic NPT, 4: isotropic NPT, 5: anisotropic NPT
+nsteps                  100                     ! number of simulation steps
+dt                      0.10                    ! time step in fs
+periodic_boundaries     1                       ! 0: no periodic boundaries, 1: periodic boundaries
+
+reposition_atoms        0                       ! 0: just fit to periodic boundaries, 1: CoM to the center of box, 3: CoM to the origin
+restrict_bonds          0                       ! enforce the bonds given in CONECT lines of pdb file for this many steps
+tabulate_long_range     0                       ! denotes the granularity of long range tabulation, 0 means no tabulation
+energy_update_freq      1
+remove_CoM_vel          500                     ! remove the translational and rotational vel around the center of mass at every 'this many' steps
+
+nbrhood_cutoff          4.5                     ! near neighbors cutoff for bond calculations (Angstroms)
+bond_graph_cutoff       0.3                     ! bond strength cutoff for bond graphs (Angstroms)
+thb_cutoff              0.001                   ! cutoff value for three body interactions (Angstroms)
+hbond_cutoff            7.50                    ! cutoff distance for hydrogen bond interactions (Angstroms)
+
+charge_method         		  0             ! charge method: 0 = QEq, 1 = EEM, 2 = ACKS2
+cm_q_net              		  0.0           ! net system charge
+cm_solver_type        		  0             ! iterative linear solver for charge method: 0 = GMRES(k), 1 = GMRES_H(k), 2 = CG, 3 = SDM
+cm_solver_max_iters   		  20            ! max solver iterations
+cm_solver_restart     		  100           ! inner iterations of before restarting (GMRES(k)/GMRES_H(k))
+cm_solver_q_err       		  1e-6          ! relative residual norm threshold used in solver
+cm_domain_sparsity     		  1.0           ! scalar for scaling cut-off distance, used to sparsify charge matrix (between 0.0 and 1.0)
+cm_init_guess_extrap1		  3             ! order of spline extrapolation for initial guess (s)
+cm_init_guess_extrap2		  2             ! order of spline extrapolation for initial guess (t)
+cm_solver_pre_comp_type           1             ! method used to compute preconditioner, if applicable
+cm_solver_pre_comp_refactor       1000          ! number of steps before recomputing preconditioner
+cm_solver_pre_comp_droptol        0.0           ! threshold tolerance for dropping values in preconditioner computation (ICHOLT/ILUT/FG-ILUT)
+cm_solver_pre_comp_sweeps         3             ! number of sweeps used to compute preconditioner (FG-ILUT)
+cm_solver_pre_comp_sai_thres      0.1           ! ratio of charge matrix NNZ's used to compute preconditioner (SAI)
+cm_solver_pre_app_type            1             ! method used to apply preconditioner (ICHOLT/ILUT/FG-ILUT)
+cm_solver_pre_app_jacobi_iters    50            ! num. Jacobi iterations used for applying precondition (ICHOLT/ILUT/FG-ILUT)
+
+temp_init               0.0                     ! desired initial temperature of the simulated system
+temp_final              300.0                   ! desired final temperature of the simulated system
+t_mass                  0.16666                 ! 0.16666 for Nose-Hoover nvt ! 100.0 for npt! in fs, thermal inertia parameter
+t_mode                  0                       ! 0: T-coupling only, 1: step-wise, 2: constant slope
+t_rate                  -100.0                  ! in K
+t_freq                  4.0                     ! in ps
+
+pressure                0.000101325             ! desired pressure of the simulated system in GPa, 1atm = 0.000101325 GPa
+p_mass                  5000.00                 ! in fs, pressure inertia parameter
+compress                0.008134                ! in ps^2 * A / amu ( 4.5X10^(-5) bar^(-1) )
+press_mode              0                       ! 0: internal + external pressure, 1: ext only, 2: int only
+
+geo_format              0                       ! 0: custom, 1: pdb, 2: bgf
+write_freq              0                       ! write trajectory after so many steps
+traj_compress           0                       ! 0: no compression  1: uses zlib to compress trajectory output
+traj_format             0                       ! 0: our own format (below options apply to this only), 1: xyz, 2: bgf, 3: pdb
+traj_title              WATER_NVE               ! (no white spaces)
+atom_info               1                       ! 0: no atom info, 1: print basic atom info in the trajectory file
+atom_forces             0                       ! 0: basic atom format, 1: print force on each atom in the trajectory file
+atom_velocities         0                       ! 0: basic atom format, 1: print the velocity of each atom in the trajectory file
+bond_info               1                       ! 0: do not print bonds, 1: print bonds in the trajectory file
+angle_info              1                       ! 0: do not print angles, 1: print angles in the trajectory file
+test_forces             0                       ! 0: normal run, 1: at every timestep print each force type into a different file
+
+molec_anal              0                       ! 1: outputs newly formed molecules as the simulation progresses
+freq_molec_anal         0                       ! perform molecular analysis at every 'this many' timesteps
+dipole_anal             0                       ! 1: calculate a electric dipole moment of the system
+freq_dipole_anal        1                       ! calculate electric dipole moment at every 'this many' steps
+diffusion_coef          0                       ! 1: calculate diffusion coefficient of the system
+freq_diffusion_coef     1                       ! calculate diffusion coefficient at every 'this many' steps
+restrict_type           2                       ! -1: all types of atoms, 0 and up: only this type of atoms
+
+restart_format          1                       ! 0: restarts in ASCII  1: restarts in binary
+restart_freq            0                       ! 0: do not output any restart files. >0: output a restart file at every 'this many' steps
diff --git a/test_harness/control_water_6540_mpi b/test_harness/control_water_6540_mpi
index d1ec1204..a9113f20 100644
--- a/test_harness/control_water_6540_mpi
+++ b/test_harness/control_water_6540_mpi
@@ -1,45 +1,49 @@
-simulation_name         water.6540    ! output files will carry this name + their specific ext.
-ensemble_type           1       ! 0: NVE  1: Berendsen NVT  2: Nose-Hoover NVT(under testing)  3: semi-isotropic NPT  4: isotropic NPT  5: anisotropic NPT (under development)
-nsteps                  100    ! number of simulation steps
-dt                      0.10    ! time step in fs
-proc_by_dim             1 1 2   ! distribution of processors by dimensions
-geo_format              1       ! 0: custom  1: pdb (only if natoms < 100000) 2: ASCII restart 3: binary restart
-
-tabulate_long_range     0       ! number of sampling points for cubic spline interpolation, 0 no interpolation
-energy_update_freq      10
-remove_CoM_vel          500     ! remove the transrot vel of CoM every 'this many' steps
-reposition_atoms        1       ! 1:center of mass to center of box
+simulation_name         water_6540_notab_nve_qeq_mpi    ! output files will carry this name + their specific ext.
+ensemble_type           0                       ! 0: NVE, 1: Berendsen NVT, 2: nose-Hoover NVT, 3: semi-isotropic NPT, 4: isotropic NPT, 5: anisotropic NPT
+nsteps                  100                     ! number of simulation steps
+dt                      0.10                    ! time step in fs
+periodic_boundaries     1                       ! 0: no periodic boundaries, 1: periodic boundaries
+proc_by_dim             1 1 2                   ! distribution of processors by dimensions
+geo_format              1                       ! 0: custom  1: pdb (only if natoms < 100000) 2: ASCII restart 3: binary restart
+
+reposition_atoms        0                       ! 0: just fit to periodic boundaries, 1: CoM to the center of box, 3: CoM to the origin
+restrict_bonds          0                       ! enforce the bonds given in CONECT lines of pdb file for this many steps
+tabulate_long_range     0                       ! denotes the granularity of long range tabulation, 0 means no tabulation
+energy_update_freq      1
+remove_CoM_vel          500                     ! remove the translational and rotational vel around the center of mass at every 'this many' steps
 
 reneighbor              1
 vlist_buffer            0
-nbrhood_cutoff          4.5     ! bond cutoff in A
-hbond_cutoff            7.5     ! hbond cutoff in A
-thb_cutoff              0.001   ! cutoff value for three body interactions
 
-qeq_freq                1       ! frequency to update charges with QEq
-q_err                   1e-6    ! norm of the relative residual in QEq solve
+nbrhood_cutoff          4.5                     ! near neighbors cutoff for bond calculations (Angstroms)
+bond_graph_cutoff       0.3                     ! bond strength cutoff for bond graphs (Angstroms)
+thb_cutoff              0.001                   ! cutoff value for three body interactions (Angstroms)
+hbond_cutoff            7.50                    ! cutoff distance for hydrogen bond interactions (Angstroms)
 
-temp_init               0.01    ! initial temperature of the system
-temp_final              300.0   ! final temperature of the system
-t_mass                  500.0   ! 0.16666 for nhNVT ! 500.0 for bNVT, iNPT, sNPT ! in fs, thermal inertia
-t_rate                  5.0                  ! in K
-t_freq                  1.0                     ! in ps
-t_mode                  2       ! 2: constant slope
+qeq_freq                1                       ! frequency to update charges with QEq
+q_err                   1e-6                    ! norm of the relative residual in QEq solve
 
-pressure                0.000101325 0.000101325 0.000101325     ! desired pressure of the simulated system in GPa, 1atm = 0.000101325 GPa
-p_mass                  10000.00     10000.00     10000.00      ! in fs, pressure inertia parameter
-
-write_freq              0    ! write trajectory after so many steps
-traj_method             1       ! 0: simple parallel I/O, 1: MPI I/O
-traj_title              micelle ! (no white spaces)
-atom_info               1       ! 0: no atom info, 1: print basic atom info in the trajectory file
-atom_forces             0       ! 0: basic atom format, 1: print force on each atom in the trajectory file
-atom_velocities         1       ! 0: basic atom format, 1: print the velocity of each atom in the trajectory file
-bond_info               1       ! 0: do not print bonds, 1: print bonds in the trajectory file
-angle_info              1       ! 0: do not print angles, 1: print angles in the trajectory file
-
-restart_format          1    ! 0: restarts in ASCII  1: restarts in binary
-restart_freq            10000    ! 0: do not output any restart files. >0: output a restart file at every 'this many' steps
-
-bond_graph_cutoff       0.3  ! bond strength cutoff for bond graphs
+temp_init               0.0                     ! desired initial temperature of the simulated system
+temp_final              300.0                   ! desired final temperature of the simulated system
+t_mass                  0.16666                 ! 0.16666 for Nose-Hoover nvt ! 100.0 for npt! in fs, thermal inertia parameter
+t_mode                  0                       ! 0: T-coupling only, 1: step-wise, 2: constant slope
+t_rate                  -100.0                  ! in K
+t_freq                  4.0                     ! in ps
 
+pressure                0.000101325 0.000101325 0.000101325     ! desired pressure of the simulated system in GPa, 1atm = 0.000101325 GPa
+p_mass                  5000.00     5000.00     5000.00      ! in fs, pressure inertia parameter
+compress                0.008134                ! in ps^2 * A / amu ( 4.5X10^(-5) bar^(-1) )
+press_mode              0                       ! 0: internal + external pressure, 1: ext only, 2: int only
+
+geo_format              1                       ! 0: custom, 1: pdb, 2: bgf
+write_freq              0                       ! write trajectory after so many steps
+traj_method             1                       ! 0: simple parallel I/O, 1: MPI I/O
+traj_title              WATER_NVE               ! (no white spaces)
+atom_info               1                       ! 0: no atom info, 1: print basic atom info in the trajectory file
+atom_forces             0                       ! 0: basic atom format, 1: print force on each atom in the trajectory file
+atom_velocities         0                       ! 0: basic atom format, 1: print the velocity of each atom in the trajectory file
+bond_info               1                       ! 0: do not print bonds, 1: print bonds in the trajectory file
+angle_info              1                       ! 0: do not print angles, 1: print angles in the trajectory file
+
+restart_format          1                       ! 0: restarts in ASCII  1: restarts in binary
+restart_freq            0                       ! 0: do not output any restart files. >0: output a restart file at every 'this many' steps
diff --git a/test_harness/control_water_6540_serial b/test_harness/control_water_6540_serial
new file mode 100644
index 00000000..edeb3b50
--- /dev/null
+++ b/test_harness/control_water_6540_serial
@@ -0,0 +1,68 @@
+simulation_name         water_6540_notab_nve_qeq_serial           ! output files will carry this name + their specific extension
+ensemble_type           0                       ! 0: NVE, 1: Berendsen NVT, 2: nose-Hoover NVT, 3: semi-isotropic NPT, 4: isotropic NPT, 5: anisotropic NPT
+nsteps                  100                     ! number of simulation steps
+dt                      0.10                    ! time step in fs
+periodic_boundaries     1                       ! 0: no periodic boundaries, 1: periodic boundaries
+
+reposition_atoms        0                       ! 0: just fit to periodic boundaries, 1: CoM to the center of box, 3: CoM to the origin
+restrict_bonds          0                       ! enforce the bonds given in CONECT lines of pdb file for this many steps
+tabulate_long_range     0                       ! denotes the granularity of long range tabulation, 0 means no tabulation
+energy_update_freq      1
+remove_CoM_vel          500                     ! remove the translational and rotational vel around the center of mass at every 'this many' steps
+
+nbrhood_cutoff          4.5                     ! near neighbors cutoff for bond calculations (Angstroms)
+bond_graph_cutoff       0.3                     ! bond strength cutoff for bond graphs (Angstroms)
+thb_cutoff              0.001                   ! cutoff value for three body interactions (Angstroms)
+hbond_cutoff            7.50                    ! cutoff distance for hydrogen bond interactions (Angstroms)
+
+charge_method         		  0             ! charge method: 0 = QEq, 1 = EEM, 2 = ACKS2
+cm_q_net              		  0.0           ! net system charge
+cm_solver_type        		  0             ! iterative linear solver for charge method: 0 = GMRES(k), 1 = GMRES_H(k), 2 = CG, 3 = SDM
+cm_solver_max_iters   		  20            ! max solver iterations
+cm_solver_restart     		  100           ! inner iterations of before restarting (GMRES(k)/GMRES_H(k))
+cm_solver_q_err       		  1e-6          ! relative residual norm threshold used in solver
+cm_domain_sparsity     		  1.0           ! scalar for scaling cut-off distance, used to sparsify charge matrix (between 0.0 and 1.0)
+cm_init_guess_extrap1		  3             ! order of spline extrapolation for initial guess (s)
+cm_init_guess_extrap2		  2             ! order of spline extrapolation for initial guess (t)
+cm_solver_pre_comp_type           1             ! method used to compute preconditioner, if applicable
+cm_solver_pre_comp_refactor       1000          ! number of steps before recomputing preconditioner
+cm_solver_pre_comp_droptol        0.0           ! threshold tolerance for dropping values in preconditioner computation (ICHOLT/ILUT/FG-ILUT)
+cm_solver_pre_comp_sweeps         3             ! number of sweeps used to compute preconditioner (FG-ILUT)
+cm_solver_pre_comp_sai_thres      0.1           ! ratio of charge matrix NNZ's used to compute preconditioner (SAI)
+cm_solver_pre_app_type            1             ! method used to apply preconditioner (ICHOLT/ILUT/FG-ILUT)
+cm_solver_pre_app_jacobi_iters    50            ! num. Jacobi iterations used for applying precondition (ICHOLT/ILUT/FG-ILUT)
+
+temp_init               0.0                     ! desired initial temperature of the simulated system
+temp_final              300.0                   ! desired final temperature of the simulated system
+t_mass                  0.16666                 ! 0.16666 for Nose-Hoover nvt ! 100.0 for npt! in fs, thermal inertia parameter
+t_mode                  0                       ! 0: T-coupling only, 1: step-wise, 2: constant slope
+t_rate                  -100.0                  ! in K
+t_freq                  4.0                     ! in ps
+
+pressure                0.000101325             ! desired pressure of the simulated system in GPa, 1atm = 0.000101325 GPa
+p_mass                  5000.00                 ! in fs, pressure inertia parameter
+compress                0.008134                ! in ps^2 * A / amu ( 4.5X10^(-5) bar^(-1) )
+press_mode              0                       ! 0: internal + external pressure, 1: ext only, 2: int only
+
+geo_format              1                       ! 0: custom, 1: pdb, 2: bgf
+write_freq              0                       ! write trajectory after so many steps
+traj_compress           0                       ! 0: no compression  1: uses zlib to compress trajectory output
+traj_format             0                       ! 0: our own format (below options apply to this only), 1: xyz, 2: bgf, 3: pdb
+traj_title              WATER_NVE               ! (no white spaces)
+atom_info               1                       ! 0: no atom info, 1: print basic atom info in the trajectory file
+atom_forces             0                       ! 0: basic atom format, 1: print force on each atom in the trajectory file
+atom_velocities         0                       ! 0: basic atom format, 1: print the velocity of each atom in the trajectory file
+bond_info               1                       ! 0: do not print bonds, 1: print bonds in the trajectory file
+angle_info              1                       ! 0: do not print angles, 1: print angles in the trajectory file
+test_forces             0                       ! 0: normal run, 1: at every timestep print each force type into a different file
+
+molec_anal              0                       ! 1: outputs newly formed molecules as the simulation progresses
+freq_molec_anal         0                       ! perform molecular analysis at every 'this many' timesteps
+dipole_anal             0                       ! 1: calculate a electric dipole moment of the system
+freq_dipole_anal        1                       ! calculate electric dipole moment at every 'this many' steps
+diffusion_coef          0                       ! 1: calculate diffusion coefficient of the system
+freq_diffusion_coef     1                       ! calculate diffusion coefficient at every 'this many' steps
+restrict_type           2                       ! -1: all types of atoms, 0 and up: only this type of atoms
+
+restart_format          1                       ! 0: restarts in ASCII  1: restarts in binary
+restart_freq            0                       ! 0: do not output any restart files. >0: output a restart file at every 'this many' steps
diff --git a/test_harness/control_water_78480_mpi b/test_harness/control_water_78480_mpi
index 98a870dd..87ef23cc 100644
--- a/test_harness/control_water_78480_mpi
+++ b/test_harness/control_water_78480_mpi
@@ -1,45 +1,49 @@
-simulation_name         water.78480    ! output files will carry this name + their specific ext.
-ensemble_type           1       ! 0: NVE  1: Berendsen NVT  2: Nose-Hoover NVT(under testing)  3: semi-isotropic NPT  4: isotropic NPT  5: anisotropic NPT (under development)
-nsteps                  100    ! number of simulation steps
-dt                      0.10    ! time step in fs
-proc_by_dim             1 1 2   ! distribution of processors by dimensions
-geo_format              0       ! 0: custom  1: pdb (only if natoms < 100000) 2: ASCII restart 3: binary restart
-
-tabulate_long_range     0       ! number of sampling points for cubic spline interpolation, 0 no interpolation
-energy_update_freq      10
-remove_CoM_vel          500     ! remove the transrot vel of CoM every 'this many' steps
-reposition_atoms        1       ! 1:center of mass to center of box
+simulation_name         water_78480_notab_nve_qeq_mpi    ! output files will carry this name + their specific ext.
+ensemble_type           0                       ! 0: NVE, 1: Berendsen NVT, 2: nose-Hoover NVT, 3: semi-isotropic NPT, 4: isotropic NPT, 5: anisotropic NPT
+nsteps                  100                     ! number of simulation steps
+dt                      0.10                    ! time step in fs
+periodic_boundaries     1                       ! 0: no periodic boundaries, 1: periodic boundaries
+proc_by_dim             1 1 2                   ! distribution of processors by dimensions
+geo_format              0                       ! 0: custom  1: pdb (only if natoms < 100000) 2: ASCII restart 3: binary restart
+
+reposition_atoms        0                       ! 0: just fit to periodic boundaries, 1: CoM to the center of box, 3: CoM to the origin
+restrict_bonds          0                       ! enforce the bonds given in CONECT lines of pdb file for this many steps
+tabulate_long_range     0                       ! denotes the granularity of long range tabulation, 0 means no tabulation
+energy_update_freq      1
+remove_CoM_vel          500                     ! remove the translational and rotational vel around the center of mass at every 'this many' steps
 
 reneighbor              1
 vlist_buffer            0
-nbrhood_cutoff          4.5     ! bond cutoff in A
-hbond_cutoff            7.5     ! hbond cutoff in A
-thb_cutoff              0.001   ! cutoff value for three body interactions
 
-qeq_freq                1       ! frequency to update charges with QEq
-q_err                   1e-6    ! norm of the relative residual in QEq solve
+nbrhood_cutoff          4.5                     ! near neighbors cutoff for bond calculations (Angstroms)
+bond_graph_cutoff       0.3                     ! bond strength cutoff for bond graphs (Angstroms)
+thb_cutoff              0.001                   ! cutoff value for three body interactions (Angstroms)
+hbond_cutoff            7.50                    ! cutoff distance for hydrogen bond interactions (Angstroms)
 
-temp_init               0.01    ! initial temperature of the system
-temp_final              300.0   ! final temperature of the system
-t_mass                  500.0   ! 0.16666 for nhNVT ! 500.0 for bNVT, iNPT, sNPT ! in fs, thermal inertia
-t_rate                  5.0                  ! in K
-t_freq                  1.0                     ! in ps
-t_mode                  2       ! 2: constant slope
+qeq_freq                1                       ! frequency to update charges with QEq
+q_err                   1e-6                    ! norm of the relative residual in QEq solve
 
-pressure                0.000101325 0.000101325 0.000101325     ! desired pressure of the simulated system in GPa, 1atm = 0.000101325 GPa
-p_mass                  10000.00     10000.00     10000.00      ! in fs, pressure inertia parameter
-
-write_freq              0     ! write trajectory after so many steps
-traj_method             1       ! 0: simple parallel I/O, 1: MPI I/O
-traj_title              micelle ! (no white spaces)
-atom_info               1       ! 0: no atom info, 1: print basic atom info in the trajectory file
-atom_forces             0       ! 0: basic atom format, 1: print force on each atom in the trajectory file
-atom_velocities         1       ! 0: basic atom format, 1: print the velocity of each atom in the trajectory file
-bond_info               1       ! 0: do not print bonds, 1: print bonds in the trajectory file
-angle_info              1       ! 0: do not print angles, 1: print angles in the trajectory file
-
-restart_format          1    ! 0: restarts in ASCII  1: restarts in binary
-restart_freq            10000    ! 0: do not output any restart files. >0: output a restart file at every 'this many' steps
-
-bond_graph_cutoff       0.3  ! bond strength cutoff for bond graphs
+temp_init               0.0                     ! desired initial temperature of the simulated system
+temp_final              300.0                   ! desired final temperature of the simulated system
+t_mass                  0.16666                 ! 0.16666 for Nose-Hoover nvt ! 100.0 for npt! in fs, thermal inertia parameter
+t_mode                  0                       ! 0: T-coupling only, 1: step-wise, 2: constant slope
+t_rate                  -100.0                  ! in K
+t_freq                  4.0                     ! in ps
 
+pressure                0.000101325 0.000101325 0.000101325     ! desired pressure of the simulated system in GPa, 1atm = 0.000101325 GPa
+p_mass                  5000.00     5000.00     5000.00      ! in fs, pressure inertia parameter
+compress                0.008134                ! in ps^2 * A / amu ( 4.5X10^(-5) bar^(-1) )
+press_mode              0                       ! 0: internal + external pressure, 1: ext only, 2: int only
+
+geo_format              1                       ! 0: custom, 1: pdb, 2: bgf
+write_freq              0                       ! write trajectory after so many steps
+traj_method             1                       ! 0: simple parallel I/O, 1: MPI I/O
+traj_title              WATER_NVE               ! (no white spaces)
+atom_info               1                       ! 0: no atom info, 1: print basic atom info in the trajectory file
+atom_forces             0                       ! 0: basic atom format, 1: print force on each atom in the trajectory file
+atom_velocities         0                       ! 0: basic atom format, 1: print the velocity of each atom in the trajectory file
+bond_info               1                       ! 0: do not print bonds, 1: print bonds in the trajectory file
+angle_info              1                       ! 0: do not print angles, 1: print angles in the trajectory file
+
+restart_format          1                       ! 0: restarts in ASCII  1: restarts in binary
+restart_freq            0                       ! 0: do not output any restart files. >0: output a restart file at every 'this many' steps
diff --git a/test_harness/control_water_78480_serial b/test_harness/control_water_78480_serial
new file mode 100644
index 00000000..dbc5080f
--- /dev/null
+++ b/test_harness/control_water_78480_serial
@@ -0,0 +1,68 @@
+simulation_name         water_78480_notab_nve_qeq_serial           ! output files will carry this name + their specific extension
+ensemble_type           0                       ! 0: NVE, 1: Berendsen NVT, 2: nose-Hoover NVT, 3: semi-isotropic NPT, 4: isotropic NPT, 5: anisotropic NPT
+nsteps                  100                     ! number of simulation steps
+dt                      0.10                    ! time step in fs
+periodic_boundaries     1                       ! 0: no periodic boundaries, 1: periodic boundaries
+
+reposition_atoms        0                       ! 0: just fit to periodic boundaries, 1: CoM to the center of box, 3: CoM to the origin
+restrict_bonds          0                       ! enforce the bonds given in CONECT lines of pdb file for this many steps
+tabulate_long_range     0                       ! denotes the granularity of long range tabulation, 0 means no tabulation
+energy_update_freq      1
+remove_CoM_vel          500                     ! remove the translational and rotational vel around the center of mass at every 'this many' steps
+
+nbrhood_cutoff          4.5                     ! near neighbors cutoff for bond calculations (Angstroms)
+bond_graph_cutoff       0.3                     ! bond strength cutoff for bond graphs (Angstroms)
+thb_cutoff              0.001                   ! cutoff value for three body interactions (Angstroms)
+hbond_cutoff            7.50                    ! cutoff distance for hydrogen bond interactions (Angstroms)
+
+charge_method         		  0             ! charge method: 0 = QEq, 1 = EEM, 2 = ACKS2
+cm_q_net              		  0.0           ! net system charge
+cm_solver_type        		  0             ! iterative linear solver for charge method: 0 = GMRES(k), 1 = GMRES_H(k), 2 = CG, 3 = SDM
+cm_solver_max_iters   		  20            ! max solver iterations
+cm_solver_restart     		  100           ! inner iterations of before restarting (GMRES(k)/GMRES_H(k))
+cm_solver_q_err       		  1e-6          ! relative residual norm threshold used in solver
+cm_domain_sparsity     		  1.0           ! scalar for scaling cut-off distance, used to sparsify charge matrix (between 0.0 and 1.0)
+cm_init_guess_extrap1		  3             ! order of spline extrapolation for initial guess (s)
+cm_init_guess_extrap2		  2             ! order of spline extrapolation for initial guess (t)
+cm_solver_pre_comp_type           1             ! method used to compute preconditioner, if applicable
+cm_solver_pre_comp_refactor       1000          ! number of steps before recomputing preconditioner
+cm_solver_pre_comp_droptol        0.0           ! threshold tolerance for dropping values in preconditioner computation (ICHOLT/ILUT/FG-ILUT)
+cm_solver_pre_comp_sweeps         3             ! number of sweeps used to compute preconditioner (FG-ILUT)
+cm_solver_pre_comp_sai_thres      0.1           ! ratio of charge matrix NNZ's used to compute preconditioner (SAI)
+cm_solver_pre_app_type            1             ! method used to apply preconditioner (ICHOLT/ILUT/FG-ILUT)
+cm_solver_pre_app_jacobi_iters    50            ! num. Jacobi iterations used for applying precondition (ICHOLT/ILUT/FG-ILUT)
+
+temp_init               0.0                     ! desired initial temperature of the simulated system
+temp_final              300.0                   ! desired final temperature of the simulated system
+t_mass                  0.16666                 ! 0.16666 for Nose-Hoover nvt ! 100.0 for npt! in fs, thermal inertia parameter
+t_mode                  0                       ! 0: T-coupling only, 1: step-wise, 2: constant slope
+t_rate                  -100.0                  ! in K
+t_freq                  4.0                     ! in ps
+
+pressure                0.000101325             ! desired pressure of the simulated system in GPa, 1atm = 0.000101325 GPa
+p_mass                  5000.00                 ! in fs, pressure inertia parameter
+compress                0.008134                ! in ps^2 * A / amu ( 4.5X10^(-5) bar^(-1) )
+press_mode              0                       ! 0: internal + external pressure, 1: ext only, 2: int only
+
+geo_format              0                       ! 0: custom, 1: pdb, 2: bgf
+write_freq              0                       ! write trajectory after so many steps
+traj_compress           0                       ! 0: no compression  1: uses zlib to compress trajectory output
+traj_format             0                       ! 0: our own format (below options apply to this only), 1: xyz, 2: bgf, 3: pdb
+traj_title              WATER_NVE               ! (no white spaces)
+atom_info               1                       ! 0: no atom info, 1: print basic atom info in the trajectory file
+atom_forces             0                       ! 0: basic atom format, 1: print force on each atom in the trajectory file
+atom_velocities         0                       ! 0: basic atom format, 1: print the velocity of each atom in the trajectory file
+bond_info               1                       ! 0: do not print bonds, 1: print bonds in the trajectory file
+angle_info              1                       ! 0: do not print angles, 1: print angles in the trajectory file
+test_forces             0                       ! 0: normal run, 1: at every timestep print each force type into a different file
+
+molec_anal              0                       ! 1: outputs newly formed molecules as the simulation progresses
+freq_molec_anal         0                       ! perform molecular analysis at every 'this many' timesteps
+dipole_anal             0                       ! 1: calculate a electric dipole moment of the system
+freq_dipole_anal        1                       ! calculate electric dipole moment at every 'this many' steps
+diffusion_coef          0                       ! 1: calculate diffusion coefficient of the system
+freq_diffusion_coef     1                       ! calculate diffusion coefficient at every 'this many' steps
+restrict_type           2                       ! -1: all types of atoms, 0 and up: only this type of atoms
+
+restart_format          1                       ! 0: restarts in ASCII  1: restarts in binary
+restart_freq            0                       ! 0: do not output any restart files. >0: output a restart file at every 'this many' steps
diff --git a/test_harness/control_zno_6912_mpi b/test_harness/control_zno_6912_mpi
index 3d97cdb9..41de8664 100644
--- a/test_harness/control_zno_6912_mpi
+++ b/test_harness/control_zno_6912_mpi
@@ -1,5 +1,5 @@
-simulation_name	        zno.6912    ! output files will carry this name + their specific ext.
-ensemble_type	 	1	! 0: NVE  1: Berendsen NVT  2: Nose-Hoover NVT(under testing)  3: semi-isotropic NPT  4: isotropic NPT  5: anisotropic NPT (under development)
+simulation_name	        zno_6912_notab_nve_qeq_mpi    ! output files will carry this name + their specific ext.
+ensemble_type	 	0	! 0: NVE  1: Berendsen NVT  2: Nose-Hoover NVT(under testing)  3: semi-isotropic NPT  4: isotropic NPT  5: anisotropic NPT (under development)
 nsteps			100    ! number of simulation steps
 dt			0.10 	! time step in fs
 proc_by_dim             1 1 2   ! distribution of processors by dimensions
diff --git a/test_harness/submit_short_jobs.bash b/test_harness/submit_short_jobs.bash
index b835ccf4..4c44a8b7 100755
--- a/test_harness/submit_short_jobs.bash
+++ b/test_harness/submit_short_jobs.bash
@@ -52,20 +52,20 @@ JOB_PPN="1"
 JOB_FEATURE="lac"
 JOB_MEM="120gb"
 
-sub_job_serial  "../data/benchmarks/water/water_6540.pdb" \
-	"../data/benchmarks/water/ffield.water" \
-	"control_water_6540_serial" \
-	"water_6540_serial"
+sub_job_serial  "../data/benchmarks/metal/zno_6912.pdb" \
+        "../data/benchmarks/metal/ffield.zno" \
+	"control_zno_6912_serial" \
+	"zno_6912_serial"
 
 sub_job_serial "../data/benchmarks/silica/silica_6000.pdb" \
 	"../data/benchmarks/silica/ffield-bio" \
 	"control_silica_6000_serial" \
 	"silica_6000_serial"
 
-sub_job_serial  "../data/benchmarks/metal/zno_6912.pdb" \
-        "../data/benchmarks/metal/ffield.zno" \
-	"control_zno_6912_serial" \
-	"zno_6912_serial"
+sub_job_serial  "../data/benchmarks/water/water_6540.pdb" \
+	"../data/benchmarks/water/ffield.water" \
+	"control_water_6540_serial" \
+	"water_6540_serial"
 
 ############
 # MPI Runs #
@@ -76,20 +76,20 @@ JOB_PPN="2"
 JOB_FEATURE="lac"
 JOB_MEM="120gb"
 
-sub_job_mpi "../data/benchmarks/water/water_6540.pdb" \
-	"../data/benchmarks/water/ffield.water" \
-       	"control_water_6540_mpi" \
-	"water_6540_mpi"
+sub_job_mpi "../data/benchmarks/metal/zno_6912.pdb"
+	"../data/benchmarks/metal/ffield.zno" \
+	"control_zno_6912_mpi" \
+	"zno_6912_mpi"
 
 sub_job_mpi "../data/benchmarks/silica/silica_6000.pdb" \
 	"../data/benchmarks/silica/ffield-bio" \
 	"control_silica_6000_mpi" \
 	"silica_6000_mpi"
 
-sub_job_mpi "../data/benchmarks/metal/zno_6912.pdb"
-	"../data/benchmarks/metal/ffield.zno" \
-	"control_zno_6912_mpi" \
-	"zno_6912_mpi"
+sub_job_mpi "../data/benchmarks/water/water_6540.pdb" \
+	"../data/benchmarks/water/ffield.water" \
+       	"control_water_6540_mpi" \
+	"water_6540_mpi"
 
 ################
 # MPI-GPU Runs #
@@ -100,17 +100,17 @@ JOB_PPN="1"
 JOB_FEATURE="lac"
 JOB_MEM="120gb"
 
-sub_job_mpi_gpu "../data/benchmarks/water/water_6540.pdb" \
-	"../data/benchmarks/water/ffield.water" \
-	"control_water_6540_mpi_gpu" \
-	"water_6540_mpi_gpu"
+sub_job_mpi_gpu "../data/benchmarks/metal/zno_6912.pdb" \
+	"../data/benchmarks/metal/ffield.zno" 
+	"control_zno_6912_mpi_gpu" \
+	"zno_6912_mpi_gpu"
 
 sub_job_mpi_gpu "../data/benchmarks/silica/silica_6000.pdb" \
 	"../data/benchmarks/silica/ffield-bio" \
 	"control_silica_6000_mpi_gpu" \
 	"silica_6000_mpi_gpu"
 
-sub_job_mpi_gpu "../data/benchmarks/metal/zno_6912.pdb" \
-	"../data/benchmarks/metal/ffield.zno" 
-	"control_zno_6912_mpi_gpu" \
-	"zno_6912_mpi_gpu"
+sub_job_mpi_gpu "../data/benchmarks/water/water_6540.pdb" \
+	"../data/benchmarks/water/ffield.water" \
+	"control_water_6540_mpi_gpu" \
+	"water_6540_mpi_gpu"
-- 
GitLab