diff --git a/Example/2_Methanol/molpro/CMA_0B/.template.dat.swp b/Example/2_Methanol/molpro/CMA_0B/.template.dat.swp deleted file mode 100644 index 24d2dd14..00000000 Binary files a/Example/2_Methanol/molpro/CMA_0B/.template.dat.swp and /dev/null differ diff --git a/Example/2_Methanol/molpro/CMA_0B/main.py b/Example/2_Methanol/molpro/CMA_0B/main.py index 6664a094..76d6788b 100644 --- a/Example/2_Methanol/molpro/CMA_0B/main.py +++ b/Example/2_Methanol/molpro/CMA_0B/main.py @@ -1,7 +1,7 @@ from concordantmodes.options import Options options_kwargs = { - "queue": "gen4.q,gen6.q,debug.q", + "queue": "gen4.q,gen6.q", "program": "molpro@2010.1.67+mpi", "energy_regex": r"\(T\) total energy\s+(\-\d+\.\d+)", "cart_insert": 9, diff --git a/README.md b/README.md index fae8dac0..1ec091d4 100644 --- a/README.md +++ b/README.md @@ -37,6 +37,10 @@ User must have at least: Python version 3.5.4 Numpy version 1.13.1 +Developers must have: +Pytest 7.2.0 (-c condaforge) +Pytest-xdist 3.0.2 (-c condaforge) + A simple way to ensure this program may be run is by creating a conda environment with the following command: conda create --name CMA python=3.9 sympy numpy scipy diff --git a/__pycache__/__init__.cpython-35.pyc b/__pycache__/__init__.cpython-35.pyc new file mode 100644 index 00000000..99fac734 Binary files /dev/null and b/__pycache__/__init__.cpython-35.pyc differ diff --git a/__pycache__/__init__.cpython-38.pyc b/__pycache__/__init__.cpython-38.pyc new file mode 100644 index 00000000..006d891a Binary files /dev/null and b/__pycache__/__init__.cpython-38.pyc differ diff --git a/__pycache__/__init__.cpython-39.pyc b/__pycache__/__init__.cpython-39.pyc new file mode 100644 index 00000000..0d56505c Binary files /dev/null and b/__pycache__/__init__.cpython-39.pyc differ diff --git a/__pycache__/algorithm.cpython-35.pyc b/__pycache__/algorithm.cpython-35.pyc new file mode 100644 index 00000000..ea0d04fc Binary files /dev/null and b/__pycache__/algorithm.cpython-35.pyc differ diff --git a/__pycache__/algorithm.cpython-38.pyc b/__pycache__/algorithm.cpython-38.pyc new file mode 100644 index 00000000..9b466f02 Binary files /dev/null and b/__pycache__/algorithm.cpython-38.pyc differ diff --git a/__pycache__/algorithm.cpython-39.pyc b/__pycache__/algorithm.cpython-39.pyc new file mode 100644 index 00000000..75fab1c3 Binary files /dev/null and b/__pycache__/algorithm.cpython-39.pyc differ diff --git a/__pycache__/cma.cpython-35.pyc b/__pycache__/cma.cpython-35.pyc new file mode 100644 index 00000000..36742468 Binary files /dev/null and b/__pycache__/cma.cpython-35.pyc differ diff --git a/__pycache__/cma.cpython-38.pyc b/__pycache__/cma.cpython-38.pyc new file mode 100644 index 00000000..d2379b05 Binary files /dev/null and b/__pycache__/cma.cpython-38.pyc differ diff --git a/__pycache__/cma.cpython-39.pyc b/__pycache__/cma.cpython-39.pyc new file mode 100644 index 00000000..bf188fad Binary files /dev/null and b/__pycache__/cma.cpython-39.pyc differ diff --git a/__pycache__/directory_tree.cpython-35.pyc b/__pycache__/directory_tree.cpython-35.pyc new file mode 100644 index 00000000..d3816400 Binary files /dev/null and b/__pycache__/directory_tree.cpython-35.pyc differ diff --git a/__pycache__/directory_tree.cpython-38.pyc b/__pycache__/directory_tree.cpython-38.pyc new file mode 100644 index 00000000..9af9c66f Binary files /dev/null and b/__pycache__/directory_tree.cpython-38.pyc differ diff --git a/__pycache__/directory_tree.cpython-39.pyc b/__pycache__/directory_tree.cpython-39.pyc new file mode 100644 index 00000000..b4459bcd Binary files /dev/null and b/__pycache__/directory_tree.cpython-39.pyc differ diff --git a/__pycache__/f_convert.cpython-35.pyc b/__pycache__/f_convert.cpython-35.pyc new file mode 100644 index 00000000..0641e116 Binary files /dev/null and b/__pycache__/f_convert.cpython-35.pyc differ diff --git a/__pycache__/f_convert.cpython-38.pyc b/__pycache__/f_convert.cpython-38.pyc new file mode 100644 index 00000000..171ba2e1 Binary files /dev/null and b/__pycache__/f_convert.cpython-38.pyc differ diff --git a/__pycache__/f_convert.cpython-39.pyc b/__pycache__/f_convert.cpython-39.pyc new file mode 100644 index 00000000..cd4e0171 Binary files /dev/null and b/__pycache__/f_convert.cpython-39.pyc differ diff --git a/__pycache__/f_read.cpython-35.pyc b/__pycache__/f_read.cpython-35.pyc new file mode 100644 index 00000000..d6b2d5c5 Binary files /dev/null and b/__pycache__/f_read.cpython-35.pyc differ diff --git a/__pycache__/f_read.cpython-38.pyc b/__pycache__/f_read.cpython-38.pyc new file mode 100644 index 00000000..fe8036c5 Binary files /dev/null and b/__pycache__/f_read.cpython-38.pyc differ diff --git a/__pycache__/f_read.cpython-39.pyc b/__pycache__/f_read.cpython-39.pyc new file mode 100644 index 00000000..b2ca8ada Binary files /dev/null and b/__pycache__/f_read.cpython-39.pyc differ diff --git a/__pycache__/force_constant.cpython-35.pyc b/__pycache__/force_constant.cpython-35.pyc new file mode 100644 index 00000000..66b7645d Binary files /dev/null and b/__pycache__/force_constant.cpython-35.pyc differ diff --git a/__pycache__/force_constant.cpython-38.pyc b/__pycache__/force_constant.cpython-38.pyc new file mode 100644 index 00000000..8d09ebc1 Binary files /dev/null and b/__pycache__/force_constant.cpython-38.pyc differ diff --git a/__pycache__/force_constant.cpython-39.pyc b/__pycache__/force_constant.cpython-39.pyc new file mode 100644 index 00000000..ddd1e239 Binary files /dev/null and b/__pycache__/force_constant.cpython-39.pyc differ diff --git a/__pycache__/g_matrix.cpython-35.pyc b/__pycache__/g_matrix.cpython-35.pyc new file mode 100644 index 00000000..00e51c74 Binary files /dev/null and b/__pycache__/g_matrix.cpython-35.pyc differ diff --git a/__pycache__/g_matrix.cpython-38.pyc b/__pycache__/g_matrix.cpython-38.pyc new file mode 100644 index 00000000..97ce786e Binary files /dev/null and b/__pycache__/g_matrix.cpython-38.pyc differ diff --git a/__pycache__/g_matrix.cpython-39.pyc b/__pycache__/g_matrix.cpython-39.pyc new file mode 100644 index 00000000..a3d7a029 Binary files /dev/null and b/__pycache__/g_matrix.cpython-39.pyc differ diff --git a/__pycache__/gf_method.cpython-35.pyc b/__pycache__/gf_method.cpython-35.pyc new file mode 100644 index 00000000..f0b8f882 Binary files /dev/null and b/__pycache__/gf_method.cpython-35.pyc differ diff --git a/__pycache__/gf_method.cpython-38.pyc b/__pycache__/gf_method.cpython-38.pyc new file mode 100644 index 00000000..8be70289 Binary files /dev/null and b/__pycache__/gf_method.cpython-38.pyc differ diff --git a/__pycache__/gf_method.cpython-39.pyc b/__pycache__/gf_method.cpython-39.pyc new file mode 100644 index 00000000..8c1fee30 Binary files /dev/null and b/__pycache__/gf_method.cpython-39.pyc differ diff --git a/__pycache__/int2cart.cpython-35.pyc b/__pycache__/int2cart.cpython-35.pyc new file mode 100644 index 00000000..246fccee Binary files /dev/null and b/__pycache__/int2cart.cpython-35.pyc differ diff --git a/__pycache__/int2cart.cpython-38.pyc b/__pycache__/int2cart.cpython-38.pyc new file mode 100644 index 00000000..be7f4669 Binary files /dev/null and b/__pycache__/int2cart.cpython-38.pyc differ diff --git a/__pycache__/int2cart.cpython-39.pyc b/__pycache__/int2cart.cpython-39.pyc new file mode 100644 index 00000000..ed81adca Binary files /dev/null and b/__pycache__/int2cart.cpython-39.pyc differ diff --git a/__pycache__/masses.cpython-35.pyc b/__pycache__/masses.cpython-35.pyc new file mode 100644 index 00000000..d8bb0112 Binary files /dev/null and b/__pycache__/masses.cpython-35.pyc differ diff --git a/__pycache__/masses.cpython-38.pyc b/__pycache__/masses.cpython-38.pyc new file mode 100644 index 00000000..deddbb4f Binary files /dev/null and b/__pycache__/masses.cpython-38.pyc differ diff --git a/__pycache__/masses.cpython-39.pyc b/__pycache__/masses.cpython-39.pyc new file mode 100644 index 00000000..8efab470 Binary files /dev/null and b/__pycache__/masses.cpython-39.pyc differ diff --git a/__pycache__/options.cpython-35.pyc b/__pycache__/options.cpython-35.pyc new file mode 100644 index 00000000..c47f4234 Binary files /dev/null and b/__pycache__/options.cpython-35.pyc differ diff --git a/__pycache__/options.cpython-38.pyc b/__pycache__/options.cpython-38.pyc new file mode 100644 index 00000000..f46c528e Binary files /dev/null and b/__pycache__/options.cpython-38.pyc differ diff --git a/__pycache__/options.cpython-39.pyc b/__pycache__/options.cpython-39.pyc new file mode 100644 index 00000000..d53dac21 Binary files /dev/null and b/__pycache__/options.cpython-39.pyc differ diff --git a/__pycache__/reap.cpython-35.pyc b/__pycache__/reap.cpython-35.pyc new file mode 100644 index 00000000..65e8c301 Binary files /dev/null and b/__pycache__/reap.cpython-35.pyc differ diff --git a/__pycache__/reap.cpython-38.pyc b/__pycache__/reap.cpython-38.pyc new file mode 100644 index 00000000..af3ecbc8 Binary files /dev/null and b/__pycache__/reap.cpython-38.pyc differ diff --git a/__pycache__/reap.cpython-39.pyc b/__pycache__/reap.cpython-39.pyc new file mode 100644 index 00000000..3b77f013 Binary files /dev/null and b/__pycache__/reap.cpython-39.pyc differ diff --git a/__pycache__/rmsd.cpython-38.pyc b/__pycache__/rmsd.cpython-38.pyc new file mode 100644 index 00000000..c961af2a Binary files /dev/null and b/__pycache__/rmsd.cpython-38.pyc differ diff --git a/__pycache__/rmsd.cpython-39.pyc b/__pycache__/rmsd.cpython-39.pyc new file mode 100644 index 00000000..5b0f4c21 Binary files /dev/null and b/__pycache__/rmsd.cpython-39.pyc differ diff --git a/__pycache__/s_vectors.cpython-38.pyc b/__pycache__/s_vectors.cpython-38.pyc new file mode 100644 index 00000000..42940c4e Binary files /dev/null and b/__pycache__/s_vectors.cpython-38.pyc differ diff --git a/__pycache__/s_vectors.cpython-39.pyc b/__pycache__/s_vectors.cpython-39.pyc new file mode 100644 index 00000000..25e0d2ae Binary files /dev/null and b/__pycache__/s_vectors.cpython-39.pyc differ diff --git a/__pycache__/sapelo_template.cpython-38.pyc b/__pycache__/sapelo_template.cpython-38.pyc new file mode 100644 index 00000000..c7e843f2 Binary files /dev/null and b/__pycache__/sapelo_template.cpython-38.pyc differ diff --git a/__pycache__/sapelo_template.cpython-39.pyc b/__pycache__/sapelo_template.cpython-39.pyc new file mode 100644 index 00000000..f868f87f Binary files /dev/null and b/__pycache__/sapelo_template.cpython-39.pyc differ diff --git a/__pycache__/submit.cpython-38.pyc b/__pycache__/submit.cpython-38.pyc new file mode 100644 index 00000000..d3d51562 Binary files /dev/null and b/__pycache__/submit.cpython-38.pyc differ diff --git a/__pycache__/submit.cpython-39.pyc b/__pycache__/submit.cpython-39.pyc new file mode 100644 index 00000000..1265e1b5 Binary files /dev/null and b/__pycache__/submit.cpython-39.pyc differ diff --git a/__pycache__/ted.cpython-38.pyc b/__pycache__/ted.cpython-38.pyc new file mode 100644 index 00000000..680f6edc Binary files /dev/null and b/__pycache__/ted.cpython-38.pyc differ diff --git a/__pycache__/ted.cpython-39.pyc b/__pycache__/ted.cpython-39.pyc new file mode 100644 index 00000000..22d925d7 Binary files /dev/null and b/__pycache__/ted.cpython-39.pyc differ diff --git a/__pycache__/transf_disp.cpython-38.pyc b/__pycache__/transf_disp.cpython-38.pyc new file mode 100644 index 00000000..e9bc72cf Binary files /dev/null and b/__pycache__/transf_disp.cpython-38.pyc differ diff --git a/__pycache__/transf_disp.cpython-39.pyc b/__pycache__/transf_disp.cpython-39.pyc new file mode 100644 index 00000000..2d927282 Binary files /dev/null and b/__pycache__/transf_disp.cpython-39.pyc differ diff --git a/__pycache__/vulcan_template.cpython-38.pyc b/__pycache__/vulcan_template.cpython-38.pyc new file mode 100644 index 00000000..16a8558d Binary files /dev/null and b/__pycache__/vulcan_template.cpython-38.pyc differ diff --git a/__pycache__/vulcan_template.cpython-39.pyc b/__pycache__/vulcan_template.cpython-39.pyc new file mode 100644 index 00000000..5ce13d24 Binary files /dev/null and b/__pycache__/vulcan_template.cpython-39.pyc differ diff --git a/__pycache__/zmat.cpython-38.pyc b/__pycache__/zmat.cpython-38.pyc new file mode 100644 index 00000000..610fdad5 Binary files /dev/null and b/__pycache__/zmat.cpython-38.pyc differ diff --git a/__pycache__/zmat.cpython-39.pyc b/__pycache__/zmat.cpython-39.pyc new file mode 100644 index 00000000..129ae201 Binary files /dev/null and b/__pycache__/zmat.cpython-39.pyc differ diff --git a/algorithm.py b/algorithm.py index 985c3a5d..6764c8d8 100644 --- a/algorithm.py +++ b/algorithm.py @@ -61,8 +61,8 @@ def loop(self, a, off_diag, lim): def coupling_diagnostic(self, a, initial_fc, tolerance): indices = [] diag = np.zeros((a, a)) - with open("S_p.npy", "rb") as x: - S = np.load(x) + # with open("S_p.npy", "rb") as x: + # S = np.load(x) for x in range(a): for y in range(a): if x == y: @@ -72,8 +72,8 @@ def coupling_diagnostic(self, a, initial_fc, tolerance): # print(diag, "printing diag") diag = np.absolute(diag) print(diag) - with open("D.npy", "wb") as q: - np.save(q, diag) + # with open("D.npy", "wb") as q: + # np.save(q, diag) # diag[np.abs(diag) < 1e-31] = 1e-30 data = np.abs(diag) hist, bin_edges = np.histogram(data, bins=a) @@ -85,7 +85,7 @@ def coupling_diagnostic(self, a, initial_fc, tolerance): if index[1] > index[0]: indices_new.append(index) indices = indices_new - if self.options.clean_house: - os.system("rm D.npy S_p.npy") + # if self.options.clean_house: + # os.system("rm D.npy S_p.npy") return indices diff --git a/cma.py b/cma.py index e612b949..abe69136 100644 --- a/cma.py +++ b/cma.py @@ -21,7 +21,7 @@ from concordantmodes.s_vectors import SVectors from concordantmodes.submit import Submit from concordantmodes.ted import TED -from concordantmodes.trans_disp import TransDisp +from concordantmodes.transf_disp import TransfDisp from concordantmodes.vulcan_template import VulcanTemplate from concordantmodes.sapelo_template import SapeloTemplate from concordantmodes.zmat import Zmat @@ -62,6 +62,8 @@ def run(self): ) if self.options.man_proj: proj = self.proj + print(proj.shape) + print(proj) s_vec.run( self.zmat_obj.cartesians_init, True, @@ -107,7 +109,7 @@ def run(self): else: indices = np.arange(len(eigs_init)) - init_disp = TransDisp( + init_disp = TransfDisp( s_vec, self.zmat_obj, self.options.disp, @@ -281,7 +283,7 @@ def run(self): self.options.proj_tol, self.zmat_obj, self.TED_obj, - "init", + cma="init", ) init_GF.run() @@ -299,7 +301,7 @@ def run(self): self.options.proj_tol, self.zmat_obj, self.TED_obj, - False, + cma=False, ) TED_GF.run() @@ -320,7 +322,7 @@ def run(self): ) s_vec.run(self.zmat_obj.cartesians_final, False, proj=self.TED_obj.proj) - transdisp = TransDisp( + transf_disp = TransfDisp( s_vec, self.zmat_obj, self.options.disp, @@ -337,9 +339,9 @@ def run(self): # self.zmat_obj, self.zmat_obj.cartesians_final, B_tensor, self.options # ) # second_B.run() - transdisp.run() - p_disp = transdisp.p_disp - m_disp = transdisp.m_disp + transf_disp.run() + p_disp = transf_disp.p_disp + m_disp = transf_disp.m_disp if self.options.disp_check: raise RuntimeError @@ -356,7 +358,7 @@ def run(self): dir_obj = DirectoryTree( progname, self.zmat_obj, - transdisp, + transf_disp, self.options.cart_insert, p_disp, m_disp, @@ -420,16 +422,16 @@ def run(self): reap_obj = Reap( progname, self.zmat_obj, - transdisp.disp_cart, + transf_disp.disp_cart, self.options, - transdisp.n_coord, + transf_disp.n_coord, eigs, algo.indices, self.options.energy_regex, self.options.gradient_regex, self.options.molly_regex_init, self.options.success_regex, - #disp_sym = transdisp.disp_sym + #disp_sym = transf_disp.disp_sym ) reap_obj.run() @@ -438,7 +440,7 @@ def run(self): ref_en = reap_obj.ref_en fc = ForceConstant( - transdisp, p_en_array, m_en_array, ref_en, self.options, algo.indices + transf_disp, p_en_array, m_en_array, ref_en, self.options, algo.indices ) fc.run() print("Computed Force Constants:") @@ -460,7 +462,7 @@ def run(self): if self.options.coords != "ZMAT": g_mat.G = np.dot(self.TED_obj.proj.T, np.dot(g_mat.G, self.TED_obj.proj)) - self.G = np.dot(np.dot(transdisp.eig_inv, g_mat.G), transdisp.eig_inv.T) + self.G = np.dot(np.dot(transf_disp.eig_inv, g_mat.G), transf_disp.eig_inv.T) self.G[np.abs(self.G) < self.options.tol] = 0 if self.options.benchmark_full: @@ -477,7 +479,7 @@ def run(self): self.options.proj_tol, self.zmat_obj, self.TED_obj, - cma, + cma=cma, ) final_GF.run() @@ -504,7 +506,7 @@ def run(self): # This code converts the force constants back into cartesian # coordinates and writes out an "output.default.hess" file, which # is of the same format as FCMFINAL of CFOUR. - self.F = np.dot(np.dot(transdisp.eig_inv.T, self.F), transdisp.eig_inv) + self.F = np.dot(np.dot(transf_disp.eig_inv.T, self.F), transf_disp.eig_inv) if self.options.coords != "ZMAT": self.F = np.dot(self.TED_obj.proj, np.dot(self.F, self.TED_obj.proj.T)) cart_conv = FcConv( @@ -563,7 +565,7 @@ def run(self): self.options.proj_tol, self.zmat_obj, self.TED_obj, - cma, + cma=cma, ) final_GF.run() @@ -590,7 +592,7 @@ def run(self): # This code converts the force constants back into cartesian # coordinates and writes out an "output.default.hess" file, which # is of the same format as FCMFINAL of CFOUR. - # self.F = np.dot(np.dot(transdisp.eig_inv.T, self.F), transdisp.eig_inv) + # self.F = np.dot(np.dot(transf_disp.eig_inv.T, self.F), transf_disp.eig_inv) # if self.options.coords != "ZMAT": # self.F = np.dot(self.TED_obj.proj, np.dot(self.F, self.TED_obj.proj.T)) # cart_conv = FcConv( @@ -623,15 +625,15 @@ def run(self): algo.run() print("printing algo indices", algo.indices) diagnostic_indices = algo.indices - with open("L_full.npy", "rb") as w: - L_full = np.load(w) - with open("L_0.npy", "rb") as x: - L_0 = np.load(x) - - L_inv = LA.inv(L_full) - S = np.dot(L_inv, L_0) - print("printing overlap") - print(S) + # with open("L_full.npy", "rb") as w: + # L_full = np.load(w) + # with open("L_0.npy", "rb") as x: + # L_0 = np.load(x) + + # L_inv = LA.inv(L_full) + # S = np.dot(L_inv, L_0) + # print("printing overlap") + # print(S) # with open("S.npy", "wb") as y: # np.save(y, S) self.options.mode_coupling_check = False @@ -656,7 +658,7 @@ def run(self): self.options.proj_tol, self.zmat_obj, self.TED_obj, - cma, + cma=cma, ) final_GF.run() @@ -667,8 +669,8 @@ def run(self): print("//{:^40s}//".format(" Final TED")) print("////////////////////////////////////////////") self.TED_obj.run(np.dot(init_GF.L, final_GF.L), final_GF.freq) - if self.options.clean_house: - os.system("rm L_full.npy") + # if self.options.clean_house: + # os.system("rm L_full.npy") # This code prints out the frequencies in order of energy as well # as the ZPVE in several different units. @@ -681,10 +683,10 @@ def run(self): + "{:6.2f}".format(0.5 * np.sum(final_GF.freq) / 219474.6313708) + " (hartrees) " ) - if self.options.clean_house: - os.system("rm L_0.npy L_full.npy S.npy Full_fc_levelB.npy") - if self.options.clean_house: - os.system("rm S_p.npy") - path = os.getcwd() + "/L_full.npy" - if os.path.isfile(path): - os.system("rm L_full.npy") + # if self.options.clean_house: + # os.system("rm L_0.npy L_full.npy S.npy Full_fc_levelB.npy") + # if self.options.clean_house: + # os.system("rm S_p.npy") + # path = os.getcwd() + "/L_full.npy" + # if os.path.isfile(path): + # os.system("rm L_full.npy") diff --git a/directory_tree.py b/directory_tree.py index 4d4cbb1c..28d1acdc 100644 --- a/directory_tree.py +++ b/directory_tree.py @@ -25,7 +25,7 @@ def __init__( self.zmat = zmat self.insertion_index = insertion_index self.dir_name = dir_name - self.disps = disps # This should be the 'TransDisp' object + self.disps = disps # This should be the 'TransfDisp' object # nate self.p_disp = p_disp self.m_disp = m_disp @@ -41,7 +41,7 @@ def make_input(self, data, dispp, n_at, at, index): if index == -1: print( "The user needs to specify a different value for the \ - cartInsert keyword." + cart_insert keyword." ) raise RuntimeError else: @@ -72,6 +72,7 @@ def run(self): if prog_name == "molpro" or prog_name == "psi4" or prog_name == "cfour": with open(self.template, "r") as file: data = file.readlines() + # print(data) else: print("Specified program not supported: " + prog_name) raise RuntimeError diff --git a/gf_method.py b/gf_method.py index 8fb057cc..ce02fadb 100644 --- a/gf_method.py +++ b/gf_method.py @@ -11,7 +11,7 @@ class GFMethod(object): TODO: Insert standard uncertainties of amu_elmass and HARTREE_WAVENUM """ - def __init__(self, G, F, tol, proj_tol, zmat, ted, cma): + def __init__(self, G, F, tol, proj_tol, zmat, ted, cma=None): self.G = G self.F = F self.tol = tol @@ -34,21 +34,21 @@ def run(self): self.L = np.real(self.L) L = np.absolute(self.L) L_p = np.real(self.L_p) - S_p = np.dot(np.absolute(LA.inv(L_p)), np.absolute(L_p)) + # S_p = np.dot(np.absolute(LA.inv(L_p)), np.absolute(L_p)) self.L_p = L_p # make sure the correct "primed" or unprimed version is being saved in each instance - if self.cma: - with open("L_full.npy", "wb") as z: - np.save(z, L) - # if self.cma == False: - # with open("L_intermediate.npy", "wb") as z: - # np.save(z, L) - if self.cma is None: - with open("L_0.npy", "wb") as z: - np.save(z, L) - if self.cma == "init": - with open("S_p.npy", "wb") as z: - np.save(z, S_p) + # if self.cma: + # with open("L_full.npy", "wb") as z: + # np.save(z, L) + # # if self.cma == False: + # # with open("L_intermediate.npy", "wb") as z: + # # np.save(z, L) + # if self.cma is None: + # with open("L_0.npy", "wb") as z: + # np.save(z, L) + # if self.cma == "init": + # with open("S_p.npy", "wb") as z: + # np.save(z, S_p) # Construct the normal mode overlap matrix. Will be useful for off-diagonal diagnostics. L = np.absolute(np.real(self.L)) L_inv = LA.inv(L) @@ -57,13 +57,18 @@ def run(self): self.L[np.abs(self.L) < self.tol] = 0 # Compute the frequencies by the square root of the eigenvalues. - self.freq = np.sqrt(self.eig_v, dtype=np.complex) + self.freq = np.sqrt(self.eig_v, dtype=complex) # Filter for imaginary modes. for i in range(len(self.freq)): if np.real(self.freq[i]) > 0.0: self.freq[i] = np.real(self.freq[i]) else: self.freq[i] = -np.imag(self.freq[i]) + + # # This seems to fix the constant warning I get about casting out imaginary values from the complex numbers, + # # however I will need to test it on transition states to see if it captures the imaginary frequencies. + # self.freq = np.real(self.freq) + # print(self.freq) self.freq = self.freq.astype(float) # Convert from Hartrees to wavenumbers. self.freq *= self.HARTREE_WAVENUM diff --git a/int2cart.py b/int2cart.py index 1da99036..30363592 100644 --- a/int2cart.py +++ b/int2cart.py @@ -2,7 +2,6 @@ from numpy import linalg as LA from . import masses - class Int2Cart(object): def __init__(self, zmat, var_dict): self.zmat = zmat diff --git a/options.py b/options.py index cd144395..66d4ee05 100644 --- a/options.py +++ b/options.py @@ -1,7 +1,7 @@ class Options(object): def __init__(self, **kwargs): self.benchmark_full = kwargs.pop("benchmark_full", False) - self.bond_tol = kwargs.pop("inter_tol", 3.778) + self.bond_threshold = kwargs.pop("bond_threshold", 1.2) self.calc = kwargs.pop("calc", True) self.cart_coords = kwargs.pop("cart_coords", "Bohr") self.calc_init = kwargs.pop("calc_init", True) @@ -10,6 +10,7 @@ def __init__(self, **kwargs): self.clean_house = kwargs.pop("clean_house", True) self.cluster = kwargs.pop("cluster", "vulcan") self.coords = kwargs.pop("coords", "ZMAT") + self.covalent_radii = kwargs.pop("covalent_radii", False) self.deriv_level = kwargs.pop("deriv_level", 0) self.deriv_level_init = kwargs.pop("deriv_level_init", 0) self.dir_reap = kwargs.pop("dir_reap", True) @@ -22,7 +23,6 @@ def __init__(self, **kwargs): self.gen_disps_init = kwargs.pop("gen_disps_init",True) self.geom_check = kwargs.pop("geom_check", False) self.gradient_regex = kwargs.pop("gradient_regex", "") - self.interatomic_distance = kwargs.pop("interatomic_distance", False) self.man_proj = kwargs.pop("man_proj", False) self.mode_coupling_check = kwargs.pop("mode_coupling_check", False) self.molly_regex_init = kwargs.pop("molly_regex_init", "") @@ -43,4 +43,6 @@ def __init__(self, **kwargs): self.success_regex_init = kwargs.pop("success_regex_init", "") self.tight_disp = kwargs.pop("tight_disp", False) self.tol = kwargs.pop("tol", 1.0e-14) + self.topo_analysis = kwargs.pop("topo_analysis", False) + self.topo_max_it = kwargs.pop("topo_max_it", 20) self.units = kwargs.pop("units", "HartreeBohr") diff --git a/reap.py b/reap.py index 27c3cd3d..336b6ef2 100644 --- a/reap.py +++ b/reap.py @@ -96,8 +96,9 @@ def run(self): p_en_array[i, j] = energy = self.reap_energies( direc, success_regex, energy_regex ) - print(energy) - rel = ref_en - energy + # print(energy) + rel = energy - ref_en + print("Relative plus " + "{:4d}".format(direc) + "{:4d}".format(i) + " " + "{:4d}".format(j) + ": " + "{: 10.9f}".format(rel)) rel_en_p[i, j] = rel relative_energies.append([(i, j), "plus", rel, direc]) absolute_energies.append([(i, j), "plus", energy, direc]) @@ -113,8 +114,10 @@ def run(self): m_en_array[i, j] = energy = self.reap_energies( direc + 1, success_regex, energy_regex ) - print(energy) - rel = ref_en - energy + # print(energy) + rel = energy - ref_en + # print("Relative minus " + str(i) + " " + str(j) + ": " + "{:10.6f}".format(rel)) + print("Relative minus " + "{:4d}".format(direc + 1) + "{:4d}".format(i) + " " + "{:4d}".format(j) + ": " + "{: 10.9f}".format(rel)) rel_en_m[i, j] = rel relative_energies.append([(i, j), "minus", rel, direc + 1]) absolute_energies.append([(i, j), "minus", energy, direc + 1]) @@ -135,17 +138,17 @@ def run(self): ) print(rel_en_m) os.chdir("..") - if self.options.printout_rel_e: - auxiliary = "" - header = "Index, relative energy, directory \n" - print(json.dumps(energy)) - with open("auxiliary", "a") as file: - file.seek(0) - file.truncate() - file.writelines(header) - for energy in print_en: - with open("auxiliary", "a") as file: - file.writelines(str(energy) + "\n") + # if self.options.printout_rel_e: + # auxiliary = "" + # header = "Index, relative energy, directory \n" + # print(json.dumps(energy)) + # with open("auxiliary", "a") as file: + # file.seek(0) + # file.truncate() + # file.writelines(header) + # for energy in print_en: + # with open("auxiliary", "a") as file: + # file.writelines(str(energy) + "\n") else: indices = self.indices p_grad_array = np.array([]) @@ -170,6 +173,7 @@ def run(self): self.p_grad_array = p_grad_array.reshape((-1, len(grad))) self.m_grad_array = m_grad_array.reshape((-1, len(grad))) os.chdir("..") + def reap_molly(self, direc, molly1_regex, molly2_regex): os.chdir("./" + str(direc)) with open("output.dat", "r") as file: @@ -224,7 +228,8 @@ def reap_molly(self, direc, molly1_regex, molly2_regex): rearrange.append(j) os.chdir("..") - return rearrange, insertion + return rearrange, insertion + def reap_energies(self, direc, success_regex, energy_regex): if self.options.dir_reap: os.chdir("./" + str(direc)) diff --git a/s_vectors.py b/s_vectors.py index d44839ea..d7a07197 100644 --- a/s_vectors.py +++ b/s_vectors.py @@ -18,13 +18,13 @@ def __init__(self, zmat, options, variable_dict): self.s_2center_dict = {} self.s_3center_dict = {} self.s_4center_dict = {} - self.bond_indices = np.array(zmat.bond_indices).astype(np.int) - self.angle_indices = np.array(zmat.angle_indices).astype(np.int) - self.torsion_indices = np.array(zmat.torsion_indices).astype(np.int) - self.oop_indices = np.array(zmat.oop_indices).astype(np.int) - self.lin_indices = np.array(zmat.lin_indices).astype(np.int) - self.linx_indices = np.array(zmat.linx_indices).astype(np.int) - self.liny_indices = np.array(zmat.liny_indices).astype(np.int) + self.bond_indices = np.array(zmat.bond_indices).astype(int) + self.angle_indices = np.array(zmat.angle_indices).astype(int) + self.torsion_indices = np.array(zmat.torsion_indices).astype(int) + self.oop_indices = np.array(zmat.oop_indices).astype(int) + self.lin_indices = np.array(zmat.lin_indices).astype(int) + self.linx_indices = np.array(zmat.linx_indices).astype(int) + self.liny_indices = np.array(zmat.liny_indices).astype(int) self.options = options self.variable_dict = variable_dict self.zmat = zmat @@ -41,6 +41,8 @@ def run(self, carts, B_proj, proj=None, second_order=False): # Torsions, # Out-of-plane bending, # Linear Bends + # LinX Bends + # LinY Bends # Toggle this to convert from bohr to angstrom # self.carts = 0.5291772085936*self.carts @@ -428,7 +430,7 @@ def run(self, carts, B_proj, proj=None, second_order=False): axis=0, ) # raise RuntimeError - tol = 1e-8 + tol = 1e-4 # Now we acquire a linearly independant set of internal coordinates from the diagonalized # BB^T Matrix if not self.options.man_proj: @@ -661,9 +663,9 @@ def second_order_B(self): TED_obj = TED(np.eye(len(self.B)), self.zmat) # Initialize then generate the internal coordinate displacements - from concordantmodes.trans_disp import TransDisp + from concordantmodes.transf_disp import TransfDisp - B_disp = TransDisp( + B_disp = TransfDisp( self, self.zmat, self.options.disp, diff --git a/test.py b/test.py deleted file mode 100644 index 5d7b92e9..00000000 --- a/test.py +++ /dev/null @@ -1,3 +0,0 @@ -import algorithm as algo - - diff --git a/tests/__pycache__/suite_execute.cpython-39.pyc b/tests/__pycache__/suite_execute.cpython-39.pyc new file mode 100644 index 00000000..5d74ec2f Binary files /dev/null and b/tests/__pycache__/suite_execute.cpython-39.pyc differ diff --git a/tests/__pycache__/test_directory_tree.cpython-39-pytest-7.2.0.pyc b/tests/__pycache__/test_directory_tree.cpython-39-pytest-7.2.0.pyc new file mode 100644 index 00000000..88e3f79d Binary files /dev/null and b/tests/__pycache__/test_directory_tree.cpython-39-pytest-7.2.0.pyc differ diff --git a/tests/__pycache__/test_f_convert.cpython-39-pytest-7.2.0.pyc b/tests/__pycache__/test_f_convert.cpython-39-pytest-7.2.0.pyc new file mode 100644 index 00000000..c17aaa45 Binary files /dev/null and b/tests/__pycache__/test_f_convert.cpython-39-pytest-7.2.0.pyc differ diff --git a/tests/__pycache__/test_f_read.cpython-39-pytest-7.2.0.pyc b/tests/__pycache__/test_f_read.cpython-39-pytest-7.2.0.pyc new file mode 100644 index 00000000..335b4914 Binary files /dev/null and b/tests/__pycache__/test_f_read.cpython-39-pytest-7.2.0.pyc differ diff --git a/tests/__pycache__/test_g_matrix.cpython-39-pytest-7.2.0.pyc b/tests/__pycache__/test_g_matrix.cpython-39-pytest-7.2.0.pyc new file mode 100644 index 00000000..ab38b0dc Binary files /dev/null and b/tests/__pycache__/test_g_matrix.cpython-39-pytest-7.2.0.pyc differ diff --git a/tests/__pycache__/test_gf_method.cpython-39-pytest-7.2.0.pyc b/tests/__pycache__/test_gf_method.cpython-39-pytest-7.2.0.pyc new file mode 100644 index 00000000..bdd29cec Binary files /dev/null and b/tests/__pycache__/test_gf_method.cpython-39-pytest-7.2.0.pyc differ diff --git a/tests/__pycache__/test_reap.cpython-39-pytest-7.2.0.pyc b/tests/__pycache__/test_reap.cpython-39-pytest-7.2.0.pyc new file mode 100644 index 00000000..9b6ce41a Binary files /dev/null and b/tests/__pycache__/test_reap.cpython-39-pytest-7.2.0.pyc differ diff --git a/tests/__pycache__/test_s_vectors.cpython-39-pytest-7.2.0.pyc b/tests/__pycache__/test_s_vectors.cpython-39-pytest-7.2.0.pyc new file mode 100644 index 00000000..e3f3d587 Binary files /dev/null and b/tests/__pycache__/test_s_vectors.cpython-39-pytest-7.2.0.pyc differ diff --git a/tests/__pycache__/test_transf_disp.cpython-39-pytest-7.2.0.pyc b/tests/__pycache__/test_transf_disp.cpython-39-pytest-7.2.0.pyc new file mode 100644 index 00000000..5ef445bf Binary files /dev/null and b/tests/__pycache__/test_transf_disp.cpython-39-pytest-7.2.0.pyc differ diff --git a/tests/__pycache__/test_zmat.cpython-39-pytest-7.2.0.pyc b/tests/__pycache__/test_zmat.cpython-39-pytest-7.2.0.pyc new file mode 100644 index 00000000..471750e8 Binary files /dev/null and b/tests/__pycache__/test_zmat.cpython-39-pytest-7.2.0.pyc differ diff --git a/tests/ref_data/dir_tree/template.dat b/tests/ref_data/dir_tree/template.dat new file mode 100644 index 00000000..241bde2b --- /dev/null +++ b/tests/ref_data/dir_tree/template.dat @@ -0,0 +1,14 @@ +*** Optimization of min3 +memory,1000,m +gthresh,energy=1.0d-12,orbital=1.0d-10,oneint=1.0d-16,twoint=1.0d-16,optgrad=1.0d-6,compress=1.0d-13 +geomtyp=xyz + + bohr + geometry = { + 3 + arbitrary comment +} + +basis=cc-pvtz +{rhf;maxit,200} +{ccsd(t);maxit,200} diff --git a/tests/ref_data/dir_tree/template_ref.dat b/tests/ref_data/dir_tree/template_ref.dat new file mode 100644 index 00000000..369d1438 --- /dev/null +++ b/tests/ref_data/dir_tree/template_ref.dat @@ -0,0 +1,17 @@ +*** Optimization of min3 +memory,1000,m +gthresh,energy=1.0d-12,orbital=1.0d-10,oneint=1.0d-16,twoint=1.0d-16,optgrad=1.0d-6,compress=1.0d-13 +geomtyp=xyz + + bohr + geometry = { + 3 + arbitrary comment + H -0.0000000000 -1.4246254000 0.9959240800 + O 0.0000000000 0.0000000000 -0.1255045400 + H -0.0000000000 1.4246254000 0.9959240800 +} + +basis=cc-pvtz +{rhf;maxit,200} +{ccsd(t);maxit,200} diff --git a/tests/ref_data/dir_tree/zmat b/tests/ref_data/dir_tree/zmat new file mode 100644 index 00000000..ac6a8214 --- /dev/null +++ b/tests/ref_data/dir_tree/zmat @@ -0,0 +1,12 @@ +ZMAT begin + H + O 1 + H 2 1 +ZMAT end + +cart begin + H -0.00000000 -1.42462540 0.99592408 + O 0.00000000 0.00000000 -0.12550454 + H -0.00000000 1.42462540 0.99592408 +cart end + diff --git a/tests/ref_data/f_conv_test/fc.dat b/tests/ref_data/f_conv_test/fc.dat new file mode 100644 index 00000000..6dd44249 --- /dev/null +++ b/tests/ref_data/f_conv_test/fc.dat @@ -0,0 +1,109 @@ + 6 18 + 0.4979448204 -0.0165621609 -0.0000000529 + -0.2571321530 0.0156954116 0.0000017959 + -0.0713232083 0.0845403615 -0.0000112865 + -0.0734882268 -0.0363389844 0.0644739760 + -0.0734878728 -0.0363548847 -0.0644635342 + -0.0225133594 -0.0109797432 -0.0000008984 + -0.0165621507 0.6078583599 -0.0000037755 + -0.0348154431 -0.0951352547 -0.0000006707 + 0.0697599634 -0.2970419580 0.0000329932 + -0.0326783854 -0.1075719729 0.0962461739 + -0.0326923287 -0.1076191286 -0.0962755696 + 0.0469883445 -0.0004900456 0.0000008488 + -0.0000000536 -0.0000037758 0.5582821300 + -0.0000005054 0.0000000840 -0.0618671813 + -0.0000095628 0.0000326668 -0.0502917618 + 0.0611230618 0.0952257474 -0.2227533763 + -0.0611126634 -0.0952548866 -0.2227074273 + -0.0000002765 0.0000001642 -0.0006623833 + -0.2571321737 -0.0348154804 -0.0000005056 + 0.4285031321 -0.1281996348 -0.0000030417 + -0.0226770953 -0.0000699692 0.0000003364 + -0.0300077946 -0.0028422725 0.0033203586 + -0.0300071150 -0.0028418823 -0.0033193107 + -0.0886789534 0.1687692392 0.0000021631 + 0.0156954014 -0.0951352491 0.0000000840 + -0.1281996490 0.5553356667 0.0000041627 + 0.0382310787 0.0055106906 -0.0000009038 + -0.0172866169 0.0044973077 -0.0027548449 + -0.0172939829 0.0044970489 0.0027556565 + 0.1088537686 -0.4747054648 -0.0000041546 + 0.0000017958 -0.0000006705 -0.0618672721 + -0.0000030416 0.0000041627 0.0465890970 + -0.0000029571 -0.0000010799 0.0016569475 + 0.0288037157 -0.0002620796 0.0087007536 + -0.0288004191 0.0002627444 0.0086986485 + 0.0000009063 -0.0000030771 -0.0037781745 + -0.0713232685 0.0697600372 -0.0000095629 + -0.0226770575 0.0382310767 -0.0000029572 + 0.0929951477 -0.0904878833 0.0000113908 + 0.0046925653 -0.0090443221 -0.0006355818 + 0.0046923494 -0.0090441724 0.0006379649 + -0.0083797364 0.0005852639 -0.0000012537 + 0.0845404505 -0.2970420108 0.0000326669 + -0.0000700323 0.0055106890 -0.0000010799 + -0.0904878474 0.3131395389 -0.0000352199 + 0.0037034166 -0.0121687308 -0.0013087421 + 0.0037055715 -0.0121748779 0.0013120760 + -0.0013915589 0.0027353917 0.0000002989 + -0.0000112864 0.0000329930 -0.0502917911 + 0.0000003363 -0.0000009038 0.0016569622 + 0.0000113907 -0.0000352197 0.0463424661 + -0.0082228449 0.0259915742 0.0008257863 + 0.0082221500 -0.0259882714 0.0008322029 + 0.0000002544 -0.0000001724 0.0006343735 + -0.0734882103 -0.0326784072 0.0611230373 + -0.0300078020 -0.0172866110 0.0288037080 + 0.0046925529 0.0037034412 -0.0082228366 + 0.0913391208 0.0437114691 -0.0748607016 + 0.0056449110 0.0043794386 -0.0069302383 + 0.0018194276 -0.0018293307 0.0000870313 + -0.0363390042 -0.1075719514 0.0952257571 + -0.0028422699 0.0044973082 -0.0002620689 + -0.0090443039 -0.0121687483 0.0259915762 + 0.0437114697 0.1068957623 -0.1057893994 + 0.0043813907 0.0077678315 -0.0136770487 + 0.0001327177 0.0005797978 -0.0014888162 + 0.0644739817 0.0962461701 -0.2227533703 + 0.0033203576 -0.0027548441 0.0087007420 + -0.0006355885 -0.0013087394 0.0008257631 + -0.0748607035 -0.1057894012 0.2343245939 + 0.0069293873 0.0136696542 -0.0212987832 + 0.0007725655 -0.0000628396 0.0002010545 + -0.0734878565 -0.0326923508 -0.0611126395 + -0.0300071225 -0.0172939769 -0.0288004113 + 0.0046923370 0.0037055963 0.0082221417 + 0.0056449111 0.0043813920 0.0069293849 + 0.0913371459 0.0437290276 0.0748479441 + 0.0018205851 -0.0018296882 -0.0000864198 + -0.0363549045 -0.1076191068 -0.0952548966 + -0.0028418797 0.0044970495 0.0002627338 + -0.0090441542 -0.0121748958 -0.0259882734 + 0.0043794373 0.0077678315 0.0136696531 + 0.0437290282 0.1069483958 0.1058218977 + 0.0001324729 0.0005807258 0.0014888854 + -0.0644635395 -0.0962755655 -0.2227074214 + -0.0033193098 0.0027556557 0.0086986370 + 0.0006379716 0.0013120731 0.0008321797 + -0.0069302409 -0.0136770498 -0.0212987832 + 0.0748479459 0.1058218994 0.2342739750 + -0.0007728273 0.0000629872 0.0002014129 + -0.0225133113 0.0469883621 -0.0000002763 + -0.0886789970 0.1088537343 0.0000009063 + -0.0083797340 -0.0013915465 0.0000002543 + 0.0018194242 0.0001327180 0.0007725640 + 0.0018205816 0.0001324732 -0.0007728258 + 0.1159320365 -0.1547157410 -0.0000006225 + -0.0109797926 -0.0004900417 0.0000001641 + 0.1687692740 -0.4747054587 -0.0000030770 + 0.0005852634 0.0027353727 -0.0000001724 + -0.0018293213 0.0005798023 -0.0000628406 + -0.0018296788 0.0005807303 0.0000629882 + -0.1547157447 0.4712995951 0.0000029378 + -0.0000008981 0.0000008488 -0.0006622751 + 0.0000021630 -0.0000041546 -0.0037782569 + -0.0000012538 0.0000002990 0.0006344053 + 0.0000870119 -0.0014887909 0.0002010257 + -0.0000864006 0.0014888600 0.0002013841 + -0.0000006224 0.0000029378 0.0034037169 diff --git a/tests/ref_data/f_conv_test/fc_cart.dat b/tests/ref_data/f_conv_test/fc_cart.dat new file mode 100644 index 00000000..8bed8476 --- /dev/null +++ b/tests/ref_data/f_conv_test/fc_cart.dat @@ -0,0 +1,109 @@ + 6 18 + 0.4979448524 -0.0165621251 -0.0000000733 + -0.2571321223 0.0156952850 0.0000018760 + -0.0713230648 0.0845404461 -0.0000113125 + -0.0734883438 -0.0363389049 0.0644739171 + -0.0734878643 -0.0363547706 -0.0644635929 + -0.0225134571 -0.0109799306 -0.0000008143 + -0.0165621136 0.6078583288 -0.0000037672 + -0.0348154386 -0.0951351722 -0.0000006252 + 0.0697598982 -0.2970420054 0.0000331176 + -0.0326783983 -0.1075721024 0.0962461130 + -0.0326923061 -0.1076190478 -0.0962756301 + 0.0469883586 -0.0004900010 0.0000007919 + -0.0000000740 -0.0000037675 0.5582821124 + -0.0000005263 0.0000000920 -0.0618669213 + -0.0000095435 0.0000326595 -0.0502915613 + 0.0611229490 0.0952254844 -0.2227535879 + -0.0611125481 -0.0952546243 -0.2227076435 + -0.0000002571 0.0000001559 -0.0006623984 + -0.2571321426 -0.0348154768 -0.0000005265 + 0.4285031486 -0.1281996595 -0.0000029596 + -0.0226770552 -0.0000699494 0.0000003099 + -0.0300078826 -0.0028422543 0.0033202980 + -0.0300070744 -0.0028418294 -0.0033193710 + -0.0886789938 0.1687691694 0.0000022492 + 0.0156952745 -0.0951351562 0.0000000920 + -0.1281996701 0.5553354274 0.0000042075 + 0.0382312585 0.0055108255 -0.0000007814 + -0.0172866386 0.0044972523 -0.0027549037 + -0.0172939688 0.0044972192 0.0027555961 + 0.1088537444 -0.4747055682 -0.0000042104 + 0.0000018759 -0.0000006250 -0.0618670094 + -0.0000029595 0.0000042075 0.0465888174 + -0.0000030296 -0.0000011208 0.0016570873 + 0.0288037737 -0.0002621294 0.0087007831 + -0.0288004892 0.0002627899 0.0086986950 + 0.0000008286 -0.0000031222 -0.0037783734 + -0.0713231240 0.0697599630 -0.0000095436 + -0.0226770199 0.0382312495 -0.0000030296 + 0.0929950436 -0.0904879736 0.0000114192 + 0.0046925979 -0.0090443075 -0.0006355304 + 0.0046922665 -0.0090441992 0.0006380179 + -0.0083797642 0.0005852679 -0.0000013335 + 0.0845405345 -0.2970420670 0.0000326596 + -0.0000700161 0.0055108308 -0.0000011207 + -0.0904879496 0.3131394601 -0.0000353316 + 0.0037034304 -0.0121686579 -0.0013086882 + 0.0037055529 -0.0121750071 0.0013121309 + -0.0013915521 0.0027354412 0.0000003500 + -0.0000113123 0.0000331174 -0.0502915431 + 0.0000003098 -0.0000007815 0.0016570811 + 0.0000114191 -0.0000353313 0.0463421071 + -0.0082228413 0.0259916165 0.0008257655 + 0.0082221473 -0.0259883261 0.0008321750 + 0.0000002774 -0.0000002950 0.0006344142 + -0.0734883275 -0.0326784167 0.0611229354 + -0.0300078889 -0.0172866318 0.0288037488 + 0.0046925872 0.0037034521 -0.0082228223 + 0.0913392620 0.0437114425 -0.0748606126 + 0.0056448342 0.0043793980 -0.0069301634 + 0.0018195330 -0.0018292440 0.0000869141 + -0.0363389248 -0.1075720885 0.0952254597 + -0.0028422545 0.0044972548 -0.0002621029 + -0.0090442962 -0.0121686721 0.0259916108 + 0.0437114433 0.1068959359 -0.1057893070 + 0.0043813499 0.0077677370 -0.0136769580 + 0.0001326822 0.0005798328 -0.0014887026 + 0.0644739229 0.0962461097 -0.2227535847 + 0.0033202973 -0.0027549046 0.0087007609 + -0.0006355354 -0.0013086844 0.0008257645 + -0.0748606108 -0.1057893171 0.2343247107 + 0.0069293035 0.0136695770 -0.0212986786 + 0.0007726225 -0.0000627807 0.0002010272 + -0.0734878482 -0.0326923247 -0.0611125350 + -0.0300070808 -0.0172939620 -0.0288004642 + 0.0046922558 0.0037055747 0.0082221284 + 0.0056448343 0.0043813489 0.0069293059 + 0.0913372693 0.0437289993 0.0748478781 + 0.0018205696 -0.0018296363 -0.0000863132 + -0.0363547903 -0.1076190335 -0.0952545999 + -0.0028418295 0.0044972217 0.0002627635 + -0.0090441878 -0.0121750217 -0.0259883204 + 0.0043793989 0.0077677370 0.0136695655 + 0.0437290001 0.1069485287 0.1058218138 + 0.0001324086 0.0005805678 0.0014887776 + -0.0644635985 -0.0962756265 -0.2227076404 + -0.0033193704 0.0027555970 0.0086986729 + 0.0006380229 0.0013121270 0.0008321741 + -0.0069301611 -0.0136769696 -0.0212986786 + 0.0748478763 0.1058218238 0.2342740674 + -0.0007727691 0.0000630484 0.0002014047 + -0.0225134102 0.0469883803 -0.0000002569 + -0.0886790367 0.1088537189 0.0000008286 + -0.0083797666 -0.0013915499 0.0000002773 + 0.0018195321 0.0001326753 0.0007726220 + 0.0018205687 0.0001324018 -0.0007727687 + 0.1159321126 -0.1547156264 -0.0000007023 + -0.0109799802 -0.0004899835 0.0000001558 + 0.1687692088 -0.4747055626 -0.0000031222 + 0.0005852769 0.0027354136 -0.0000002949 + -0.0018292357 0.0005798350 -0.0000627795 + -0.0018296281 0.0005805700 0.0000630473 + -0.1547156417 0.4712997274 0.0000029936 + -0.0000008141 0.0000007919 -0.0006623348 + 0.0000022491 -0.0000042104 -0.0037784110 + -0.0000013336 0.0000003500 0.0006344283 + 0.0000868905 -0.0014886848 0.0002010072 + -0.0000862897 0.0014887597 0.0002013847 + -0.0000007023 0.0000029936 0.0034039257 diff --git a/tests/ref_data/f_conv_test/fc_int.dat b/tests/ref_data/f_conv_test/fc_int.dat new file mode 100644 index 00000000..bd4f087a --- /dev/null +++ b/tests/ref_data/f_conv_test/fc_int.dat @@ -0,0 +1,244 @@ + 6 12 + 0.3656768868 0.0089901167 0.0149077039 + 0.0149061685 -0.0048636295 0.0063857282 + 0.0047818543 0.0047812288 0.0510429107 + -0.0056373646 -0.0056368028 -0.0054783091 + -0.0000505690 0.0000503155 -0.0000009117 + -0.0061681661 0.0061676446 0.0001008845 + 0.0000496573 0.0070483309 -0.0054351325 + -0.0000512272 -0.0070482430 0.0054355011 + 0.0123358107 -0.0124834634 0.0124837441 + 0.0089900412 0.3455456862 0.0023314643 + 0.0023312597 -0.0017120932 -0.0001394367 + -0.0005831084 -0.0005831115 0.0041454525 + 0.0018247150 0.0018248528 -0.0020478632 + 0.0018155735 -0.0018157395 -0.0000004621 + -0.0002465506 0.0002466107 -0.0036313130 + -0.0018160356 0.0006662827 0.0027026607 + 0.0018152775 -0.0006663622 -0.0027026588 + 0.0004931614 0.0020363780 -0.0020362966 + 0.0149077025 0.0023314677 0.3260205770 + 0.0035591489 -0.0003592939 -0.0001466168 + -0.0016740778 -0.0005348441 0.0000443090 + 0.0025047450 -0.0030664090 0.0028989727 + 0.0020170499 0.0041704872 0.0015855509 + 0.0006759361 -0.0024334993 0.0021534373 + -0.0004314990 0.0004551500 -0.0003070167 + -0.0025849363 0.0024822989 -0.0003641633 + -0.0031094353 -0.0007621667 -0.0028464622 + 0.0149061672 0.0023312634 0.0035591488 + 0.3260208892 -0.0003588484 -0.0001466306 + -0.0005349235 -0.0016739703 0.0000435914 + -0.0030663186 0.0025046923 0.0028989336 + -0.0041704512 -0.0020170444 -0.0015850458 + 0.0024335929 -0.0006758568 0.0021534069 + 0.0025854054 -0.0024823490 0.0003641095 + 0.0004319986 -0.0004551670 0.0003069603 + -0.0031094497 0.0028464585 0.0007621273 + -0.0048636669 -0.0017120648 -0.0003592899 + -0.0003588444 0.5290223347 0.0033338641 + -0.0017055188 -0.0017062325 0.0175460045 + -0.0008691340 -0.0008687031 0.0018349095 + 0.0000975897 -0.0000976989 0.0000002565 + 0.0006218042 -0.0006224481 -0.0001952886 + -0.0000973332 0.0025475665 0.0020291146 + 0.0000979554 -0.0025474367 -0.0020286941 + -0.0012442523 -0.0005184519 0.0005187426 + 0.0063857191 -0.0001394124 -0.0001466191 + -0.0001466330 0.0033338671 0.0226376104 + -0.0098559463 -0.0098556428 0.0087331165 + -0.0089209688 -0.0089209651 0.0145277069 + -0.0020518966 0.0020517772 -0.0000004758 + 0.0038566790 -0.0038565350 0.0041036738 + 0.0020514208 0.0163589326 0.0087730736 + -0.0020522530 -0.0163591938 -0.0087732524 + -0.0077132140 -0.0075858590 0.0075859414 + 0.0047818589 -0.0005831232 -0.0016740762 + -0.0005349240 -0.0017055217 -0.0098559470 + 0.0228845239 -0.0098290836 -0.0034352459 + -0.0074429774 0.0135370088 -0.0093164971 + -0.0022964295 -0.0046072557 -0.0021348757 + -0.0174784642 -0.0097316215 -0.0023108263 + 0.0001615538 -0.0035048225 0.0035964718 + 0.0024723800 0.0091885665 0.0156767603 + 0.0077468426 0.0071012943 0.0064881938 + 0.0047812334 -0.0005831265 -0.0005348446 + -0.0016739686 -0.0017062355 -0.0098556435 + -0.0098290835 0.0228843547 -0.0034362813 + 0.0135369473 -0.0074429563 -0.0093164161 + 0.0046072569 0.0022964077 0.0021352002 + 0.0097315901 0.0174785120 -0.0023108492 + -0.0024720567 -0.0091883527 -0.0156766023 + -0.0001612075 0.0035047891 -0.0035965300 + 0.0077469219 -0.0064882496 -0.0071013191 + 0.0510428507 0.0041454399 0.0000443125 + 0.0000435950 0.0175459765 0.0087331202 + -0.0034352483 -0.0034362837 0.1941909641 + -0.0031345533 -0.0031339396 0.0042950040 + -0.0002027222 0.0002025936 -0.0000003608 + 0.0008795108 -0.0008804913 0.0004053158 + 0.0002023614 0.0067259802 0.0036365287 + -0.0002029543 -0.0067257884 -0.0036359187 + -0.0017600022 -0.0030894514 0.0030898697 + -0.0056373632 0.0018247118 0.0025047427 + -0.0030663141 -0.0008691350 -0.0089209681 + -0.0074429800 0.0135369489 -0.0031345543 + 0.0152160014 -0.0053840743 -0.0066105537 + 0.0086493093 0.0045567639 0.0042602702 + 0.0054224001 0.0080350254 -0.0040925454 + -0.0043890391 -0.0055411833 -0.0073008007 + -0.0002964937 0.0065243552 -0.0050595309 + 0.0026126253 -0.0017596175 -0.0115838862 + -0.0056368014 0.0018248498 -0.0030664045 + 0.0025046900 -0.0008687041 -0.0089209645 + 0.0135370104 -0.0074429589 -0.0031339405 + -0.0053840743 0.0152158916 -0.0066106217 + -0.0045566968 -0.0086492689 -0.0042599772 + -0.0080349959 -0.0054223836 -0.0040925720 + 0.0002967197 -0.0065242017 0.0050595114 + 0.0043892917 0.0055411874 0.0073008441 + 0.0026126123 0.0115837131 0.0017596567 + -0.0054783123 -0.0020478507 0.0028989718 + 0.0028989325 0.0018349144 0.0145277070 + -0.0093164969 -0.0093164159 0.0042950045 + -0.0066105540 -0.0066106219 0.0170212596 + -0.0041305395 0.0041305819 -0.0000001377 + 0.0065302514 -0.0065302981 0.0082611214 + 0.0041304018 0.0081623407 0.0058231646 + -0.0041307196 -0.0081624608 -0.0058232123 + -0.0130605495 -0.0023391761 0.0023392485 + -0.0000505704 0.0018155766 0.0020170466 + -0.0041704475 0.0000975887 -0.0020518961 + -0.0022964322 0.0046072594 -0.0002027244 + 0.0086493103 -0.0045566982 -0.0041305394 + 0.0079789643 0.0042633212 0.0040022898 + -0.0009350154 0.0017713823 -0.0037156431 + -0.0039766746 0.0017166901 -0.0012390198 + -0.0002610315 0.0027700702 -0.0028282923 + 0.0027063977 -0.0029557099 -0.0055983624 + 0.0000503169 -0.0018157428 0.0041704835 + -0.0020170411 -0.0000976979 0.0020517767 + -0.0046072582 0.0022964104 0.0002025957 + 0.0045567653 -0.0086492699 0.0041305818 + 0.0042633212 0.0079790049 0.0040023574 + 0.0017713624 -0.0009350450 0.0037156837 + -0.0002609638 0.0027699496 -0.0028282968 + -0.0039766475 0.0017167902 -0.0012390017 + -0.0027064073 -0.0055982464 -0.0029557919 + -0.0000009117 -0.0000004622 0.0015855578 + -0.0015850527 0.0000002565 -0.0000004758 + -0.0021348921 0.0021352166 -0.0000003608 + 0.0042602804 -0.0042599875 -0.0000001377 + 0.0040022929 0.0040023606 0.0037784995 + 0.0001602734 0.0001603127 0.0000000677 + -0.0002237934 0.0015011936 -0.0012580886 + -0.0002238611 0.0015019803 -0.0012576473 + 0.0000000393 -0.0027592822 -0.0027596276 + -0.0061681672 -0.0002465450 0.0006759367 + 0.0024335923 0.0006218066 0.0038566794 + -0.0174784631 0.0097315889 0.0008795106 + 0.0054223974 -0.0080349936 0.0065302515 + -0.0009350178 0.0017713599 0.0001602596 + 0.0155813732 0.0092826187 0.0027063777 + 0.0010952774 -0.0020245398 -0.0051838454 + -0.0016111004 -0.0052894458 -0.0108469653 + -0.0062987545 -0.0031593055 -0.0055575194 + 0.0061676457 0.0002466050 -0.0024334987 + -0.0006758573 -0.0006224504 -0.0038565354 + -0.0097316202 0.0174785110 -0.0008804911 + 0.0080350230 -0.0054223810 -0.0065302983 + 0.0017713799 -0.0009350474 0.0001602989 + 0.0092826186 0.0155815023 -0.0027064273 + -0.0016110810 -0.0052893938 -0.0108469699 + 0.0010953463 -0.0020245262 -0.0051838873 + 0.0062988836 -0.0055575761 -0.0031593611 + 0.0001008873 -0.0036313194 0.0021534369 + 0.0021534064 -0.0001952866 0.0041036729 + -0.0023108260 -0.0023108490 0.0004053201 + -0.0040925450 -0.0040925717 0.0082611211 + -0.0037156431 0.0037156837 0.0000000677 + 0.0027063777 -0.0027064273 0.0074313268 + 0.0037157108 0.0010532595 -0.0015892770 + -0.0037156160 -0.0010532800 0.0015892905 + -0.0054128050 -0.0026425365 0.0026425705 + 0.0000496587 -0.0018160388 -0.0004314888 + 0.0025853948 -0.0000973323 0.0020514203 + 0.0001615400 -0.0024720428 0.0002023636 + -0.0043890299 0.0002967108 0.0041304017 + -0.0039766714 -0.0002609607 -0.0002237903 + 0.0010952888 -0.0016110695 0.0037157108 + 0.0037528811 -0.0002154966 -0.0000190688 + 0.0000371704 -0.0012680899 0.0015706449 + -0.0027063584 0.0001964277 0.0028387348 + 0.0070483233 0.0006663018 0.0004551467 + -0.0024823493 0.0025475679 0.0163589327 + -0.0035048234 -0.0091883508 0.0067259764 + -0.0055411826 -0.0065242035 0.0081623406 + 0.0017166905 0.0027699507 0.0015011966 + -0.0020245392 -0.0052893926 0.0010532602 + -0.0002154939 0.0145395124 0.0082194406 + -0.0012687541 -0.0105543584 -0.0048709887 + -0.0032648533 -0.0063200718 0.0056833697 + -0.0054351393 0.0027026811 -0.0003070164 + 0.0003641084 0.0020291169 0.0087730748 + 0.0035964716 -0.0156766025 0.0036365236 + -0.0073008002 0.0050595095 0.0058231649 + -0.0012390184 -0.0028282952 -0.0012580789 + -0.0051838462 -0.0108469705 -0.0015892768 + -0.0000190605 0.0082194424 0.0133672382 + 0.0015702162 -0.0048710059 -0.0020125006 + -0.0056631243 0.0051477958 0.0028585053 + -0.0000512286 0.0018152806 -0.0025849256 + 0.0004319883 0.0000979544 -0.0020522526 + 0.0024723661 -0.0001611938 -0.0002029566 + -0.0002964849 0.0043892825 -0.0041307195 + -0.0002610283 -0.0039766444 -0.0002238580 + -0.0016110889 0.0010953577 -0.0037156160 + 0.0000371704 -0.0012687560 0.0015702082 + 0.0037527864 -0.0002148099 -0.0000186456 + 0.0027064466 0.0028389643 0.0001961643 + -0.0070482355 -0.0006663813 0.0024822992 + -0.0004551637 -0.0025474381 -0.0163591938 + 0.0091885646 0.0035047899 -0.0067257847 + 0.0065243571 0.0055411867 -0.0081624607 + 0.0027700713 0.0017167906 0.0015019833 + -0.0052894446 -0.0020245256 -0.0010532807 + -0.0012680880 -0.0105543584 -0.0048710057 + -0.0002148073 0.0145398327 0.0082196034 + 0.0032649189 0.0056833527 -0.0063202294 + 0.0054355078 -0.0027026791 -0.0003641622 + 0.0003069601 -0.0020286964 -0.0087732537 + 0.0156767605 -0.0035965299 -0.0036359136 + -0.0050595290 0.0073008435 -0.0058232127 + -0.0028282906 -0.0012390003 -0.0012576376 + -0.0108469658 -0.0051838882 0.0015892903 + 0.0015706530 -0.0048709889 -0.0020125006 + -0.0000186373 0.0082196052 0.0133673657 + 0.0056630776 0.0028584883 0.0051477605 + 0.0123358128 0.0004931499 -0.0031094353 + -0.0031094497 -0.0012442571 -0.0077132148 + 0.0077468429 0.0077469221 -0.0017600017 + 0.0026126256 0.0026126126 -0.0130605498 + 0.0027063977 -0.0027064073 0.0000000393 + -0.0062987545 0.0062988836 -0.0054128050 + -0.0027063583 -0.0032648540 -0.0056631246 + 0.0027064467 0.0032649196 0.0056630779 + 0.0125976381 -0.0023982706 0.0023981583 + -0.0124834626 0.0020363793 -0.0007621631 + 0.0028464576 -0.0005184510 -0.0075858578 + 0.0071012950 -0.0064882517 -0.0030894528 + -0.0017596176 0.0115837130 -0.0023391757 + -0.0029557089 -0.0055982458 -0.0027592755 + -0.0031593070 -0.0055575779 -0.0026425370 + 0.0001964334 -0.0063200700 0.0051477976 + 0.0028389703 0.0056833525 0.0028584880 + -0.0023982709 0.0114678676 -0.0028248644 + 0.0124837432 -0.0020362978 -0.0028464614 + 0.0007621238 0.0005187417 0.0075859401 + 0.0064881959 -0.0071013198 0.0030898711 + -0.0115838861 0.0017596569 0.0023392480 + -0.0055983619 -0.0029557909 -0.0027596209 + -0.0055575213 -0.0031593626 0.0026425709 + 0.0028387409 0.0056833695 0.0028585051 + 0.0001961700 -0.0063202276 0.0051477623 + 0.0023981587 -0.0028248644 0.0114679899 diff --git a/tests/ref_data/f_conv_test/zmat b/tests/ref_data/f_conv_test/zmat new file mode 100644 index 00000000..47dfd977 --- /dev/null +++ b/tests/ref_data/f_conv_test/zmat @@ -0,0 +1,24 @@ +ZMAT begin +1 2 +1 3 +1 4 +1 5 +2 6 +ZMAT end + +cart begin + C -1.37155092 -0.02303515 0.00000126 + O 1.30898081 0.12091804 0.00000128 + H -2.08881237 1.93629413 -0.00025997 + H -2.13459369 -0.98915486 1.70142476 + H -2.13457097 -0.98957738 -1.70119245 + H 1.91432352 -1.60234336 -0.00000765 +--- + C -1.37507311 -0.02427686 0.00000035 + O 1.30601636 0.12070128 0.00000030 + H -2.07787395 1.90961292 -0.00007991 + H -2.10898758 -0.97927269 1.68197389 + H -2.10898055 -0.97940393 -1.68190173 + H 1.94117467 -1.57749284 -0.00000131 +cart end + diff --git a/tests/ref_data/f_read_test/fc.dat b/tests/ref_data/f_read_test/fc.dat new file mode 100644 index 00000000..6dd44249 --- /dev/null +++ b/tests/ref_data/f_read_test/fc.dat @@ -0,0 +1,109 @@ + 6 18 + 0.4979448204 -0.0165621609 -0.0000000529 + -0.2571321530 0.0156954116 0.0000017959 + -0.0713232083 0.0845403615 -0.0000112865 + -0.0734882268 -0.0363389844 0.0644739760 + -0.0734878728 -0.0363548847 -0.0644635342 + -0.0225133594 -0.0109797432 -0.0000008984 + -0.0165621507 0.6078583599 -0.0000037755 + -0.0348154431 -0.0951352547 -0.0000006707 + 0.0697599634 -0.2970419580 0.0000329932 + -0.0326783854 -0.1075719729 0.0962461739 + -0.0326923287 -0.1076191286 -0.0962755696 + 0.0469883445 -0.0004900456 0.0000008488 + -0.0000000536 -0.0000037758 0.5582821300 + -0.0000005054 0.0000000840 -0.0618671813 + -0.0000095628 0.0000326668 -0.0502917618 + 0.0611230618 0.0952257474 -0.2227533763 + -0.0611126634 -0.0952548866 -0.2227074273 + -0.0000002765 0.0000001642 -0.0006623833 + -0.2571321737 -0.0348154804 -0.0000005056 + 0.4285031321 -0.1281996348 -0.0000030417 + -0.0226770953 -0.0000699692 0.0000003364 + -0.0300077946 -0.0028422725 0.0033203586 + -0.0300071150 -0.0028418823 -0.0033193107 + -0.0886789534 0.1687692392 0.0000021631 + 0.0156954014 -0.0951352491 0.0000000840 + -0.1281996490 0.5553356667 0.0000041627 + 0.0382310787 0.0055106906 -0.0000009038 + -0.0172866169 0.0044973077 -0.0027548449 + -0.0172939829 0.0044970489 0.0027556565 + 0.1088537686 -0.4747054648 -0.0000041546 + 0.0000017958 -0.0000006705 -0.0618672721 + -0.0000030416 0.0000041627 0.0465890970 + -0.0000029571 -0.0000010799 0.0016569475 + 0.0288037157 -0.0002620796 0.0087007536 + -0.0288004191 0.0002627444 0.0086986485 + 0.0000009063 -0.0000030771 -0.0037781745 + -0.0713232685 0.0697600372 -0.0000095629 + -0.0226770575 0.0382310767 -0.0000029572 + 0.0929951477 -0.0904878833 0.0000113908 + 0.0046925653 -0.0090443221 -0.0006355818 + 0.0046923494 -0.0090441724 0.0006379649 + -0.0083797364 0.0005852639 -0.0000012537 + 0.0845404505 -0.2970420108 0.0000326669 + -0.0000700323 0.0055106890 -0.0000010799 + -0.0904878474 0.3131395389 -0.0000352199 + 0.0037034166 -0.0121687308 -0.0013087421 + 0.0037055715 -0.0121748779 0.0013120760 + -0.0013915589 0.0027353917 0.0000002989 + -0.0000112864 0.0000329930 -0.0502917911 + 0.0000003363 -0.0000009038 0.0016569622 + 0.0000113907 -0.0000352197 0.0463424661 + -0.0082228449 0.0259915742 0.0008257863 + 0.0082221500 -0.0259882714 0.0008322029 + 0.0000002544 -0.0000001724 0.0006343735 + -0.0734882103 -0.0326784072 0.0611230373 + -0.0300078020 -0.0172866110 0.0288037080 + 0.0046925529 0.0037034412 -0.0082228366 + 0.0913391208 0.0437114691 -0.0748607016 + 0.0056449110 0.0043794386 -0.0069302383 + 0.0018194276 -0.0018293307 0.0000870313 + -0.0363390042 -0.1075719514 0.0952257571 + -0.0028422699 0.0044973082 -0.0002620689 + -0.0090443039 -0.0121687483 0.0259915762 + 0.0437114697 0.1068957623 -0.1057893994 + 0.0043813907 0.0077678315 -0.0136770487 + 0.0001327177 0.0005797978 -0.0014888162 + 0.0644739817 0.0962461701 -0.2227533703 + 0.0033203576 -0.0027548441 0.0087007420 + -0.0006355885 -0.0013087394 0.0008257631 + -0.0748607035 -0.1057894012 0.2343245939 + 0.0069293873 0.0136696542 -0.0212987832 + 0.0007725655 -0.0000628396 0.0002010545 + -0.0734878565 -0.0326923508 -0.0611126395 + -0.0300071225 -0.0172939769 -0.0288004113 + 0.0046923370 0.0037055963 0.0082221417 + 0.0056449111 0.0043813920 0.0069293849 + 0.0913371459 0.0437290276 0.0748479441 + 0.0018205851 -0.0018296882 -0.0000864198 + -0.0363549045 -0.1076191068 -0.0952548966 + -0.0028418797 0.0044970495 0.0002627338 + -0.0090441542 -0.0121748958 -0.0259882734 + 0.0043794373 0.0077678315 0.0136696531 + 0.0437290282 0.1069483958 0.1058218977 + 0.0001324729 0.0005807258 0.0014888854 + -0.0644635395 -0.0962755655 -0.2227074214 + -0.0033193098 0.0027556557 0.0086986370 + 0.0006379716 0.0013120731 0.0008321797 + -0.0069302409 -0.0136770498 -0.0212987832 + 0.0748479459 0.1058218994 0.2342739750 + -0.0007728273 0.0000629872 0.0002014129 + -0.0225133113 0.0469883621 -0.0000002763 + -0.0886789970 0.1088537343 0.0000009063 + -0.0083797340 -0.0013915465 0.0000002543 + 0.0018194242 0.0001327180 0.0007725640 + 0.0018205816 0.0001324732 -0.0007728258 + 0.1159320365 -0.1547157410 -0.0000006225 + -0.0109797926 -0.0004900417 0.0000001641 + 0.1687692740 -0.4747054587 -0.0000030770 + 0.0005852634 0.0027353727 -0.0000001724 + -0.0018293213 0.0005798023 -0.0000628406 + -0.0018296788 0.0005807303 0.0000629882 + -0.1547157447 0.4712995951 0.0000029378 + -0.0000008981 0.0000008488 -0.0006622751 + 0.0000021630 -0.0000041546 -0.0037782569 + -0.0000012538 0.0000002990 0.0006344053 + 0.0000870119 -0.0014887909 0.0002010257 + -0.0000864006 0.0014888600 0.0002013841 + -0.0000006224 0.0000029378 0.0034037169 diff --git a/tests/ref_data/f_read_test/zmat b/tests/ref_data/f_read_test/zmat new file mode 100644 index 00000000..47dfd977 --- /dev/null +++ b/tests/ref_data/f_read_test/zmat @@ -0,0 +1,24 @@ +ZMAT begin +1 2 +1 3 +1 4 +1 5 +2 6 +ZMAT end + +cart begin + C -1.37155092 -0.02303515 0.00000126 + O 1.30898081 0.12091804 0.00000128 + H -2.08881237 1.93629413 -0.00025997 + H -2.13459369 -0.98915486 1.70142476 + H -2.13457097 -0.98957738 -1.70119245 + H 1.91432352 -1.60234336 -0.00000765 +--- + C -1.37507311 -0.02427686 0.00000035 + O 1.30601636 0.12070128 0.00000030 + H -2.07787395 1.90961292 -0.00007991 + H -2.10898758 -0.97927269 1.68197389 + H -2.10898055 -0.97940393 -1.68190173 + H 1.94117467 -1.57749284 -0.00000131 +cart end + diff --git a/tests/ref_data/reap_test/Disps/1/ijk.dat b/tests/ref_data/reap_test/Disps/1/ijk.dat new file mode 100644 index 00000000..502f5c85 --- /dev/null +++ b/tests/ref_data/reap_test/Disps/1/ijk.dat @@ -0,0 +1,85 @@ +Total number of IJK combinations =: 20 +Num. of IJK with (Gi,Gj,Gk)=(0,0,0) =: 4 + thread 0: first_ijk=0, last_ijk=0 + thread 1: first_ijk=1, last_ijk=1 + thread 2: first_ijk=2, last_ijk=2 + thread 3: first_ijk=3, last_ijk=3 +Num. of IJK with (Gi,Gj,Gk)=(0,0,1) =: 0 +Num. of IJK with (Gi,Gj,Gk)=(0,0,2) =: 0 +Num. of IJK with (Gi,Gj,Gk)=(0,0,3) =: 0 +Num. of IJK with (Gi,Gj,Gk)=(0,1,0) =: 0 +Num. of IJK with (Gi,Gj,Gk)=(0,1,1) =: 0 +Num. of IJK with (Gi,Gj,Gk)=(0,1,2) =: 0 +Num. of IJK with (Gi,Gj,Gk)=(0,1,3) =: 0 +Num. of IJK with (Gi,Gj,Gk)=(0,2,0) =: 0 +Num. of IJK with (Gi,Gj,Gk)=(0,2,1) =: 0 +Num. of IJK with (Gi,Gj,Gk)=(0,2,2) =: 0 +Num. of IJK with (Gi,Gj,Gk)=(0,2,3) =: 0 +Num. of IJK with (Gi,Gj,Gk)=(0,3,0) =: 0 +Num. of IJK with (Gi,Gj,Gk)=(0,3,1) =: 0 +Num. of IJK with (Gi,Gj,Gk)=(0,3,2) =: 0 +Num. of IJK with (Gi,Gj,Gk)=(0,3,3) =: 0 +Num. of IJK with (Gi,Gj,Gk)=(1,0,0) =: 0 +Num. of IJK with (Gi,Gj,Gk)=(1,0,1) =: 0 +Num. of IJK with (Gi,Gj,Gk)=(1,0,2) =: 0 +Num. of IJK with (Gi,Gj,Gk)=(1,0,3) =: 0 +Num. of IJK with (Gi,Gj,Gk)=(1,1,0) =: 0 +Num. of IJK with (Gi,Gj,Gk)=(1,1,1) =: 0 +Num. of IJK with (Gi,Gj,Gk)=(1,1,2) =: 0 +Num. of IJK with (Gi,Gj,Gk)=(1,1,3) =: 0 +Num. of IJK with (Gi,Gj,Gk)=(1,2,0) =: 0 +Num. of IJK with (Gi,Gj,Gk)=(1,2,1) =: 0 +Num. of IJK with (Gi,Gj,Gk)=(1,2,2) =: 0 +Num. of IJK with (Gi,Gj,Gk)=(1,2,3) =: 0 +Num. of IJK with (Gi,Gj,Gk)=(1,3,0) =: 0 +Num. of IJK with (Gi,Gj,Gk)=(1,3,1) =: 0 +Num. of IJK with (Gi,Gj,Gk)=(1,3,2) =: 0 +Num. of IJK with (Gi,Gj,Gk)=(1,3,3) =: 0 +Num. of IJK with (Gi,Gj,Gk)=(2,0,0) =: 3 + thread 0: first_ijk=0, last_ijk=0 + thread 1: first_ijk=1, last_ijk=1 + thread 2: first_ijk=2, last_ijk=2 +Num. of IJK with (Gi,Gj,Gk)=(2,0,1) =: 0 +Num. of IJK with (Gi,Gj,Gk)=(2,0,2) =: 0 +Num. of IJK with (Gi,Gj,Gk)=(2,0,3) =: 0 +Num. of IJK with (Gi,Gj,Gk)=(2,1,0) =: 0 +Num. of IJK with (Gi,Gj,Gk)=(2,1,1) =: 0 +Num. of IJK with (Gi,Gj,Gk)=(2,1,2) =: 0 +Num. of IJK with (Gi,Gj,Gk)=(2,1,3) =: 0 +Num. of IJK with (Gi,Gj,Gk)=(2,2,0) =: 2 + thread 0: first_ijk=0, last_ijk=0 + thread 1: first_ijk=1, last_ijk=1 +Num. of IJK with (Gi,Gj,Gk)=(2,2,1) =: 0 +Num. of IJK with (Gi,Gj,Gk)=(2,2,2) =: 1 + thread 0: first_ijk=0, last_ijk=0 +Num. of IJK with (Gi,Gj,Gk)=(2,2,3) =: 0 +Num. of IJK with (Gi,Gj,Gk)=(2,3,0) =: 0 +Num. of IJK with (Gi,Gj,Gk)=(2,3,1) =: 0 +Num. of IJK with (Gi,Gj,Gk)=(2,3,2) =: 0 +Num. of IJK with (Gi,Gj,Gk)=(2,3,3) =: 0 +Num. of IJK with (Gi,Gj,Gk)=(3,0,0) =: 3 + thread 0: first_ijk=0, last_ijk=0 + thread 1: first_ijk=1, last_ijk=1 + thread 2: first_ijk=2, last_ijk=2 +Num. of IJK with (Gi,Gj,Gk)=(3,0,1) =: 0 +Num. of IJK with (Gi,Gj,Gk)=(3,0,2) =: 0 +Num. of IJK with (Gi,Gj,Gk)=(3,0,3) =: 0 +Num. of IJK with (Gi,Gj,Gk)=(3,1,0) =: 0 +Num. of IJK with (Gi,Gj,Gk)=(3,1,1) =: 0 +Num. of IJK with (Gi,Gj,Gk)=(3,1,2) =: 0 +Num. of IJK with (Gi,Gj,Gk)=(3,1,3) =: 0 +Num. of IJK with (Gi,Gj,Gk)=(3,2,0) =: 2 + thread 0: first_ijk=0, last_ijk=0 + thread 1: first_ijk=1, last_ijk=1 +Num. of IJK with (Gi,Gj,Gk)=(3,2,1) =: 0 +Num. of IJK with (Gi,Gj,Gk)=(3,2,2) =: 1 + thread 0: first_ijk=0, last_ijk=0 +Num. of IJK with (Gi,Gj,Gk)=(3,2,3) =: 0 +Num. of IJK with (Gi,Gj,Gk)=(3,3,0) =: 2 + thread 0: first_ijk=0, last_ijk=0 + thread 1: first_ijk=1, last_ijk=1 +Num. of IJK with (Gi,Gj,Gk)=(3,3,1) =: 0 +Num. of IJK with (Gi,Gj,Gk)=(3,3,2) =: 1 + thread 0: first_ijk=0, last_ijk=0 +Num. of IJK with (Gi,Gj,Gk)=(3,3,3) =: 1 + thread 0: first_ijk=0, last_ijk=0 diff --git a/tests/ref_data/reap_test/Disps/1/input.dat b/tests/ref_data/reap_test/Disps/1/input.dat new file mode 100644 index 00000000..6efb90f8 --- /dev/null +++ b/tests/ref_data/reap_test/Disps/1/input.dat @@ -0,0 +1,24 @@ +# o-Benzyne preliminary computations + +memory 14 gb + +molecule { + 0 1 + units bohr + H -0.0000000000 -1.4246254000 0.9959240800 + O 0.0000000000 0.0000000000 -0.1255045400 + H -0.0000000000 1.4246254000 0.9959240800 +} + +set { + basis cc-pvtz + reference rhf + e_convergence 10 + d_convergence 10 + r_convergence 8 + maxiter 300 + freeze_core True +} + +e, wfn = energy('ccsd(t)', return_wfn = True) +psi4.print_out('Giraffe The Energy is %.12f \n'%(e)) diff --git a/tests/ref_data/reap_test/Disps/1/output.dat b/tests/ref_data/reap_test/Disps/1/output.dat new file mode 100644 index 00000000..ff1a421f --- /dev/null +++ b/tests/ref_data/reap_test/Disps/1/output.dat @@ -0,0 +1,533 @@ + + ----------------------------------------------------------------------- + Psi4: An Open-Source Ab Initio Electronic Structure Package + Psi4 1.4a2.dev629 + + Git: Rev {master} 2938fc2 dirty + + + D. G. A. Smith, L. A. Burns, A. C. Simmonett, R. M. Parrish, + M. C. Schieber, R. Galvelis, P. Kraus, H. Kruse, R. Di Remigio, + A. Alenaizan, A. M. James, S. Lehtola, J. P. Misiewicz, M. Scheurer, + R. A. Shaw, J. B. Schriber, Y. Xie, Z. L. Glick, D. A. Sirianni, + J. S. O'Brien, J. M. Waldrop, A. Kumar, E. G. Hohenstein, + B. P. Pritchard, B. R. Brooks, H. F. Schaefer III, A. Yu. Sokolov, + K. Patkowski, A. E. DePrince III, U. Bozkaya, R. A. King, + F. A. Evangelista, J. M. Turney, T. D. Crawford, C. D. Sherrill, + J. Chem. Phys. 152(18) 184108 (2020). https://doi.org/10.1063/5.0006002 + + Additional Code Authors + E. T. Seidl, C. L. Janssen, E. F. Valeev, M. L. Leininger, + J. F. Gonthier, R. M. Richard, H. R. McAlexander, M. Saitow, X. Wang, + P. Verma, and M. H. Lechner + + Previous Authors, Complete List of Code Contributors, + and Citations for Specific Modules + https://github.com/psi4/psi4/blob/master/codemeta.json + https://github.com/psi4/psi4/graphs/contributors + http://psicode.org/psi4manual/master/introduction.html#citing-psifour + + ----------------------------------------------------------------------- + + + Psi4 started on: Monday, 24 October 2022 02:59PM + + Process ID: 161523 + Host: n070 + PSIDATADIR: /opt/psi/4/master/share/psi4 + Memory: 500.0 MiB + Threads: 4 + + ==> Input File <== + +-------------------------------------------------------------------------- +# o-Benzyne preliminary computations + +memory 14 gb + +molecule { + 0 1 + units bohr + H -0.0000000000 -1.4246254000 0.9959240800 + O 0.0000000000 0.0000000000 -0.1255045400 + H -0.0000000000 1.4246254000 0.9959240800 +} + +set { + basis cc-pvtz + reference rhf + e_convergence 10 + d_convergence 10 + r_convergence 8 + maxiter 300 + freeze_core True +} + +e, wfn = energy('ccsd(t)', return_wfn = True) +psi4.print_out('Giraffe The Energy is %.12f \n'%(e)) +-------------------------------------------------------------------------- + + Memory set to 13.039 GiB by Python driver. + +Scratch directory: /tmp/795504.1.gen5.q/ + +*** tstart() called on n070 +*** at Mon Oct 24 14:59:12 2022 + + => Loading Basis Set <= + + Name: CC-PVTZ + Role: ORBITAL + Keyword: BASIS + atoms 1, 3 entry H line 23 file /opt/psi/4/master/share/psi4/basis/cc-pvtz.gbs + atoms 2 entry O line 262 file /opt/psi/4/master/share/psi4/basis/cc-pvtz.gbs + + + --------------------------------------------------------- + SCF + by Justin Turney, Rob Parrish, Andy Simmonett + and Daniel G. A. Smith + RHF Reference + 4 Threads, 13351 MiB Core + --------------------------------------------------------- + + ==> Geometry <== + + Molecular point group: c2v + Full point group: C2v + + Geometry (in Bohr), charge = 0, multiplicity = 1: + + Center X Y Z Mass + ------------ ----------------- ----------------- ----------------- ----------------- + H 0.000000000000 -1.424625400000 0.995924078091 1.007825032230 + O 0.000000000000 0.000000000000 -0.125504541909 15.994914619570 + H -0.000000000000 1.424625400000 0.995924078091 1.007825032230 + + Running in c2v symmetry. + + Rotational constants: A = 26.74122 B = 14.71559 C = 9.49212 [cm^-1] + Rotational constants: A = 801681.62459 B = 441162.33894 C = 284566.48700 [MHz] + Nuclear repulsion = 9.175865170715298 + + Charge = 0 + Multiplicity = 1 + Electrons = 10 + Nalpha = 5 + Nbeta = 5 + + ==> Algorithm <== + + SCF Algorithm Type is PK. + DIIS enabled. + MOM disabled. + Fractional occupation disabled. + Guess Type is SAD. + Energy threshold = 1.00e-10 + Density threshold = 1.00e-10 + Integral threshold = 0.00e+00 + + ==> Primary Basis <== + + Basis Set: CC-PVTZ + Blend: CC-PVTZ + Number of shells: 22 + Number of basis function: 58 + Number of Cartesian functions: 65 + Spherical Harmonics?: true + Max angular momentum: 3 + + ==> Integral Setup <== + + Using in-core PK algorithm. + Calculation information: + Number of atoms: 3 + Number of AO shells: 22 + Number of primitives: 42 + Number of atomic orbitals: 65 + Number of basis functions: 58 + + Integral cutoff 1.00e-12 + Number of threads: 4 + + Performing in-core PK + Using 2929232 doubles for integral storage. + We computed 43467 shell quartets total. + Whereas there are 32131 unique shell quartets. + 35.28 percent of shell quartets recomputed by reordering. + + ==> DiskJK: Disk-Based J/K Matrices <== + + J tasked: Yes + K tasked: Yes + wK tasked: No + Memory [MiB]: 10013 + Schwarz Cutoff: 1E-12 + + OpenMP threads: 4 + + Minimum eigenvalue in the overlap matrix is 2.2512814586E-03. + Reciprocal condition number of the overlap matrix is 5.1641568133E-04. + Using symmetric orthogonalization. + + ==> Pre-Iterations <== + + SCF Guess: Superposition of Atomic Densities via on-the-fly atomic UHF (no occupation information). + + ------------------------- + Irrep Nso Nmo + ------------------------- + A1 23 23 + A2 7 7 + B1 11 11 + B2 17 17 + ------------------------- + Total 58 58 + ------------------------- + + ==> Iterations <== + + Total Energy Delta E RMS |[F,P]| + + @RHF iter SAD: -75.49984560216008 -7.54998e+01 0.00000e+00 + @RHF iter 1: -75.97838441582422 -4.78539e-01 1.43650e-02 DIIS + @RHF iter 2: -76.03096649682797 -5.25821e-02 9.29043e-03 DIIS + @RHF iter 3: -76.05653006434191 -2.55636e-02 6.93793e-04 DIIS + @RHF iter 4: -76.05691983418866 -3.89770e-04 1.69847e-04 DIIS + @RHF iter 5: -76.05694457289381 -2.47387e-05 3.51917e-05 DIIS + @RHF iter 6: -76.05694613288351 -1.55999e-06 6.79625e-06 DIIS + @RHF iter 7: -76.05694619215595 -5.92724e-08 1.07780e-06 DIIS + @RHF iter 8: -76.05694619337250 -1.21655e-09 1.64313e-07 DIIS + @RHF iter 9: -76.05694619340150 -2.90044e-11 4.59078e-08 DIIS + @RHF iter 10: -76.05694619340386 -2.35900e-12 6.00155e-09 DIIS + @RHF iter 11: -76.05694619340397 -1.13687e-13 8.43089e-10 DIIS + @RHF iter 12: -76.05694619340396 1.42109e-14 1.36270e-10 DIIS + @RHF iter 13: -76.05694619340400 -4.26326e-14 1.63432e-11 DIIS + Energy and wave function converged. + + + ==> Post-Iterations <== + + Orbital Energies [Eh] + --------------------- + + Doubly Occupied: + + 1A1 -20.555585 2A1 -1.345240 1B2 -0.706805 + 3A1 -0.579155 1B1 -0.504608 + + Virtual: + + 4A1 0.141864 2B2 0.204046 3B2 0.541748 + 5A1 0.604355 6A1 0.667973 2B1 0.787211 + 7A1 0.795792 4B2 0.805753 1A2 0.862648 + 3B1 0.951096 8A1 1.134430 5B2 1.198540 + 6B2 1.522759 9A1 1.564981 4B1 2.040301 + 7B2 2.054866 2A2 2.063150 10A1 2.172450 + 11A1 2.233608 12A1 2.584358 8B2 2.964767 + 5B1 3.346986 13A1 3.485413 3A2 3.588113 + 9B2 3.659077 6B1 3.797563 10B2 3.876436 + 14A1 3.886771 4A2 3.963406 7B1 4.016813 + 11B2 4.072642 15A1 4.191150 5A2 4.305823 + 16A1 4.374839 12B2 4.594262 8B1 4.682100 + 13B2 4.861668 17A1 5.157033 18A1 5.250132 + 14B2 5.523814 9B1 6.051625 19A1 6.574639 + 10B1 6.913903 6A2 6.937808 11B1 7.004305 + 20A1 7.017380 15B2 7.036960 21A1 7.176102 + 7A2 7.235069 22A1 7.449053 16B2 7.793111 + 17B2 8.286764 23A1 12.836801 + + Final Occupation by Irrep: + A1 A2 B1 B2 + DOCC [ 3, 0, 1, 1 ] + + @RHF Final Energy: -76.05694619340400 + + => Energetics <= + + Nuclear Repulsion Energy = 9.1758651707152978 + One-Electron Energy = -123.0828375213169750 + Two-Electron Energy = 37.8500261571976750 + Total Energy = -76.0569461934040021 + +Computation Completed + + +Properties will be evaluated at 0.000000, 0.000000, 0.000000 [a0] + +Properties computed using the SCF density matrix + + Nuclear Dipole Moment: [e a0] + X: 0.0000 Y: 0.0000 Z: 0.9878 + + Electronic Dipole Moment: [e a0] + X: 0.0000 Y: 0.0000 Z: -0.1846 + + Dipole Moment: [e a0] + X: 0.0000 Y: 0.0000 Z: 0.8032 Total: 0.8032 + + Dipole Moment: [D] + X: 0.0000 Y: 0.0000 Z: 2.0416 Total: 2.0416 + + +*** tstop() called on n070 at Mon Oct 24 14:59:13 2022 +Module time: + user time = 3.55 seconds = 0.06 minutes + system time = 0.05 seconds = 0.00 minutes + total time = 1 seconds = 0.02 minutes +Total time: + user time = 3.55 seconds = 0.06 minutes + system time = 0.05 seconds = 0.00 minutes + total time = 1 seconds = 0.02 minutes + MINTS: Wrapper to libmints. + by Justin Turney + + Calculation information: + Number of threads: 4 + Number of atoms: 3 + Number of AO shells: 22 + Number of SO shells: 16 + Number of primitives: 42 + Number of atomic orbitals: 65 + Number of basis functions: 58 + + Number of irreps: 4 + Integral cutoff 0.00e+00 + Number of functions per irrep: [ 23 7 11 17 ] + + OEINTS: Overlap, kinetic, potential, dipole, and quadrupole integrals + stored in file 35. + + Computing two-electron integrals...done + Computed 360572 non-zero two-electron integrals. + Stored in file 33. + + +*** tstart() called on n070 +*** at Mon Oct 24 14:59:13 2022 + + + Wfn Parameters: + -------------------- + Wavefunction = CCSD_T + Number of irreps = 4 + Number of MOs = 58 + Number of active MOs = 57 + AO-Basis = NONE + Semicanonical = false + Reference = RHF + Print Level = 1 + + IRREP # MOs # FZDC # DOCC # SOCC # VIRT # FZVR + ----- ----- ------ ------ ------ ------ ------ + A1 23 1 2 0 20 0 + A2 7 0 0 0 7 0 + B1 11 0 1 0 10 0 + B2 17 0 1 0 16 0 + Transforming integrals... + IWL integrals will be deleted. + (OO|OO)... + Presorting SO-basis two-electron integrals. + Sorting File: SO Ints (nn|nn) nbuckets = 1 + Transforming the one-electron integrals and constructing Fock matrices + Starting first half-transformation. + Sorting half-transformed integrals. + First half integral transformation complete. + Starting second half-transformation. + Two-electron integral transformation complete. + (OO|OV)... + Starting second half-transformation. + Two-electron integral transformation complete. + (OO|VV)... + Starting second half-transformation. + Two-electron integral transformation complete. + (OV|OO)... + Starting first half-transformation. + Sorting half-transformed integrals. + First half integral transformation complete. + Starting second half-transformation. + Two-electron integral transformation complete. + (OV|OV)... + Starting second half-transformation. + Two-electron integral transformation complete. + (OV|VV)... + Starting second half-transformation. + Two-electron integral transformation complete. + (VV|OO)... + Starting first half-transformation. + Sorting half-transformed integrals. + First half integral transformation complete. + Starting second half-transformation. + Two-electron integral transformation complete. + (VV|OV)... + Starting second half-transformation. + Two-electron integral transformation complete. + (VV|VV)... + Starting second half-transformation. + Two-electron integral transformation complete. + Frozen core energy = -61.31166475271053 + + Size of irrep 0 of integrals: 0.648 (MW) / 5.184 (MB) + Size of irrep 1 of integrals: 0.360 (MW) / 2.880 (MB) + Size of irrep 2 of integrals: 0.389 (MW) / 3.115 (MB) + Size of irrep 3 of integrals: 0.608 (MW) / 4.867 (MB) + Total: 2.006 (MW) / 16.046 (MB) + + Size of irrep 0 of integrals: 0.053 (MW) / 0.425 (MB) + Size of irrep 1 of integrals: 0.024 (MW) / 0.192 (MB) + Size of irrep 2 of integrals: 0.029 (MW) / 0.235 (MB) + Size of irrep 3 of integrals: 0.046 (MW) / 0.368 (MB) + Total: 0.152 (MW) / 1.220 (MB) + + Size of irrep 0 of tijab amplitudes: 0.005 (MW) / 0.039 (MB) + Size of irrep 1 of tijab amplitudes: 0.001 (MW) / 0.010 (MB) + Size of irrep 2 of tijab amplitudes: 0.002 (MW) / 0.020 (MB) + Size of irrep 3 of tijab amplitudes: 0.003 (MW) / 0.025 (MB) + Total: 0.012 (MW) / 0.093 (MB) + + Nuclear Rep. energy = 9.17586517071530 + SCF energy = -76.05694619340400 + One-electron energy = -41.57067770841164 + Two-electron energy = 17.64953109700307 + Reference energy = -76.05694619340380 + +*** tstop() called on n070 at Mon Oct 24 14:59:14 2022 +Module time: + user time = 0.42 seconds = 0.01 minutes + system time = 0.10 seconds = 0.00 minutes + total time = 1 seconds = 0.02 minutes +Total time: + user time = 4.36 seconds = 0.07 minutes + system time = 0.16 seconds = 0.00 minutes + total time = 2 seconds = 0.03 minutes + ************************** + * * + * CCENERGY * + * * + ************************** + + Nuclear Rep. energy (wfn) = 9.175865170715298 + SCF energy (wfn) = -76.056946193404002 + Reference energy (file100) = -76.056946193403803 + + Input parameters: + ----------------- + Wave function = CCSD_T + Reference wfn = RHF + Brueckner = No + Memory (Mbytes) = 14000.0 + Maxiter = 300 + R_Convergence = 1.0e-08 + E_Convergence = 1.0e-10 + Restart = Yes + DIIS = Yes + AO Basis = NONE + ABCD = NEW + Cache Level = 2 + Cache Type = LOW + Print Level = 1 + Num. of threads = 4 + # Amps to Print = 10 + Print MP2 Amps? = No + Analyze T2 Amps = No + Print Pair Ener = No + Local CC = No + SCS-MP2 = False + SCSN-MP2 = False + SCS-CCSD = False + +MP2 correlation energy -0.2617111539921139 + Solving CC Amplitude Equations + ------------------------------ + Iter Energy RMS T1Diag D1Diag New D1Diag D2Diag + ---- --------------------- --------- ---------- ---------- ---------- -------- + 0 -0.261711153992114 0.000e+00 0.000000 0.000000 0.000000 0.116210 + 1 -0.262027959170023 2.912e-02 0.005707 0.009297 0.009297 0.119871 + 2 -0.266874495062261 1.004e-02 0.005905 0.009456 0.009456 0.124553 + 3 -0.267584649606283 3.225e-03 0.006493 0.010594 0.010594 0.126205 + 4 -0.267576929915734 6.557e-04 0.006531 0.010686 0.010686 0.126413 + 5 -0.267598849025209 2.070e-04 0.006551 0.010776 0.010776 0.126461 + 6 -0.267599392081675 6.175e-05 0.006557 0.010812 0.010812 0.126457 + 7 -0.267599477275411 1.982e-05 0.006560 0.010828 0.010828 0.126456 + 8 -0.267599166329532 5.098e-06 0.006561 0.010833 0.010833 0.126455 + 9 -0.267599077305756 1.048e-06 0.006561 0.010833 0.010833 0.126455 + 10 -0.267599090227977 2.347e-07 0.006561 0.010833 0.010833 0.126455 + 11 -0.267599088923969 4.559e-08 0.006561 0.010834 0.010834 0.126455 + 12 -0.267599090549703 1.010e-08 0.006561 0.010834 0.010834 0.126455 + 13 -0.267599090587878 2.426e-09 0.006561 0.010834 0.010834 0.126455 + 14 -0.267599090597044 6.036e-10 0.006561 0.010834 0.010834 0.126455 + + Iterations converged. + + + Largest TIA Amplitudes: + 2 27 -0.0075232754 + 1 0 0.0058497681 + 3 41 -0.0058208327 + 2 28 -0.0049346779 + 1 3 -0.0045601107 + 1 5 -0.0041865631 + 0 2 -0.0040247505 + 1 2 0.0038579510 + 3 46 -0.0038475697 + 1 11 -0.0037850582 + + Largest TIjAb Amplitudes: + 2 2 27 27 -0.0476609522 + 1 1 2 2 -0.0295849536 + 3 3 38 38 -0.0270795588 + 1 2 2 27 0.0259253229 + 2 1 27 2 0.0259253229 + 3 3 1 1 -0.0253314480 + 3 3 39 39 -0.0226715320 + 2 3 27 39 0.0222651857 + 3 2 39 27 0.0222651857 + 1 1 38 38 -0.0221567795 + + SCF energy (wfn) = -76.056946193404002 + Reference energy (file100) = -76.056946193403803 + + Opposite-spin MP2 correlation energy = -0.198148415814943 + Same-spin MP2 correlation energy = -0.063562738177171 + Singles MP2 correlation energy = -0.000000000000000 + MP2 correlation energy = -0.261711153992114 + * MP2 total energy = -76.318657347395913 + + Opposite-spin CCSD correlation energy = -0.210925239256676 + Same-spin CCSD correlation energy = -0.056673851340368 + Singles CCSD correlation energy = 0.000000000000000 + CCSD correlation energy = -0.267599090597044 + * CCSD total energy = -76.324545284000848 + + ************************** + * * + * CCTRIPLES * + * * + ************************** + + + Wave function = CCSD_T + Reference wfn = RHF + + Nuclear Rep. energy (wfn) = 9.175865170715298 + SCF energy (wfn) = -76.056946193404002 + Reference energy (file100) = -76.056946193403803 + CCSD energy (file100) = -0.267599090597044 + Total CCSD energy (file100) = -76.324545284000848 + + Number of ijk index combinations: 20 + Memory available in words : 1750000000 + ~Words needed per explicit thread: 32000 + Number of threads for explicit ijk threading: 4 + + MKL num_threads set to 1 for explicit threading. + + (T) energy = -0.007671234894980 + * CCSD(T) total energy = -76.332216518895819 + +Giraffe The Energy is -76.332216518896 + + Psi4 stopped on: Monday, 24 October 2022 02:59PM + Psi4 wall time for execution: 0:00:06.11 + +*** Psi4 exiting successfully. Buy a developer a beer! diff --git a/tests/ref_data/reap_test/Disps/1/timer.dat b/tests/ref_data/reap_test/Disps/1/timer.dat new file mode 100644 index 00000000..23fdab1c --- /dev/null +++ b/tests/ref_data/reap_test/Disps/1/timer.dat @@ -0,0 +1,92 @@ + +Host: n070 + +Timers On : Mon Oct 24 14:59:09 2022 +Timers Off: Mon Oct 24 14:59:18 2022 + +Wall Time: 8.15 seconds + + Time (seconds) +Module User System Wall Calls +Total PK formation time : 1.350u 0.000s 0.382w 1 calls +HF: Form core H : 0.083u 0.017s 0.013w 1 calls +HF: Form S/X : 0.000u 0.000s 0.001w 1 calls +HF: Guess : 2.583u 0.050s 0.413w 1 calls +SAD Guess : 2.433u 0.050s 0.392w 1 calls +HF: Form G : 0.367u 0.000s 0.058w 14 calls +JK: D : 0.000u 0.000s 0.000w 14 calls +JK: USO2AO : 0.017u 0.000s 0.001w 14 calls +JK: JK : 0.333u 0.000s 0.055w 14 calls +PK computes JK : 0.333u 0.000s 0.055w 14 calls +JK: AO2USO : 0.017u 0.000s 0.001w 14 calls +HF: Form F : 0.000u 0.000s 0.000w 14 calls +HF: Form D : 0.000u 0.000s 0.000w 14 calls +HF: DIIS : 0.017u 0.000s 0.010w 13 calls +DIISManager::add_entry : 0.000u 0.000s 0.002w 13 calls +DIISManager::extrapolate : 0.000u 0.000s 0.002w 13 calls +bMatrix setup : 0.000u 0.000s 0.001w 13 calls +bMatrix pseudoinverse : 0.000u 0.000s 0.001w 13 calls +New vector : 0.000u 0.000s 0.000w 13 calls +HF: Form C : 0.000u 0.000s 0.002w 13 calls +ccenergy : 12.117u 1.117s 3.349w 1 calls +F build : 0.100u 0.033s 0.036w 14 calls +Wmbej build : 0.267u 0.033s 0.065w 14 calls +C->Wmbej : 0.000u 0.000s 0.003w 14 calls +F->Wmbej : 0.117u 0.033s 0.038w 14 calls +E->Wmbej : 0.083u 0.000s 0.009w 14 calls +X->Wmbej : 0.050u 0.000s 0.012w 14 calls +Z : 0.000u 0.017s 0.008w 14 calls +T2 Build : 1.500u 0.300s 0.260w 14 calls +BT2 : 0.950u 0.183s 0.173w 14 calls +ABCD:new : 0.950u 0.183s 0.173w 14 calls +ABCD:S : 0.133u 0.017s 0.029w 14 calls +ABCD:A : 0.133u 0.033s 0.028w 14 calls +ABCD:axpy : 0.617u 0.133s 0.109w 14 calls +FT2 : 0.083u 0.017s 0.010w 14 calls +WmbejT2 : 0.150u 0.050s 0.020w 14 calls +CT2 : 0.167u 0.017s 0.031w 14 calls +cctriples : 1.150u 0.067s 0.543w 1 calls +ET_RHF : 0.350u 0.017s 0.058w 1 calls + +-------------------------------------------------------------------------------------- +Total PK formation time : 1.350u 0.000s 0.382w 1 calls +HF: Form core H : 0.083u 0.017s 0.013w 1 calls +HF: Form S/X : 0.000u 0.000s 0.001w 1 calls +HF: Guess : 2.583u 0.050s 0.413w 1 calls +| SAD Guess : 2.433u 0.050s 0.392w 1 calls +HF: Form G : 0.367u 0.000s 0.058w 14 calls +| JK: D : 0.000u 0.000s 0.000w 14 calls +| JK: USO2AO : 0.017u 0.000s 0.001w 14 calls +| JK: JK : 0.333u 0.000s 0.055w 14 calls +| | PK computes JK : 0.333u 0.000s 0.055w 14 calls +| JK: AO2USO : 0.017u 0.000s 0.001w 14 calls +HF: Form F : 0.000u 0.000s 0.000w 14 calls +HF: Form D : 0.000u 0.000s 0.000w 14 calls +HF: DIIS : 0.017u 0.000s 0.010w 13 calls +| DIISManager::add_entry : 0.000u 0.000s 0.002w 13 calls +| DIISManager::extrapolate : 0.000u 0.000s 0.002w 13 calls +| | bMatrix setup : 0.000u 0.000s 0.001w 13 calls +| | bMatrix pseudoinverse : 0.000u 0.000s 0.001w 13 calls +| | New vector : 0.000u 0.000s 0.000w 13 calls +HF: Form C : 0.000u 0.000s 0.002w 13 calls +ccenergy : 12.117u 1.117s 3.349w 1 calls +| F build : 0.100u 0.033s 0.036w 14 calls +| Wmbej build : 0.267u 0.033s 0.065w 14 calls +| | C->Wmbej : 0.000u 0.000s 0.003w 14 calls +| | F->Wmbej : 0.117u 0.033s 0.038w 14 calls +| | E->Wmbej : 0.083u 0.000s 0.009w 14 calls +| | X->Wmbej : 0.050u 0.000s 0.012w 14 calls +| Z : 0.000u 0.017s 0.008w 14 calls +| T2 Build : 1.500u 0.300s 0.260w 14 calls +| | BT2 : 0.950u 0.183s 0.173w 14 calls +| | | ABCD:new : 0.950u 0.183s 0.173w 14 calls +| | | | ABCD:S : 0.133u 0.017s 0.029w 14 calls +| | | | ABCD:A : 0.133u 0.033s 0.028w 14 calls +| | | | ABCD:axpy : 0.617u 0.133s 0.109w 14 calls +| | FT2 : 0.083u 0.017s 0.010w 14 calls +| | WmbejT2 : 0.150u 0.050s 0.020w 14 calls +| | CT2 : 0.167u 0.017s 0.031w 14 calls +cctriples : 1.150u 0.067s 0.543w 1 calls +| ET_RHF : 0.350u 0.017s 0.058w 1 calls + +************************************************************************************** diff --git a/tests/ref_data/reap_test/Disps/2/ijk.dat b/tests/ref_data/reap_test/Disps/2/ijk.dat new file mode 100644 index 00000000..502f5c85 --- /dev/null +++ b/tests/ref_data/reap_test/Disps/2/ijk.dat @@ -0,0 +1,85 @@ +Total number of IJK combinations =: 20 +Num. of IJK with (Gi,Gj,Gk)=(0,0,0) =: 4 + thread 0: first_ijk=0, last_ijk=0 + thread 1: first_ijk=1, last_ijk=1 + thread 2: first_ijk=2, last_ijk=2 + thread 3: first_ijk=3, last_ijk=3 +Num. of IJK with (Gi,Gj,Gk)=(0,0,1) =: 0 +Num. of IJK with (Gi,Gj,Gk)=(0,0,2) =: 0 +Num. of IJK with (Gi,Gj,Gk)=(0,0,3) =: 0 +Num. of IJK with (Gi,Gj,Gk)=(0,1,0) =: 0 +Num. of IJK with (Gi,Gj,Gk)=(0,1,1) =: 0 +Num. of IJK with (Gi,Gj,Gk)=(0,1,2) =: 0 +Num. of IJK with (Gi,Gj,Gk)=(0,1,3) =: 0 +Num. of IJK with (Gi,Gj,Gk)=(0,2,0) =: 0 +Num. of IJK with (Gi,Gj,Gk)=(0,2,1) =: 0 +Num. of IJK with (Gi,Gj,Gk)=(0,2,2) =: 0 +Num. of IJK with (Gi,Gj,Gk)=(0,2,3) =: 0 +Num. of IJK with (Gi,Gj,Gk)=(0,3,0) =: 0 +Num. of IJK with (Gi,Gj,Gk)=(0,3,1) =: 0 +Num. of IJK with (Gi,Gj,Gk)=(0,3,2) =: 0 +Num. of IJK with (Gi,Gj,Gk)=(0,3,3) =: 0 +Num. of IJK with (Gi,Gj,Gk)=(1,0,0) =: 0 +Num. of IJK with (Gi,Gj,Gk)=(1,0,1) =: 0 +Num. of IJK with (Gi,Gj,Gk)=(1,0,2) =: 0 +Num. of IJK with (Gi,Gj,Gk)=(1,0,3) =: 0 +Num. of IJK with (Gi,Gj,Gk)=(1,1,0) =: 0 +Num. of IJK with (Gi,Gj,Gk)=(1,1,1) =: 0 +Num. of IJK with (Gi,Gj,Gk)=(1,1,2) =: 0 +Num. of IJK with (Gi,Gj,Gk)=(1,1,3) =: 0 +Num. of IJK with (Gi,Gj,Gk)=(1,2,0) =: 0 +Num. of IJK with (Gi,Gj,Gk)=(1,2,1) =: 0 +Num. of IJK with (Gi,Gj,Gk)=(1,2,2) =: 0 +Num. of IJK with (Gi,Gj,Gk)=(1,2,3) =: 0 +Num. of IJK with (Gi,Gj,Gk)=(1,3,0) =: 0 +Num. of IJK with (Gi,Gj,Gk)=(1,3,1) =: 0 +Num. of IJK with (Gi,Gj,Gk)=(1,3,2) =: 0 +Num. of IJK with (Gi,Gj,Gk)=(1,3,3) =: 0 +Num. of IJK with (Gi,Gj,Gk)=(2,0,0) =: 3 + thread 0: first_ijk=0, last_ijk=0 + thread 1: first_ijk=1, last_ijk=1 + thread 2: first_ijk=2, last_ijk=2 +Num. of IJK with (Gi,Gj,Gk)=(2,0,1) =: 0 +Num. of IJK with (Gi,Gj,Gk)=(2,0,2) =: 0 +Num. of IJK with (Gi,Gj,Gk)=(2,0,3) =: 0 +Num. of IJK with (Gi,Gj,Gk)=(2,1,0) =: 0 +Num. of IJK with (Gi,Gj,Gk)=(2,1,1) =: 0 +Num. of IJK with (Gi,Gj,Gk)=(2,1,2) =: 0 +Num. of IJK with (Gi,Gj,Gk)=(2,1,3) =: 0 +Num. of IJK with (Gi,Gj,Gk)=(2,2,0) =: 2 + thread 0: first_ijk=0, last_ijk=0 + thread 1: first_ijk=1, last_ijk=1 +Num. of IJK with (Gi,Gj,Gk)=(2,2,1) =: 0 +Num. of IJK with (Gi,Gj,Gk)=(2,2,2) =: 1 + thread 0: first_ijk=0, last_ijk=0 +Num. of IJK with (Gi,Gj,Gk)=(2,2,3) =: 0 +Num. of IJK with (Gi,Gj,Gk)=(2,3,0) =: 0 +Num. of IJK with (Gi,Gj,Gk)=(2,3,1) =: 0 +Num. of IJK with (Gi,Gj,Gk)=(2,3,2) =: 0 +Num. of IJK with (Gi,Gj,Gk)=(2,3,3) =: 0 +Num. of IJK with (Gi,Gj,Gk)=(3,0,0) =: 3 + thread 0: first_ijk=0, last_ijk=0 + thread 1: first_ijk=1, last_ijk=1 + thread 2: first_ijk=2, last_ijk=2 +Num. of IJK with (Gi,Gj,Gk)=(3,0,1) =: 0 +Num. of IJK with (Gi,Gj,Gk)=(3,0,2) =: 0 +Num. of IJK with (Gi,Gj,Gk)=(3,0,3) =: 0 +Num. of IJK with (Gi,Gj,Gk)=(3,1,0) =: 0 +Num. of IJK with (Gi,Gj,Gk)=(3,1,1) =: 0 +Num. of IJK with (Gi,Gj,Gk)=(3,1,2) =: 0 +Num. of IJK with (Gi,Gj,Gk)=(3,1,3) =: 0 +Num. of IJK with (Gi,Gj,Gk)=(3,2,0) =: 2 + thread 0: first_ijk=0, last_ijk=0 + thread 1: first_ijk=1, last_ijk=1 +Num. of IJK with (Gi,Gj,Gk)=(3,2,1) =: 0 +Num. of IJK with (Gi,Gj,Gk)=(3,2,2) =: 1 + thread 0: first_ijk=0, last_ijk=0 +Num. of IJK with (Gi,Gj,Gk)=(3,2,3) =: 0 +Num. of IJK with (Gi,Gj,Gk)=(3,3,0) =: 2 + thread 0: first_ijk=0, last_ijk=0 + thread 1: first_ijk=1, last_ijk=1 +Num. of IJK with (Gi,Gj,Gk)=(3,3,1) =: 0 +Num. of IJK with (Gi,Gj,Gk)=(3,3,2) =: 1 + thread 0: first_ijk=0, last_ijk=0 +Num. of IJK with (Gi,Gj,Gk)=(3,3,3) =: 1 + thread 0: first_ijk=0, last_ijk=0 diff --git a/tests/ref_data/reap_test/Disps/2/input.dat b/tests/ref_data/reap_test/Disps/2/input.dat new file mode 100644 index 00000000..0f7254a8 --- /dev/null +++ b/tests/ref_data/reap_test/Disps/2/input.dat @@ -0,0 +1,24 @@ +# o-Benzyne preliminary computations + +memory 14 gb + +molecule { + 0 1 + units bohr + H 0.0000000000 -1.4297526393 0.9934268630 + O 0.0000000000 -0.0000000000 -0.1205101060 + H 0.0000000000 1.4297526393 0.9934268630 +} + +set { + basis cc-pvtz + reference rhf + e_convergence 10 + d_convergence 10 + r_convergence 8 + maxiter 300 + freeze_core True +} + +e, wfn = energy('ccsd(t)', return_wfn = True) +psi4.print_out('Giraffe The Energy is %.12f \n'%(e)) diff --git a/tests/ref_data/reap_test/Disps/2/output.dat b/tests/ref_data/reap_test/Disps/2/output.dat new file mode 100644 index 00000000..aac51665 --- /dev/null +++ b/tests/ref_data/reap_test/Disps/2/output.dat @@ -0,0 +1,533 @@ + + ----------------------------------------------------------------------- + Psi4: An Open-Source Ab Initio Electronic Structure Package + Psi4 1.4a2.dev629 + + Git: Rev {master} 2938fc2 dirty + + + D. G. A. Smith, L. A. Burns, A. C. Simmonett, R. M. Parrish, + M. C. Schieber, R. Galvelis, P. Kraus, H. Kruse, R. Di Remigio, + A. Alenaizan, A. M. James, S. Lehtola, J. P. Misiewicz, M. Scheurer, + R. A. Shaw, J. B. Schriber, Y. Xie, Z. L. Glick, D. A. Sirianni, + J. S. O'Brien, J. M. Waldrop, A. Kumar, E. G. Hohenstein, + B. P. Pritchard, B. R. Brooks, H. F. Schaefer III, A. Yu. Sokolov, + K. Patkowski, A. E. DePrince III, U. Bozkaya, R. A. King, + F. A. Evangelista, J. M. Turney, T. D. Crawford, C. D. Sherrill, + J. Chem. Phys. 152(18) 184108 (2020). https://doi.org/10.1063/5.0006002 + + Additional Code Authors + E. T. Seidl, C. L. Janssen, E. F. Valeev, M. L. Leininger, + J. F. Gonthier, R. M. Richard, H. R. McAlexander, M. Saitow, X. Wang, + P. Verma, and M. H. Lechner + + Previous Authors, Complete List of Code Contributors, + and Citations for Specific Modules + https://github.com/psi4/psi4/blob/master/codemeta.json + https://github.com/psi4/psi4/graphs/contributors + http://psicode.org/psi4manual/master/introduction.html#citing-psifour + + ----------------------------------------------------------------------- + + + Psi4 started on: Monday, 24 October 2022 02:59PM + + Process ID: 7803 + Host: n077 + PSIDATADIR: /opt/psi/4/master/share/psi4 + Memory: 500.0 MiB + Threads: 4 + + ==> Input File <== + +-------------------------------------------------------------------------- +# o-Benzyne preliminary computations + +memory 14 gb + +molecule { + 0 1 + units bohr + H 0.0000000000 -1.4297526393 0.9934268630 + O 0.0000000000 -0.0000000000 -0.1205101060 + H 0.0000000000 1.4297526393 0.9934268630 +} + +set { + basis cc-pvtz + reference rhf + e_convergence 10 + d_convergence 10 + r_convergence 8 + maxiter 300 + freeze_core True +} + +e, wfn = energy('ccsd(t)', return_wfn = True) +psi4.print_out('Giraffe The Energy is %.12f \n'%(e)) +-------------------------------------------------------------------------- + + Memory set to 13.039 GiB by Python driver. + +Scratch directory: /tmp/795504.2.gen6.q/ + +*** tstart() called on n077 +*** at Mon Oct 24 14:59:07 2022 + + => Loading Basis Set <= + + Name: CC-PVTZ + Role: ORBITAL + Keyword: BASIS + atoms 1, 3 entry H line 23 file /opt/psi/4/master/share/psi4/basis/cc-pvtz.gbs + atoms 2 entry O line 262 file /opt/psi/4/master/share/psi4/basis/cc-pvtz.gbs + + + --------------------------------------------------------- + SCF + by Justin Turney, Rob Parrish, Andy Simmonett + and Daniel G. A. Smith + RHF Reference + 4 Threads, 13351 MiB Core + --------------------------------------------------------- + + ==> Geometry <== + + Molecular point group: c2v + Full point group: C2v + + Geometry (in Bohr), charge = 0, multiplicity = 1: + + Center X Y Z Mass + ------------ ----------------- ----------------- ----------------- ----------------- + H 0.000000000000 -1.429752639300 0.989270854263 1.007825032230 + O 0.000000000000 0.000000000000 -0.124666114737 15.994914619570 + H -0.000000000000 1.429752639300 0.989270854263 1.007825032230 + + Running in c2v symmetry. + + Rotational constants: A = 27.10212 B = 14.61024 C = 9.49283 [cm^-1] + Rotational constants: A = 812501.11467 B = 438003.90574 C = 284587.95114 [MHz] + Nuclear repulsion = 9.177442250434311 + + Charge = 0 + Multiplicity = 1 + Electrons = 10 + Nalpha = 5 + Nbeta = 5 + + ==> Algorithm <== + + SCF Algorithm Type is PK. + DIIS enabled. + MOM disabled. + Fractional occupation disabled. + Guess Type is SAD. + Energy threshold = 1.00e-10 + Density threshold = 1.00e-10 + Integral threshold = 0.00e+00 + + ==> Primary Basis <== + + Basis Set: CC-PVTZ + Blend: CC-PVTZ + Number of shells: 22 + Number of basis function: 58 + Number of Cartesian functions: 65 + Spherical Harmonics?: true + Max angular momentum: 3 + + ==> Integral Setup <== + + Using in-core PK algorithm. + Calculation information: + Number of atoms: 3 + Number of AO shells: 22 + Number of primitives: 42 + Number of atomic orbitals: 65 + Number of basis functions: 58 + + Integral cutoff 1.00e-12 + Number of threads: 4 + + Performing in-core PK + Using 2929232 doubles for integral storage. + We computed 43467 shell quartets total. + Whereas there are 32131 unique shell quartets. + 35.28 percent of shell quartets recomputed by reordering. + + ==> DiskJK: Disk-Based J/K Matrices <== + + J tasked: Yes + K tasked: Yes + wK tasked: No + Memory [MiB]: 10013 + Schwarz Cutoff: 1E-12 + + OpenMP threads: 4 + + Minimum eigenvalue in the overlap matrix is 2.2456298047E-03. + Reciprocal condition number of the overlap matrix is 5.1529959503E-04. + Using symmetric orthogonalization. + + ==> Pre-Iterations <== + + SCF Guess: Superposition of Atomic Densities via on-the-fly atomic UHF (no occupation information). + + ------------------------- + Irrep Nso Nmo + ------------------------- + A1 23 23 + A2 7 7 + B1 11 11 + B2 17 17 + ------------------------- + Total 58 58 + ------------------------- + + ==> Iterations <== + + Total Energy Delta E RMS |[F,P]| + + @RHF iter SAD: -75.49958246547348 -7.54996e+01 0.00000e+00 + @RHF iter 1: -75.97854473848278 -4.78962e-01 1.43642e-02 DIIS + @RHF iter 2: -76.03109899172595 -5.25543e-02 9.28030e-03 DIIS + @RHF iter 3: -76.05659738098460 -2.54984e-02 6.93094e-04 DIIS + @RHF iter 4: -76.05698718430075 -3.89803e-04 1.69551e-04 DIIS + @RHF iter 5: -76.05701186000508 -2.46757e-05 3.51183e-05 DIIS + @RHF iter 6: -76.05701341920536 -1.55920e-06 6.81100e-06 DIIS + @RHF iter 7: -76.05701347917001 -5.99646e-08 1.09264e-06 DIIS + @RHF iter 8: -76.05701348044036 -1.27035e-09 1.68835e-07 DIIS + @RHF iter 9: -76.05701348047137 -3.10081e-11 4.71630e-08 DIIS + @RHF iter 10: -76.05701348047405 -2.68585e-12 6.02384e-09 DIIS + @RHF iter 11: -76.05701348047407 -1.42109e-14 8.45213e-10 DIIS + @RHF iter 12: -76.05701348047408 -1.42109e-14 1.36131e-10 DIIS + @RHF iter 13: -76.05701348047404 4.26326e-14 1.65177e-11 DIIS + Energy and wave function converged. + + + ==> Post-Iterations <== + + Orbital Energies [Eh] + --------------------- + + Doubly Occupied: + + 1A1 -20.555247 2A1 -1.344962 1B2 -0.708072 + 3A1 -0.578073 1B1 -0.504441 + + Virtual: + + 4A1 0.142005 2B2 0.203955 3B2 0.542836 + 5A1 0.602471 6A1 0.668309 2B1 0.787320 + 7A1 0.798649 4B2 0.805413 1A2 0.861487 + 3B1 0.953532 8A1 1.133527 5B2 1.197057 + 6B2 1.524424 9A1 1.564200 4B1 2.037805 + 7B2 2.054834 2A2 2.064523 10A1 2.171528 + 11A1 2.234284 12A1 2.587261 8B2 2.963349 + 5B1 3.352471 13A1 3.488444 3A2 3.583588 + 9B2 3.655966 6B1 3.798682 10B2 3.876794 + 14A1 3.885327 4A2 3.961742 7B1 4.018160 + 11B2 4.074463 15A1 4.190874 5A2 4.309027 + 16A1 4.381633 12B2 4.585827 8B1 4.683149 + 13B2 4.861688 17A1 5.154393 18A1 5.250844 + 14B2 5.525901 9B1 6.049872 19A1 6.568411 + 10B1 6.917197 6A2 6.939537 11B1 7.002952 + 20A1 7.017225 15B2 7.050458 21A1 7.170208 + 7A2 7.234183 22A1 7.452624 16B2 7.791420 + 17B2 8.284053 23A1 12.844900 + + Final Occupation by Irrep: + A1 A2 B1 B2 + DOCC [ 3, 0, 1, 1 ] + + @RHF Final Energy: -76.05701348047404 + + => Energetics <= + + Nuclear Repulsion Energy = 9.1774422504343107 + One-Electron Energy = -123.0873212408864390 + Two-Electron Energy = 37.8528655099780877 + Total Energy = -76.0570134804740405 + +Computation Completed + + +Properties will be evaluated at 0.000000, 0.000000, 0.000000 [a0] + +Properties computed using the SCF density matrix + + Nuclear Dipole Moment: [e a0] + X: 0.0000 Y: 0.0000 Z: 0.9812 + + Electronic Dipole Moment: [e a0] + X: 0.0000 Y: 0.0000 Z: -0.1817 + + Dipole Moment: [e a0] + X: 0.0000 Y: 0.0000 Z: 0.7995 Total: 0.7995 + + Dipole Moment: [D] + X: 0.0000 Y: 0.0000 Z: 2.0322 Total: 2.0322 + + +*** tstop() called on n077 at Mon Oct 24 14:59:08 2022 +Module time: + user time = 1.68 seconds = 0.03 minutes + system time = 0.02 seconds = 0.00 minutes + total time = 1 seconds = 0.02 minutes +Total time: + user time = 1.68 seconds = 0.03 minutes + system time = 0.02 seconds = 0.00 minutes + total time = 1 seconds = 0.02 minutes + MINTS: Wrapper to libmints. + by Justin Turney + + Calculation information: + Number of threads: 4 + Number of atoms: 3 + Number of AO shells: 22 + Number of SO shells: 16 + Number of primitives: 42 + Number of atomic orbitals: 65 + Number of basis functions: 58 + + Number of irreps: 4 + Integral cutoff 0.00e+00 + Number of functions per irrep: [ 23 7 11 17 ] + + OEINTS: Overlap, kinetic, potential, dipole, and quadrupole integrals + stored in file 35. + + Computing two-electron integrals...done + Computed 359314 non-zero two-electron integrals. + Stored in file 33. + + +*** tstart() called on n077 +*** at Mon Oct 24 14:59:08 2022 + + + Wfn Parameters: + -------------------- + Wavefunction = CCSD_T + Number of irreps = 4 + Number of MOs = 58 + Number of active MOs = 57 + AO-Basis = NONE + Semicanonical = false + Reference = RHF + Print Level = 1 + + IRREP # MOs # FZDC # DOCC # SOCC # VIRT # FZVR + ----- ----- ------ ------ ------ ------ ------ + A1 23 1 2 0 20 0 + A2 7 0 0 0 7 0 + B1 11 0 1 0 10 0 + B2 17 0 1 0 16 0 + Transforming integrals... + IWL integrals will be deleted. + (OO|OO)... + Presorting SO-basis two-electron integrals. + Sorting File: SO Ints (nn|nn) nbuckets = 1 + Transforming the one-electron integrals and constructing Fock matrices + Starting first half-transformation. + Sorting half-transformed integrals. + First half integral transformation complete. + Starting second half-transformation. + Two-electron integral transformation complete. + (OO|OV)... + Starting second half-transformation. + Two-electron integral transformation complete. + (OO|VV)... + Starting second half-transformation. + Two-electron integral transformation complete. + (OV|OO)... + Starting first half-transformation. + Sorting half-transformed integrals. + First half integral transformation complete. + Starting second half-transformation. + Two-electron integral transformation complete. + (OV|OV)... + Starting second half-transformation. + Two-electron integral transformation complete. + (OV|VV)... + Starting second half-transformation. + Two-electron integral transformation complete. + (VV|OO)... + Starting first half-transformation. + Sorting half-transformed integrals. + First half integral transformation complete. + Starting second half-transformation. + Two-electron integral transformation complete. + (VV|OV)... + Starting second half-transformation. + Two-electron integral transformation complete. + (VV|VV)... + Starting second half-transformation. + Two-electron integral transformation complete. + Frozen core energy = -61.31236959208407 + + Size of irrep 0 of integrals: 0.648 (MW) / 5.184 (MB) + Size of irrep 1 of integrals: 0.360 (MW) / 2.880 (MB) + Size of irrep 2 of integrals: 0.389 (MW) / 3.115 (MB) + Size of irrep 3 of integrals: 0.608 (MW) / 4.867 (MB) + Total: 2.006 (MW) / 16.046 (MB) + + Size of irrep 0 of integrals: 0.053 (MW) / 0.425 (MB) + Size of irrep 1 of integrals: 0.024 (MW) / 0.192 (MB) + Size of irrep 2 of integrals: 0.029 (MW) / 0.235 (MB) + Size of irrep 3 of integrals: 0.046 (MW) / 0.368 (MB) + Total: 0.152 (MW) / 1.220 (MB) + + Size of irrep 0 of tijab amplitudes: 0.005 (MW) / 0.039 (MB) + Size of irrep 1 of tijab amplitudes: 0.001 (MW) / 0.010 (MB) + Size of irrep 2 of tijab amplitudes: 0.002 (MW) / 0.020 (MB) + Size of irrep 3 of tijab amplitudes: 0.003 (MW) / 0.025 (MB) + Total: 0.012 (MW) / 0.093 (MB) + + Nuclear Rep. energy = 9.17744225043431 + SCF energy = -76.05701348047404 + One-electron energy = -41.57307648171895 + Two-electron energy = 17.65099034289468 + Reference energy = -76.05701348047404 + +*** tstop() called on n077 at Mon Oct 24 14:59:08 2022 +Module time: + user time = 0.43 seconds = 0.01 minutes + system time = 0.06 seconds = 0.00 minutes + total time = 0 seconds = 0.00 minutes +Total time: + user time = 2.55 seconds = 0.04 minutes + system time = 0.09 seconds = 0.00 minutes + total time = 1 seconds = 0.02 minutes + ************************** + * * + * CCENERGY * + * * + ************************** + + Nuclear Rep. energy (wfn) = 9.177442250434311 + SCF energy (wfn) = -76.057013480474041 + Reference energy (file100) = -76.057013480474041 + + Input parameters: + ----------------- + Wave function = CCSD_T + Reference wfn = RHF + Brueckner = No + Memory (Mbytes) = 14000.0 + Maxiter = 300 + R_Convergence = 1.0e-08 + E_Convergence = 1.0e-10 + Restart = Yes + DIIS = Yes + AO Basis = NONE + ABCD = NEW + Cache Level = 2 + Cache Type = LOW + Print Level = 1 + Num. of threads = 4 + # Amps to Print = 10 + Print MP2 Amps? = No + Analyze T2 Amps = No + Print Pair Ener = No + Local CC = No + SCS-MP2 = False + SCSN-MP2 = False + SCS-CCSD = False + +MP2 correlation energy -0.2616341709629163 + Solving CC Amplitude Equations + ------------------------------ + Iter Energy RMS T1Diag D1Diag New D1Diag D2Diag + ---- --------------------- --------- ---------- ---------- ---------- -------- + 0 -0.261634170962916 0.000e+00 0.000000 0.000000 0.000000 0.116111 + 1 -0.261971111169574 2.908e-02 0.005693 0.009278 0.009278 0.119779 + 2 -0.266811235343318 1.003e-02 0.005891 0.009440 0.009440 0.124449 + 3 -0.267517774288192 3.216e-03 0.006476 0.010574 0.010574 0.126092 + 4 -0.267510376581931 6.543e-04 0.006514 0.010667 0.010667 0.126299 + 5 -0.267532196098243 2.068e-04 0.006534 0.010757 0.010757 0.126346 + 6 -0.267532731363032 6.197e-05 0.006540 0.010794 0.010794 0.126342 + 7 -0.267532810533913 1.988e-05 0.006543 0.010810 0.010810 0.126341 + 8 -0.267532497643624 5.091e-06 0.006544 0.010814 0.010814 0.126341 + 9 -0.267532408841902 1.049e-06 0.006544 0.010815 0.010815 0.126341 + 10 -0.267532421951108 2.349e-07 0.006544 0.010815 0.010815 0.126341 + 11 -0.267532420649508 4.576e-08 0.006544 0.010815 0.010815 0.126341 + 12 -0.267532422282873 1.014e-08 0.006544 0.010815 0.010815 0.126341 + 13 -0.267532422318532 2.446e-09 0.006544 0.010815 0.010815 0.126341 + 14 -0.267532422327343 6.070e-10 0.006544 0.010815 0.010815 0.126341 + + Iterations converged. + + + Largest TIA Amplitudes: + 2 27 -0.0074939527 + 1 0 0.0058307640 + 3 41 -0.0058117908 + 2 28 -0.0049045295 + 1 3 -0.0045333265 + 1 5 -0.0041772053 + 0 2 -0.0040085295 + 1 2 0.0038787238 + 3 46 -0.0038363948 + 1 11 -0.0037721840 + + Largest TIjAb Amplitudes: + 2 2 27 27 -0.0476606219 + 1 1 2 2 -0.0296666658 + 3 3 38 38 -0.0269543012 + 1 2 2 27 0.0259614272 + 2 1 27 2 0.0259614272 + 3 3 1 1 -0.0254755470 + 3 3 39 39 -0.0226737954 + 2 3 27 39 0.0222566823 + 3 2 39 27 0.0222566823 + 1 1 38 38 -0.0221022958 + + SCF energy (wfn) = -76.057013480474041 + Reference energy (file100) = -76.057013480474041 + + Opposite-spin MP2 correlation energy = -0.198091853930755 + Same-spin MP2 correlation energy = -0.063542317032161 + Singles MP2 correlation energy = -0.000000000000000 + MP2 correlation energy = -0.261634170962916 + * MP2 total energy = -76.318647651436962 + + Opposite-spin CCSD correlation energy = -0.210869123863273 + Same-spin CCSD correlation energy = -0.056663298464070 + Singles CCSD correlation energy = 0.000000000000000 + CCSD correlation energy = -0.267532422327343 + * CCSD total energy = -76.324545902801390 + + ************************** + * * + * CCTRIPLES * + * * + ************************** + + + Wave function = CCSD_T + Reference wfn = RHF + + Nuclear Rep. energy (wfn) = 9.177442250434311 + SCF energy (wfn) = -76.057013480474041 + Reference energy (file100) = -76.057013480474041 + CCSD energy (file100) = -0.267532422327343 + Total CCSD energy (file100) = -76.324545902801390 + + Number of ijk index combinations: 20 + Memory available in words : 1750000000 + ~Words needed per explicit thread: 32000 + Number of threads for explicit ijk threading: 4 + + MKL num_threads set to 1 for explicit threading. + + (T) energy = -0.007662546790363 + * CCSD(T) total energy = -76.332208449591747 + +Giraffe The Energy is -76.332208449592 + + Psi4 stopped on: Monday, 24 October 2022 02:59PM + Psi4 wall time for execution: 0:00:03.09 + +*** Psi4 exiting successfully. Buy a developer a beer! diff --git a/tests/ref_data/reap_test/Disps/2/timer.dat b/tests/ref_data/reap_test/Disps/2/timer.dat new file mode 100644 index 00000000..b7af79ae --- /dev/null +++ b/tests/ref_data/reap_test/Disps/2/timer.dat @@ -0,0 +1,92 @@ + +Host: n077 + +Timers On : Mon Oct 24 14:59:06 2022 +Timers Off: Mon Oct 24 14:59:10 2022 + +Wall Time: 4.21 seconds + + Time (seconds) +Module User System Wall Calls +Total PK formation time : 0.400u 0.017s 0.113w 1 calls +HF: Form core H : 0.050u 0.000s 0.006w 1 calls +HF: Form S/X : 0.000u 0.000s 0.000w 1 calls +HF: Guess : 1.233u 0.017s 0.191w 1 calls +SAD Guess : 1.183u 0.017s 0.181w 1 calls +HF: Form G : 0.300u 0.000s 0.048w 14 calls +JK: D : 0.000u 0.000s 0.000w 14 calls +JK: USO2AO : 0.000u 0.000s 0.001w 14 calls +JK: JK : 0.283u 0.000s 0.046w 14 calls +PK computes JK : 0.283u 0.000s 0.046w 14 calls +JK: AO2USO : 0.017u 0.000s 0.001w 14 calls +HF: Form F : 0.000u 0.000s 0.000w 14 calls +HF: Form D : 0.000u 0.000s 0.000w 14 calls +HF: DIIS : 0.183u 0.000s 0.031w 13 calls +DIISManager::add_entry : 0.117u 0.000s 0.025w 13 calls +DIISManager::extrapolate : 0.000u 0.000s 0.001w 13 calls +bMatrix setup : 0.000u 0.000s 0.000w 13 calls +bMatrix pseudoinverse : 0.000u 0.000s 0.000w 13 calls +New vector : 0.000u 0.000s 0.000w 13 calls +HF: Form C : 0.000u 0.000s 0.002w 13 calls +ccenergy : 9.650u 0.233s 1.899w 1 calls +F build : 0.033u 0.000s 0.012w 14 calls +Wmbej build : 0.150u 0.000s 0.021w 14 calls +C->Wmbej : 0.000u 0.000s 0.001w 14 calls +F->Wmbej : 0.033u 0.000s 0.012w 14 calls +E->Wmbej : 0.050u 0.000s 0.003w 14 calls +X->Wmbej : 0.050u 0.000s 0.004w 14 calls +Z : 0.017u 0.000s 0.002w 14 calls +T2 Build : 0.483u 0.083s 0.088w 14 calls +BT2 : 0.300u 0.067s 0.060w 14 calls +ABCD:new : 0.300u 0.067s 0.060w 14 calls +ABCD:S : 0.033u 0.000s 0.010w 14 calls +ABCD:A : 0.017u 0.017s 0.009w 14 calls +ABCD:axpy : 0.233u 0.050s 0.038w 14 calls +FT2 : 0.033u 0.017s 0.004w 14 calls +WmbejT2 : 0.033u 0.000s 0.007w 14 calls +CT2 : 0.067u 0.000s 0.010w 14 calls +cctriples : 0.700u 0.017s 0.132w 1 calls +ET_RHF : 0.117u 0.000s 0.018w 1 calls + +-------------------------------------------------------------------------------------- +Total PK formation time : 0.400u 0.017s 0.113w 1 calls +HF: Form core H : 0.050u 0.000s 0.006w 1 calls +HF: Form S/X : 0.000u 0.000s 0.000w 1 calls +HF: Guess : 1.233u 0.017s 0.191w 1 calls +| SAD Guess : 1.183u 0.017s 0.181w 1 calls +HF: Form G : 0.300u 0.000s 0.048w 14 calls +| JK: D : 0.000u 0.000s 0.000w 14 calls +| JK: USO2AO : 0.000u 0.000s 0.001w 14 calls +| JK: JK : 0.283u 0.000s 0.046w 14 calls +| | PK computes JK : 0.283u 0.000s 0.046w 14 calls +| JK: AO2USO : 0.017u 0.000s 0.001w 14 calls +HF: Form F : 0.000u 0.000s 0.000w 14 calls +HF: Form D : 0.000u 0.000s 0.000w 14 calls +HF: DIIS : 0.183u 0.000s 0.031w 13 calls +| DIISManager::add_entry : 0.117u 0.000s 0.025w 13 calls +| DIISManager::extrapolate : 0.000u 0.000s 0.001w 13 calls +| | bMatrix setup : 0.000u 0.000s 0.000w 13 calls +| | bMatrix pseudoinverse : 0.000u 0.000s 0.000w 13 calls +| | New vector : 0.000u 0.000s 0.000w 13 calls +HF: Form C : 0.000u 0.000s 0.002w 13 calls +ccenergy : 9.650u 0.233s 1.899w 1 calls +| F build : 0.033u 0.000s 0.012w 14 calls +| Wmbej build : 0.150u 0.000s 0.021w 14 calls +| | C->Wmbej : 0.000u 0.000s 0.001w 14 calls +| | F->Wmbej : 0.033u 0.000s 0.012w 14 calls +| | E->Wmbej : 0.050u 0.000s 0.003w 14 calls +| | X->Wmbej : 0.050u 0.000s 0.004w 14 calls +| Z : 0.017u 0.000s 0.002w 14 calls +| T2 Build : 0.483u 0.083s 0.088w 14 calls +| | BT2 : 0.300u 0.067s 0.060w 14 calls +| | | ABCD:new : 0.300u 0.067s 0.060w 14 calls +| | | | ABCD:S : 0.033u 0.000s 0.010w 14 calls +| | | | ABCD:A : 0.017u 0.017s 0.009w 14 calls +| | | | ABCD:axpy : 0.233u 0.050s 0.038w 14 calls +| | FT2 : 0.033u 0.017s 0.004w 14 calls +| | WmbejT2 : 0.033u 0.000s 0.007w 14 calls +| | CT2 : 0.067u 0.000s 0.010w 14 calls +cctriples : 0.700u 0.017s 0.132w 1 calls +| ET_RHF : 0.117u 0.000s 0.018w 1 calls + +************************************************************************************** diff --git a/tests/ref_data/reap_test/Disps/3/ijk.dat b/tests/ref_data/reap_test/Disps/3/ijk.dat new file mode 100644 index 00000000..502f5c85 --- /dev/null +++ b/tests/ref_data/reap_test/Disps/3/ijk.dat @@ -0,0 +1,85 @@ +Total number of IJK combinations =: 20 +Num. of IJK with (Gi,Gj,Gk)=(0,0,0) =: 4 + thread 0: first_ijk=0, last_ijk=0 + thread 1: first_ijk=1, last_ijk=1 + thread 2: first_ijk=2, last_ijk=2 + thread 3: first_ijk=3, last_ijk=3 +Num. of IJK with (Gi,Gj,Gk)=(0,0,1) =: 0 +Num. of IJK with (Gi,Gj,Gk)=(0,0,2) =: 0 +Num. of IJK with (Gi,Gj,Gk)=(0,0,3) =: 0 +Num. of IJK with (Gi,Gj,Gk)=(0,1,0) =: 0 +Num. of IJK with (Gi,Gj,Gk)=(0,1,1) =: 0 +Num. of IJK with (Gi,Gj,Gk)=(0,1,2) =: 0 +Num. of IJK with (Gi,Gj,Gk)=(0,1,3) =: 0 +Num. of IJK with (Gi,Gj,Gk)=(0,2,0) =: 0 +Num. of IJK with (Gi,Gj,Gk)=(0,2,1) =: 0 +Num. of IJK with (Gi,Gj,Gk)=(0,2,2) =: 0 +Num. of IJK with (Gi,Gj,Gk)=(0,2,3) =: 0 +Num. of IJK with (Gi,Gj,Gk)=(0,3,0) =: 0 +Num. of IJK with (Gi,Gj,Gk)=(0,3,1) =: 0 +Num. of IJK with (Gi,Gj,Gk)=(0,3,2) =: 0 +Num. of IJK with (Gi,Gj,Gk)=(0,3,3) =: 0 +Num. of IJK with (Gi,Gj,Gk)=(1,0,0) =: 0 +Num. of IJK with (Gi,Gj,Gk)=(1,0,1) =: 0 +Num. of IJK with (Gi,Gj,Gk)=(1,0,2) =: 0 +Num. of IJK with (Gi,Gj,Gk)=(1,0,3) =: 0 +Num. of IJK with (Gi,Gj,Gk)=(1,1,0) =: 0 +Num. of IJK with (Gi,Gj,Gk)=(1,1,1) =: 0 +Num. of IJK with (Gi,Gj,Gk)=(1,1,2) =: 0 +Num. of IJK with (Gi,Gj,Gk)=(1,1,3) =: 0 +Num. of IJK with (Gi,Gj,Gk)=(1,2,0) =: 0 +Num. of IJK with (Gi,Gj,Gk)=(1,2,1) =: 0 +Num. of IJK with (Gi,Gj,Gk)=(1,2,2) =: 0 +Num. of IJK with (Gi,Gj,Gk)=(1,2,3) =: 0 +Num. of IJK with (Gi,Gj,Gk)=(1,3,0) =: 0 +Num. of IJK with (Gi,Gj,Gk)=(1,3,1) =: 0 +Num. of IJK with (Gi,Gj,Gk)=(1,3,2) =: 0 +Num. of IJK with (Gi,Gj,Gk)=(1,3,3) =: 0 +Num. of IJK with (Gi,Gj,Gk)=(2,0,0) =: 3 + thread 0: first_ijk=0, last_ijk=0 + thread 1: first_ijk=1, last_ijk=1 + thread 2: first_ijk=2, last_ijk=2 +Num. of IJK with (Gi,Gj,Gk)=(2,0,1) =: 0 +Num. of IJK with (Gi,Gj,Gk)=(2,0,2) =: 0 +Num. of IJK with (Gi,Gj,Gk)=(2,0,3) =: 0 +Num. of IJK with (Gi,Gj,Gk)=(2,1,0) =: 0 +Num. of IJK with (Gi,Gj,Gk)=(2,1,1) =: 0 +Num. of IJK with (Gi,Gj,Gk)=(2,1,2) =: 0 +Num. of IJK with (Gi,Gj,Gk)=(2,1,3) =: 0 +Num. of IJK with (Gi,Gj,Gk)=(2,2,0) =: 2 + thread 0: first_ijk=0, last_ijk=0 + thread 1: first_ijk=1, last_ijk=1 +Num. of IJK with (Gi,Gj,Gk)=(2,2,1) =: 0 +Num. of IJK with (Gi,Gj,Gk)=(2,2,2) =: 1 + thread 0: first_ijk=0, last_ijk=0 +Num. of IJK with (Gi,Gj,Gk)=(2,2,3) =: 0 +Num. of IJK with (Gi,Gj,Gk)=(2,3,0) =: 0 +Num. of IJK with (Gi,Gj,Gk)=(2,3,1) =: 0 +Num. of IJK with (Gi,Gj,Gk)=(2,3,2) =: 0 +Num. of IJK with (Gi,Gj,Gk)=(2,3,3) =: 0 +Num. of IJK with (Gi,Gj,Gk)=(3,0,0) =: 3 + thread 0: first_ijk=0, last_ijk=0 + thread 1: first_ijk=1, last_ijk=1 + thread 2: first_ijk=2, last_ijk=2 +Num. of IJK with (Gi,Gj,Gk)=(3,0,1) =: 0 +Num. of IJK with (Gi,Gj,Gk)=(3,0,2) =: 0 +Num. of IJK with (Gi,Gj,Gk)=(3,0,3) =: 0 +Num. of IJK with (Gi,Gj,Gk)=(3,1,0) =: 0 +Num. of IJK with (Gi,Gj,Gk)=(3,1,1) =: 0 +Num. of IJK with (Gi,Gj,Gk)=(3,1,2) =: 0 +Num. of IJK with (Gi,Gj,Gk)=(3,1,3) =: 0 +Num. of IJK with (Gi,Gj,Gk)=(3,2,0) =: 2 + thread 0: first_ijk=0, last_ijk=0 + thread 1: first_ijk=1, last_ijk=1 +Num. of IJK with (Gi,Gj,Gk)=(3,2,1) =: 0 +Num. of IJK with (Gi,Gj,Gk)=(3,2,2) =: 1 + thread 0: first_ijk=0, last_ijk=0 +Num. of IJK with (Gi,Gj,Gk)=(3,2,3) =: 0 +Num. of IJK with (Gi,Gj,Gk)=(3,3,0) =: 2 + thread 0: first_ijk=0, last_ijk=0 + thread 1: first_ijk=1, last_ijk=1 +Num. of IJK with (Gi,Gj,Gk)=(3,3,1) =: 0 +Num. of IJK with (Gi,Gj,Gk)=(3,3,2) =: 1 + thread 0: first_ijk=0, last_ijk=0 +Num. of IJK with (Gi,Gj,Gk)=(3,3,3) =: 1 + thread 0: first_ijk=0, last_ijk=0 diff --git a/tests/ref_data/reap_test/Disps/3/input.dat b/tests/ref_data/reap_test/Disps/3/input.dat new file mode 100644 index 00000000..176181a1 --- /dev/null +++ b/tests/ref_data/reap_test/Disps/3/input.dat @@ -0,0 +1,24 @@ +# o-Benzyne preliminary computations + +memory 14 gb + +molecule { + 0 1 + units bohr + H -0.0000000000 -1.4194589775 0.9984134852 + O 0.0000000000 0.0000000000 -0.1304833504 + H 0.0000000000 1.4194589775 0.9984134852 +} + +set { + basis cc-pvtz + reference rhf + e_convergence 10 + d_convergence 10 + r_convergence 8 + maxiter 300 + freeze_core True +} + +e, wfn = energy('ccsd(t)', return_wfn = True) +psi4.print_out('Giraffe The Energy is %.12f \n'%(e)) diff --git a/tests/ref_data/reap_test/Disps/3/output.dat b/tests/ref_data/reap_test/Disps/3/output.dat new file mode 100644 index 00000000..30a33f7a --- /dev/null +++ b/tests/ref_data/reap_test/Disps/3/output.dat @@ -0,0 +1,533 @@ + + ----------------------------------------------------------------------- + Psi4: An Open-Source Ab Initio Electronic Structure Package + Psi4 1.4a2.dev629 + + Git: Rev {master} 2938fc2 dirty + + + D. G. A. Smith, L. A. Burns, A. C. Simmonett, R. M. Parrish, + M. C. Schieber, R. Galvelis, P. Kraus, H. Kruse, R. Di Remigio, + A. Alenaizan, A. M. James, S. Lehtola, J. P. Misiewicz, M. Scheurer, + R. A. Shaw, J. B. Schriber, Y. Xie, Z. L. Glick, D. A. Sirianni, + J. S. O'Brien, J. M. Waldrop, A. Kumar, E. G. Hohenstein, + B. P. Pritchard, B. R. Brooks, H. F. Schaefer III, A. Yu. Sokolov, + K. Patkowski, A. E. DePrince III, U. Bozkaya, R. A. King, + F. A. Evangelista, J. M. Turney, T. D. Crawford, C. D. Sherrill, + J. Chem. Phys. 152(18) 184108 (2020). https://doi.org/10.1063/5.0006002 + + Additional Code Authors + E. T. Seidl, C. L. Janssen, E. F. Valeev, M. L. Leininger, + J. F. Gonthier, R. M. Richard, H. R. McAlexander, M. Saitow, X. Wang, + P. Verma, and M. H. Lechner + + Previous Authors, Complete List of Code Contributors, + and Citations for Specific Modules + https://github.com/psi4/psi4/blob/master/codemeta.json + https://github.com/psi4/psi4/graphs/contributors + http://psicode.org/psi4manual/master/introduction.html#citing-psifour + + ----------------------------------------------------------------------- + + + Psi4 started on: Monday, 24 October 2022 02:59PM + + Process ID: 7165 + Host: n079 + PSIDATADIR: /opt/psi/4/master/share/psi4 + Memory: 500.0 MiB + Threads: 4 + + ==> Input File <== + +-------------------------------------------------------------------------- +# o-Benzyne preliminary computations + +memory 14 gb + +molecule { + 0 1 + units bohr + H -0.0000000000 -1.4194589775 0.9984134852 + O 0.0000000000 0.0000000000 -0.1304833504 + H 0.0000000000 1.4194589775 0.9984134852 +} + +set { + basis cc-pvtz + reference rhf + e_convergence 10 + d_convergence 10 + r_convergence 8 + maxiter 300 + freeze_core True +} + +e, wfn = energy('ccsd(t)', return_wfn = True) +psi4.print_out('Giraffe The Energy is %.12f \n'%(e)) +-------------------------------------------------------------------------- + + Memory set to 13.039 GiB by Python driver. + +Scratch directory: /tmp/795504.3.gen6.q/ + +*** tstart() called on n079 +*** at Mon Oct 24 14:59:09 2022 + + => Loading Basis Set <= + + Name: CC-PVTZ + Role: ORBITAL + Keyword: BASIS + atoms 1, 3 entry H line 23 file /opt/psi/4/master/share/psi4/basis/cc-pvtz.gbs + atoms 2 entry O line 262 file /opt/psi/4/master/share/psi4/basis/cc-pvtz.gbs + + + --------------------------------------------------------- + SCF + by Justin Turney, Rob Parrish, Andy Simmonett + and Daniel G. A. Smith + RHF Reference + 4 Threads, 13351 MiB Core + --------------------------------------------------------- + + ==> Geometry <== + + Molecular point group: c2v + Full point group: C2v + + Geometry (in Bohr), charge = 0, multiplicity = 1: + + Center X Y Z Mass + ------------ ----------------- ----------------- ----------------- ----------------- + H 0.000000000000 -1.419458977500 1.002556489289 1.007825032230 + O 0.000000000000 0.000000000000 -0.126340346311 15.994914619570 + H -0.000000000000 1.419458977500 1.002556489289 1.007825032230 + + Running in c2v symmetry. + + Rotational constants: A = 26.38858 B = 14.82291 C = 9.49142 [cm^-1] + Rotational constants: A = 791109.66248 B = 444379.59135 C = 284545.56560 [MHz] + Nuclear repulsion = 9.174308732822899 + + Charge = 0 + Multiplicity = 1 + Electrons = 10 + Nalpha = 5 + Nbeta = 5 + + ==> Algorithm <== + + SCF Algorithm Type is PK. + DIIS enabled. + MOM disabled. + Fractional occupation disabled. + Guess Type is SAD. + Energy threshold = 1.00e-10 + Density threshold = 1.00e-10 + Integral threshold = 0.00e+00 + + ==> Primary Basis <== + + Basis Set: CC-PVTZ + Blend: CC-PVTZ + Number of shells: 22 + Number of basis function: 58 + Number of Cartesian functions: 65 + Spherical Harmonics?: true + Max angular momentum: 3 + + ==> Integral Setup <== + + Using in-core PK algorithm. + Calculation information: + Number of atoms: 3 + Number of AO shells: 22 + Number of primitives: 42 + Number of atomic orbitals: 65 + Number of basis functions: 58 + + Integral cutoff 1.00e-12 + Number of threads: 4 + + Performing in-core PK + Using 2929232 doubles for integral storage. + We computed 43467 shell quartets total. + Whereas there are 32131 unique shell quartets. + 35.28 percent of shell quartets recomputed by reordering. + + ==> DiskJK: Disk-Based J/K Matrices <== + + J tasked: Yes + K tasked: Yes + wK tasked: No + Memory [MiB]: 10013 + Schwarz Cutoff: 1E-12 + + OpenMP threads: 4 + + Minimum eigenvalue in the overlap matrix is 2.2568111004E-03. + Reciprocal condition number of the overlap matrix is 5.1750156802E-04. + Using symmetric orthogonalization. + + ==> Pre-Iterations <== + + SCF Guess: Superposition of Atomic Densities via on-the-fly atomic UHF (no occupation information). + + ------------------------- + Irrep Nso Nmo + ------------------------- + A1 23 23 + A2 7 7 + B1 11 11 + B2 17 17 + ------------------------- + Total 58 58 + ------------------------- + + ==> Iterations <== + + Total Energy Delta E RMS |[F,P]| + + @RHF iter SAD: -75.50011668392499 -7.55001e+01 0.00000e+00 + @RHF iter 1: -75.97820559780934 -4.78089e-01 1.43659e-02 DIIS + @RHF iter 2: -76.03081511829627 -5.26095e-02 9.30077e-03 DIIS + @RHF iter 3: -76.05644523539502 -2.56301e-02 6.94470e-04 DIIS + @RHF iter 4: -76.05683495967287 -3.89724e-04 1.70153e-04 DIIS + @RHF iter 5: -76.05685976803707 -2.48084e-05 3.52749e-05 DIIS + @RHF iter 6: -76.05686132999074 -1.56195e-06 6.78476e-06 DIIS + @RHF iter 7: -76.05686138864505 -5.86543e-08 1.06349e-06 DIIS + @RHF iter 8: -76.05686138981065 -1.16560e-09 1.59682e-07 DIIS + @RHF iter 9: -76.05686138983751 -2.68585e-11 4.45202e-08 DIIS + @RHF iter 10: -76.05686138983981 -2.30216e-12 5.97423e-09 DIIS + @RHF iter 11: -76.05686138983971 9.94760e-14 8.40616e-10 DIIS + @RHF iter 12: -76.05686138983990 -1.84741e-13 1.36410e-10 DIIS + @RHF iter 13: -76.05686138983985 4.26326e-14 1.61793e-11 DIIS + Energy and wave function converged. + + + ==> Post-Iterations <== + + Orbital Energies [Eh] + --------------------- + + Doubly Occupied: + + 1A1 -20.555920 2A1 -1.345521 1B2 -0.705530 + 3A1 -0.580239 1B1 -0.504773 + + Virtual: + + 4A1 0.141718 2B2 0.204137 3B2 0.540676 + 5A1 0.606214 6A1 0.667657 2B1 0.787102 + 7A1 0.793007 4B2 0.806092 1A2 0.863818 + 3B1 0.948668 8A1 1.135334 5B2 1.200023 + 6B2 1.521123 9A1 1.565768 4B1 2.042759 + 7B2 2.054932 2A2 2.061781 10A1 2.173117 + 11A1 2.232887 12A1 2.581890 8B2 2.966130 + 5B1 3.341457 13A1 3.482311 3A2 3.592684 + 9B2 3.662088 6B1 3.796417 10B2 3.876292 + 14A1 3.888364 4A2 3.965039 7B1 4.015510 + 11B2 4.070848 15A1 4.191400 5A2 4.302812 + 16A1 4.368038 12B2 4.602412 8B1 4.681015 + 13B2 4.862136 17A1 5.159516 18A1 5.249579 + 14B2 5.521799 9B1 6.053147 19A1 6.580467 + 10B1 6.910621 6A2 6.936078 11B1 7.005840 + 20A1 7.017408 15B2 7.023448 21A1 7.182202 + 7A2 7.235788 22A1 7.445764 16B2 7.794705 + 17B2 8.289369 23A1 12.828751 + + Final Occupation by Irrep: + A1 A2 B1 B2 + DOCC [ 3, 0, 1, 1 ] + + @RHF Final Energy: -76.05686138983985 + + => Energetics <= + + Nuclear Repulsion Energy = 9.1743087328228992 + One-Electron Energy = -123.0783737853796538 + Two-Electron Energy = 37.8472036627169004 + Total Energy = -76.0568613898398667 + +Computation Completed + + +Properties will be evaluated at 0.000000, 0.000000, 0.000000 [a0] + +Properties computed using the SCF density matrix + + Nuclear Dipole Moment: [e a0] + X: 0.0000 Y: 0.0000 Z: 0.9944 + + Electronic Dipole Moment: [e a0] + X: 0.0000 Y: 0.0000 Z: -0.1875 + + Dipole Moment: [e a0] + X: 0.0000 Y: 0.0000 Z: 0.8069 Total: 0.8069 + + Dipole Moment: [D] + X: 0.0000 Y: 0.0000 Z: 2.0508 Total: 2.0508 + + +*** tstop() called on n079 at Mon Oct 24 14:59:10 2022 +Module time: + user time = 1.68 seconds = 0.03 minutes + system time = 0.02 seconds = 0.00 minutes + total time = 1 seconds = 0.02 minutes +Total time: + user time = 1.68 seconds = 0.03 minutes + system time = 0.02 seconds = 0.00 minutes + total time = 1 seconds = 0.02 minutes + MINTS: Wrapper to libmints. + by Justin Turney + + Calculation information: + Number of threads: 4 + Number of atoms: 3 + Number of AO shells: 22 + Number of SO shells: 16 + Number of primitives: 42 + Number of atomic orbitals: 65 + Number of basis functions: 58 + + Number of irreps: 4 + Integral cutoff 0.00e+00 + Number of functions per irrep: [ 23 7 11 17 ] + + OEINTS: Overlap, kinetic, potential, dipole, and quadrupole integrals + stored in file 35. + + Computing two-electron integrals...done + Computed 356228 non-zero two-electron integrals. + Stored in file 33. + + +*** tstart() called on n079 +*** at Mon Oct 24 14:59:10 2022 + + + Wfn Parameters: + -------------------- + Wavefunction = CCSD_T + Number of irreps = 4 + Number of MOs = 58 + Number of active MOs = 57 + AO-Basis = NONE + Semicanonical = false + Reference = RHF + Print Level = 1 + + IRREP # MOs # FZDC # DOCC # SOCC # VIRT # FZVR + ----- ----- ------ ------ ------ ------ ------ + A1 23 1 2 0 20 0 + A2 7 0 0 0 7 0 + B1 11 0 1 0 10 0 + B2 17 0 1 0 16 0 + Transforming integrals... + IWL integrals will be deleted. + (OO|OO)... + Presorting SO-basis two-electron integrals. + Sorting File: SO Ints (nn|nn) nbuckets = 1 + Transforming the one-electron integrals and constructing Fock matrices + Starting first half-transformation. + Sorting half-transformed integrals. + First half integral transformation complete. + Starting second half-transformation. + Two-electron integral transformation complete. + (OO|OV)... + Starting second half-transformation. + Two-electron integral transformation complete. + (OO|VV)... + Starting second half-transformation. + Two-electron integral transformation complete. + (OV|OO)... + Starting first half-transformation. + Sorting half-transformed integrals. + First half integral transformation complete. + Starting second half-transformation. + Two-electron integral transformation complete. + (OV|OV)... + Starting second half-transformation. + Two-electron integral transformation complete. + (OV|VV)... + Starting second half-transformation. + Two-electron integral transformation complete. + (VV|OO)... + Starting first half-transformation. + Sorting half-transformed integrals. + First half integral transformation complete. + Starting second half-transformation. + Two-electron integral transformation complete. + (VV|OV)... + Starting second half-transformation. + Two-electron integral transformation complete. + (VV|VV)... + Starting second half-transformation. + Two-electron integral transformation complete. + Frozen core energy = -61.31096034826962 + + Size of irrep 0 of integrals: 0.648 (MW) / 5.184 (MB) + Size of irrep 1 of integrals: 0.360 (MW) / 2.880 (MB) + Size of irrep 2 of integrals: 0.389 (MW) / 3.115 (MB) + Size of irrep 3 of integrals: 0.608 (MW) / 4.867 (MB) + Total: 2.006 (MW) / 16.046 (MB) + + Size of irrep 0 of integrals: 0.053 (MW) / 0.425 (MB) + Size of irrep 1 of integrals: 0.024 (MW) / 0.192 (MB) + Size of irrep 2 of integrals: 0.029 (MW) / 0.235 (MB) + Size of irrep 3 of integrals: 0.046 (MW) / 0.368 (MB) + Total: 0.152 (MW) / 1.220 (MB) + + Size of irrep 0 of tijab amplitudes: 0.005 (MW) / 0.039 (MB) + Size of irrep 1 of tijab amplitudes: 0.001 (MW) / 0.010 (MB) + Size of irrep 2 of tijab amplitudes: 0.002 (MW) / 0.020 (MB) + Size of irrep 3 of tijab amplitudes: 0.003 (MW) / 0.025 (MB) + Total: 0.012 (MW) / 0.093 (MB) + + Nuclear Rep. energy = 9.17430873282290 + SCF energy = -76.05686138983985 + One-electron energy = -41.56829393554835 + Two-electron energy = 17.64808416115516 + Reference energy = -76.05686138983991 + +*** tstop() called on n079 at Mon Oct 24 14:59:11 2022 +Module time: + user time = 0.43 seconds = 0.01 minutes + system time = 0.06 seconds = 0.00 minutes + total time = 1 seconds = 0.02 minutes +Total time: + user time = 2.55 seconds = 0.04 minutes + system time = 0.08 seconds = 0.00 minutes + total time = 2 seconds = 0.03 minutes + ************************** + * * + * CCENERGY * + * * + ************************** + + Nuclear Rep. energy (wfn) = 9.174308732822899 + SCF energy (wfn) = -76.056861389839852 + Reference energy (file100) = -76.056861389839909 + + Input parameters: + ----------------- + Wave function = CCSD_T + Reference wfn = RHF + Brueckner = No + Memory (Mbytes) = 14000.0 + Maxiter = 300 + R_Convergence = 1.0e-08 + E_Convergence = 1.0e-10 + Restart = Yes + DIIS = Yes + AO Basis = NONE + ABCD = NEW + Cache Level = 2 + Cache Type = LOW + Print Level = 1 + Num. of threads = 4 + # Amps to Print = 10 + Print MP2 Amps? = No + Analyze T2 Amps = No + Print Pair Ener = No + Local CC = No + SCS-MP2 = False + SCSN-MP2 = False + SCS-CCSD = False + +MP2 correlation energy -0.2617898223280312 + Solving CC Amplitude Equations + ------------------------------ + Iter Energy RMS T1Diag D1Diag New D1Diag D2Diag + ---- --------------------- --------- ---------- ---------- ---------- -------- + 0 -0.261789822328031 0.000e+00 0.000000 0.000000 0.000000 0.116310 + 1 -0.262085910808258 2.916e-02 0.005722 0.009316 0.009316 0.119963 + 2 -0.266938885776382 1.006e-02 0.005919 0.009471 0.009471 0.124657 + 3 -0.267652709224971 3.235e-03 0.006510 0.010613 0.010613 0.126317 + 4 -0.267644661177525 6.571e-04 0.006548 0.010704 0.010704 0.126527 + 5 -0.267666680933383 2.072e-04 0.006569 0.010795 0.010795 0.126576 + 6 -0.267667232116781 6.152e-05 0.006574 0.010831 0.010831 0.126572 + 7 -0.267667323420821 1.976e-05 0.006577 0.010847 0.010847 0.126571 + 8 -0.267667014525038 5.105e-06 0.006578 0.010851 0.010851 0.126570 + 9 -0.267666925280958 1.047e-06 0.006578 0.010852 0.010852 0.126570 + 10 -0.267666938019782 2.345e-07 0.006578 0.010852 0.010852 0.126570 + 11 -0.267666936713322 4.542e-08 0.006578 0.010852 0.010852 0.126570 + 12 -0.267666938331621 1.005e-08 0.006578 0.010852 0.010852 0.126570 + 13 -0.267666938372274 2.406e-09 0.006578 0.010852 0.010852 0.126570 + 14 -0.267666938381818 6.001e-10 0.006578 0.010852 0.010852 0.126570 + + Iterations converged. + + + Largest TIA Amplitudes: + 2 27 -0.0075527658 + 1 0 0.0058682435 + 3 41 -0.0058290820 + 2 28 -0.0049646817 + 1 3 -0.0045854879 + 1 5 -0.0041957341 + 0 2 -0.0040409964 + 3 46 -0.0038587635 + 1 2 0.0038369286 + 1 11 -0.0038000184 + + Largest TIjAb Amplitudes: + 2 2 27 27 -0.0476615027 + 1 1 2 2 -0.0295026586 + 3 3 38 38 -0.0272037547 + 1 2 2 27 0.0258888794 + 2 1 27 2 0.0258888794 + 3 3 1 1 -0.0251814910 + 3 3 39 39 -0.0226699038 + 2 3 27 39 0.0222739674 + 3 2 39 27 0.0222739674 + 1 1 38 38 -0.0222101031 + + SCF energy (wfn) = -76.056861389839852 + Reference energy (file100) = -76.056861389839909 + + Opposite-spin MP2 correlation energy = -0.198205892255597 + Same-spin MP2 correlation energy = -0.063583930072434 + Singles MP2 correlation energy = -0.000000000000000 + MP2 correlation energy = -0.261789822328031 + * MP2 total energy = -76.318651212167936 + + Opposite-spin CCSD correlation energy = -0.210981992025619 + Same-spin CCSD correlation energy = -0.056684946356199 + Singles CCSD correlation energy = 0.000000000000000 + CCSD correlation energy = -0.267666938381818 + * CCSD total energy = -76.324528328221731 + + ************************** + * * + * CCTRIPLES * + * * + ************************** + + + Wave function = CCSD_T + Reference wfn = RHF + + Nuclear Rep. energy (wfn) = 9.174308732822899 + SCF energy (wfn) = -76.056861389839852 + Reference energy (file100) = -76.056861389839909 + CCSD energy (file100) = -0.267666938381818 + Total CCSD energy (file100) = -76.324528328221731 + + Number of ijk index combinations: 20 + Memory available in words : 1750000000 + ~Words needed per explicit thread: 32000 + Number of threads for explicit ijk threading: 4 + + MKL num_threads set to 1 for explicit threading. + + (T) energy = -0.007680073229709 + * CCSD(T) total energy = -76.332208401451439 + +Giraffe The Energy is -76.332208401451 + + Psi4 stopped on: Monday, 24 October 2022 02:59PM + Psi4 wall time for execution: 0:00:03.57 + +*** Psi4 exiting successfully. Buy a developer a beer! diff --git a/tests/ref_data/reap_test/Disps/3/timer.dat b/tests/ref_data/reap_test/Disps/3/timer.dat new file mode 100644 index 00000000..1c17e155 --- /dev/null +++ b/tests/ref_data/reap_test/Disps/3/timer.dat @@ -0,0 +1,92 @@ + +Host: n079 + +Timers On : Mon Oct 24 14:59:07 2022 +Timers Off: Mon Oct 24 14:59:13 2022 + +Wall Time: 5.26 seconds + + Time (seconds) +Module User System Wall Calls +Total PK formation time : 0.400u 0.017s 0.351w 1 calls +HF: Form core H : 0.033u 0.000s 0.007w 1 calls +HF: Form S/X : 0.000u 0.000s 0.000w 1 calls +HF: Guess : 1.233u 0.017s 0.191w 1 calls +SAD Guess : 1.167u 0.017s 0.181w 1 calls +HF: Form G : 0.367u 0.000s 0.048w 14 calls +JK: D : 0.000u 0.000s 0.000w 14 calls +JK: USO2AO : 0.017u 0.000s 0.001w 14 calls +JK: JK : 0.333u 0.000s 0.046w 14 calls +PK computes JK : 0.333u 0.000s 0.046w 14 calls +JK: AO2USO : 0.017u 0.000s 0.001w 14 calls +HF: Form F : 0.000u 0.000s 0.000w 14 calls +HF: Form D : 0.000u 0.000s 0.000w 14 calls +HF: DIIS : 0.150u 0.000s 0.030w 13 calls +DIISManager::add_entry : 0.117u 0.000s 0.024w 13 calls +DIISManager::extrapolate : 0.000u 0.000s 0.001w 13 calls +bMatrix setup : 0.000u 0.000s 0.000w 13 calls +bMatrix pseudoinverse : 0.000u 0.000s 0.000w 13 calls +New vector : 0.000u 0.000s 0.000w 13 calls +HF: Form C : 0.000u 0.000s 0.002w 13 calls +ccenergy : 9.583u 0.317s 1.899w 1 calls +F build : 0.050u 0.017s 0.012w 14 calls +Wmbej build : 0.133u 0.017s 0.021w 14 calls +C->Wmbej : 0.000u 0.000s 0.001w 14 calls +F->Wmbej : 0.083u 0.017s 0.012w 14 calls +E->Wmbej : 0.017u 0.000s 0.003w 14 calls +X->Wmbej : 0.033u 0.000s 0.004w 14 calls +Z : 0.000u 0.000s 0.002w 14 calls +T2 Build : 0.500u 0.117s 0.087w 14 calls +BT2 : 0.300u 0.067s 0.058w 14 calls +ABCD:new : 0.283u 0.067s 0.058w 14 calls +ABCD:S : 0.000u 0.017s 0.010w 14 calls +ABCD:A : 0.100u 0.017s 0.009w 14 calls +ABCD:axpy : 0.167u 0.033s 0.037w 14 calls +FT2 : 0.000u 0.000s 0.004w 14 calls +WmbejT2 : 0.017u 0.000s 0.007w 14 calls +CT2 : 0.083u 0.050s 0.010w 14 calls +cctriples : 0.767u 0.017s 0.152w 1 calls +ET_RHF : 0.117u 0.017s 0.020w 1 calls + +-------------------------------------------------------------------------------------- +Total PK formation time : 0.400u 0.017s 0.351w 1 calls +HF: Form core H : 0.033u 0.000s 0.007w 1 calls +HF: Form S/X : 0.000u 0.000s 0.000w 1 calls +HF: Guess : 1.233u 0.017s 0.191w 1 calls +| SAD Guess : 1.167u 0.017s 0.181w 1 calls +HF: Form G : 0.367u 0.000s 0.048w 14 calls +| JK: D : 0.000u 0.000s 0.000w 14 calls +| JK: USO2AO : 0.017u 0.000s 0.001w 14 calls +| JK: JK : 0.333u 0.000s 0.046w 14 calls +| | PK computes JK : 0.333u 0.000s 0.046w 14 calls +| JK: AO2USO : 0.017u 0.000s 0.001w 14 calls +HF: Form F : 0.000u 0.000s 0.000w 14 calls +HF: Form D : 0.000u 0.000s 0.000w 14 calls +HF: DIIS : 0.150u 0.000s 0.030w 13 calls +| DIISManager::add_entry : 0.117u 0.000s 0.024w 13 calls +| DIISManager::extrapolate : 0.000u 0.000s 0.001w 13 calls +| | bMatrix setup : 0.000u 0.000s 0.000w 13 calls +| | bMatrix pseudoinverse : 0.000u 0.000s 0.000w 13 calls +| | New vector : 0.000u 0.000s 0.000w 13 calls +HF: Form C : 0.000u 0.000s 0.002w 13 calls +ccenergy : 9.583u 0.317s 1.899w 1 calls +| F build : 0.050u 0.017s 0.012w 14 calls +| Wmbej build : 0.133u 0.017s 0.021w 14 calls +| | C->Wmbej : 0.000u 0.000s 0.001w 14 calls +| | F->Wmbej : 0.083u 0.017s 0.012w 14 calls +| | E->Wmbej : 0.017u 0.000s 0.003w 14 calls +| | X->Wmbej : 0.033u 0.000s 0.004w 14 calls +| Z : 0.000u 0.000s 0.002w 14 calls +| T2 Build : 0.500u 0.117s 0.087w 14 calls +| | BT2 : 0.300u 0.067s 0.058w 14 calls +| | | ABCD:new : 0.283u 0.067s 0.058w 14 calls +| | | | ABCD:S : 0.000u 0.017s 0.010w 14 calls +| | | | ABCD:A : 0.100u 0.017s 0.009w 14 calls +| | | | ABCD:axpy : 0.167u 0.033s 0.037w 14 calls +| | FT2 : 0.000u 0.000s 0.004w 14 calls +| | WmbejT2 : 0.017u 0.000s 0.007w 14 calls +| | CT2 : 0.083u 0.050s 0.010w 14 calls +cctriples : 0.767u 0.017s 0.152w 1 calls +| ET_RHF : 0.117u 0.017s 0.020w 1 calls + +************************************************************************************** diff --git a/tests/ref_data/reap_test/Disps/4/ijk.dat b/tests/ref_data/reap_test/Disps/4/ijk.dat new file mode 100644 index 00000000..502f5c85 --- /dev/null +++ b/tests/ref_data/reap_test/Disps/4/ijk.dat @@ -0,0 +1,85 @@ +Total number of IJK combinations =: 20 +Num. of IJK with (Gi,Gj,Gk)=(0,0,0) =: 4 + thread 0: first_ijk=0, last_ijk=0 + thread 1: first_ijk=1, last_ijk=1 + thread 2: first_ijk=2, last_ijk=2 + thread 3: first_ijk=3, last_ijk=3 +Num. of IJK with (Gi,Gj,Gk)=(0,0,1) =: 0 +Num. of IJK with (Gi,Gj,Gk)=(0,0,2) =: 0 +Num. of IJK with (Gi,Gj,Gk)=(0,0,3) =: 0 +Num. of IJK with (Gi,Gj,Gk)=(0,1,0) =: 0 +Num. of IJK with (Gi,Gj,Gk)=(0,1,1) =: 0 +Num. of IJK with (Gi,Gj,Gk)=(0,1,2) =: 0 +Num. of IJK with (Gi,Gj,Gk)=(0,1,3) =: 0 +Num. of IJK with (Gi,Gj,Gk)=(0,2,0) =: 0 +Num. of IJK with (Gi,Gj,Gk)=(0,2,1) =: 0 +Num. of IJK with (Gi,Gj,Gk)=(0,2,2) =: 0 +Num. of IJK with (Gi,Gj,Gk)=(0,2,3) =: 0 +Num. of IJK with (Gi,Gj,Gk)=(0,3,0) =: 0 +Num. of IJK with (Gi,Gj,Gk)=(0,3,1) =: 0 +Num. of IJK with (Gi,Gj,Gk)=(0,3,2) =: 0 +Num. of IJK with (Gi,Gj,Gk)=(0,3,3) =: 0 +Num. of IJK with (Gi,Gj,Gk)=(1,0,0) =: 0 +Num. of IJK with (Gi,Gj,Gk)=(1,0,1) =: 0 +Num. of IJK with (Gi,Gj,Gk)=(1,0,2) =: 0 +Num. of IJK with (Gi,Gj,Gk)=(1,0,3) =: 0 +Num. of IJK with (Gi,Gj,Gk)=(1,1,0) =: 0 +Num. of IJK with (Gi,Gj,Gk)=(1,1,1) =: 0 +Num. of IJK with (Gi,Gj,Gk)=(1,1,2) =: 0 +Num. of IJK with (Gi,Gj,Gk)=(1,1,3) =: 0 +Num. of IJK with (Gi,Gj,Gk)=(1,2,0) =: 0 +Num. of IJK with (Gi,Gj,Gk)=(1,2,1) =: 0 +Num. of IJK with (Gi,Gj,Gk)=(1,2,2) =: 0 +Num. of IJK with (Gi,Gj,Gk)=(1,2,3) =: 0 +Num. of IJK with (Gi,Gj,Gk)=(1,3,0) =: 0 +Num. of IJK with (Gi,Gj,Gk)=(1,3,1) =: 0 +Num. of IJK with (Gi,Gj,Gk)=(1,3,2) =: 0 +Num. of IJK with (Gi,Gj,Gk)=(1,3,3) =: 0 +Num. of IJK with (Gi,Gj,Gk)=(2,0,0) =: 3 + thread 0: first_ijk=0, last_ijk=0 + thread 1: first_ijk=1, last_ijk=1 + thread 2: first_ijk=2, last_ijk=2 +Num. of IJK with (Gi,Gj,Gk)=(2,0,1) =: 0 +Num. of IJK with (Gi,Gj,Gk)=(2,0,2) =: 0 +Num. of IJK with (Gi,Gj,Gk)=(2,0,3) =: 0 +Num. of IJK with (Gi,Gj,Gk)=(2,1,0) =: 0 +Num. of IJK with (Gi,Gj,Gk)=(2,1,1) =: 0 +Num. of IJK with (Gi,Gj,Gk)=(2,1,2) =: 0 +Num. of IJK with (Gi,Gj,Gk)=(2,1,3) =: 0 +Num. of IJK with (Gi,Gj,Gk)=(2,2,0) =: 2 + thread 0: first_ijk=0, last_ijk=0 + thread 1: first_ijk=1, last_ijk=1 +Num. of IJK with (Gi,Gj,Gk)=(2,2,1) =: 0 +Num. of IJK with (Gi,Gj,Gk)=(2,2,2) =: 1 + thread 0: first_ijk=0, last_ijk=0 +Num. of IJK with (Gi,Gj,Gk)=(2,2,3) =: 0 +Num. of IJK with (Gi,Gj,Gk)=(2,3,0) =: 0 +Num. of IJK with (Gi,Gj,Gk)=(2,3,1) =: 0 +Num. of IJK with (Gi,Gj,Gk)=(2,3,2) =: 0 +Num. of IJK with (Gi,Gj,Gk)=(2,3,3) =: 0 +Num. of IJK with (Gi,Gj,Gk)=(3,0,0) =: 3 + thread 0: first_ijk=0, last_ijk=0 + thread 1: first_ijk=1, last_ijk=1 + thread 2: first_ijk=2, last_ijk=2 +Num. of IJK with (Gi,Gj,Gk)=(3,0,1) =: 0 +Num. of IJK with (Gi,Gj,Gk)=(3,0,2) =: 0 +Num. of IJK with (Gi,Gj,Gk)=(3,0,3) =: 0 +Num. of IJK with (Gi,Gj,Gk)=(3,1,0) =: 0 +Num. of IJK with (Gi,Gj,Gk)=(3,1,1) =: 0 +Num. of IJK with (Gi,Gj,Gk)=(3,1,2) =: 0 +Num. of IJK with (Gi,Gj,Gk)=(3,1,3) =: 0 +Num. of IJK with (Gi,Gj,Gk)=(3,2,0) =: 2 + thread 0: first_ijk=0, last_ijk=0 + thread 1: first_ijk=1, last_ijk=1 +Num. of IJK with (Gi,Gj,Gk)=(3,2,1) =: 0 +Num. of IJK with (Gi,Gj,Gk)=(3,2,2) =: 1 + thread 0: first_ijk=0, last_ijk=0 +Num. of IJK with (Gi,Gj,Gk)=(3,2,3) =: 0 +Num. of IJK with (Gi,Gj,Gk)=(3,3,0) =: 2 + thread 0: first_ijk=0, last_ijk=0 + thread 1: first_ijk=1, last_ijk=1 +Num. of IJK with (Gi,Gj,Gk)=(3,3,1) =: 0 +Num. of IJK with (Gi,Gj,Gk)=(3,3,2) =: 1 + thread 0: first_ijk=0, last_ijk=0 +Num. of IJK with (Gi,Gj,Gk)=(3,3,3) =: 1 + thread 0: first_ijk=0, last_ijk=0 diff --git a/tests/ref_data/reap_test/Disps/4/input.dat b/tests/ref_data/reap_test/Disps/4/input.dat new file mode 100644 index 00000000..41dc8e60 --- /dev/null +++ b/tests/ref_data/reap_test/Disps/4/input.dat @@ -0,0 +1,24 @@ +# o-Benzyne preliminary computations + +memory 14 gb + +molecule { + 0 1 + units bohr + H -0.0000000000 -1.4190195595 0.9944761964 + O 0.0000000000 -0.0000000000 -0.1226087728 + H 0.0000000000 1.4190195595 0.9944761964 +} + +set { + basis cc-pvtz + reference rhf + e_convergence 10 + d_convergence 10 + r_convergence 8 + maxiter 300 + freeze_core True +} + +e, wfn = energy('ccsd(t)', return_wfn = True) +psi4.print_out('Giraffe The Energy is %.12f \n'%(e)) diff --git a/tests/ref_data/reap_test/Disps/4/output.dat b/tests/ref_data/reap_test/Disps/4/output.dat new file mode 100644 index 00000000..9fb82c4d --- /dev/null +++ b/tests/ref_data/reap_test/Disps/4/output.dat @@ -0,0 +1,533 @@ + + ----------------------------------------------------------------------- + Psi4: An Open-Source Ab Initio Electronic Structure Package + Psi4 1.4a2.dev629 + + Git: Rev {master} 2938fc2 dirty + + + D. G. A. Smith, L. A. Burns, A. C. Simmonett, R. M. Parrish, + M. C. Schieber, R. Galvelis, P. Kraus, H. Kruse, R. Di Remigio, + A. Alenaizan, A. M. James, S. Lehtola, J. P. Misiewicz, M. Scheurer, + R. A. Shaw, J. B. Schriber, Y. Xie, Z. L. Glick, D. A. Sirianni, + J. S. O'Brien, J. M. Waldrop, A. Kumar, E. G. Hohenstein, + B. P. Pritchard, B. R. Brooks, H. F. Schaefer III, A. Yu. Sokolov, + K. Patkowski, A. E. DePrince III, U. Bozkaya, R. A. King, + F. A. Evangelista, J. M. Turney, T. D. Crawford, C. D. Sherrill, + J. Chem. Phys. 152(18) 184108 (2020). https://doi.org/10.1063/5.0006002 + + Additional Code Authors + E. T. Seidl, C. L. Janssen, E. F. Valeev, M. L. Leininger, + J. F. Gonthier, R. M. Richard, H. R. McAlexander, M. Saitow, X. Wang, + P. Verma, and M. H. Lechner + + Previous Authors, Complete List of Code Contributors, + and Citations for Specific Modules + https://github.com/psi4/psi4/blob/master/codemeta.json + https://github.com/psi4/psi4/graphs/contributors + http://psicode.org/psi4manual/master/introduction.html#citing-psifour + + ----------------------------------------------------------------------- + + + Psi4 started on: Monday, 24 October 2022 02:59PM + + Process ID: 18753 + Host: n090 + PSIDATADIR: /opt/psi/4/master/share/psi4 + Memory: 500.0 MiB + Threads: 4 + + ==> Input File <== + +-------------------------------------------------------------------------- +# o-Benzyne preliminary computations + +memory 14 gb + +molecule { + 0 1 + units bohr + H -0.0000000000 -1.4190195595 0.9944761964 + O 0.0000000000 -0.0000000000 -0.1226087728 + H 0.0000000000 1.4190195595 0.9944761964 +} + +set { + basis cc-pvtz + reference rhf + e_convergence 10 + d_convergence 10 + r_convergence 8 + maxiter 300 + freeze_core True +} + +e, wfn = energy('ccsd(t)', return_wfn = True) +psi4.print_out('Giraffe The Energy is %.12f \n'%(e)) +-------------------------------------------------------------------------- + + Memory set to 13.039 GiB by Python driver. + +Scratch directory: /tmp/795504.4.gen6.q/ + +*** tstart() called on n090 +*** at Mon Oct 24 14:59:10 2022 + + => Loading Basis Set <= + + Name: CC-PVTZ + Role: ORBITAL + Keyword: BASIS + atoms 1, 3 entry H line 23 file /opt/psi/4/master/share/psi4/basis/cc-pvtz.gbs + atoms 2 entry O line 262 file /opt/psi/4/master/share/psi4/basis/cc-pvtz.gbs + + + --------------------------------------------------------- + SCF + by Justin Turney, Rob Parrish, Andy Simmonett + and Daniel G. A. Smith + RHF Reference + 4 Threads, 13351 MiB Core + --------------------------------------------------------- + + ==> Geometry <== + + Molecular point group: c2v + Full point group: C2v + + Geometry (in Bohr), charge = 0, multiplicity = 1: + + Center X Y Z Mass + ------------ ----------------- ----------------- ----------------- ----------------- + H 0.000000000000 -1.419019559500 0.992066546420 1.007825032230 + O 0.000000000000 0.000000000000 -0.125018422780 15.994914619570 + H -0.000000000000 1.419019559500 0.992066546420 1.007825032230 + + Running in c2v symmetry. + + Rotational constants: A = 26.94958 B = 14.83209 C = 9.56684 [cm^-1] + Rotational constants: A = 807928.23113 B = 444654.84989 C = 286806.68913 [MHz] + Nuclear repulsion = 9.211904697718058 + + Charge = 0 + Multiplicity = 1 + Electrons = 10 + Nalpha = 5 + Nbeta = 5 + + ==> Algorithm <== + + SCF Algorithm Type is PK. + DIIS enabled. + MOM disabled. + Fractional occupation disabled. + Guess Type is SAD. + Energy threshold = 1.00e-10 + Density threshold = 1.00e-10 + Integral threshold = 0.00e+00 + + ==> Primary Basis <== + + Basis Set: CC-PVTZ + Blend: CC-PVTZ + Number of shells: 22 + Number of basis function: 58 + Number of Cartesian functions: 65 + Spherical Harmonics?: true + Max angular momentum: 3 + + ==> Integral Setup <== + + Using in-core PK algorithm. + Calculation information: + Number of atoms: 3 + Number of AO shells: 22 + Number of primitives: 42 + Number of atomic orbitals: 65 + Number of basis functions: 58 + + Integral cutoff 1.00e-12 + Number of threads: 4 + + Performing in-core PK + Using 2929232 doubles for integral storage. + We computed 43467 shell quartets total. + Whereas there are 32131 unique shell quartets. + 35.28 percent of shell quartets recomputed by reordering. + + ==> DiskJK: Disk-Based J/K Matrices <== + + J tasked: Yes + K tasked: Yes + wK tasked: No + Memory [MiB]: 10013 + Schwarz Cutoff: 1E-12 + + OpenMP threads: 4 + + Minimum eigenvalue in the overlap matrix is 2.2204366584E-03. + Reciprocal condition number of the overlap matrix is 5.0856287355E-04. + Using symmetric orthogonalization. + + ==> Pre-Iterations <== + + SCF Guess: Superposition of Atomic Densities via on-the-fly atomic UHF (no occupation information). + + ------------------------- + Irrep Nso Nmo + ------------------------- + A1 23 23 + A2 7 7 + B1 11 11 + B2 17 17 + ------------------------- + Total 58 58 + ------------------------- + + ==> Iterations <== + + Total Energy Delta E RMS |[F,P]| + + @RHF iter SAD: -75.50442055234336 -7.55044e+01 0.00000e+00 + @RHF iter 1: -75.97880236247386 -4.74382e-01 1.43753e-02 DIIS + @RHF iter 2: -76.03144011087635 -5.26377e-02 9.25870e-03 DIIS + @RHF iter 3: -76.05678562799910 -2.53455e-02 6.90476e-04 DIIS + @RHF iter 4: -76.05716999083054 -3.84363e-04 1.67690e-04 DIIS + @RHF iter 5: -76.05719395424150 -2.39634e-05 3.47163e-05 DIIS + @RHF iter 6: -76.05719546536210 -1.51112e-06 6.70819e-06 DIIS + @RHF iter 7: -76.05719552304488 -5.76828e-08 1.06615e-06 DIIS + @RHF iter 8: -76.05719552423257 -1.18769e-09 1.60601e-07 DIIS + @RHF iter 9: -76.05719552425998 -2.74127e-11 4.46572e-08 DIIS + @RHF iter 10: -76.05719552426217 -2.18847e-12 5.89148e-09 DIIS + @RHF iter 11: -76.05719552426220 -2.84217e-14 8.25254e-10 DIIS + @RHF iter 12: -76.05719552426221 -1.42109e-14 1.33389e-10 DIIS + @RHF iter 13: -76.05719552426220 1.42109e-14 1.62043e-11 DIIS + Energy and wave function converged. + + + ==> Post-Iterations <== + + Orbital Energies [Eh] + --------------------- + + Doubly Occupied: + + 1A1 -20.554916 2A1 -1.347192 1B2 -0.708841 + 3A1 -0.579878 1B1 -0.504912 + + Virtual: + + 4A1 0.142249 2B2 0.204390 3B2 0.543295 + 5A1 0.606601 6A1 0.667299 2B1 0.787220 + 7A1 0.796468 4B2 0.805832 1A2 0.863446 + 3B1 0.951517 8A1 1.131714 5B2 1.200756 + 6B2 1.526133 9A1 1.570847 4B1 2.041892 + 7B2 2.049488 2A2 2.064601 10A1 2.173517 + 11A1 2.232421 12A1 2.586468 8B2 2.968045 + 5B1 3.346816 13A1 3.487320 3A2 3.590850 + 9B2 3.664449 6B1 3.800635 10B2 3.880591 + 14A1 3.887986 4A2 3.966108 7B1 4.017439 + 11B2 4.074268 15A1 4.195849 5A2 4.311767 + 16A1 4.380293 12B2 4.604237 8B1 4.685346 + 13B2 4.869761 17A1 5.171136 18A1 5.252500 + 14B2 5.526288 9B1 6.059089 19A1 6.589026 + 10B1 6.926918 6A2 6.943815 11B1 7.005165 + 20A1 7.027565 15B2 7.049460 21A1 7.178580 + 7A2 7.243588 22A1 7.452145 16B2 7.802987 + 17B2 8.303478 23A1 12.898977 + + Final Occupation by Irrep: + A1 A2 B1 B2 + DOCC [ 3, 0, 1, 1 ] + + @RHF Final Energy: -76.05719552426220 + + => Energetics <= + + Nuclear Repulsion Energy = 9.2119046977180581 + One-Electron Energy = -123.1467221258976537 + Two-Electron Energy = 37.8776219039174009 + Total Energy = -76.0571955242621982 + +Computation Completed + + +Properties will be evaluated at 0.000000, 0.000000, 0.000000 [a0] + +Properties computed using the SCF density matrix + + Nuclear Dipole Moment: [e a0] + X: 0.0000 Y: 0.0000 Z: 0.9840 + + Electronic Dipole Moment: [e a0] + X: 0.0000 Y: 0.0000 Z: -0.1819 + + Dipole Moment: [e a0] + X: 0.0000 Y: 0.0000 Z: 0.8020 Total: 0.8020 + + Dipole Moment: [D] + X: 0.0000 Y: 0.0000 Z: 2.0386 Total: 2.0386 + + +*** tstop() called on n090 at Mon Oct 24 14:59:11 2022 +Module time: + user time = 1.73 seconds = 0.03 minutes + system time = 0.02 seconds = 0.00 minutes + total time = 1 seconds = 0.02 minutes +Total time: + user time = 1.73 seconds = 0.03 minutes + system time = 0.02 seconds = 0.00 minutes + total time = 1 seconds = 0.02 minutes + MINTS: Wrapper to libmints. + by Justin Turney + + Calculation information: + Number of threads: 4 + Number of atoms: 3 + Number of AO shells: 22 + Number of SO shells: 16 + Number of primitives: 42 + Number of atomic orbitals: 65 + Number of basis functions: 58 + + Number of irreps: 4 + Integral cutoff 0.00e+00 + Number of functions per irrep: [ 23 7 11 17 ] + + OEINTS: Overlap, kinetic, potential, dipole, and quadrupole integrals + stored in file 35. + + Computing two-electron integrals...done + Computed 360660 non-zero two-electron integrals. + Stored in file 33. + + +*** tstart() called on n090 +*** at Mon Oct 24 14:59:11 2022 + + + Wfn Parameters: + -------------------- + Wavefunction = CCSD_T + Number of irreps = 4 + Number of MOs = 58 + Number of active MOs = 57 + AO-Basis = NONE + Semicanonical = false + Reference = RHF + Print Level = 1 + + IRREP # MOs # FZDC # DOCC # SOCC # VIRT # FZVR + ----- ----- ------ ------ ------ ------ ------ + A1 23 1 2 0 20 0 + A2 7 0 0 0 7 0 + B1 11 0 1 0 10 0 + B2 17 0 1 0 16 0 + Transforming integrals... + IWL integrals will be deleted. + (OO|OO)... + Presorting SO-basis two-electron integrals. + Sorting File: SO Ints (nn|nn) nbuckets = 1 + Transforming the one-electron integrals and constructing Fock matrices + Starting first half-transformation. + Sorting half-transformed integrals. + First half integral transformation complete. + Starting second half-transformation. + Two-electron integral transformation complete. + (OO|OV)... + Starting second half-transformation. + Two-electron integral transformation complete. + (OO|VV)... + Starting second half-transformation. + Two-electron integral transformation complete. + (OV|OO)... + Starting first half-transformation. + Sorting half-transformed integrals. + First half integral transformation complete. + Starting second half-transformation. + Two-electron integral transformation complete. + (OV|OV)... + Starting second half-transformation. + Two-electron integral transformation complete. + (OV|VV)... + Starting second half-transformation. + Two-electron integral transformation complete. + (VV|OO)... + Starting first half-transformation. + Sorting half-transformed integrals. + First half integral transformation complete. + Starting second half-transformation. + Two-electron integral transformation complete. + (VV|OV)... + Starting second half-transformation. + Two-electron integral transformation complete. + (VV|VV)... + Starting second half-transformation. + Two-electron integral transformation complete. + Frozen core energy = -61.32032010488116 + + Size of irrep 0 of integrals: 0.648 (MW) / 5.184 (MB) + Size of irrep 1 of integrals: 0.360 (MW) / 2.880 (MB) + Size of irrep 2 of integrals: 0.389 (MW) / 3.115 (MB) + Size of irrep 3 of integrals: 0.608 (MW) / 4.867 (MB) + Total: 2.006 (MW) / 16.046 (MB) + + Size of irrep 0 of integrals: 0.053 (MW) / 0.425 (MB) + Size of irrep 1 of integrals: 0.024 (MW) / 0.192 (MB) + Size of irrep 2 of integrals: 0.029 (MW) / 0.235 (MB) + Size of irrep 3 of integrals: 0.046 (MW) / 0.368 (MB) + Total: 0.152 (MW) / 1.220 (MB) + + Size of irrep 0 of tijab amplitudes: 0.005 (MW) / 0.039 (MB) + Size of irrep 1 of tijab amplitudes: 0.001 (MW) / 0.010 (MB) + Size of irrep 2 of tijab amplitudes: 0.002 (MW) / 0.020 (MB) + Size of irrep 3 of tijab amplitudes: 0.003 (MW) / 0.025 (MB) + Total: 0.012 (MW) / 0.093 (MB) + + Nuclear Rep. energy = 9.21190469771806 + SCF energy = -76.05719552426220 + One-electron energy = -41.61591439646610 + Two-electron energy = 17.66713427936697 + Reference energy = -76.05719552426223 + +*** tstop() called on n090 at Mon Oct 24 14:59:11 2022 +Module time: + user time = 0.42 seconds = 0.01 minutes + system time = 0.06 seconds = 0.00 minutes + total time = 0 seconds = 0.00 minutes +Total time: + user time = 2.60 seconds = 0.04 minutes + system time = 0.09 seconds = 0.00 minutes + total time = 1 seconds = 0.02 minutes + ************************** + * * + * CCENERGY * + * * + ************************** + + Nuclear Rep. energy (wfn) = 9.211904697718058 + SCF energy (wfn) = -76.057195524262198 + Reference energy (file100) = -76.057195524262227 + + Input parameters: + ----------------- + Wave function = CCSD_T + Reference wfn = RHF + Brueckner = No + Memory (Mbytes) = 14000.0 + Maxiter = 300 + R_Convergence = 1.0e-08 + E_Convergence = 1.0e-10 + Restart = Yes + DIIS = Yes + AO Basis = NONE + ABCD = NEW + Cache Level = 2 + Cache Type = LOW + Print Level = 1 + Num. of threads = 4 + # Amps to Print = 10 + Print MP2 Amps? = No + Analyze T2 Amps = No + Print Pair Ener = No + Local CC = No + SCS-MP2 = False + SCSN-MP2 = False + SCS-CCSD = False + +MP2 correlation energy -0.2614399975020811 + Solving CC Amplitude Equations + ------------------------------ + Iter Energy RMS T1Diag D1Diag New D1Diag D2Diag + ---- --------------------- --------- ---------- ---------- ---------- -------- + 0 -0.261439997502081 0.000e+00 0.000000 0.000000 0.000000 0.115845 + 1 -0.261830140400047 2.895e-02 0.005670 0.009239 0.009239 0.119494 + 2 -0.266640455008172 9.950e-03 0.005867 0.009396 0.009396 0.124123 + 3 -0.267339420596539 3.183e-03 0.006446 0.010514 0.010514 0.125743 + 4 -0.267331647775493 6.457e-04 0.006483 0.010601 0.010601 0.125947 + 5 -0.267353165009497 2.025e-04 0.006503 0.010688 0.010688 0.125994 + 6 -0.267353728928736 6.005e-05 0.006508 0.010723 0.010723 0.125990 + 7 -0.267353820284085 1.932e-05 0.006511 0.010739 0.010739 0.125989 + 8 -0.267353520251449 4.975e-06 0.006512 0.010743 0.010743 0.125989 + 9 -0.267353433455381 1.020e-06 0.006512 0.010744 0.010744 0.125988 + 10 -0.267353446140572 2.273e-07 0.006512 0.010744 0.010744 0.125988 + 11 -0.267353444872453 4.411e-08 0.006512 0.010744 0.010744 0.125988 + 12 -0.267353446442119 9.734e-09 0.006512 0.010744 0.010744 0.125988 + 13 -0.267353446472728 2.347e-09 0.006512 0.010744 0.010744 0.125988 + 14 -0.267353446480468 5.809e-10 0.006512 0.010744 0.010744 0.125988 + + Iterations converged. + + + Largest TIA Amplitudes: + 2 27 -0.0074205654 + 3 41 -0.0057691778 + 1 0 0.0057456637 + 2 28 -0.0049517146 + 1 3 -0.0045666734 + 1 5 -0.0041276097 + 0 2 -0.0039651867 + 1 2 0.0038830471 + 3 46 -0.0038218078 + 1 11 -0.0037719377 + + Largest TIjAb Amplitudes: + 2 2 27 27 -0.0476024195 + 1 1 2 2 -0.0295948726 + 3 3 38 38 -0.0268066419 + 1 2 2 27 0.0258999743 + 2 1 27 2 0.0258999743 + 3 3 1 1 -0.0251287982 + 3 3 39 39 -0.0227242800 + 2 3 27 39 0.0222606390 + 3 2 39 27 0.0222606390 + 1 1 38 38 -0.0220399339 + + SCF energy (wfn) = -76.057195524262198 + Reference energy (file100) = -76.057195524262227 + + Opposite-spin MP2 correlation energy = -0.197934590356951 + Same-spin MP2 correlation energy = -0.063505407145130 + Singles MP2 correlation energy = -0.000000000000000 + MP2 correlation energy = -0.261439997502081 + * MP2 total energy = -76.318635521764307 + + Opposite-spin CCSD correlation energy = -0.210688679519075 + Same-spin CCSD correlation energy = -0.056664766961393 + Singles CCSD correlation energy = 0.000000000000000 + CCSD correlation energy = -0.267353446480468 + * CCSD total energy = -76.324548970742697 + + ************************** + * * + * CCTRIPLES * + * * + ************************** + + + Wave function = CCSD_T + Reference wfn = RHF + + Nuclear Rep. energy (wfn) = 9.211904697718058 + SCF energy (wfn) = -76.057195524262198 + Reference energy (file100) = -76.057195524262227 + CCSD energy (file100) = -0.267353446480468 + Total CCSD energy (file100) = -76.324548970742697 + + Number of ijk index combinations: 20 + Memory available in words : 1750000000 + ~Words needed per explicit thread: 32000 + Number of threads for explicit ijk threading: 4 + + MKL num_threads set to 1 for explicit threading. + + (T) energy = -0.007640199610620 + * CCSD(T) total energy = -76.332189170353317 + +Giraffe The Energy is -76.332189170353 + + Psi4 stopped on: Monday, 24 October 2022 02:59PM + Psi4 wall time for execution: 0:00:03.58 + +*** Psi4 exiting successfully. Buy a developer a beer! diff --git a/tests/ref_data/reap_test/Disps/4/timer.dat b/tests/ref_data/reap_test/Disps/4/timer.dat new file mode 100644 index 00000000..49684139 --- /dev/null +++ b/tests/ref_data/reap_test/Disps/4/timer.dat @@ -0,0 +1,92 @@ + +Host: n090 + +Timers On : Mon Oct 24 14:59:08 2022 +Timers Off: Mon Oct 24 14:59:13 2022 + +Wall Time: 5.47 seconds + + Time (seconds) +Module User System Wall Calls +Total PK formation time : 0.467u 0.017s 0.373w 1 calls +HF: Form core H : 0.050u 0.000s 0.007w 1 calls +HF: Form S/X : 0.000u 0.000s 0.000w 1 calls +HF: Guess : 1.267u 0.017s 0.200w 1 calls +SAD Guess : 1.200u 0.017s 0.190w 1 calls +HF: Form G : 0.333u 0.000s 0.048w 14 calls +JK: D : 0.000u 0.000s 0.000w 14 calls +JK: USO2AO : 0.017u 0.000s 0.001w 14 calls +JK: JK : 0.317u 0.000s 0.046w 14 calls +PK computes JK : 0.317u 0.000s 0.046w 14 calls +JK: AO2USO : 0.000u 0.000s 0.001w 14 calls +HF: Form F : 0.000u 0.000s 0.000w 14 calls +HF: Form D : 0.000u 0.000s 0.000w 14 calls +HF: DIIS : 0.117u 0.000s 0.026w 13 calls +DIISManager::add_entry : 0.100u 0.000s 0.020w 13 calls +DIISManager::extrapolate : 0.000u 0.000s 0.001w 13 calls +bMatrix setup : 0.000u 0.000s 0.000w 13 calls +bMatrix pseudoinverse : 0.000u 0.000s 0.000w 13 calls +New vector : 0.000u 0.000s 0.000w 13 calls +HF: Form C : 0.000u 0.000s 0.002w 13 calls +ccenergy : 9.533u 0.333s 1.892w 1 calls +F build : 0.033u 0.000s 0.012w 14 calls +Wmbej build : 0.217u 0.017s 0.021w 14 calls +C->Wmbej : 0.017u 0.000s 0.001w 14 calls +F->Wmbej : 0.117u 0.017s 0.012w 14 calls +E->Wmbej : 0.000u 0.000s 0.003w 14 calls +X->Wmbej : 0.067u 0.000s 0.004w 14 calls +Z : 0.000u 0.000s 0.002w 14 calls +T2 Build : 0.483u 0.150s 0.089w 14 calls +BT2 : 0.267u 0.133s 0.060w 14 calls +ABCD:new : 0.267u 0.133s 0.060w 14 calls +ABCD:S : 0.017u 0.050s 0.010w 14 calls +ABCD:A : 0.050u 0.050s 0.009w 14 calls +ABCD:axpy : 0.200u 0.033s 0.038w 14 calls +FT2 : 0.067u 0.017s 0.004w 14 calls +WmbejT2 : 0.067u 0.000s 0.007w 14 calls +CT2 : 0.033u 0.000s 0.010w 14 calls +cctriples : 0.750u 0.017s 0.145w 1 calls +ET_RHF : 0.150u 0.000s 0.024w 1 calls + +-------------------------------------------------------------------------------------- +Total PK formation time : 0.467u 0.017s 0.373w 1 calls +HF: Form core H : 0.050u 0.000s 0.007w 1 calls +HF: Form S/X : 0.000u 0.000s 0.000w 1 calls +HF: Guess : 1.267u 0.017s 0.200w 1 calls +| SAD Guess : 1.200u 0.017s 0.190w 1 calls +HF: Form G : 0.333u 0.000s 0.048w 14 calls +| JK: D : 0.000u 0.000s 0.000w 14 calls +| JK: USO2AO : 0.017u 0.000s 0.001w 14 calls +| JK: JK : 0.317u 0.000s 0.046w 14 calls +| | PK computes JK : 0.317u 0.000s 0.046w 14 calls +| JK: AO2USO : 0.000u 0.000s 0.001w 14 calls +HF: Form F : 0.000u 0.000s 0.000w 14 calls +HF: Form D : 0.000u 0.000s 0.000w 14 calls +HF: DIIS : 0.117u 0.000s 0.026w 13 calls +| DIISManager::add_entry : 0.100u 0.000s 0.020w 13 calls +| DIISManager::extrapolate : 0.000u 0.000s 0.001w 13 calls +| | bMatrix setup : 0.000u 0.000s 0.000w 13 calls +| | bMatrix pseudoinverse : 0.000u 0.000s 0.000w 13 calls +| | New vector : 0.000u 0.000s 0.000w 13 calls +HF: Form C : 0.000u 0.000s 0.002w 13 calls +ccenergy : 9.533u 0.333s 1.892w 1 calls +| F build : 0.033u 0.000s 0.012w 14 calls +| Wmbej build : 0.217u 0.017s 0.021w 14 calls +| | C->Wmbej : 0.017u 0.000s 0.001w 14 calls +| | F->Wmbej : 0.117u 0.017s 0.012w 14 calls +| | E->Wmbej : 0.000u 0.000s 0.003w 14 calls +| | X->Wmbej : 0.067u 0.000s 0.004w 14 calls +| Z : 0.000u 0.000s 0.002w 14 calls +| T2 Build : 0.483u 0.150s 0.089w 14 calls +| | BT2 : 0.267u 0.133s 0.060w 14 calls +| | | ABCD:new : 0.267u 0.133s 0.060w 14 calls +| | | | ABCD:S : 0.017u 0.050s 0.010w 14 calls +| | | | ABCD:A : 0.050u 0.050s 0.009w 14 calls +| | | | ABCD:axpy : 0.200u 0.033s 0.038w 14 calls +| | FT2 : 0.067u 0.017s 0.004w 14 calls +| | WmbejT2 : 0.067u 0.000s 0.007w 14 calls +| | CT2 : 0.033u 0.000s 0.010w 14 calls +cctriples : 0.750u 0.017s 0.145w 1 calls +| ET_RHF : 0.150u 0.000s 0.024w 1 calls + +************************************************************************************** diff --git a/tests/ref_data/reap_test/Disps/5/ijk.dat b/tests/ref_data/reap_test/Disps/5/ijk.dat new file mode 100644 index 00000000..502f5c85 --- /dev/null +++ b/tests/ref_data/reap_test/Disps/5/ijk.dat @@ -0,0 +1,85 @@ +Total number of IJK combinations =: 20 +Num. of IJK with (Gi,Gj,Gk)=(0,0,0) =: 4 + thread 0: first_ijk=0, last_ijk=0 + thread 1: first_ijk=1, last_ijk=1 + thread 2: first_ijk=2, last_ijk=2 + thread 3: first_ijk=3, last_ijk=3 +Num. of IJK with (Gi,Gj,Gk)=(0,0,1) =: 0 +Num. of IJK with (Gi,Gj,Gk)=(0,0,2) =: 0 +Num. of IJK with (Gi,Gj,Gk)=(0,0,3) =: 0 +Num. of IJK with (Gi,Gj,Gk)=(0,1,0) =: 0 +Num. of IJK with (Gi,Gj,Gk)=(0,1,1) =: 0 +Num. of IJK with (Gi,Gj,Gk)=(0,1,2) =: 0 +Num. of IJK with (Gi,Gj,Gk)=(0,1,3) =: 0 +Num. of IJK with (Gi,Gj,Gk)=(0,2,0) =: 0 +Num. of IJK with (Gi,Gj,Gk)=(0,2,1) =: 0 +Num. of IJK with (Gi,Gj,Gk)=(0,2,2) =: 0 +Num. of IJK with (Gi,Gj,Gk)=(0,2,3) =: 0 +Num. of IJK with (Gi,Gj,Gk)=(0,3,0) =: 0 +Num. of IJK with (Gi,Gj,Gk)=(0,3,1) =: 0 +Num. of IJK with (Gi,Gj,Gk)=(0,3,2) =: 0 +Num. of IJK with (Gi,Gj,Gk)=(0,3,3) =: 0 +Num. of IJK with (Gi,Gj,Gk)=(1,0,0) =: 0 +Num. of IJK with (Gi,Gj,Gk)=(1,0,1) =: 0 +Num. of IJK with (Gi,Gj,Gk)=(1,0,2) =: 0 +Num. of IJK with (Gi,Gj,Gk)=(1,0,3) =: 0 +Num. of IJK with (Gi,Gj,Gk)=(1,1,0) =: 0 +Num. of IJK with (Gi,Gj,Gk)=(1,1,1) =: 0 +Num. of IJK with (Gi,Gj,Gk)=(1,1,2) =: 0 +Num. of IJK with (Gi,Gj,Gk)=(1,1,3) =: 0 +Num. of IJK with (Gi,Gj,Gk)=(1,2,0) =: 0 +Num. of IJK with (Gi,Gj,Gk)=(1,2,1) =: 0 +Num. of IJK with (Gi,Gj,Gk)=(1,2,2) =: 0 +Num. of IJK with (Gi,Gj,Gk)=(1,2,3) =: 0 +Num. of IJK with (Gi,Gj,Gk)=(1,3,0) =: 0 +Num. of IJK with (Gi,Gj,Gk)=(1,3,1) =: 0 +Num. of IJK with (Gi,Gj,Gk)=(1,3,2) =: 0 +Num. of IJK with (Gi,Gj,Gk)=(1,3,3) =: 0 +Num. of IJK with (Gi,Gj,Gk)=(2,0,0) =: 3 + thread 0: first_ijk=0, last_ijk=0 + thread 1: first_ijk=1, last_ijk=1 + thread 2: first_ijk=2, last_ijk=2 +Num. of IJK with (Gi,Gj,Gk)=(2,0,1) =: 0 +Num. of IJK with (Gi,Gj,Gk)=(2,0,2) =: 0 +Num. of IJK with (Gi,Gj,Gk)=(2,0,3) =: 0 +Num. of IJK with (Gi,Gj,Gk)=(2,1,0) =: 0 +Num. of IJK with (Gi,Gj,Gk)=(2,1,1) =: 0 +Num. of IJK with (Gi,Gj,Gk)=(2,1,2) =: 0 +Num. of IJK with (Gi,Gj,Gk)=(2,1,3) =: 0 +Num. of IJK with (Gi,Gj,Gk)=(2,2,0) =: 2 + thread 0: first_ijk=0, last_ijk=0 + thread 1: first_ijk=1, last_ijk=1 +Num. of IJK with (Gi,Gj,Gk)=(2,2,1) =: 0 +Num. of IJK with (Gi,Gj,Gk)=(2,2,2) =: 1 + thread 0: first_ijk=0, last_ijk=0 +Num. of IJK with (Gi,Gj,Gk)=(2,2,3) =: 0 +Num. of IJK with (Gi,Gj,Gk)=(2,3,0) =: 0 +Num. of IJK with (Gi,Gj,Gk)=(2,3,1) =: 0 +Num. of IJK with (Gi,Gj,Gk)=(2,3,2) =: 0 +Num. of IJK with (Gi,Gj,Gk)=(2,3,3) =: 0 +Num. of IJK with (Gi,Gj,Gk)=(3,0,0) =: 3 + thread 0: first_ijk=0, last_ijk=0 + thread 1: first_ijk=1, last_ijk=1 + thread 2: first_ijk=2, last_ijk=2 +Num. of IJK with (Gi,Gj,Gk)=(3,0,1) =: 0 +Num. of IJK with (Gi,Gj,Gk)=(3,0,2) =: 0 +Num. of IJK with (Gi,Gj,Gk)=(3,0,3) =: 0 +Num. of IJK with (Gi,Gj,Gk)=(3,1,0) =: 0 +Num. of IJK with (Gi,Gj,Gk)=(3,1,1) =: 0 +Num. of IJK with (Gi,Gj,Gk)=(3,1,2) =: 0 +Num. of IJK with (Gi,Gj,Gk)=(3,1,3) =: 0 +Num. of IJK with (Gi,Gj,Gk)=(3,2,0) =: 2 + thread 0: first_ijk=0, last_ijk=0 + thread 1: first_ijk=1, last_ijk=1 +Num. of IJK with (Gi,Gj,Gk)=(3,2,1) =: 0 +Num. of IJK with (Gi,Gj,Gk)=(3,2,2) =: 1 + thread 0: first_ijk=0, last_ijk=0 +Num. of IJK with (Gi,Gj,Gk)=(3,2,3) =: 0 +Num. of IJK with (Gi,Gj,Gk)=(3,3,0) =: 2 + thread 0: first_ijk=0, last_ijk=0 + thread 1: first_ijk=1, last_ijk=1 +Num. of IJK with (Gi,Gj,Gk)=(3,3,1) =: 0 +Num. of IJK with (Gi,Gj,Gk)=(3,3,2) =: 1 + thread 0: first_ijk=0, last_ijk=0 +Num. of IJK with (Gi,Gj,Gk)=(3,3,3) =: 1 + thread 0: first_ijk=0, last_ijk=0 diff --git a/tests/ref_data/reap_test/Disps/5/input.dat b/tests/ref_data/reap_test/Disps/5/input.dat new file mode 100644 index 00000000..005fe2c2 --- /dev/null +++ b/tests/ref_data/reap_test/Disps/5/input.dat @@ -0,0 +1,24 @@ +# o-Benzyne preliminary computations + +memory 14 gb + +molecule { + 0 1 + units bohr + H 0.0000000000 -1.4302315031 0.9973718515 + O 0.0000000000 0.0000000000 -0.1284000831 + H 0.0000000000 1.4302315031 0.9973718515 +} + +set { + basis cc-pvtz + reference rhf + e_convergence 10 + d_convergence 10 + r_convergence 8 + maxiter 300 + freeze_core True +} + +e, wfn = energy('ccsd(t)', return_wfn = True) +psi4.print_out('Giraffe The Energy is %.12f \n'%(e)) diff --git a/tests/ref_data/reap_test/Disps/5/output.dat b/tests/ref_data/reap_test/Disps/5/output.dat new file mode 100644 index 00000000..b54b9d4c --- /dev/null +++ b/tests/ref_data/reap_test/Disps/5/output.dat @@ -0,0 +1,533 @@ + + ----------------------------------------------------------------------- + Psi4: An Open-Source Ab Initio Electronic Structure Package + Psi4 1.4a2.dev629 + + Git: Rev {master} 2938fc2 dirty + + + D. G. A. Smith, L. A. Burns, A. C. Simmonett, R. M. Parrish, + M. C. Schieber, R. Galvelis, P. Kraus, H. Kruse, R. Di Remigio, + A. Alenaizan, A. M. James, S. Lehtola, J. P. Misiewicz, M. Scheurer, + R. A. Shaw, J. B. Schriber, Y. Xie, Z. L. Glick, D. A. Sirianni, + J. S. O'Brien, J. M. Waldrop, A. Kumar, E. G. Hohenstein, + B. P. Pritchard, B. R. Brooks, H. F. Schaefer III, A. Yu. Sokolov, + K. Patkowski, A. E. DePrince III, U. Bozkaya, R. A. King, + F. A. Evangelista, J. M. Turney, T. D. Crawford, C. D. Sherrill, + J. Chem. Phys. 152(18) 184108 (2020). https://doi.org/10.1063/5.0006002 + + Additional Code Authors + E. T. Seidl, C. L. Janssen, E. F. Valeev, M. L. Leininger, + J. F. Gonthier, R. M. Richard, H. R. McAlexander, M. Saitow, X. Wang, + P. Verma, and M. H. Lechner + + Previous Authors, Complete List of Code Contributors, + and Citations for Specific Modules + https://github.com/psi4/psi4/blob/master/codemeta.json + https://github.com/psi4/psi4/graphs/contributors + http://psicode.org/psi4manual/master/introduction.html#citing-psifour + + ----------------------------------------------------------------------- + + + Psi4 started on: Monday, 24 October 2022 02:59PM + + Process ID: 161616 + Host: n070 + PSIDATADIR: /opt/psi/4/master/share/psi4 + Memory: 500.0 MiB + Threads: 4 + + ==> Input File <== + +-------------------------------------------------------------------------- +# o-Benzyne preliminary computations + +memory 14 gb + +molecule { + 0 1 + units bohr + H 0.0000000000 -1.4302315031 0.9973718515 + O 0.0000000000 0.0000000000 -0.1284000831 + H 0.0000000000 1.4302315031 0.9973718515 +} + +set { + basis cc-pvtz + reference rhf + e_convergence 10 + d_convergence 10 + r_convergence 8 + maxiter 300 + freeze_core True +} + +e, wfn = energy('ccsd(t)', return_wfn = True) +psi4.print_out('Giraffe The Energy is %.12f \n'%(e)) +-------------------------------------------------------------------------- + + Memory set to 13.039 GiB by Python driver. + +Scratch directory: /tmp/795504.5.gen5.q/ + +*** tstart() called on n070 +*** at Mon Oct 24 14:59:41 2022 + + => Loading Basis Set <= + + Name: CC-PVTZ + Role: ORBITAL + Keyword: BASIS + atoms 1, 3 entry H line 23 file /opt/psi/4/master/share/psi4/basis/cc-pvtz.gbs + atoms 2 entry O line 262 file /opt/psi/4/master/share/psi4/basis/cc-pvtz.gbs + + + --------------------------------------------------------- + SCF + by Justin Turney, Rob Parrish, Andy Simmonett + and Daniel G. A. Smith + RHF Reference + 4 Threads, 13351 MiB Core + --------------------------------------------------------- + + ==> Geometry <== + + Molecular point group: c2v + Full point group: C2v + + Geometry (in Bohr), charge = 0, multiplicity = 1: + + Center X Y Z Mass + ------------ ----------------- ----------------- ----------------- ----------------- + H 0.000000000000 -1.430231503100 0.999781311188 1.007825032230 + O 0.000000000000 0.000000000000 -0.125990623412 15.994914619570 + H -0.000000000000 1.430231503100 0.999781311188 1.007825032230 + + Running in c2v symmetry. + + Rotational constants: A = 26.53528 B = 14.60046 C = 9.41826 [cm^-1] + Rotational constants: A = 795507.65884 B = 437710.65378 C = 282352.42201 [MHz] + Nuclear repulsion = 9.140106474070180 + + Charge = 0 + Multiplicity = 1 + Electrons = 10 + Nalpha = 5 + Nbeta = 5 + + ==> Algorithm <== + + SCF Algorithm Type is PK. + DIIS enabled. + MOM disabled. + Fractional occupation disabled. + Guess Type is SAD. + Energy threshold = 1.00e-10 + Density threshold = 1.00e-10 + Integral threshold = 0.00e+00 + + ==> Primary Basis <== + + Basis Set: CC-PVTZ + Blend: CC-PVTZ + Number of shells: 22 + Number of basis function: 58 + Number of Cartesian functions: 65 + Spherical Harmonics?: true + Max angular momentum: 3 + + ==> Integral Setup <== + + Using in-core PK algorithm. + Calculation information: + Number of atoms: 3 + Number of AO shells: 22 + Number of primitives: 42 + Number of atomic orbitals: 65 + Number of basis functions: 58 + + Integral cutoff 1.00e-12 + Number of threads: 4 + + Performing in-core PK + Using 2929232 doubles for integral storage. + We computed 43467 shell quartets total. + Whereas there are 32131 unique shell quartets. + 35.28 percent of shell quartets recomputed by reordering. + + ==> DiskJK: Disk-Based J/K Matrices <== + + J tasked: Yes + K tasked: Yes + wK tasked: No + Memory [MiB]: 10013 + Schwarz Cutoff: 1E-12 + + OpenMP threads: 4 + + Minimum eigenvalue in the overlap matrix is 2.2827252347E-03. + Reciprocal condition number of the overlap matrix is 5.2443056371E-04. + Using symmetric orthogonalization. + + ==> Pre-Iterations <== + + SCF Guess: Superposition of Atomic Densities via on-the-fly atomic UHF (no occupation information). + + ------------------------- + Irrep Nso Nmo + ------------------------- + A1 23 23 + A2 7 7 + B1 11 11 + B2 17 17 + ------------------------- + Total 58 58 + ------------------------- + + ==> Iterations <== + + Total Energy Delta E RMS |[F,P]| + + @RHF iter SAD: -75.49524492538055 -7.54952e+01 0.00000e+00 + @RHF iter 1: -75.97790354157809 -4.82659e-01 1.43554e-02 DIIS + @RHF iter 2: -76.03043268093974 -5.25291e-02 9.32282e-03 DIIS + @RHF iter 3: -76.05621905768797 -2.57864e-02 6.97168e-04 DIIS + @RHF iter 4: -76.05661434139506 -3.95284e-04 1.72021e-04 DIIS + @RHF iter 5: -76.05663987454979 -2.55332e-05 3.56664e-05 DIIS + @RHF iter 6: -76.05664148419066 -1.60964e-06 6.88359e-06 DIIS + @RHF iter 7: -76.05664154505882 -6.08682e-08 1.08955e-06 DIIS + @RHF iter 8: -76.05664154630519 -1.24636e-09 1.68130e-07 DIIS + @RHF iter 9: -76.05664154633595 -3.07665e-11 4.71897e-08 DIIS + @RHF iter 10: -76.05664154633840 -2.44427e-12 6.11242e-09 DIIS + @RHF iter 11: -76.05664154633847 -7.10543e-14 8.60996e-10 DIIS + @RHF iter 12: -76.05664154633845 1.42109e-14 1.39171e-10 DIIS + @RHF iter 13: -76.05664154633843 2.84217e-14 1.64822e-11 DIIS + Energy and wave function converged. + + + ==> Post-Iterations <== + + Orbital Energies [Eh] + --------------------- + + Doubly Occupied: + + 1A1 -20.556250 2A1 -1.343308 1B2 -0.704779 + 3A1 -0.578432 1B1 -0.504307 + + Virtual: + + 4A1 0.141473 2B2 0.203697 3B2 0.540199 + 5A1 0.602097 6A1 0.668677 2B1 0.787179 + 7A1 0.795124 4B2 0.805696 1A2 0.861851 + 3B1 0.950700 8A1 1.137194 5B2 1.196326 + 6B2 1.519400 9A1 1.559134 4B1 2.038703 + 7B2 2.060285 2A2 2.061684 10A1 2.171348 + 11A1 2.234874 12A1 2.582300 8B2 2.961464 + 5B1 3.347153 13A1 3.483536 3A2 3.585365 + 9B2 3.653742 6B1 3.794482 10B2 3.872211 + 14A1 3.885594 4A2 3.960755 7B1 4.016238 + 11B2 4.070978 15A1 4.186393 5A2 4.299889 + 16A1 4.369343 12B2 4.584280 8B1 4.678808 + 13B2 4.853727 17A1 5.143099 18A1 5.247835 + 14B2 5.521554 9B1 6.044229 19A1 6.560274 + 10B1 6.900299 6A2 6.931252 11B1 7.004089 + 20A1 7.006866 15B2 7.024612 21A1 7.174196 + 7A2 7.227154 22A1 7.446082 16B2 7.783389 + 17B2 8.270074 23A1 12.775016 + + Final Occupation by Irrep: + A1 A2 B1 B2 + DOCC [ 3, 0, 1, 1 ] + + @RHF Final Energy: -76.05664154633843 + + => Energetics <= + + Nuclear Repulsion Energy = 9.1401064740701798 + One-Electron Energy = -123.0193422533992589 + Two-Electron Energy = 37.8225942329906601 + Total Energy = -76.0566415463384260 + +Computation Completed + + +Properties will be evaluated at 0.000000, 0.000000, 0.000000 [a0] + +Properties computed using the SCF density matrix + + Nuclear Dipole Moment: [e a0] + X: 0.0000 Y: 0.0000 Z: 0.9916 + + Electronic Dipole Moment: [e a0] + X: 0.0000 Y: 0.0000 Z: -0.1872 + + Dipole Moment: [e a0] + X: 0.0000 Y: 0.0000 Z: 0.8044 Total: 0.8044 + + Dipole Moment: [D] + X: 0.0000 Y: 0.0000 Z: 2.0446 Total: 2.0446 + + +*** tstop() called on n070 at Mon Oct 24 14:59:42 2022 +Module time: + user time = 2.75 seconds = 0.05 minutes + system time = 0.05 seconds = 0.00 minutes + total time = 1 seconds = 0.02 minutes +Total time: + user time = 2.75 seconds = 0.05 minutes + system time = 0.05 seconds = 0.00 minutes + total time = 1 seconds = 0.02 minutes + MINTS: Wrapper to libmints. + by Justin Turney + + Calculation information: + Number of threads: 4 + Number of atoms: 3 + Number of AO shells: 22 + Number of SO shells: 16 + Number of primitives: 42 + Number of atomic orbitals: 65 + Number of basis functions: 58 + + Number of irreps: 4 + Integral cutoff 0.00e+00 + Number of functions per irrep: [ 23 7 11 17 ] + + OEINTS: Overlap, kinetic, potential, dipole, and quadrupole integrals + stored in file 35. + + Computing two-electron integrals...done + Computed 359446 non-zero two-electron integrals. + Stored in file 33. + + +*** tstart() called on n070 +*** at Mon Oct 24 14:59:42 2022 + + + Wfn Parameters: + -------------------- + Wavefunction = CCSD_T + Number of irreps = 4 + Number of MOs = 58 + Number of active MOs = 57 + AO-Basis = NONE + Semicanonical = false + Reference = RHF + Print Level = 1 + + IRREP # MOs # FZDC # DOCC # SOCC # VIRT # FZVR + ----- ----- ------ ------ ------ ------ ------ + A1 23 1 2 0 20 0 + A2 7 0 0 0 7 0 + B1 11 0 1 0 10 0 + B2 17 0 1 0 16 0 + Transforming integrals... + IWL integrals will be deleted. + (OO|OO)... + Presorting SO-basis two-electron integrals. + Sorting File: SO Ints (nn|nn) nbuckets = 1 + Transforming the one-electron integrals and constructing Fock matrices + Starting first half-transformation. + Sorting half-transformed integrals. + First half integral transformation complete. + Starting second half-transformation. + Two-electron integral transformation complete. + (OO|OV)... + Starting second half-transformation. + Two-electron integral transformation complete. + (OO|VV)... + Starting second half-transformation. + Two-electron integral transformation complete. + (OV|OO)... + Starting first half-transformation. + Sorting half-transformed integrals. + First half integral transformation complete. + Starting second half-transformation. + Two-electron integral transformation complete. + (OV|OV)... + Starting second half-transformation. + Two-electron integral transformation complete. + (OV|VV)... + Starting second half-transformation. + Two-electron integral transformation complete. + (VV|OO)... + Starting first half-transformation. + Sorting half-transformed integrals. + First half integral transformation complete. + Starting second half-transformation. + Two-electron integral transformation complete. + (VV|OV)... + Starting second half-transformation. + Two-electron integral transformation complete. + (VV|VV)... + Starting second half-transformation. + Two-electron integral transformation complete. + Frozen core energy = -61.30307681306065 + + Size of irrep 0 of integrals: 0.648 (MW) / 5.184 (MB) + Size of irrep 1 of integrals: 0.360 (MW) / 2.880 (MB) + Size of irrep 2 of integrals: 0.389 (MW) / 3.115 (MB) + Size of irrep 3 of integrals: 0.608 (MW) / 4.867 (MB) + Total: 2.006 (MW) / 16.046 (MB) + + Size of irrep 0 of integrals: 0.053 (MW) / 0.425 (MB) + Size of irrep 1 of integrals: 0.024 (MW) / 0.192 (MB) + Size of irrep 2 of integrals: 0.029 (MW) / 0.235 (MB) + Size of irrep 3 of integrals: 0.046 (MW) / 0.368 (MB) + Total: 0.152 (MW) / 1.220 (MB) + + Size of irrep 0 of tijab amplitudes: 0.005 (MW) / 0.039 (MB) + Size of irrep 1 of tijab amplitudes: 0.001 (MW) / 0.010 (MB) + Size of irrep 2 of tijab amplitudes: 0.002 (MW) / 0.020 (MB) + Size of irrep 3 of tijab amplitudes: 0.003 (MW) / 0.025 (MB) + Total: 0.012 (MW) / 0.093 (MB) + + Nuclear Rep. energy = 9.14010647407018 + SCF energy = -76.05664154633843 + One-electron energy = -41.52568886768393 + Two-electron energy = 17.63201766033597 + Reference energy = -76.05664154633843 + +*** tstop() called on n070 at Mon Oct 24 14:59:42 2022 +Module time: + user time = 0.41 seconds = 0.01 minutes + system time = 0.09 seconds = 0.00 minutes + total time = 0 seconds = 0.00 minutes +Total time: + user time = 3.77 seconds = 0.06 minutes + system time = 0.16 seconds = 0.00 minutes + total time = 1 seconds = 0.02 minutes + ************************** + * * + * CCENERGY * + * * + ************************** + + Nuclear Rep. energy (wfn) = 9.140106474070180 + SCF energy (wfn) = -76.056641546338426 + Reference energy (file100) = -76.056641546338426 + + Input parameters: + ----------------- + Wave function = CCSD_T + Reference wfn = RHF + Brueckner = No + Memory (Mbytes) = 14000.0 + Maxiter = 300 + R_Convergence = 1.0e-08 + E_Convergence = 1.0e-10 + Restart = Yes + DIIS = Yes + AO Basis = NONE + ABCD = NEW + Cache Level = 2 + Cache Type = LOW + Print Level = 1 + Num. of threads = 4 + # Amps to Print = 10 + Print MP2 Amps? = No + Analyze T2 Amps = No + Print Pair Ener = No + Local CC = No + SCS-MP2 = False + SCSN-MP2 = False + SCS-CCSD = False + +MP2 correlation energy -0.2619831384762842 + Solving CC Amplitude Equations + ------------------------------ + Iter Energy RMS T1Diag D1Diag New D1Diag D2Diag + ---- --------------------- --------- ---------- ---------- ---------- -------- + 0 -0.261983138476284 0.000e+00 0.000000 0.000000 0.000000 0.116576 + 1 -0.262226178760577 2.929e-02 0.005744 0.009356 0.009356 0.120249 + 2 -0.267109282014324 1.014e-02 0.005943 0.009516 0.009516 0.124985 + 3 -0.267830815683136 3.269e-03 0.006540 0.010675 0.010675 0.126669 + 4 -0.267823151569473 6.659e-04 0.006579 0.010771 0.010771 0.126882 + 5 -0.267845480654242 2.117e-04 0.006601 0.010865 0.010865 0.126931 + 6 -0.267846001544122 6.348e-05 0.006607 0.010903 0.010903 0.126927 + 7 -0.267846080446138 2.032e-05 0.006610 0.010920 0.010920 0.126925 + 8 -0.267845758448233 5.224e-06 0.006610 0.010924 0.010924 0.126925 + 9 -0.267845667118351 1.077e-06 0.006611 0.010925 0.010925 0.126925 + 10 -0.267845680279797 2.424e-07 0.006611 0.010925 0.010925 0.126925 + 11 -0.267845678938305 4.712e-08 0.006611 0.010925 0.010925 0.126925 + 12 -0.267845680622278 1.048e-08 0.006611 0.010925 0.010925 0.126925 + 13 -0.267845680668519 2.508e-09 0.006611 0.010925 0.010925 0.126925 + 14 -0.267845680679237 6.275e-10 0.006611 0.010925 0.010925 0.126925 + + Iterations converged. + + + Largest TIA Amplitudes: + 2 27 -0.0076263703 + 1 0 0.0059549046 + 3 41 -0.0058727684 + 2 28 -0.0049162962 + 1 3 -0.0045528077 + 1 5 -0.0042461409 + 0 2 -0.0040828469 + 3 46 -0.0038740312 + 1 2 0.0038312570 + 1 11 -0.0037987674 + + Largest TIjAb Amplitudes: + 2 2 27 27 -0.0477127378 + 1 1 2 2 -0.0295829370 + 3 3 38 38 -0.0273494794 + 1 2 2 27 0.0259501502 + 2 1 27 2 0.0259501502 + 3 3 1 1 -0.0255194503 + 3 3 39 39 -0.0226194348 + 1 1 38 38 -0.0222719756 + 2 3 27 39 0.0222668043 + 3 2 39 27 0.0222668043 + + SCF energy (wfn) = -76.056641546338426 + Reference energy (file100) = -76.056641546338426 + + Opposite-spin MP2 correlation energy = -0.198363050790996 + Same-spin MP2 correlation energy = -0.063620087685288 + Singles MP2 correlation energy = -0.000000000000000 + MP2 correlation energy = -0.261983138476284 + * MP2 total energy = -76.318624684814708 + + Opposite-spin CCSD correlation energy = -0.211163008591429 + Same-spin CCSD correlation energy = -0.056682672087808 + Singles CCSD correlation energy = 0.000000000000000 + CCSD correlation energy = -0.267845680679237 + * CCSD total energy = -76.324487227017670 + + ************************** + * * + * CCTRIPLES * + * * + ************************** + + + Wave function = CCSD_T + Reference wfn = RHF + + Nuclear Rep. energy (wfn) = 9.140106474070180 + SCF energy (wfn) = -76.056641546338426 + Reference energy (file100) = -76.056641546338426 + CCSD energy (file100) = -0.267845680679237 + Total CCSD energy (file100) = -76.324487227017670 + + Number of ijk index combinations: 20 + Memory available in words : 1750000000 + ~Words needed per explicit thread: 32000 + Number of threads for explicit ijk threading: 4 + + MKL num_threads set to 1 for explicit threading. + + (T) energy = -0.007702419716674 + * CCSD(T) total energy = -76.332189646734335 + +Giraffe The Energy is -76.332189646734 + + Psi4 stopped on: Monday, 24 October 2022 02:59PM + Psi4 wall time for execution: 0:00:05.04 + +*** Psi4 exiting successfully. Buy a developer a beer! diff --git a/tests/ref_data/reap_test/Disps/5/timer.dat b/tests/ref_data/reap_test/Disps/5/timer.dat new file mode 100644 index 00000000..50418df0 --- /dev/null +++ b/tests/ref_data/reap_test/Disps/5/timer.dat @@ -0,0 +1,92 @@ + +Host: n070 + +Timers On : Mon Oct 24 14:59:39 2022 +Timers Off: Mon Oct 24 14:59:46 2022 + +Wall Time: 6.56 seconds + + Time (seconds) +Module User System Wall Calls +Total PK formation time : 1.183u 0.017s 0.293w 1 calls +HF: Form core H : 0.050u 0.000s 0.010w 1 calls +HF: Form S/X : 0.017u 0.000s 0.000w 1 calls +HF: Guess : 2.100u 0.050s 0.323w 1 calls +SAD Guess : 2.017u 0.050s 0.309w 1 calls +HF: Form G : 0.300u 0.000s 0.043w 14 calls +JK: D : 0.000u 0.000s 0.000w 14 calls +JK: USO2AO : 0.000u 0.000s 0.001w 14 calls +JK: JK : 0.283u 0.000s 0.040w 14 calls +PK computes JK : 0.283u 0.000s 0.040w 14 calls +JK: AO2USO : 0.017u 0.000s 0.001w 14 calls +HF: Form F : 0.000u 0.000s 0.000w 14 calls +HF: Form D : 0.000u 0.000s 0.000w 14 calls +HF: DIIS : 0.050u 0.000s 0.009w 13 calls +DIISManager::add_entry : 0.017u 0.000s 0.002w 13 calls +DIISManager::extrapolate : 0.000u 0.000s 0.002w 13 calls +bMatrix setup : 0.000u 0.000s 0.001w 13 calls +bMatrix pseudoinverse : 0.000u 0.000s 0.001w 13 calls +New vector : 0.000u 0.000s 0.000w 13 calls +HF: Form C : 0.000u 0.000s 0.002w 13 calls +ccenergy : 15.850u 1.233s 3.129w 1 calls +F build : 0.217u 0.017s 0.034w 14 calls +Wmbej build : 0.383u 0.050s 0.061w 14 calls +C->Wmbej : 0.017u 0.000s 0.002w 14 calls +F->Wmbej : 0.200u 0.033s 0.036w 14 calls +E->Wmbej : 0.067u 0.017s 0.009w 14 calls +X->Wmbej : 0.050u 0.000s 0.011w 14 calls +Z : 0.050u 0.000s 0.007w 14 calls +T2 Build : 1.417u 0.233s 0.247w 14 calls +BT2 : 0.917u 0.167s 0.165w 14 calls +ABCD:new : 0.917u 0.167s 0.165w 14 calls +ABCD:S : 0.133u 0.000s 0.027w 14 calls +ABCD:A : 0.150u 0.033s 0.026w 14 calls +ABCD:axpy : 0.583u 0.117s 0.106w 14 calls +FT2 : 0.050u 0.017s 0.010w 14 calls +WmbejT2 : 0.150u 0.033s 0.019w 14 calls +CT2 : 0.150u 0.017s 0.029w 14 calls +cctriples : 1.283u 0.083s 0.242w 1 calls +ET_RHF : 0.350u 0.017s 0.055w 1 calls + +-------------------------------------------------------------------------------------- +Total PK formation time : 1.183u 0.017s 0.293w 1 calls +HF: Form core H : 0.050u 0.000s 0.010w 1 calls +HF: Form S/X : 0.017u 0.000s 0.000w 1 calls +HF: Guess : 2.100u 0.050s 0.323w 1 calls +| SAD Guess : 2.017u 0.050s 0.309w 1 calls +HF: Form G : 0.300u 0.000s 0.043w 14 calls +| JK: D : 0.000u 0.000s 0.000w 14 calls +| JK: USO2AO : 0.000u 0.000s 0.001w 14 calls +| JK: JK : 0.283u 0.000s 0.040w 14 calls +| | PK computes JK : 0.283u 0.000s 0.040w 14 calls +| JK: AO2USO : 0.017u 0.000s 0.001w 14 calls +HF: Form F : 0.000u 0.000s 0.000w 14 calls +HF: Form D : 0.000u 0.000s 0.000w 14 calls +HF: DIIS : 0.050u 0.000s 0.009w 13 calls +| DIISManager::add_entry : 0.017u 0.000s 0.002w 13 calls +| DIISManager::extrapolate : 0.000u 0.000s 0.002w 13 calls +| | bMatrix setup : 0.000u 0.000s 0.001w 13 calls +| | bMatrix pseudoinverse : 0.000u 0.000s 0.001w 13 calls +| | New vector : 0.000u 0.000s 0.000w 13 calls +HF: Form C : 0.000u 0.000s 0.002w 13 calls +ccenergy : 15.850u 1.233s 3.129w 1 calls +| F build : 0.217u 0.017s 0.034w 14 calls +| Wmbej build : 0.383u 0.050s 0.061w 14 calls +| | C->Wmbej : 0.017u 0.000s 0.002w 14 calls +| | F->Wmbej : 0.200u 0.033s 0.036w 14 calls +| | E->Wmbej : 0.067u 0.017s 0.009w 14 calls +| | X->Wmbej : 0.050u 0.000s 0.011w 14 calls +| Z : 0.050u 0.000s 0.007w 14 calls +| T2 Build : 1.417u 0.233s 0.247w 14 calls +| | BT2 : 0.917u 0.167s 0.165w 14 calls +| | | ABCD:new : 0.917u 0.167s 0.165w 14 calls +| | | | ABCD:S : 0.133u 0.000s 0.027w 14 calls +| | | | ABCD:A : 0.150u 0.033s 0.026w 14 calls +| | | | ABCD:axpy : 0.583u 0.117s 0.106w 14 calls +| | FT2 : 0.050u 0.017s 0.010w 14 calls +| | WmbejT2 : 0.150u 0.033s 0.019w 14 calls +| | CT2 : 0.150u 0.017s 0.029w 14 calls +cctriples : 1.283u 0.083s 0.242w 1 calls +| ET_RHF : 0.350u 0.017s 0.055w 1 calls + +************************************************************************************** diff --git a/tests/ref_data/reap_test/Disps/6/ijk.dat b/tests/ref_data/reap_test/Disps/6/ijk.dat new file mode 100644 index 00000000..c7020b85 --- /dev/null +++ b/tests/ref_data/reap_test/Disps/6/ijk.dat @@ -0,0 +1,21 @@ +Total number of IJK combinations =: 20 +Num. of IJK with (Gi,Gj,Gk)=(0,0,0) =: 10 + thread 0: first_ijk=0, last_ijk=2 + thread 1: first_ijk=3, last_ijk=5 + thread 2: first_ijk=6, last_ijk=7 + thread 3: first_ijk=8, last_ijk=9 +Num. of IJK with (Gi,Gj,Gk)=(0,0,1) =: 0 +Num. of IJK with (Gi,Gj,Gk)=(0,1,0) =: 0 +Num. of IJK with (Gi,Gj,Gk)=(0,1,1) =: 0 +Num. of IJK with (Gi,Gj,Gk)=(1,0,0) =: 6 + thread 0: first_ijk=0, last_ijk=1 + thread 1: first_ijk=2, last_ijk=3 + thread 2: first_ijk=4, last_ijk=4 + thread 3: first_ijk=5, last_ijk=5 +Num. of IJK with (Gi,Gj,Gk)=(1,0,1) =: 0 +Num. of IJK with (Gi,Gj,Gk)=(1,1,0) =: 3 + thread 0: first_ijk=0, last_ijk=0 + thread 1: first_ijk=1, last_ijk=1 + thread 2: first_ijk=2, last_ijk=2 +Num. of IJK with (Gi,Gj,Gk)=(1,1,1) =: 1 + thread 0: first_ijk=0, last_ijk=0 diff --git a/tests/ref_data/reap_test/Disps/6/input.dat b/tests/ref_data/reap_test/Disps/6/input.dat new file mode 100644 index 00000000..a05aa3b3 --- /dev/null +++ b/tests/ref_data/reap_test/Disps/6/input.dat @@ -0,0 +1,24 @@ +# o-Benzyne preliminary computations + +memory 14 gb + +molecule { + 0 1 + units bohr + H 0.0000000000 -1.4221446069 0.9939633569 + O 0.0000000000 -0.0049723254 -0.1254971809 + H 0.0000000000 1.4271169322 0.9978774440 +} + +set { + basis cc-pvtz + reference rhf + e_convergence 10 + d_convergence 10 + r_convergence 8 + maxiter 300 + freeze_core True +} + +e, wfn = energy('ccsd(t)', return_wfn = True) +psi4.print_out('Giraffe The Energy is %.12f \n'%(e)) diff --git a/tests/ref_data/reap_test/Disps/6/output.dat b/tests/ref_data/reap_test/Disps/6/output.dat new file mode 100644 index 00000000..d5655f4d --- /dev/null +++ b/tests/ref_data/reap_test/Disps/6/output.dat @@ -0,0 +1,523 @@ + + ----------------------------------------------------------------------- + Psi4: An Open-Source Ab Initio Electronic Structure Package + Psi4 1.4a2.dev629 + + Git: Rev {master} 2938fc2 dirty + + + D. G. A. Smith, L. A. Burns, A. C. Simmonett, R. M. Parrish, + M. C. Schieber, R. Galvelis, P. Kraus, H. Kruse, R. Di Remigio, + A. Alenaizan, A. M. James, S. Lehtola, J. P. Misiewicz, M. Scheurer, + R. A. Shaw, J. B. Schriber, Y. Xie, Z. L. Glick, D. A. Sirianni, + J. S. O'Brien, J. M. Waldrop, A. Kumar, E. G. Hohenstein, + B. P. Pritchard, B. R. Brooks, H. F. Schaefer III, A. Yu. Sokolov, + K. Patkowski, A. E. DePrince III, U. Bozkaya, R. A. King, + F. A. Evangelista, J. M. Turney, T. D. Crawford, C. D. Sherrill, + J. Chem. Phys. 152(18) 184108 (2020). https://doi.org/10.1063/5.0006002 + + Additional Code Authors + E. T. Seidl, C. L. Janssen, E. F. Valeev, M. L. Leininger, + J. F. Gonthier, R. M. Richard, H. R. McAlexander, M. Saitow, X. Wang, + P. Verma, and M. H. Lechner + + Previous Authors, Complete List of Code Contributors, + and Citations for Specific Modules + https://github.com/psi4/psi4/blob/master/codemeta.json + https://github.com/psi4/psi4/graphs/contributors + http://psicode.org/psi4manual/master/introduction.html#citing-psifour + + ----------------------------------------------------------------------- + + + Psi4 started on: Monday, 24 October 2022 02:59PM + + Process ID: 24758 + Host: n089 + PSIDATADIR: /opt/psi/4/master/share/psi4 + Memory: 500.0 MiB + Threads: 4 + + ==> Input File <== + +-------------------------------------------------------------------------- +# o-Benzyne preliminary computations + +memory 14 gb + +molecule { + 0 1 + units bohr + H 0.0000000000 -1.4221446069 0.9939633569 + O 0.0000000000 -0.0049723254 -0.1254971809 + H 0.0000000000 1.4271169322 0.9978774440 +} + +set { + basis cc-pvtz + reference rhf + e_convergence 10 + d_convergence 10 + r_convergence 8 + maxiter 300 + freeze_core True +} + +e, wfn = energy('ccsd(t)', return_wfn = True) +psi4.print_out('Giraffe The Energy is %.12f \n'%(e)) +-------------------------------------------------------------------------- + + Memory set to 13.039 GiB by Python driver. + +Scratch directory: /tmp/795504.6.gen6.q/ + +*** tstart() called on n089 +*** at Mon Oct 24 14:59:37 2022 + + => Loading Basis Set <= + + Name: CC-PVTZ + Role: ORBITAL + Keyword: BASIS + atoms 1, 3 entry H line 23 file /opt/psi/4/master/share/psi4/basis/cc-pvtz.gbs + atoms 2 entry O line 262 file /opt/psi/4/master/share/psi4/basis/cc-pvtz.gbs + + + --------------------------------------------------------- + SCF + by Justin Turney, Rob Parrish, Andy Simmonett + and Daniel G. A. Smith + RHF Reference + 4 Threads, 13351 MiB Core + --------------------------------------------------------- + + ==> Geometry <== + + Molecular point group: cs + Full point group: Cs + + Geometry (in Bohr), charge = 0, multiplicity = 1: + + Center X Y Z Mass + ------------ ----------------- ----------------- ----------------- ----------------- + H 1.418006997245 -0.993957231280 0.000000000000 1.007825032230 + O 0.000834715745 0.125503306520 0.000000000000 15.994914619570 + H -1.431254541855 -0.997871318380 0.000000000000 1.007825032230 + + Running in cs symmetry. + + Rotational constants: A = 26.74439 B = 14.71429 C = 9.49198 [cm^-1] + Rotational constants: A = 801776.73276 B = 441123.42706 C = 284562.27743 [MHz] + Nuclear repulsion = 9.175997752373910 + + Charge = 0 + Multiplicity = 1 + Electrons = 10 + Nalpha = 5 + Nbeta = 5 + + ==> Algorithm <== + + SCF Algorithm Type is PK. + DIIS enabled. + MOM disabled. + Fractional occupation disabled. + Guess Type is SAD. + Energy threshold = 1.00e-10 + Density threshold = 1.00e-10 + Integral threshold = 0.00e+00 + + ==> Primary Basis <== + + Basis Set: CC-PVTZ + Blend: CC-PVTZ + Number of shells: 22 + Number of basis function: 58 + Number of Cartesian functions: 65 + Spherical Harmonics?: true + Max angular momentum: 3 + + ==> Integral Setup <== + + Using in-core PK algorithm. + Calculation information: + Number of atoms: 3 + Number of AO shells: 22 + Number of primitives: 42 + Number of atomic orbitals: 65 + Number of basis functions: 58 + + Integral cutoff 1.00e-12 + Number of threads: 4 + + Performing in-core PK + Using 2929232 doubles for integral storage. + We computed 43467 shell quartets total. + Whereas there are 32131 unique shell quartets. + 35.28 percent of shell quartets recomputed by reordering. + + ==> DiskJK: Disk-Based J/K Matrices <== + + J tasked: Yes + K tasked: Yes + wK tasked: No + Memory [MiB]: 10013 + Schwarz Cutoff: 1E-12 + + OpenMP threads: 4 + + Minimum eigenvalue in the overlap matrix is 2.5222793325E-03. + Reciprocal condition number of the overlap matrix is 4.9300249924E-04. + Using symmetric orthogonalization. + + ==> Pre-Iterations <== + + SCF Guess: Superposition of Atomic Densities via on-the-fly atomic UHF (no occupation information). + + ------------------------- + Irrep Nso Nmo + ------------------------- + A' 40 40 + A" 18 18 + ------------------------- + Total 58 58 + ------------------------- + + ==> Iterations <== + + Total Energy Delta E RMS |[F,P]| + + @RHF iter SAD: -75.49982990580993 -7.54998e+01 0.00000e+00 + @RHF iter 1: -75.97834956930032 -4.78520e-01 1.02943e-02 DIIS + @RHF iter 2: -76.03093590716050 -5.25863e-02 6.65787e-03 DIIS + @RHF iter 3: -76.05650222756586 -2.55663e-02 4.97220e-04 DIIS + @RHF iter 4: -76.05689212343788 -3.89896e-04 1.21735e-04 DIIS + @RHF iter 5: -76.05691687700292 -2.47536e-05 2.52303e-05 DIIS + @RHF iter 6: -76.05691843886930 -1.56187e-06 4.87434e-06 DIIS + @RHF iter 7: -76.05691849826209 -5.93928e-08 7.73255e-07 DIIS + @RHF iter 8: -76.05691849948249 -1.22040e-09 1.18036e-07 DIIS + @RHF iter 9: -76.05691849951157 -2.90754e-11 3.30063e-08 DIIS + @RHF iter 10: -76.05691849951410 -2.52953e-12 4.32460e-09 DIIS + @RHF iter 11: -76.05691849951408 1.42109e-14 6.29488e-10 DIIS + @RHF iter 12: -76.05691849951413 -4.26326e-14 1.24971e-10 DIIS + @RHF iter 13: -76.05691849951414 -1.42109e-14 2.20297e-11 DIIS + Energy and wave function converged. + + + ==> Post-Iterations <== + + Orbital Energies [Eh] + --------------------- + + Doubly Occupied: + + 1Ap -20.555582 2Ap -1.345254 3Ap -0.706810 + 4Ap -0.579150 1App -0.504609 + + Virtual: + + 5Ap 0.141858 6Ap 0.204047 7Ap 0.541684 + 8Ap 0.604408 9Ap 0.667983 2App 0.787191 + 10Ap 0.795795 11Ap 0.805775 3App 0.862663 + 4App 0.951103 12Ap 1.134401 13Ap 1.198550 + 14Ap 1.522148 15Ap 1.565635 5App 2.040152 + 16Ap 2.054906 6App 2.063289 17Ap 2.172471 + 18Ap 2.233642 19Ap 2.584353 20Ap 2.964785 + 7App 3.346991 21Ap 3.485406 8App 3.588102 + 22Ap 3.659063 9App 3.797567 23Ap 3.876020 + 24Ap 3.887132 10App 3.963392 11App 4.016808 + 25Ap 4.072523 26Ap 4.191261 12App 4.305846 + 27Ap 4.374883 28Ap 4.594173 13App 4.682107 + 29Ap 4.861363 30Ap 5.157623 31Ap 5.250128 + 32Ap 5.523857 14App 6.051665 33Ap 6.574661 + 15App 6.910012 16App 6.940886 17App 7.004761 + 34Ap 7.012527 35Ap 7.042028 36Ap 7.176123 + 18App 7.235497 37Ap 7.448982 38Ap 7.793290 + 39Ap 8.286717 40Ap 12.837042 + + Final Occupation by Irrep: + Ap App + DOCC [ 4, 1 ] + + @RHF Final Energy: -76.05691849951414 + + => Energetics <= + + Nuclear Repulsion Energy = 9.1759977523739096 + One-Electron Energy = -123.0830212545642581 + Two-Electron Energy = 37.8501050026762158 + Total Energy = -76.0569184995141399 + +Computation Completed + + +Properties will be evaluated at 0.000000, 0.000000, 0.000000 [a0] + +Properties computed using the SCF density matrix + + Nuclear Dipole Moment: [e a0] + X: -0.0066 Y: -0.9878 Z: 0.0000 + + Electronic Dipole Moment: [e a0] + X: 0.0029 Y: 0.1846 Z: 0.0000 + + Dipole Moment: [e a0] + X: -0.0036 Y: -0.8032 Z: 0.0000 Total: 0.8032 + + Dipole Moment: [D] + X: -0.0092 Y: -2.0416 Z: 0.0000 Total: 2.0416 + + +*** tstop() called on n089 at Mon Oct 24 14:59:38 2022 +Module time: + user time = 1.69 seconds = 0.03 minutes + system time = 0.02 seconds = 0.00 minutes + total time = 1 seconds = 0.02 minutes +Total time: + user time = 1.69 seconds = 0.03 minutes + system time = 0.02 seconds = 0.00 minutes + total time = 1 seconds = 0.02 minutes + MINTS: Wrapper to libmints. + by Justin Turney + + Calculation information: + Number of threads: 4 + Number of atoms: 3 + Number of AO shells: 22 + Number of SO shells: 22 + Number of primitives: 42 + Number of atomic orbitals: 65 + Number of basis functions: 58 + + Number of irreps: 2 + Integral cutoff 0.00e+00 + Number of functions per irrep: [ 40 18 ] + + OEINTS: Overlap, kinetic, potential, dipole, and quadrupole integrals + stored in file 35. + + Computing two-electron integrals...done + Computed 711555 non-zero two-electron integrals. + Stored in file 33. + + +*** tstart() called on n089 +*** at Mon Oct 24 14:59:38 2022 + + + Wfn Parameters: + -------------------- + Wavefunction = CCSD_T + Number of irreps = 2 + Number of MOs = 58 + Number of active MOs = 57 + AO-Basis = NONE + Semicanonical = false + Reference = RHF + Print Level = 1 + + IRREP # MOs # FZDC # DOCC # SOCC # VIRT # FZVR + ----- ----- ------ ------ ------ ------ ------ + Ap 40 1 3 0 36 0 + App 18 0 1 0 17 0 + Transforming integrals... + IWL integrals will be deleted. + (OO|OO)... + Presorting SO-basis two-electron integrals. + Sorting File: SO Ints (nn|nn) nbuckets = 1 + Transforming the one-electron integrals and constructing Fock matrices + Starting first half-transformation. + Sorting half-transformed integrals. + First half integral transformation complete. + Starting second half-transformation. + Two-electron integral transformation complete. + (OO|OV)... + Starting second half-transformation. + Two-electron integral transformation complete. + (OO|VV)... + Starting second half-transformation. + Two-electron integral transformation complete. + (OV|OO)... + Starting first half-transformation. + Sorting half-transformed integrals. + First half integral transformation complete. + Starting second half-transformation. + Two-electron integral transformation complete. + (OV|OV)... + Starting second half-transformation. + Two-electron integral transformation complete. + (OV|VV)... + Starting second half-transformation. + Two-electron integral transformation complete. + (VV|OO)... + Starting first half-transformation. + Sorting half-transformed integrals. + First half integral transformation complete. + Starting second half-transformation. + Two-electron integral transformation complete. + (VV|OV)... + Starting second half-transformation. + Two-electron integral transformation complete. + (VV|VV)... + Starting second half-transformation. + Two-electron integral transformation complete. + Frozen core energy = -61.31169827071542 + + Size of irrep 0 of integrals: 2.512 (MW) / 20.098 (MB) + Size of irrep 1 of integrals: 1.498 (MW) / 11.985 (MB) + Total: 4.010 (MW) / 32.083 (MB) + + Size of irrep 0 of integrals: 0.198 (MW) / 1.585 (MB) + Size of irrep 1 of integrals: 0.106 (MW) / 0.852 (MB) + Total: 0.305 (MW) / 2.437 (MB) + + Size of irrep 0 of tijab amplitudes: 0.016 (MW) / 0.127 (MB) + Size of irrep 1 of tijab amplitudes: 0.007 (MW) / 0.059 (MB) + Total: 0.023 (MW) / 0.186 (MB) + + Nuclear Rep. energy = 9.17599775237391 + SCF energy = -76.05691849951414 + One-electron energy = -41.57078924405797 + Two-electron energy = 17.64957126288536 + Reference energy = -76.05691849951413 + +*** tstop() called on n089 at Mon Oct 24 14:59:38 2022 +Module time: + user time = 1.34 seconds = 0.02 minutes + system time = 0.10 seconds = 0.00 minutes + total time = 0 seconds = 0.00 minutes +Total time: + user time = 3.58 seconds = 0.06 minutes + system time = 0.13 seconds = 0.00 minutes + total time = 1 seconds = 0.02 minutes + ************************** + * * + * CCENERGY * + * * + ************************** + + Nuclear Rep. energy (wfn) = 9.175997752373910 + SCF energy (wfn) = -76.056918499514140 + Reference energy (file100) = -76.056918499514126 + + Input parameters: + ----------------- + Wave function = CCSD_T + Reference wfn = RHF + Brueckner = No + Memory (Mbytes) = 14000.0 + Maxiter = 300 + R_Convergence = 1.0e-08 + E_Convergence = 1.0e-10 + Restart = Yes + DIIS = Yes + AO Basis = NONE + ABCD = NEW + Cache Level = 2 + Cache Type = LOW + Print Level = 1 + Num. of threads = 4 + # Amps to Print = 10 + Print MP2 Amps? = No + Analyze T2 Amps = No + Print Pair Ener = No + Local CC = No + SCS-MP2 = False + SCSN-MP2 = False + SCS-CCSD = False + +MP2 correlation energy -0.2617109429690342 + Solving CC Amplitude Equations + ------------------------------ + Iter Energy RMS T1Diag D1Diag New D1Diag D2Diag + ---- --------------------- --------- ---------- ---------- ---------- -------- + 0 -0.261710942969034 0.000e+00 0.000000 0.000000 0.000000 0.116250 + 1 -0.262027923796444 2.912e-02 0.005707 0.009298 0.009298 0.119915 + 2 -0.266874600547018 1.004e-02 0.005905 0.009457 0.009457 0.124607 + 3 -0.267584789294051 3.226e-03 0.006493 0.010595 0.010595 0.126264 + 4 -0.267577063851203 6.558e-04 0.006531 0.010687 0.010687 0.126474 + 5 -0.267598982077506 2.070e-04 0.006552 0.010777 0.010777 0.126523 + 6 -0.267599525071695 6.176e-05 0.006557 0.010814 0.010814 0.126520 + 7 -0.267599610136129 1.982e-05 0.006560 0.010829 0.010829 0.126518 + 8 -0.267599299281224 5.099e-06 0.006561 0.010834 0.010834 0.126518 + 9 -0.267599210241628 1.048e-06 0.006561 0.010835 0.010835 0.126518 + 10 -0.267599223172958 2.348e-07 0.006561 0.010835 0.010835 0.126518 + 11 -0.267599221868339 4.564e-08 0.006561 0.010835 0.010835 0.126518 + 12 -0.267599223494903 1.012e-08 0.006561 0.010835 0.010835 0.126518 + 13 -0.267599223533926 2.445e-09 0.006561 0.010835 0.010835 0.126518 + 14 -0.267599223542734 6.143e-10 0.006561 0.010835 0.010835 0.126518 + + Iterations converged. + + + Largest TIA Amplitudes: + 3 36 -0.0075234373 + 2 0 0.0058490537 + 1 9 -0.0057827998 + 3 38 -0.0049345890 + 2 5 -0.0045597284 + 2 10 -0.0041449782 + 0 4 -0.0040238015 + 2 4 0.0038567697 + 1 20 -0.0038464915 + 2 21 -0.0037828832 + + Largest TIjAb Amplitudes: + 3 3 36 36 -0.0476501616 + 2 2 4 4 -0.0295838136 + 1 1 2 2 -0.0270765483 + 2 3 4 36 0.0259190149 + 3 2 36 4 0.0259190149 + 1 1 3 3 -0.0253231278 + 1 1 6 6 -0.0226684505 + 1 3 6 36 0.0222583093 + 3 1 36 6 0.0222583093 + 2 2 2 2 -0.0221710989 + + SCF energy (wfn) = -76.056918499514140 + Reference energy (file100) = -76.056918499514126 + + Opposite-spin MP2 correlation energy = -0.198148425145034 + Same-spin MP2 correlation energy = -0.063562517824000 + Singles MP2 correlation energy = -0.000000000000000 + MP2 correlation energy = -0.261710942969034 + * MP2 total energy = -76.318629442483157 + + Opposite-spin CCSD correlation energy = -0.210925571703044 + Same-spin CCSD correlation energy = -0.056673651839690 + Singles CCSD correlation energy = 0.000000000000000 + CCSD correlation energy = -0.267599223542734 + * CCSD total energy = -76.324517723056857 + + ************************** + * * + * CCTRIPLES * + * * + ************************** + + + Wave function = CCSD_T + Reference wfn = RHF + + Nuclear Rep. energy (wfn) = 9.175997752373910 + SCF energy (wfn) = -76.056918499514140 + Reference energy (file100) = -76.056918499514126 + CCSD energy (file100) = -0.267599223542734 + Total CCSD energy (file100) = -76.324517723056857 + + Number of ijk index combinations: 20 + Memory available in words : 1750000000 + ~Words needed per explicit thread: 186624 + Number of threads for explicit ijk threading: 4 + + MKL num_threads set to 1 for explicit threading. + + (T) energy = -0.007671250899706 + * CCSD(T) total energy = -76.332188973956562 + +Giraffe The Energy is -76.332188973957 + + Psi4 stopped on: Monday, 24 October 2022 02:59PM + Psi4 wall time for execution: 0:00:03.45 + +*** Psi4 exiting successfully. Buy a developer a beer! diff --git a/tests/ref_data/reap_test/Disps/6/timer.dat b/tests/ref_data/reap_test/Disps/6/timer.dat new file mode 100644 index 00000000..c5a8cd3f --- /dev/null +++ b/tests/ref_data/reap_test/Disps/6/timer.dat @@ -0,0 +1,92 @@ + +Host: n089 + +Timers On : Mon Oct 24 14:59:36 2022 +Timers Off: Mon Oct 24 14:59:41 2022 + +Wall Time: 4.57 seconds + + Time (seconds) +Module User System Wall Calls +Total PK formation time : 0.517u 0.000s 0.131w 1 calls +HF: Form core H : 0.050u 0.000s 0.006w 1 calls +HF: Form S/X : 0.000u 0.017s 0.006w 1 calls +HF: Guess : 1.267u 0.000s 0.192w 1 calls +SAD Guess : 1.217u 0.000s 0.183w 1 calls +HF: Form G : 0.250u 0.000s 0.048w 14 calls +JK: D : 0.000u 0.000s 0.000w 14 calls +JK: USO2AO : 0.000u 0.000s 0.000w 14 calls +JK: JK : 0.233u 0.000s 0.046w 14 calls +PK computes JK : 0.233u 0.000s 0.046w 14 calls +JK: AO2USO : 0.000u 0.000s 0.001w 14 calls +HF: Form F : 0.000u 0.000s 0.000w 14 calls +HF: Form D : 0.000u 0.000s 0.000w 14 calls +HF: DIIS : 0.083u 0.017s 0.008w 13 calls +DIISManager::add_entry : 0.017u 0.000s 0.002w 13 calls +DIISManager::extrapolate : 0.000u 0.017s 0.001w 13 calls +bMatrix setup : 0.000u 0.017s 0.000w 13 calls +bMatrix pseudoinverse : 0.000u 0.000s 0.000w 13 calls +New vector : 0.000u 0.000s 0.000w 13 calls +HF: Form C : 0.000u 0.000s 0.003w 13 calls +ccenergy : 10.633u 0.367s 2.068w 1 calls +F build : 0.133u 0.017s 0.027w 14 calls +Wmbej build : 0.233u 0.033s 0.041w 14 calls +C->Wmbej : 0.000u 0.000s 0.002w 14 calls +F->Wmbej : 0.117u 0.017s 0.024w 14 calls +E->Wmbej : 0.083u 0.000s 0.006w 14 calls +X->Wmbej : 0.017u 0.017s 0.008w 14 calls +Z : 0.017u 0.000s 0.006w 14 calls +T2 Build : 0.933u 0.117s 0.156w 14 calls +BT2 : 0.617u 0.083s 0.097w 14 calls +ABCD:new : 0.617u 0.083s 0.097w 14 calls +ABCD:S : 0.133u 0.000s 0.023w 14 calls +ABCD:A : 0.150u 0.017s 0.022w 14 calls +ABCD:axpy : 0.300u 0.067s 0.047w 14 calls +FT2 : 0.050u 0.017s 0.007w 14 calls +WmbejT2 : 0.033u 0.000s 0.013w 14 calls +CT2 : 0.150u 0.017s 0.018w 14 calls +cctriples : 0.933u 0.033s 0.172w 1 calls +ET_RHF : 0.333u 0.017s 0.053w 1 calls + +-------------------------------------------------------------------------------------- +Total PK formation time : 0.517u 0.000s 0.131w 1 calls +HF: Form core H : 0.050u 0.000s 0.006w 1 calls +HF: Form S/X : 0.000u 0.017s 0.006w 1 calls +HF: Guess : 1.267u 0.000s 0.192w 1 calls +| SAD Guess : 1.217u 0.000s 0.183w 1 calls +HF: Form G : 0.250u 0.000s 0.048w 14 calls +| JK: D : 0.000u 0.000s 0.000w 14 calls +| JK: USO2AO : 0.000u 0.000s 0.000w 14 calls +| JK: JK : 0.233u 0.000s 0.046w 14 calls +| | PK computes JK : 0.233u 0.000s 0.046w 14 calls +| JK: AO2USO : 0.000u 0.000s 0.001w 14 calls +HF: Form F : 0.000u 0.000s 0.000w 14 calls +HF: Form D : 0.000u 0.000s 0.000w 14 calls +HF: DIIS : 0.083u 0.017s 0.008w 13 calls +| DIISManager::add_entry : 0.017u 0.000s 0.002w 13 calls +| DIISManager::extrapolate : 0.000u 0.017s 0.001w 13 calls +| | bMatrix setup : 0.000u 0.017s 0.000w 13 calls +| | bMatrix pseudoinverse : 0.000u 0.000s 0.000w 13 calls +| | New vector : 0.000u 0.000s 0.000w 13 calls +HF: Form C : 0.000u 0.000s 0.003w 13 calls +ccenergy : 10.633u 0.367s 2.068w 1 calls +| F build : 0.133u 0.017s 0.027w 14 calls +| Wmbej build : 0.233u 0.033s 0.041w 14 calls +| | C->Wmbej : 0.000u 0.000s 0.002w 14 calls +| | F->Wmbej : 0.117u 0.017s 0.024w 14 calls +| | E->Wmbej : 0.083u 0.000s 0.006w 14 calls +| | X->Wmbej : 0.017u 0.017s 0.008w 14 calls +| Z : 0.017u 0.000s 0.006w 14 calls +| T2 Build : 0.933u 0.117s 0.156w 14 calls +| | BT2 : 0.617u 0.083s 0.097w 14 calls +| | | ABCD:new : 0.617u 0.083s 0.097w 14 calls +| | | | ABCD:S : 0.133u 0.000s 0.023w 14 calls +| | | | ABCD:A : 0.150u 0.017s 0.022w 14 calls +| | | | ABCD:axpy : 0.300u 0.067s 0.047w 14 calls +| | FT2 : 0.050u 0.017s 0.007w 14 calls +| | WmbejT2 : 0.033u 0.000s 0.013w 14 calls +| | CT2 : 0.150u 0.017s 0.018w 14 calls +cctriples : 0.933u 0.033s 0.172w 1 calls +| ET_RHF : 0.333u 0.017s 0.053w 1 calls + +************************************************************************************** diff --git a/tests/ref_data/reap_test/Disps/7/ijk.dat b/tests/ref_data/reap_test/Disps/7/ijk.dat new file mode 100644 index 00000000..c7020b85 --- /dev/null +++ b/tests/ref_data/reap_test/Disps/7/ijk.dat @@ -0,0 +1,21 @@ +Total number of IJK combinations =: 20 +Num. of IJK with (Gi,Gj,Gk)=(0,0,0) =: 10 + thread 0: first_ijk=0, last_ijk=2 + thread 1: first_ijk=3, last_ijk=5 + thread 2: first_ijk=6, last_ijk=7 + thread 3: first_ijk=8, last_ijk=9 +Num. of IJK with (Gi,Gj,Gk)=(0,0,1) =: 0 +Num. of IJK with (Gi,Gj,Gk)=(0,1,0) =: 0 +Num. of IJK with (Gi,Gj,Gk)=(0,1,1) =: 0 +Num. of IJK with (Gi,Gj,Gk)=(1,0,0) =: 6 + thread 0: first_ijk=0, last_ijk=1 + thread 1: first_ijk=2, last_ijk=3 + thread 2: first_ijk=4, last_ijk=4 + thread 3: first_ijk=5, last_ijk=5 +Num. of IJK with (Gi,Gj,Gk)=(1,0,1) =: 0 +Num. of IJK with (Gi,Gj,Gk)=(1,1,0) =: 3 + thread 0: first_ijk=0, last_ijk=0 + thread 1: first_ijk=1, last_ijk=1 + thread 2: first_ijk=2, last_ijk=2 +Num. of IJK with (Gi,Gj,Gk)=(1,1,1) =: 1 + thread 0: first_ijk=0, last_ijk=0 diff --git a/tests/ref_data/reap_test/Disps/7/input.dat b/tests/ref_data/reap_test/Disps/7/input.dat new file mode 100644 index 00000000..1500114d --- /dev/null +++ b/tests/ref_data/reap_test/Disps/7/input.dat @@ -0,0 +1,24 @@ +# o-Benzyne preliminary computations + +memory 14 gb + +molecule { + 0 1 + units bohr + H -0.0000000000 -1.4271169322 0.9978774440 + O 0.0000000000 0.0049723254 -0.1254971809 + H 0.0000000000 1.4221446069 0.9939633569 +} + +set { + basis cc-pvtz + reference rhf + e_convergence 10 + d_convergence 10 + r_convergence 8 + maxiter 300 + freeze_core True +} + +e, wfn = energy('ccsd(t)', return_wfn = True) +psi4.print_out('Giraffe The Energy is %.12f \n'%(e)) diff --git a/tests/ref_data/reap_test/Disps/7/output.dat b/tests/ref_data/reap_test/Disps/7/output.dat new file mode 100644 index 00000000..8bc470c3 --- /dev/null +++ b/tests/ref_data/reap_test/Disps/7/output.dat @@ -0,0 +1,523 @@ + + ----------------------------------------------------------------------- + Psi4: An Open-Source Ab Initio Electronic Structure Package + Psi4 1.4a2.dev629 + + Git: Rev {master} 2938fc2 dirty + + + D. G. A. Smith, L. A. Burns, A. C. Simmonett, R. M. Parrish, + M. C. Schieber, R. Galvelis, P. Kraus, H. Kruse, R. Di Remigio, + A. Alenaizan, A. M. James, S. Lehtola, J. P. Misiewicz, M. Scheurer, + R. A. Shaw, J. B. Schriber, Y. Xie, Z. L. Glick, D. A. Sirianni, + J. S. O'Brien, J. M. Waldrop, A. Kumar, E. G. Hohenstein, + B. P. Pritchard, B. R. Brooks, H. F. Schaefer III, A. Yu. Sokolov, + K. Patkowski, A. E. DePrince III, U. Bozkaya, R. A. King, + F. A. Evangelista, J. M. Turney, T. D. Crawford, C. D. Sherrill, + J. Chem. Phys. 152(18) 184108 (2020). https://doi.org/10.1063/5.0006002 + + Additional Code Authors + E. T. Seidl, C. L. Janssen, E. F. Valeev, M. L. Leininger, + J. F. Gonthier, R. M. Richard, H. R. McAlexander, M. Saitow, X. Wang, + P. Verma, and M. H. Lechner + + Previous Authors, Complete List of Code Contributors, + and Citations for Specific Modules + https://github.com/psi4/psi4/blob/master/codemeta.json + https://github.com/psi4/psi4/graphs/contributors + http://psicode.org/psi4manual/master/introduction.html#citing-psifour + + ----------------------------------------------------------------------- + + + Psi4 started on: Monday, 24 October 2022 02:59PM + + Process ID: 358 + Host: n083 + PSIDATADIR: /opt/psi/4/master/share/psi4 + Memory: 500.0 MiB + Threads: 4 + + ==> Input File <== + +-------------------------------------------------------------------------- +# o-Benzyne preliminary computations + +memory 14 gb + +molecule { + 0 1 + units bohr + H -0.0000000000 -1.4271169322 0.9978774440 + O 0.0000000000 0.0049723254 -0.1254971809 + H 0.0000000000 1.4221446069 0.9939633569 +} + +set { + basis cc-pvtz + reference rhf + e_convergence 10 + d_convergence 10 + r_convergence 8 + maxiter 300 + freeze_core True +} + +e, wfn = energy('ccsd(t)', return_wfn = True) +psi4.print_out('Giraffe The Energy is %.12f \n'%(e)) +-------------------------------------------------------------------------- + + Memory set to 13.039 GiB by Python driver. + +Scratch directory: /tmp/795504.7.gen6.q/ + +*** tstart() called on n083 +*** at Mon Oct 24 14:59:37 2022 + + => Loading Basis Set <= + + Name: CC-PVTZ + Role: ORBITAL + Keyword: BASIS + atoms 1, 3 entry H line 23 file /opt/psi/4/master/share/psi4/basis/cc-pvtz.gbs + atoms 2 entry O line 262 file /opt/psi/4/master/share/psi4/basis/cc-pvtz.gbs + + + --------------------------------------------------------- + SCF + by Justin Turney, Rob Parrish, Andy Simmonett + and Daniel G. A. Smith + RHF Reference + 4 Threads, 13351 MiB Core + --------------------------------------------------------- + + ==> Geometry <== + + Molecular point group: cs + Full point group: Cs + + Geometry (in Bohr), charge = 0, multiplicity = 1: + + Center X Y Z Mass + ------------ ----------------- ----------------- ----------------- ----------------- + H 1.431254541855 -0.997871318380 0.000000000000 1.007825032230 + O -0.000834715745 0.125503306520 0.000000000000 15.994914619570 + H -1.418006997245 -0.993957231280 0.000000000000 1.007825032230 + + Running in cs symmetry. + + Rotational constants: A = 26.74439 B = 14.71429 C = 9.49198 [cm^-1] + Rotational constants: A = 801776.73276 B = 441123.42706 C = 284562.27743 [MHz] + Nuclear repulsion = 9.175997752373910 + + Charge = 0 + Multiplicity = 1 + Electrons = 10 + Nalpha = 5 + Nbeta = 5 + + ==> Algorithm <== + + SCF Algorithm Type is PK. + DIIS enabled. + MOM disabled. + Fractional occupation disabled. + Guess Type is SAD. + Energy threshold = 1.00e-10 + Density threshold = 1.00e-10 + Integral threshold = 0.00e+00 + + ==> Primary Basis <== + + Basis Set: CC-PVTZ + Blend: CC-PVTZ + Number of shells: 22 + Number of basis function: 58 + Number of Cartesian functions: 65 + Spherical Harmonics?: true + Max angular momentum: 3 + + ==> Integral Setup <== + + Using in-core PK algorithm. + Calculation information: + Number of atoms: 3 + Number of AO shells: 22 + Number of primitives: 42 + Number of atomic orbitals: 65 + Number of basis functions: 58 + + Integral cutoff 1.00e-12 + Number of threads: 4 + + Performing in-core PK + Using 2929232 doubles for integral storage. + We computed 43467 shell quartets total. + Whereas there are 32131 unique shell quartets. + 35.28 percent of shell quartets recomputed by reordering. + + ==> DiskJK: Disk-Based J/K Matrices <== + + J tasked: Yes + K tasked: Yes + wK tasked: No + Memory [MiB]: 10013 + Schwarz Cutoff: 1E-12 + + OpenMP threads: 4 + + Minimum eigenvalue in the overlap matrix is 2.5222793325E-03. + Reciprocal condition number of the overlap matrix is 4.9300249924E-04. + Using symmetric orthogonalization. + + ==> Pre-Iterations <== + + SCF Guess: Superposition of Atomic Densities via on-the-fly atomic UHF (no occupation information). + + ------------------------- + Irrep Nso Nmo + ------------------------- + A' 40 40 + A" 18 18 + ------------------------- + Total 58 58 + ------------------------- + + ==> Iterations <== + + Total Energy Delta E RMS |[F,P]| + + @RHF iter SAD: -75.49982990581007 -7.54998e+01 0.00000e+00 + @RHF iter 1: -75.97834956930036 -4.78520e-01 1.02943e-02 DIIS + @RHF iter 2: -76.03093590716055 -5.25863e-02 6.65787e-03 DIIS + @RHF iter 3: -76.05650222756584 -2.55663e-02 4.97220e-04 DIIS + @RHF iter 4: -76.05689212343799 -3.89896e-04 1.21735e-04 DIIS + @RHF iter 5: -76.05691687700308 -2.47536e-05 2.52303e-05 DIIS + @RHF iter 6: -76.05691843886933 -1.56187e-06 4.87434e-06 DIIS + @RHF iter 7: -76.05691849826204 -5.93927e-08 7.73255e-07 DIIS + @RHF iter 8: -76.05691849948242 -1.22039e-09 1.18036e-07 DIIS + @RHF iter 9: -76.05691849951162 -2.92033e-11 3.30063e-08 DIIS + @RHF iter 10: -76.05691849951407 -2.44427e-12 4.32460e-09 DIIS + @RHF iter 11: -76.05691849951418 -1.13687e-13 6.29488e-10 DIIS + @RHF iter 12: -76.05691849951405 1.27898e-13 1.24971e-10 DIIS + @RHF iter 13: -76.05691849951405 0.00000e+00 2.20297e-11 DIIS + Energy and wave function converged. + + + ==> Post-Iterations <== + + Orbital Energies [Eh] + --------------------- + + Doubly Occupied: + + 1Ap -20.555582 2Ap -1.345254 3Ap -0.706810 + 4Ap -0.579150 1App -0.504609 + + Virtual: + + 5Ap 0.141858 6Ap 0.204047 7Ap 0.541684 + 8Ap 0.604408 9Ap 0.667983 2App 0.787191 + 10Ap 0.795795 11Ap 0.805775 3App 0.862663 + 4App 0.951103 12Ap 1.134401 13Ap 1.198550 + 14Ap 1.522148 15Ap 1.565635 5App 2.040152 + 16Ap 2.054906 6App 2.063289 17Ap 2.172471 + 18Ap 2.233642 19Ap 2.584353 20Ap 2.964785 + 7App 3.346991 21Ap 3.485406 8App 3.588102 + 22Ap 3.659063 9App 3.797567 23Ap 3.876020 + 24Ap 3.887132 10App 3.963392 11App 4.016808 + 25Ap 4.072523 26Ap 4.191261 12App 4.305846 + 27Ap 4.374883 28Ap 4.594173 13App 4.682107 + 29Ap 4.861363 30Ap 5.157623 31Ap 5.250128 + 32Ap 5.523857 14App 6.051665 33Ap 6.574661 + 15App 6.910012 16App 6.940886 17App 7.004761 + 34Ap 7.012527 35Ap 7.042028 36Ap 7.176123 + 18App 7.235497 37Ap 7.448982 38Ap 7.793290 + 39Ap 8.286717 40Ap 12.837042 + + Final Occupation by Irrep: + Ap App + DOCC [ 4, 1 ] + + @RHF Final Energy: -76.05691849951405 + + => Energetics <= + + Nuclear Repulsion Energy = 9.1759977523739096 + One-Electron Energy = -123.0830212545642723 + Two-Electron Energy = 37.8501050026763082 + Total Energy = -76.0569184995140404 + +Computation Completed + + +Properties will be evaluated at 0.000000, 0.000000, 0.000000 [a0] + +Properties computed using the SCF density matrix + + Nuclear Dipole Moment: [e a0] + X: 0.0066 Y: -0.9878 Z: 0.0000 + + Electronic Dipole Moment: [e a0] + X: -0.0029 Y: 0.1846 Z: 0.0000 + + Dipole Moment: [e a0] + X: 0.0036 Y: -0.8032 Z: 0.0000 Total: 0.8032 + + Dipole Moment: [D] + X: 0.0092 Y: -2.0416 Z: 0.0000 Total: 2.0416 + + +*** tstop() called on n083 at Mon Oct 24 14:59:38 2022 +Module time: + user time = 1.62 seconds = 0.03 minutes + system time = 0.01 seconds = 0.00 minutes + total time = 1 seconds = 0.02 minutes +Total time: + user time = 1.62 seconds = 0.03 minutes + system time = 0.01 seconds = 0.00 minutes + total time = 1 seconds = 0.02 minutes + MINTS: Wrapper to libmints. + by Justin Turney + + Calculation information: + Number of threads: 4 + Number of atoms: 3 + Number of AO shells: 22 + Number of SO shells: 22 + Number of primitives: 42 + Number of atomic orbitals: 65 + Number of basis functions: 58 + + Number of irreps: 2 + Integral cutoff 0.00e+00 + Number of functions per irrep: [ 40 18 ] + + OEINTS: Overlap, kinetic, potential, dipole, and quadrupole integrals + stored in file 35. + + Computing two-electron integrals...done + Computed 711555 non-zero two-electron integrals. + Stored in file 33. + + +*** tstart() called on n083 +*** at Mon Oct 24 14:59:38 2022 + + + Wfn Parameters: + -------------------- + Wavefunction = CCSD_T + Number of irreps = 2 + Number of MOs = 58 + Number of active MOs = 57 + AO-Basis = NONE + Semicanonical = false + Reference = RHF + Print Level = 1 + + IRREP # MOs # FZDC # DOCC # SOCC # VIRT # FZVR + ----- ----- ------ ------ ------ ------ ------ + Ap 40 1 3 0 36 0 + App 18 0 1 0 17 0 + Transforming integrals... + IWL integrals will be deleted. + (OO|OO)... + Presorting SO-basis two-electron integrals. + Sorting File: SO Ints (nn|nn) nbuckets = 1 + Transforming the one-electron integrals and constructing Fock matrices + Starting first half-transformation. + Sorting half-transformed integrals. + First half integral transformation complete. + Starting second half-transformation. + Two-electron integral transformation complete. + (OO|OV)... + Starting second half-transformation. + Two-electron integral transformation complete. + (OO|VV)... + Starting second half-transformation. + Two-electron integral transformation complete. + (OV|OO)... + Starting first half-transformation. + Sorting half-transformed integrals. + First half integral transformation complete. + Starting second half-transformation. + Two-electron integral transformation complete. + (OV|OV)... + Starting second half-transformation. + Two-electron integral transformation complete. + (OV|VV)... + Starting second half-transformation. + Two-electron integral transformation complete. + (VV|OO)... + Starting first half-transformation. + Sorting half-transformed integrals. + First half integral transformation complete. + Starting second half-transformation. + Two-electron integral transformation complete. + (VV|OV)... + Starting second half-transformation. + Two-electron integral transformation complete. + (VV|VV)... + Starting second half-transformation. + Two-electron integral transformation complete. + Frozen core energy = -61.31169827071533 + + Size of irrep 0 of integrals: 2.512 (MW) / 20.098 (MB) + Size of irrep 1 of integrals: 1.498 (MW) / 11.985 (MB) + Total: 4.010 (MW) / 32.083 (MB) + + Size of irrep 0 of integrals: 0.198 (MW) / 1.585 (MB) + Size of irrep 1 of integrals: 0.106 (MW) / 0.852 (MB) + Total: 0.305 (MW) / 2.437 (MB) + + Size of irrep 0 of tijab amplitudes: 0.016 (MW) / 0.127 (MB) + Size of irrep 1 of tijab amplitudes: 0.007 (MW) / 0.059 (MB) + Total: 0.023 (MW) / 0.186 (MB) + + Nuclear Rep. energy = 9.17599775237391 + SCF energy = -76.05691849951405 + One-electron energy = -41.57078924405792 + Two-electron energy = 17.64957126288529 + Reference energy = -76.05691849951405 + +*** tstop() called on n083 at Mon Oct 24 14:59:38 2022 +Module time: + user time = 1.27 seconds = 0.02 minutes + system time = 0.10 seconds = 0.00 minutes + total time = 0 seconds = 0.00 minutes +Total time: + user time = 3.44 seconds = 0.06 minutes + system time = 0.12 seconds = 0.00 minutes + total time = 1 seconds = 0.02 minutes + ************************** + * * + * CCENERGY * + * * + ************************** + + Nuclear Rep. energy (wfn) = 9.175997752373910 + SCF energy (wfn) = -76.056918499514055 + Reference energy (file100) = -76.056918499514055 + + Input parameters: + ----------------- + Wave function = CCSD_T + Reference wfn = RHF + Brueckner = No + Memory (Mbytes) = 14000.0 + Maxiter = 300 + R_Convergence = 1.0e-08 + E_Convergence = 1.0e-10 + Restart = Yes + DIIS = Yes + AO Basis = NONE + ABCD = NEW + Cache Level = 2 + Cache Type = LOW + Print Level = 1 + Num. of threads = 4 + # Amps to Print = 10 + Print MP2 Amps? = No + Analyze T2 Amps = No + Print Pair Ener = No + Local CC = No + SCS-MP2 = False + SCSN-MP2 = False + SCS-CCSD = False + +MP2 correlation energy -0.2617109429690334 + Solving CC Amplitude Equations + ------------------------------ + Iter Energy RMS T1Diag D1Diag New D1Diag D2Diag + ---- --------------------- --------- ---------- ---------- ---------- -------- + 0 -0.261710942969033 0.000e+00 0.000000 0.000000 0.000000 0.116250 + 1 -0.262027923796443 2.912e-02 0.005707 0.009298 0.009298 0.119915 + 2 -0.266874600547017 1.004e-02 0.005905 0.009457 0.009457 0.124607 + 3 -0.267584789294050 3.226e-03 0.006493 0.010595 0.010595 0.126264 + 4 -0.267577063851202 6.558e-04 0.006531 0.010687 0.010687 0.126474 + 5 -0.267598982077505 2.070e-04 0.006552 0.010777 0.010777 0.126523 + 6 -0.267599525071694 6.176e-05 0.006557 0.010814 0.010814 0.126520 + 7 -0.267599610136129 1.982e-05 0.006560 0.010829 0.010829 0.126518 + 8 -0.267599299281224 5.099e-06 0.006561 0.010834 0.010834 0.126518 + 9 -0.267599210241626 1.048e-06 0.006561 0.010835 0.010835 0.126518 + 10 -0.267599223172957 2.348e-07 0.006561 0.010835 0.010835 0.126518 + 11 -0.267599221868338 4.564e-08 0.006561 0.010835 0.010835 0.126518 + 12 -0.267599223494902 1.012e-08 0.006561 0.010835 0.010835 0.126518 + 13 -0.267599223533925 2.445e-09 0.006561 0.010835 0.010835 0.126518 + 14 -0.267599223542733 6.143e-10 0.006561 0.010835 0.010835 0.126518 + + Iterations converged. + + + Largest TIA Amplitudes: + 3 36 -0.0075234373 + 2 0 0.0058490537 + 1 9 -0.0057827998 + 3 38 -0.0049345890 + 2 5 -0.0045597284 + 2 10 -0.0041449782 + 0 4 -0.0040238015 + 2 4 0.0038567697 + 1 20 -0.0038464915 + 2 21 -0.0037828832 + + Largest TIjAb Amplitudes: + 3 3 36 36 -0.0476501616 + 2 2 4 4 -0.0295838136 + 1 1 2 2 -0.0270765483 + 2 3 4 36 0.0259190149 + 3 2 36 4 0.0259190149 + 1 1 3 3 -0.0253231278 + 1 1 6 6 -0.0226684505 + 1 3 6 36 0.0222583093 + 3 1 36 6 0.0222583093 + 2 2 2 2 -0.0221710989 + + SCF energy (wfn) = -76.056918499514055 + Reference energy (file100) = -76.056918499514055 + + Opposite-spin MP2 correlation energy = -0.198148425145033 + Same-spin MP2 correlation energy = -0.063562517824000 + Singles MP2 correlation energy = -0.000000000000000 + MP2 correlation energy = -0.261710942969033 + * MP2 total energy = -76.318629442483086 + + Opposite-spin CCSD correlation energy = -0.210925571703043 + Same-spin CCSD correlation energy = -0.056673651839690 + Singles CCSD correlation energy = 0.000000000000000 + CCSD correlation energy = -0.267599223542733 + * CCSD total energy = -76.324517723056786 + + ************************** + * * + * CCTRIPLES * + * * + ************************** + + + Wave function = CCSD_T + Reference wfn = RHF + + Nuclear Rep. energy (wfn) = 9.175997752373910 + SCF energy (wfn) = -76.056918499514055 + Reference energy (file100) = -76.056918499514055 + CCSD energy (file100) = -0.267599223542733 + Total CCSD energy (file100) = -76.324517723056786 + + Number of ijk index combinations: 20 + Memory available in words : 1750000000 + ~Words needed per explicit thread: 186624 + Number of threads for explicit ijk threading: 4 + + MKL num_threads set to 1 for explicit threading. + + (T) energy = -0.007671250899706 + * CCSD(T) total energy = -76.332188973956491 + +Giraffe The Energy is -76.332188973956 + + Psi4 stopped on: Monday, 24 October 2022 02:59PM + Psi4 wall time for execution: 0:00:03.37 + +*** Psi4 exiting successfully. Buy a developer a beer! diff --git a/tests/ref_data/reap_test/Disps/7/timer.dat b/tests/ref_data/reap_test/Disps/7/timer.dat new file mode 100644 index 00000000..30ddb225 --- /dev/null +++ b/tests/ref_data/reap_test/Disps/7/timer.dat @@ -0,0 +1,92 @@ + +Host: n083 + +Timers On : Mon Oct 24 14:59:36 2022 +Timers Off: Mon Oct 24 14:59:40 2022 + +Wall Time: 4.47 seconds + + Time (seconds) +Module User System Wall Calls +Total PK formation time : 0.400u 0.000s 0.188w 1 calls +HF: Form core H : 0.050u 0.000s 0.007w 1 calls +HF: Form S/X : 0.000u 0.000s 0.007w 1 calls +HF: Guess : 1.250u 0.017s 0.187w 1 calls +SAD Guess : 1.183u 0.017s 0.178w 1 calls +HF: Form G : 0.450u 0.000s 0.048w 14 calls +JK: D : 0.000u 0.000s 0.000w 14 calls +JK: USO2AO : 0.000u 0.000s 0.000w 14 calls +JK: JK : 0.450u 0.000s 0.046w 14 calls +PK computes JK : 0.450u 0.000s 0.046w 14 calls +JK: AO2USO : 0.000u 0.000s 0.001w 14 calls +HF: Form F : 0.000u 0.000s 0.000w 14 calls +HF: Form D : 0.000u 0.000s 0.000w 14 calls +HF: DIIS : 0.000u 0.000s 0.007w 13 calls +DIISManager::add_entry : 0.000u 0.000s 0.001w 13 calls +DIISManager::extrapolate : 0.000u 0.000s 0.001w 13 calls +bMatrix setup : 0.000u 0.000s 0.001w 13 calls +bMatrix pseudoinverse : 0.000u 0.000s 0.000w 13 calls +New vector : 0.000u 0.000s 0.000w 13 calls +HF: Form C : 0.000u 0.000s 0.003w 13 calls +ccenergy : 10.100u 0.367s 1.978w 1 calls +F build : 0.133u 0.000s 0.021w 14 calls +Wmbej build : 0.200u 0.000s 0.034w 14 calls +C->Wmbej : 0.000u 0.000s 0.002w 14 calls +F->Wmbej : 0.100u 0.000s 0.020w 14 calls +E->Wmbej : 0.067u 0.000s 0.005w 14 calls +X->Wmbej : 0.033u 0.000s 0.006w 14 calls +Z : 0.033u 0.000s 0.005w 14 calls +T2 Build : 0.750u 0.117s 0.133w 14 calls +BT2 : 0.467u 0.100s 0.083w 14 calls +ABCD:new : 0.467u 0.100s 0.083w 14 calls +ABCD:S : 0.117u 0.000s 0.020w 14 calls +ABCD:A : 0.117u 0.033s 0.019w 14 calls +ABCD:axpy : 0.233u 0.067s 0.040w 14 calls +FT2 : 0.033u 0.000s 0.007w 14 calls +WmbejT2 : 0.083u 0.000s 0.011w 14 calls +CT2 : 0.083u 0.017s 0.016w 14 calls +cctriples : 0.800u 0.017s 0.151w 1 calls +ET_RHF : 0.233u 0.017s 0.037w 1 calls + +-------------------------------------------------------------------------------------- +Total PK formation time : 0.400u 0.000s 0.188w 1 calls +HF: Form core H : 0.050u 0.000s 0.007w 1 calls +HF: Form S/X : 0.000u 0.000s 0.007w 1 calls +HF: Guess : 1.250u 0.017s 0.187w 1 calls +| SAD Guess : 1.183u 0.017s 0.178w 1 calls +HF: Form G : 0.450u 0.000s 0.048w 14 calls +| JK: D : 0.000u 0.000s 0.000w 14 calls +| JK: USO2AO : 0.000u 0.000s 0.000w 14 calls +| JK: JK : 0.450u 0.000s 0.046w 14 calls +| | PK computes JK : 0.450u 0.000s 0.046w 14 calls +| JK: AO2USO : 0.000u 0.000s 0.001w 14 calls +HF: Form F : 0.000u 0.000s 0.000w 14 calls +HF: Form D : 0.000u 0.000s 0.000w 14 calls +HF: DIIS : 0.000u 0.000s 0.007w 13 calls +| DIISManager::add_entry : 0.000u 0.000s 0.001w 13 calls +| DIISManager::extrapolate : 0.000u 0.000s 0.001w 13 calls +| | bMatrix setup : 0.000u 0.000s 0.001w 13 calls +| | bMatrix pseudoinverse : 0.000u 0.000s 0.000w 13 calls +| | New vector : 0.000u 0.000s 0.000w 13 calls +HF: Form C : 0.000u 0.000s 0.003w 13 calls +ccenergy : 10.100u 0.367s 1.978w 1 calls +| F build : 0.133u 0.000s 0.021w 14 calls +| Wmbej build : 0.200u 0.000s 0.034w 14 calls +| | C->Wmbej : 0.000u 0.000s 0.002w 14 calls +| | F->Wmbej : 0.100u 0.000s 0.020w 14 calls +| | E->Wmbej : 0.067u 0.000s 0.005w 14 calls +| | X->Wmbej : 0.033u 0.000s 0.006w 14 calls +| Z : 0.033u 0.000s 0.005w 14 calls +| T2 Build : 0.750u 0.117s 0.133w 14 calls +| | BT2 : 0.467u 0.100s 0.083w 14 calls +| | | ABCD:new : 0.467u 0.100s 0.083w 14 calls +| | | | ABCD:S : 0.117u 0.000s 0.020w 14 calls +| | | | ABCD:A : 0.117u 0.033s 0.019w 14 calls +| | | | ABCD:axpy : 0.233u 0.067s 0.040w 14 calls +| | FT2 : 0.033u 0.000s 0.007w 14 calls +| | WmbejT2 : 0.083u 0.000s 0.011w 14 calls +| | CT2 : 0.083u 0.017s 0.016w 14 calls +cctriples : 0.800u 0.017s 0.151w 1 calls +| ET_RHF : 0.233u 0.017s 0.037w 1 calls + +************************************************************************************** diff --git a/tests/ref_data/reap_test/fc.dat b/tests/ref_data/reap_test/fc.dat new file mode 100644 index 00000000..83f4e8e2 --- /dev/null +++ b/tests/ref_data/reap_test/fc.dat @@ -0,0 +1,28 @@ + 3 9 + -0.0036590558 0.0000000000 0.0000000000 + 0.0049497814 0.0000000000 0.0000000000 + -0.0012907256 0.0000000000 0.0000000000 + 0.0000000000 0.3840603007 -0.2475778580 + 0.0000000000 -0.3518414663 0.2142987497 + 0.0000000000 -0.0322188344 0.0332791084 + 0.0000000000 -0.2475778580 0.2296372515 + 0.0000000000 0.2808569579 -0.2405594198 + 0.0000000000 -0.0332791084 0.0109221683 + 0.0049497814 0.0000000000 0.0000000000 + -0.0098995628 0.0000000000 0.0000000000 + 0.0049497814 0.0000000000 0.0000000000 + 0.0000000000 -0.3518414663 0.2808569579 + 0.0000000000 0.7036829326 0.0000000000 + 0.0000000000 -0.3518414663 -0.2808569579 + 0.0000000000 0.2142987497 -0.2405594198 + 0.0000000000 0.0000000000 0.4811188396 + 0.0000000000 -0.2142987497 -0.2405594198 + -0.0012907256 0.0000000000 0.0000000000 + 0.0049497814 0.0000000000 0.0000000000 + -0.0036590558 0.0000000000 0.0000000000 + 0.0000000000 -0.0322188344 -0.0332791084 + 0.0000000000 -0.3518414663 -0.2142987497 + 0.0000000000 0.3840603007 0.2475778580 + 0.0000000000 0.0332791084 0.0109221683 + 0.0000000000 -0.2808569579 -0.2405594198 + 0.0000000000 0.2475778580 0.2296372515 diff --git a/tests/ref_data/reap_test/main.py b/tests/ref_data/reap_test/main.py new file mode 100644 index 00000000..7711a049 --- /dev/null +++ b/tests/ref_data/reap_test/main.py @@ -0,0 +1,24 @@ +from concordantmodes.options import Options + +options_kwargs = { + "queue": "gen3.q,gen4.q,gen6.q,debug.q", + "program": "psi4@master", + "energy_regex": r"Giraffe The Energy is\s+(\-\d+\.\d+)", + "cart_insert": 7, + "coords": "Redundant", + "success_regex": r"beer", + "calc" : False, + "gen_disps" : False, + "off_diag": False, + "off_diag_bands": 3, + "off_diag_limit": False, + "printout_rel_e": False, + "mode_coupling_check": False, +} +options_obj = Options(**options_kwargs) + +# 3. call Concordant Modes Program +from concordantmodes.cma import ConcordantModes + +CMA_obj = ConcordantModes(options_obj) +CMA_obj.run() diff --git a/tests/ref_data/reap_test/template.dat b/tests/ref_data/reap_test/template.dat new file mode 100644 index 00000000..61774f2e --- /dev/null +++ b/tests/ref_data/reap_test/template.dat @@ -0,0 +1,21 @@ +# o-Benzyne preliminary computations + +memory 14 gb + +molecule { + 0 1 + units bohr +} + +set { + basis cc-pvtz + reference rhf + e_convergence 10 + d_convergence 10 + r_convergence 8 + maxiter 300 + freeze_core True +} + +e, wfn = energy('ccsd(t)', return_wfn = True) +psi4.print_out('Giraffe The Energy is %.12f \n'%(e)) diff --git a/tests/ref_data/reap_test/zmat b/tests/ref_data/reap_test/zmat new file mode 100644 index 00000000..b3d3a44a --- /dev/null +++ b/tests/ref_data/reap_test/zmat @@ -0,0 +1,11 @@ +ZMAT begin +1 2 +2 3 +ZMAT end + +cart begin + H -0.00000000 -1.42462540 0.99592408 + O 0.00000000 0.00000000 -0.12550454 + H -0.00000000 1.42462540 0.99592408 +cart end + diff --git a/tests/ref_data/s_vec_test/zmat b/tests/ref_data/s_vec_test/zmat new file mode 100644 index 00000000..529a263f --- /dev/null +++ b/tests/ref_data/s_vec_test/zmat @@ -0,0 +1,24 @@ +ZMAT begin +1 2 +1 3 +1 4 +1 5 +2 6 +6 2 1 +2 1 3 +2 1 4 +2 1 5 +4 1 2 6 T +5 1 2 6 T +3 1 4 5 O +ZMAT end + +cart begin + C -1.37507311 -0.02427686 0.00000035 + O 1.30601636 0.12070128 0.00000030 + H -2.07787395 1.90961292 -0.00007991 + H -2.10898758 -0.97927269 1.68197389 + H -2.10898055 -0.97940393 -1.68190173 + H 1.94117467 -1.57749284 -0.00000131 +cart end + diff --git a/tests/ref_data/simple_int_zmat b/tests/ref_data/simple_int_zmat new file mode 100644 index 00000000..f690af8e --- /dev/null +++ b/tests/ref_data/simple_int_zmat @@ -0,0 +1,17 @@ +ZMAT begin +1 2 +1 3 +1 4 +1 5 +2 6 +ZMAT end + +cart begin + C -1.37507311 -0.02427686 0.00000035 + O 1.30601636 0.12070128 0.00000030 + H -2.07787395 1.90961292 -0.00007991 + H -2.10898758 -0.97927269 1.68197389 + H -2.10898055 -0.97940393 -1.68190173 + H 1.94117467 -1.57749284 -0.00000131 +cart end + diff --git a/tests/ref_data/zmat_test/zmat_custom b/tests/ref_data/zmat_test/zmat_custom new file mode 100644 index 00000000..b03c8cbc --- /dev/null +++ b/tests/ref_data/zmat_test/zmat_custom @@ -0,0 +1,29 @@ +ZMAT begin +1 2 +1 3 +1 4 +1 5 +2 6 +2 1 3 +2 1 4 +2 1 5 +3 1 4 +4 1 5 +5 1 3 +6 2 1 +6 2 1 4 T +4 1 3 5 O +3 1 2 6 Lx +3 1 2 6 Ly +5 1 2 4 L +ZMAT end + +cart begin + C -1.37507311 -0.02427686 0.00000035 + O 1.30601636 0.12070128 0.00000030 + H -2.07787395 1.90961292 -0.00007991 + H -2.10898758 -0.97927269 1.68197389 + H -2.10898055 -0.97940393 -1.68190173 + H 1.94117467 -1.57749284 -0.00000131 +cart end + diff --git a/tests/ref_data/zmat_test/zmat_red b/tests/ref_data/zmat_test/zmat_red new file mode 100644 index 00000000..f690af8e --- /dev/null +++ b/tests/ref_data/zmat_test/zmat_red @@ -0,0 +1,17 @@ +ZMAT begin +1 2 +1 3 +1 4 +1 5 +2 6 +ZMAT end + +cart begin + C -1.37507311 -0.02427686 0.00000035 + O 1.30601636 0.12070128 0.00000030 + H -2.07787395 1.90961292 -0.00007991 + H -2.10898758 -0.97927269 1.68197389 + H -2.10898055 -0.97940393 -1.68190173 + H 1.94117467 -1.57749284 -0.00000131 +cart end + diff --git a/tests/ref_data/zmat_test/zmat_zmat b/tests/ref_data/zmat_test/zmat_zmat new file mode 100644 index 00000000..699bb963 --- /dev/null +++ b/tests/ref_data/zmat_test/zmat_zmat @@ -0,0 +1,18 @@ +ZMAT begin +C +O 1 +H 1 2 +H 1 2 3 +H 1 2 4 +H 2 1 3 +ZMAT end + +cart begin + C -1.37507311 -0.02427686 0.00000035 + O 1.30601636 0.12070128 0.00000030 + H -2.07787395 1.90961292 -0.00007991 + H -2.10898758 -0.97927269 1.68197389 + H -2.10898055 -0.97940393 -1.68190173 + H 1.94117467 -1.57749284 -0.00000131 +cart end + diff --git a/tests/suite_execute.py b/tests/suite_execute.py new file mode 100644 index 00000000..b844655d --- /dev/null +++ b/tests/suite_execute.py @@ -0,0 +1,75 @@ +import os +import shutil +import numpy as np +from concordantmodes.ted import TED +from numpy.linalg import inv +from numpy import linalg as LA + +from concordantmodes.algorithm import Algorithm +from concordantmodes.f_convert import FcConv +from concordantmodes.f_read import FcRead +from concordantmodes.gf_method import GFMethod +from concordantmodes.g_matrix import GMatrix +from concordantmodes.options import Options +from concordantmodes.s_vectors import SVectors +from concordantmodes.ted import TED +from concordantmodes.transf_disp import TransfDisp +from concordantmodes.zmat import Zmat + +class execute_suite(object): + def __init__(self,path,coords,s_vec_bool=False,disp_transf=False): + self.path = path + self.coords = coords + self.s_vec_bool = s_vec_bool + self.disp_transf = disp_transf + def run(self): + os.chdir(self.path) + self.options = Options() + # self.options.coords = "Redundant" + self.options.coords = self.coords + self.ZMAT = Zmat(self.options) + output_test = self.ZMAT.zmat_read("zmat") + self.ZMAT.zmat_process(output_test) + + self.ZMAT.zmat_calc() + + self.ZMAT.zmat_compile() + + + self.s_vec = SVectors(self.ZMAT, self.options, self.ZMAT.variable_dictionary_init) + self.s_vec.run(self.ZMAT.cartesians_init, True) + + self.TED_obj = TED(self.s_vec.proj, self.ZMAT) + self.g_mat = GMatrix(self.ZMAT, self.s_vec, self.options) + self.g_mat.run() + if self.s_vec_bool: + print("It ran") + os.chdir("../../") + return + self.FC = FcRead("fc.dat") + self.FC.run() + self.f_conv = FcConv(self.FC.fc_mat, self.s_vec, self.ZMAT, "internal", False, self.TED_obj, self.options.units) + self.f_conv.run() + + + self.F = np.dot(self.TED_obj.proj.T, np.dot(self.f_conv.F, self.TED_obj.proj)) + self.G = np.dot(self.TED_obj.proj.T, np.dot(self.g_mat.G, self.TED_obj.proj)) + self.GF = GFMethod(self.G, self.F, self.options.tol, self.options.proj_tol, self.ZMAT, self.TED_obj) + + self.GF.run() + self.algo = Algorithm(len(self.GF.L), None, self.options) + self.algo.run() + + self.disps = TransfDisp( + self.s_vec, + self.ZMAT, + self.options.disp, + self.GF.L, + True, + self.options.disp_tol, + self.TED_obj, + self.options, + self.algo.indices, + ) + self.disps.run() + os.chdir("../../") diff --git a/tests/test_directory_tree.py b/tests/test_directory_tree.py new file mode 100644 index 00000000..1d01f604 --- /dev/null +++ b/tests/test_directory_tree.py @@ -0,0 +1,37 @@ +import fileinput +import os +import re +import shutil +import numpy as np + +from concordantmodes.options import Options +from concordantmodes.zmat import Zmat +from concordantmodes.directory_tree import DirectoryTree + + +def test_make_input(): + os.chdir("./ref_data/dir_tree/") + + options = Options() + options.cart_insert = 9 + + zmat = Zmat(options) + zmat.zmat_read("zmat") + + dispp = zmat.cartesians_final + at = zmat.atom_list + index = options.cart_insert + + DT = DirectoryTree( + "molpro", zmat, None, None, None, None, options, None, "template.dat", None + ) + + with open("template.dat", "r") as file: + data = file.readlines() + with open("template_ref.dat", "r") as file: + reference = file.readlines() + + data = DT.make_input(data, dispp, len(at), at, index) + os.chdir("../..") + + assert data == reference diff --git a/tests/test_f_convert.py b/tests/test_f_convert.py new file mode 100644 index 00000000..ff8fb59a --- /dev/null +++ b/tests/test_f_convert.py @@ -0,0 +1,58 @@ +import numpy as np +import os +import re +from numpy.linalg import inv +from numpy import linalg as LA + +from suite_execute import execute_suite + +from concordantmodes.f_convert import FcConv +from concordantmodes.f_read import FcRead +from concordantmodes.options import Options +from concordantmodes.s_vectors import SVectors +from concordantmodes.ted import TED +from concordantmodes.zmat import Zmat + +np.set_printoptions(precision=9) + +suite = execute_suite("./ref_data/f_conv_test/","Redundant") +suite.run() + +def test_f_convert2int(): + errors = [] + + FCint = FcConv(suite.FC.fc_mat, suite.s_vec, suite.ZMAT, "internal", False, suite.TED_obj, suite.options.units) + FCint.run() + + FCintR = FcRead(suite.path + "/fc_int.dat") + FCintR.run() + + if np.setdiff1d(FCint.F.round(decimals=10), FCintR.fc_mat).size: + errors.append( + "Transformed internal force constants do not match the reference." + ) + + assert not errors, "errors occured:\n{}".format("\n".join(errors)) + + +def test_f_convert2cart(): + errors = [] + + FCint = FcConv(suite.FC.fc_mat, suite.s_vec, suite.ZMAT, "internal", False, suite.TED_obj, suite.options.units) + FCint.run() + FCcart = FcConv(FCint.F, suite.s_vec, suite.ZMAT, "cartesian", False, suite.TED_obj, suite.options.units) + FCcart.run() + + FCintC = FcRead(suite.path + "/fc_cart.dat") + FCintC.run() + + if np.setdiff1d(FCcart.F.round(decimals=10), FCintC.fc_mat).size: + errors.append( + "Transformed internal force constants do not match the reference." + ) + + assert not errors, "errors occured:\n{}".format("\n".join(errors)) + + +# test_f_convert2int() +# test_f_convert2cart() diff --git a/tests/test_f_read.py b/tests/test_f_read.py new file mode 100644 index 00000000..8735a3f5 --- /dev/null +++ b/tests/test_f_read.py @@ -0,0 +1,388 @@ +import numpy as np +import os +import re +from numpy.linalg import inv +from numpy import linalg as LA + +from concordantmodes.f_read import FcRead + + +def test_f_read(): + errors = [] + + os.chdir("./ref_data/f_read_test/") + + FCr = FcRead("fc.dat") + FCr.run() + fc_ref = [ + [ + 0.4979448204, + -0.0165621609, + -5.29e-08, + -0.257132153, + 0.0156954116, + 1.7959e-06, + -0.0713232083, + 0.0845403615, + -1.12865e-05, + -0.0734882268, + -0.0363389844, + 0.064473976, + -0.0734878728, + -0.0363548847, + -0.0644635342, + -0.0225133594, + -0.0109797432, + -8.984e-07, + ], + [ + -0.0165621507, + 0.6078583599, + -3.7755e-06, + -0.0348154431, + -0.0951352547, + -6.707e-07, + 0.0697599634, + -0.297041958, + 3.29932e-05, + -0.0326783854, + -0.1075719729, + 0.0962461739, + -0.0326923287, + -0.1076191286, + -0.0962755696, + 0.0469883445, + -0.0004900456, + 8.488e-07, + ], + [ + -5.36e-08, + -3.7758e-06, + 0.55828213, + -5.054e-07, + 8.4e-08, + -0.0618671813, + -9.5628e-06, + 3.26668e-05, + -0.0502917618, + 0.0611230618, + 0.0952257474, + -0.2227533763, + -0.0611126634, + -0.0952548866, + -0.2227074273, + -2.765e-07, + 1.642e-07, + -0.0006623833, + ], + [ + -0.2571321737, + -0.0348154804, + -5.056e-07, + 0.4285031321, + -0.1281996348, + -3.0417e-06, + -0.0226770953, + -6.99692e-05, + 3.364e-07, + -0.0300077946, + -0.0028422725, + 0.0033203586, + -0.030007115, + -0.0028418823, + -0.0033193107, + -0.0886789534, + 0.1687692392, + 2.1631e-06, + ], + [ + 0.0156954014, + -0.0951352491, + 8.4e-08, + -0.128199649, + 0.5553356667, + 4.1627e-06, + 0.0382310787, + 0.0055106906, + -9.038e-07, + -0.0172866169, + 0.0044973077, + -0.0027548449, + -0.0172939829, + 0.0044970489, + 0.0027556565, + 0.1088537686, + -0.4747054648, + -4.1546e-06, + ], + [ + 1.7958e-06, + -6.705e-07, + -0.0618672721, + -3.0416e-06, + 4.1627e-06, + 0.046589097, + -2.9571e-06, + -1.0799e-06, + 0.0016569475, + 0.0288037157, + -0.0002620796, + 0.0087007536, + -0.0288004191, + 0.0002627444, + 0.0086986485, + 9.063e-07, + -3.0771e-06, + -0.0037781745, + ], + [ + -0.0713232685, + 0.0697600372, + -9.5629e-06, + -0.0226770575, + 0.0382310767, + -2.9572e-06, + 0.0929951477, + -0.0904878833, + 1.13908e-05, + 0.0046925653, + -0.0090443221, + -0.0006355818, + 0.0046923494, + -0.0090441724, + 0.0006379649, + -0.0083797364, + 0.0005852639, + -1.2537e-06, + ], + [ + 0.0845404505, + -0.2970420108, + 3.26669e-05, + -7.00323e-05, + 0.005510689, + -1.0799e-06, + -0.0904878474, + 0.3131395389, + -3.52199e-05, + 0.0037034166, + -0.0121687308, + -0.0013087421, + 0.0037055715, + -0.0121748779, + 0.001312076, + -0.0013915589, + 0.0027353917, + 2.989e-07, + ], + [ + -1.12864e-05, + 3.2993e-05, + -0.0502917911, + 3.363e-07, + -9.038e-07, + 0.0016569622, + 1.13907e-05, + -3.52197e-05, + 0.0463424661, + -0.0082228449, + 0.0259915742, + 0.0008257863, + 0.00822215, + -0.0259882714, + 0.0008322029, + 2.544e-07, + -1.724e-07, + 0.0006343735, + ], + [ + -0.0734882103, + -0.0326784072, + 0.0611230373, + -0.030007802, + -0.017286611, + 0.028803708, + 0.0046925529, + 0.0037034412, + -0.0082228366, + 0.0913391208, + 0.0437114691, + -0.0748607016, + 0.005644911, + 0.0043794386, + -0.0069302383, + 0.0018194276, + -0.0018293307, + 8.70313e-05, + ], + [ + -0.0363390042, + -0.1075719514, + 0.0952257571, + -0.0028422699, + 0.0044973082, + -0.0002620689, + -0.0090443039, + -0.0121687483, + 0.0259915762, + 0.0437114697, + 0.1068957623, + -0.1057893994, + 0.0043813907, + 0.0077678315, + -0.0136770487, + 0.0001327177, + 0.0005797978, + -0.0014888162, + ], + [ + 0.0644739817, + 0.0962461701, + -0.2227533703, + 0.0033203576, + -0.0027548441, + 0.008700742, + -0.0006355885, + -0.0013087394, + 0.0008257631, + -0.0748607035, + -0.1057894012, + 0.2343245939, + 0.0069293873, + 0.0136696542, + -0.0212987832, + 0.0007725655, + -6.28396e-05, + 0.0002010545, + ], + [ + -0.0734878565, + -0.0326923508, + -0.0611126395, + -0.0300071225, + -0.0172939769, + -0.0288004113, + 0.004692337, + 0.0037055963, + 0.0082221417, + 0.0056449111, + 0.004381392, + 0.0069293849, + 0.0913371459, + 0.0437290276, + 0.0748479441, + 0.0018205851, + -0.0018296882, + -8.64198e-05, + ], + [ + -0.0363549045, + -0.1076191068, + -0.0952548966, + -0.0028418797, + 0.0044970495, + 0.0002627338, + -0.0090441542, + -0.0121748958, + -0.0259882734, + 0.0043794373, + 0.0077678315, + 0.0136696531, + 0.0437290282, + 0.1069483958, + 0.1058218977, + 0.0001324729, + 0.0005807258, + 0.0014888854, + ], + [ + -0.0644635395, + -0.0962755655, + -0.2227074214, + -0.0033193098, + 0.0027556557, + 0.008698637, + 0.0006379716, + 0.0013120731, + 0.0008321797, + -0.0069302409, + -0.0136770498, + -0.0212987832, + 0.0748479459, + 0.1058218994, + 0.234273975, + -0.0007728273, + 6.29872e-05, + 0.0002014129, + ], + [ + -0.0225133113, + 0.0469883621, + -2.763e-07, + -0.088678997, + 0.1088537343, + 9.063e-07, + -0.008379734, + -0.0013915465, + 2.543e-07, + 0.0018194242, + 0.000132718, + 0.000772564, + 0.0018205816, + 0.0001324732, + -0.0007728258, + 0.1159320365, + -0.154715741, + -6.225e-07, + ], + [ + -0.0109797926, + -0.0004900417, + 1.641e-07, + 0.168769274, + -0.4747054587, + -3.077e-06, + 0.0005852634, + 0.0027353727, + -1.724e-07, + -0.0018293213, + 0.0005798023, + -6.28406e-05, + -0.0018296788, + 0.0005807303, + 6.29882e-05, + -0.1547157447, + 0.4712995951, + 2.9378e-06, + ], + [ + -8.981e-07, + 8.488e-07, + -0.0006622751, + 2.163e-06, + -4.1546e-06, + -0.0037782569, + -1.2538e-06, + 2.99e-07, + 0.0006344053, + 8.70119e-05, + -0.0014887909, + 0.0002010257, + -8.64006e-05, + 0.00148886, + 0.0002013841, + -6.224e-07, + 2.9378e-06, + 0.0034037169, + ], + ] + + if np.setdiff1d(np.array(fc_ref), np.array(FCr.fc_mat.tolist())).size: + errors.append("Read in force constants do not match the reference.") + + os.chdir("../../") + + assert not errors, "errors occured:\n{}".format("\n".join(errors)) + + +test_f_read() diff --git a/tests/test_g_matrix.py b/tests/test_g_matrix.py new file mode 100644 index 00000000..8bc264d4 --- /dev/null +++ b/tests/test_g_matrix.py @@ -0,0 +1,43 @@ +import os +import shutil +import numpy as np +from concordantmodes.ted import TED +from numpy.linalg import inv +from numpy import linalg as LA + +from suite_execute import execute_suite + +from concordantmodes.g_matrix import GMatrix +from concordantmodes.options import Options +from concordantmodes.s_vectors import SVectors +from concordantmodes.zmat import Zmat + +suite = execute_suite("./ref_data/s_vec_test/","Custom",s_vec_bool=True) +suite.run() + +def test_compute_G(): + errors = [] + suite.s_vec.run(suite.ZMAT.cartesians_init, True) + + g_mat = GMatrix(suite.ZMAT, suite.s_vec, suite.options) + g_mat.run() + + + G_ref = [[ 8.00121376e-05, -1.32715756e-05, -1.73338728e-05, -1.73338729e-05, -1.02628585e-05, -1.80496698e-05, -2.12604120e-05, -2.04478488e-05, -2.04478488e-05, 0.00000000e+00, 0.00000000e+00, 5.00626441e-05], + [-1.32715756e-05, 5.90035575e-04, -1.42964000e-05, -1.42962793e-05, 0.00000000e+00, -1.62927551e-05, -1.62927552e-05, 1.75444777e-05, 1.75444053e-05, 2.59451267e-05, -2.59456007e-05, -3.20145289e-05], + [-1.73338728e-05, -1.42964000e-05, 5.90035575e-04, -1.47211823e-05, 0.00000000e+00, 7.52213196e-06, 1.84338806e-05, -1.57546251e-05, 2.05416834e-05, 4.34117245e-06, 2.83001423e-05, -1.09112087e-05], + [-1.73338729e-05, -1.42962793e-05, -1.47211823e-05, 5.90035575e-04, 0.00000000e+00, 7.52323926e-06, 1.84338159e-05, 2.05416834e-05, -1.57546251e-05, -2.82999534e-05, -4.34098373e-06, -1.09111166e-05], + [-1.02628585e-05, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00, 5.78617728e-04, -1.21882934e-05, -1.21882934e-05, 5.81936740e-06, 5.82022404e-06, 4.38837729e-06, -4.38818656e-06, 0.00000000e+00], + [-1.80496698e-05, -1.62927551e-05, 7.52213196e-06, 7.52323926e-06, -1.21882934e-05, 1.91331520e-04, 1.56088852e-05, -7.79557410e-06, -7.79672166e-06, -1.25700962e-05, 1.25695499e-05, 6.80353003e-06], + [-2.12604120e-05, -1.62927552e-05, 1.84338806e-05, 1.84338159e-05, -1.21882934e-05, 1.56088852e-05, 1.55264109e-04, 1.00850854e-06, 1.00856159e-06, -1.56356767e-05, 1.56366743e-05, -1.42465168e-04], + [-2.04478488e-05, 1.75444777e-05, -1.57546251e-05, 2.05416834e-05, 5.81936740e-06, -7.79557410e-06, 1.00850854e-06, 1.55208823e-04, -1.12229743e-06, -1.04056524e-05, -2.64304905e-05, -1.16816043e-04], + [-2.04478488e-05, 1.75444053e-05, 2.05416834e-05, -1.57546251e-05, 5.82022404e-06, -7.79672166e-06, 1.00856159e-06, -1.12229743e-06, 1.55208824e-04, 2.64300382e-05, 1.04052001e-05, -1.16815711e-04], + [ 0.00000000e+00, 2.59451267e-05, 4.34117245e-06, -2.82999534e-05, 4.38837729e-06, -1.25700962e-05, -1.56356767e-05, -1.04056524e-05, 2.64300382e-05, 3.76136297e-04, 1.94198975e-04, -7.83770679e-05], + [ 0.00000000e+00, -2.59456007e-05, 2.83001423e-05, -4.34098373e-06, -4.38818656e-06, 1.25695499e-05, 1.56366743e-05, -2.64304905e-05, 1.04052001e-05, 1.94198975e-04, 3.76137316e-04, 7.83768965e-05], + [ 5.00626441e-05, -3.20145289e-05, -1.09112087e-05, -1.09111166e-05, 0.00000000e+00, 6.80353003e-06, -1.42465168e-04, -1.16816043e-04, -1.16815711e-04, -7.83770679e-05, 7.83768965e-05, 3.78284543e-04]] + G_ref = np.array(G_ref) + + assert np.sum(abs(G_ref - g_mat.G)) < 1.0e-8 + + +test_compute_G() diff --git a/tests/test_gf_method.py b/tests/test_gf_method.py new file mode 100644 index 00000000..f3d06934 --- /dev/null +++ b/tests/test_gf_method.py @@ -0,0 +1,54 @@ +import os +import shutil +import numpy as np +from concordantmodes.ted import TED +from numpy.linalg import inv +from numpy import linalg as LA + +from suite_execute import execute_suite + +from concordantmodes.f_convert import FcConv +from concordantmodes.f_read import FcRead +from concordantmodes.gf_method import GFMethod +from concordantmodes.g_matrix import GMatrix +from concordantmodes.options import Options +from concordantmodes.s_vectors import SVectors +from concordantmodes.ted import TED +from concordantmodes.zmat import Zmat + +suite = execute_suite("./ref_data/f_read_test/","Redundant") +suite.run() + +def test_gf_method(): + errors = [] + + GF = GFMethod(suite.G, suite.F, suite.options.tol, suite.options.proj_tol, suite.ZMAT, suite.TED_obj) + + GF.run() + + ref_freq = [ + 347.2028653723603, + 1073.4528968170207, + 1099.7617262833578, + 1171.279871709732, + 1405.105997416581, + 1483.2609607580182, + 1489.2922133701677, + 1507.312943326969, + 2998.885895844555, + 3054.76300252422, + 3134.79345416958, + 3837.8500878962245, + ] + + if np.setdiff1d( + GF.freq.round(decimals=10), np.array(ref_freq).round(decimals=10) + ).size: + errors.append( + "Frequencies computed via the GF method do not match the reference." + ) + + assert not errors, "errors occured:\n{}".format("\n".join(errors)) + + +test_gf_method() diff --git a/tests/test_reap.py b/tests/test_reap.py new file mode 100644 index 00000000..31de349d --- /dev/null +++ b/tests/test_reap.py @@ -0,0 +1,56 @@ +import fileinput +import os +import re +import shutil +import numpy as np +from numpy.linalg import inv +from numpy import linalg as LA + +from suite_execute import execute_suite + +from concordantmodes.algorithm import Algorithm +from concordantmodes.f_convert import FcConv +from concordantmodes.f_read import FcRead +from concordantmodes.gf_method import GFMethod +from concordantmodes.g_matrix import GMatrix +from concordantmodes.options import Options +from concordantmodes.reap import Reap +from concordantmodes.s_vectors import SVectors +from concordantmodes.ted import TED +from concordantmodes.transf_disp import TransfDisp +from concordantmodes.zmat import Zmat + +suite = execute_suite("./ref_data/reap_test/","Redundant") +suite.run() + +def test_reap(): + suite.options.program = "psi4@master" + prog = suite.options.program + prog_name = prog.split("@")[0] + + suite.options.energy_regex = r"Giraffe The Energy is\s+(\-\d+\.\d+)" + suite.options.success_regex = r"beer" + # print(os.getcwd()) + os.chdir(suite.path + "/Disps") + reap_obj = Reap( + prog_name, + suite.ZMAT, + suite.disps.disp_cart, + suite.options, + suite.disps.n_coord, + suite.GF.L, + suite.algo.indices, + suite.options.energy_regex, + suite.options.gradient_regex, + suite.options.molly_regex_init, + suite.options.success_regex + ) + reap_obj.run() + + ref_en = -76.332189646734 + + os.chdir("../..") + + assert ref_en == reap_obj.m_en_array[1][1] + +# test_reap() diff --git a/tests/test_s_vectors.py b/tests/test_s_vectors.py new file mode 100644 index 00000000..37cdca1b --- /dev/null +++ b/tests/test_s_vectors.py @@ -0,0 +1,251 @@ +import os +import shutil +import numpy as np +from concordantmodes.ted import TED +from numpy.linalg import inv +from numpy import linalg as LA + +from suite_execute import execute_suite + +from concordantmodes.options import Options +from concordantmodes.s_vectors import SVectors +from concordantmodes.zmat import Zmat + +suite = execute_suite("./ref_data/s_vec_test/","Custom",s_vec_bool=True) +suite.run() + +# B-tensor ran on INTDER +B_ref_INTDER = [ + -0.9985411814, + -0.0539954540, + 0.0000000186, + 0.9985411814, + 0.0539954540, + -0.0000000186, + 0.0000000000, + 0.0000000000, + 0.0000000000, + 0.0000000000, + 0.0000000000, + 0.0000000000, + 0.0000000000, + 0.0000000000, + 0.0000000000, + 0.0000000000, + 0.0000000000, + 0.0000000000, + 0.3415577087, + -0.9398608036, + 0.0000390060, + 0.0000000000, + 0.0000000000, + 0.0000000000, + -0.3415577087, + 0.9398608036, + -0.0000390060, + 0.0000000000, + 0.0000000000, + 0.0000000000, + 0.0000000000, + 0.0000000000, + 0.0000000000, + 0.0000000000, + 0.0000000000, + 0.0000000000, + 0.3547641089, + 0.4616317820, + -0.8130427571, + 0.0000000000, + 0.0000000000, + 0.0000000000, + 0.0000000000, + 0.0000000000, + 0.0000000000, + -0.3547641089, + -0.4616317820, + 0.8130427571, + 0.0000000000, + 0.0000000000, + 0.0000000000, + 0.0000000000, + 0.0000000000, + 0.0000000000, + 0.3547607114, + 0.4616952226, + 0.8130082159, + 0.0000000000, + 0.0000000000, + 0.0000000000, + 0.0000000000, + 0.0000000000, + 0.0000000000, + 0.0000000000, + 0.0000000000, + 0.0000000000, + -0.3547607114, + -0.4616952226, + -0.8130082159, + 0.0000000000, + 0.0000000000, + 0.0000000000, + 0.0000000000, + 0.0000000000, + 0.0000000000, + -0.3503184562, + 0.9366306525, + 0.0000008880, + 0.0000000000, + 0.0000000000, + 0.0000000000, + 0.0000000000, + 0.0000000000, + 0.0000000000, + 0.0000000000, + 0.0000000000, + 0.0000000000, + 0.3503184562, + -0.9366306525, + -0.0000008880, + -0.0380023722, + 0.7027801558, + 0.0000006509, + -0.9382188310, + -1.0679062637, + -0.0000009208, + 0.0000000000, + 0.0000000000, + 0.0000000000, + 0.0000000000, + 0.0000000000, + 0.0000000000, + 0.0000000000, + 0.0000000000, + 0.0000000000, + 0.9762212031, + 0.3651261079, + 0.0000002699, + 0.8251633666, + 1.0164658738, + -0.0000395779, + 0.0380023721, + -0.7027801552, + 0.0000286922, + -0.8631657387, + -0.3136857186, + 0.0000108857, + 0.0000000000, + 0.0000000000, + 0.0000000000, + 0.0000000000, + 0.0000000000, + 0.0000000000, + 0.0000000000, + 0.0000000000, + 0.0000000000, + 0.8710959025, + -0.4550382470, + 0.9227364964, + -0.0181444829, + 0.3355468016, + -0.6184037915, + 0.0000000000, + 0.0000000000, + 0.0000000000, + -0.8529514196, + 0.1194914454, + -0.3043327049, + 0.0000000000, + 0.0000000000, + 0.0000000000, + 0.0000000000, + 0.0000000000, + 0.0000000000, + 0.8710997622, + -0.4551102486, + -0.9226973463, + -0.0181470691, + 0.3355950550, + 0.6183775308, + 0.0000000000, + 0.0000000000, + 0.0000000000, + 0.0000000000, + 0.0000000000, + 0.0000000000, + -0.8529526931, + 0.1195151936, + 0.3043198155, + 0.0000000000, + 0.0000000000, + 0.0000000000, + 0.0605180559, + -1.1191643373, + -0.8297518682, + -0.0136825993, + 0.2530336329, + 1.4507337555, + 0.0000000000, + 0.0000000000, + 0.0000000000, + -0.0468353818, + 0.8661296968, + 0.4713374292, + 0.0000000000, + 0.0000000000, + 0.0000000000, + -0.0000000749, + 0.0000010076, + -1.0923193164, + -0.0605155392, + 1.1191172225, + -0.8298394512, + 0.0136822035, + -0.2530253119, + 1.4507535579, + 0.0000000000, + 0.0000000000, + 0.0000000000, + 0.0000000000, + 0.0000000000, + 0.0000000000, + 0.0468334106, + -0.8660929182, + 0.4714052098, + -0.0000000749, + 0.0000010076, + -1.0923193164, + -2.1071998375, + 0.6422844466, + -0.0000271200, + 0.0000000000, + 0.0000000000, + 0.0000000000, + 0.8631657387, + 0.3136857185, + -0.0000127766, + 0.6220183952, + -0.4779861168, + 0.0000199483, + 0.6220157036, + -0.4779840484, + 0.0000199482, + 0.0000000000, + 0.0000000000, + 0.0000000000 +] +B_ref_INTDER = np.array(B_ref_INTDER) +B_ref_INTDER = B_ref_INTDER.reshape((12,18)) +B_ref_INTDER[5:] *= 0.529177210903 + + +def test_compute_B(): + errors = [] + s_vec = SVectors(suite.ZMAT, suite.options, suite.ZMAT.variable_dictionary_init) + s_vec.run(suite.ZMAT.cartesians_init, True) + + + B_diff = s_vec.B - B_ref_INTDER + + assert abs(np.sum(B_diff)) < 1.0e-8 + +test_compute_B() diff --git a/tests/test_transf_disp.py b/tests/test_transf_disp.py new file mode 100644 index 00000000..2245f426 --- /dev/null +++ b/tests/test_transf_disp.py @@ -0,0 +1,57 @@ +import os +import shutil +import numpy as np +from concordantmodes.ted import TED +from numpy.linalg import inv +from numpy import linalg as LA + +from suite_execute import execute_suite + +from concordantmodes.algorithm import Algorithm +from concordantmodes.f_convert import FcConv +from concordantmodes.f_read import FcRead +from concordantmodes.gf_method import GFMethod +from concordantmodes.g_matrix import GMatrix +from concordantmodes.options import Options +from concordantmodes.s_vectors import SVectors +from concordantmodes.ted import TED +from concordantmodes.transf_disp import TransfDisp +from concordantmodes.zmat import Zmat + +print(os.getcwd()) +suite = execute_suite("./ref_data/f_read_test/","Redundant") +suite.run() + +def test_transf_disp(): + errors = [] + + disps = TransfDisp( + suite.s_vec, + suite.ZMAT, + suite.options.disp, + suite.GF.L, + True, + suite.options.disp_tol, + suite.TED_obj, + suite.options, + suite.algo.indices, + ) + disps.run() + + disp_ref = [ + [-1.3750734515947842, -0.024279474843673623, 0.0029358198799196837], + [1.3060102262375441, 0.1207018145868287, -0.0023356196755552655], + [-2.0778682947484093, 1.9096086118030944, -0.0008923821222545903], + [-2.1129906861119383, -0.9795514202073832, 1.683039582462003], + [-2.1049748848658, -0.979121064823173, -1.6808319627150445], + [1.941172931083388, -1.5774905865156932, -0.0019238478290682895], + ] + + + if np.setdiff1d(np.array(disp_ref), disps.p_disp[3][3].tolist()).size: + errors.append("Computed Displacement does not match the reference.") + + assert not errors, "errors occured:\n{}".format("\n".join(errors)) + + +test_transf_disp() diff --git a/tests/test_zmat.py b/tests/test_zmat.py new file mode 100644 index 00000000..22b34437 --- /dev/null +++ b/tests/test_zmat.py @@ -0,0 +1,313 @@ +import pytest +import numpy as np +import os +import shutil +import re + +from concordantmodes.int2cart import Int2Cart +from concordantmodes.transf_disp import TransfDisp +from concordantmodes.options import Options +from concordantmodes.zmat import Zmat + +coord1 = "Redundant" +coord2 = "ZMAT" +coord3 = "Custom" +file1 = "zmat_red" +file2 = "zmat_zmat" +file3 = "zmat_custom" +# ZMAT read data +ref_Red = ["1 2\n", "1 3\n", "1 4\n", "1 5\n", "2 6\n"] +ref_ZMAT = ["C\n", "O 1\n", "H 1 2\n", "H 1 2 3\n", "H 1 2 4\n", "H 2 1 3\n"] +ref_Custom = [ + "1 2\n", + "1 3\n", + "1 4\n", + "1 5\n", + "2 6\n", + "2 1 3\n", + "2 1 4\n", + "2 1 5\n", + "3 1 4\n", + "4 1 5\n", + "5 1 3\n", + "6 2 1\n", + "6 2 1 4 T\n", + "4 1 3 5 O\n", + "3 1 2 6 Lx\n", + "3 1 2 6 Ly\n", + "5 1 2 4 L\n", + ] +zmat_read = [(coord1,ref_Red,file1),(coord2,ref_ZMAT,file2),(coord2,ref_Custom,file3)] + +@pytest.mark.parametrize( + "option, expected, file_name",zmat_read +) + +def test_zmat_read(option, expected, file_name): + os.chdir("./ref_data/zmat_test/") + options = Options() + + options.coords = option + ZMAT = Zmat(options) + + output_test = ZMAT.zmat_read(file_name) + + os.chdir("../../") + assert expected == output_test + + +def test_zmat_process(): + os.chdir("./ref_data/zmat_test/") + options = Options() + errors = [] + + options.coords = "ZMAT" + ZMAT = Zmat(options) + output_test_zmat = ZMAT.zmat_read("zmat_zmat") + ZMAT.zmat_process(output_test_zmat) + ref_bond_indices = [["2", "1"], ["3", "1"], ["4", "1"], ["5", "1"], ["6", "2"]] + ref_angle_indices = [ + ["3", "1", "2"], + ["4", "1", "2"], + ["5", "1", "2"], + ["6", "2", "1"], + ] + ref_torsion_indices = [ + ["4", "1", "2", "3"], + ["5", "1", "2", "4"], + ["6", "2", "1", "3"], + ] + ref_bond_variables = ["R1", "R2", "R3", "R4", "R5"] + ref_angle_variables = ["A2", "A3", "A4", "A5"] + ref_torsion_variables = ["D3", "D4", "D5"] + if not ref_bond_indices == ZMAT.bond_indices: + errors.append("ZMAT bond indices") + if not ref_angle_indices == ZMAT.angle_indices: + errors.append("ZMAT angle indices") + if not ref_torsion_indices == ZMAT.torsion_indices: + errors.append("ZMAT torsion indices") + if not ref_bond_variables == ZMAT.bond_variables: + errors.append("ZMAT bond variables") + if not ref_angle_variables == ZMAT.angle_variables: + errors.append("ZMAT angle variables") + if not ref_torsion_variables == ZMAT.torsion_variables: + errors.append("ZMAT torsion variables") + + options.coords = "Redundant" + ZMAT = Zmat(options) + output_test_red = ZMAT.zmat_read("zmat_red") + ZMAT.zmat_process(output_test_red) + ref_bond_indices = np.array( + [["1", "2"], ["1", "3"], ["1", "4"], ["1", "5"], ["2", "6"]] + ) + ref_angle_indices = np.array( + [ + ["2", "1", "3"], + ["2", "1", "4"], + ["2", "1", "5"], + ["1", "2", "6"], + ["3", "1", "4"], + ["3", "1", "5"], + ["4", "1", "5"], + ] + ) + ref_torsion_indices = np.array( + [ + ["3", "1", "2", "4"], + ["3", "1", "2", "5"], + ["3", "1", "2", "6"], + ["2", "1", "3", "4"], + ["2", "1", "3", "5"], + ["4", "1", "2", "5"], + ["4", "1", "2", "6"], + ["2", "1", "4", "3"], + ["2", "1", "4", "5"], + ["5", "1", "2", "6"], + ["2", "1", "5", "3"], + ["2", "1", "5", "4"], + ["4", "1", "3", "5"], + ["3", "1", "4", "5"], + ["3", "1", "5", "4"], + ] + ) + ref_bond_variables = ["R1", "R2", "R3", "R4", "R5"] + ref_angle_variables = ["A1", "A2", "A3", "A4", "A5", "A6", "A7"] + ref_torsion_variables = [ + "D1", + "D2", + "D3", + "D4", + "D5", + "D6", + "D7", + "D8", + "D9", + "D10", + "D11", + "D12", + "D13", + "D14", + "D15", + ] + # print(np.setdiff1d(ref_bond_indices,ZMAT.bond_indices)) + if np.setdiff1d(ref_bond_indices, ZMAT.bond_indices).size: + errors.append("Redundant bond indices") + if np.setdiff1d(ref_angle_indices, ZMAT.angle_indices).size: + errors.append("Redundant angle indices") + if np.setdiff1d(ref_torsion_indices, ZMAT.torsion_indices).size: + errors.append("Redundant torsion indices") + if np.setdiff1d(ref_bond_variables, ZMAT.bond_variables).size: + errors.append("Redundant bond variables") + if np.setdiff1d(ref_angle_variables, ZMAT.angle_variables).size: + errors.append("Redundant angle variables") + if np.setdiff1d(ref_torsion_variables, ZMAT.torsion_variables).size: + errors.append("Redundant torsion variables") + + options.coords = "Custom" + ZMAT = Zmat(options) + output_test_red = ZMAT.zmat_read("zmat_custom") + ZMAT.zmat_process(output_test_red) + ref_bond_indices = [("1", "2"), ("1", "3"), ("1", "4"), ("1", "5"), ("2", "6")] + ref_angle_indices = [ + ("2", "1", "3"), + ("2", "1", "4"), + ("2", "1", "5"), + ("3", "1", "4"), + ("4", "1", "5"), + ("5", "1", "3"), + ("6", "2", "1"), + ] + ref_torsion_indices = [("6", "2", "1", "4")] + ref_oop_indices = [("4", "1", "3", "5")] + ref_lin_indices = [("5", "1", "2", "4")] + ref_linx_indices = [("3", "1", "2", "6")] + ref_liny_indices = [("3", "1", "2", "6")] + ref_bond_variables = ["R1", "R2", "R3", "R4", "R5"] + ref_angle_variables = ["A1", "A2", "A3", "A4", "A5", "A6", "A7"] + ref_torsion_variables = ["D1"] + ref_oop_variables = ["O1"] + ref_lin_variables = ["L1"] + ref_linx_variables = ["Lx1"] + ref_liny_variables = ["Ly1"] + + if np.setdiff1d(ref_bond_indices, ZMAT.bond_indices).size: + errors.append("Redundant bond indices") + if np.setdiff1d(ref_angle_indices, ZMAT.angle_indices).size: + errors.append("Redundant angle indices") + if np.setdiff1d(ref_torsion_indices, ZMAT.torsion_indices).size: + errors.append("Redundant torsion indices") + if np.setdiff1d(ref_oop_indices, ZMAT.oop_indices).size: + errors.append("Redundant out-of-plane indices") + if np.setdiff1d(ref_lin_indices, ZMAT.lin_indices).size: + errors.append("Redundant lin indices") + if np.setdiff1d(ref_linx_indices, ZMAT.linx_indices).size: + errors.append("Redundant linx indices") + if np.setdiff1d(ref_liny_indices, ZMAT.liny_indices).size: + errors.append("Redundant liny indices") + if not ref_bond_variables == ZMAT.bond_variables: + errors.append("Redundant bond variables") + if not ref_angle_variables == ZMAT.angle_variables: + errors.append("Redundant angle variables") + if not ref_torsion_variables == ZMAT.torsion_variables: + errors.append("Redundant torsion variables") + if not ref_oop_variables == ZMAT.oop_variables: + errors.append("Redundant out-of-plane variables") + if not ref_lin_variables == ZMAT.lin_variables: + errors.append("Redundant lin variables") + if not ref_linx_variables == ZMAT.linx_variables: + errors.append("Redundant linx variables") + if not ref_linx_variables == ZMAT.linx_variables: + errors.append("Redundant linx variables") + + os.chdir("../../") + + assert not errors, "errors occured:\n{}".format("\n".join(errors)) + + +# Only need to test the Custom internal coordinates +def test_zmat_calc(): + os.chdir("./ref_data/zmat_test/") + options = Options() + errors = [] + + options.coords = "Custom" + ZMAT = Zmat(options) + output_test_red = ZMAT.zmat_read("zmat_custom") + ZMAT.zmat_process(output_test_red) + + ZMAT.zmat_calc() + + var_dict_ref = { + "R1": 2.685006407296404, + "R2": 2.0576342503795035, + "R3": 2.068739344106188, + "R4": 2.068739340043222, + "R5": 1.8130883453288267, + "A1": 106.8765896566676, + "A2": 112.2824413394013, + "A3": 112.28244150454864, + "A4": 108.22376477570377, + "A5": 108.7851835780631, + "A6": 108.22360552816234, + "A7": 107.41157765289944, + "D1": 61.480653653479756, + "O1": 57.2185581514689, + "L1": -45.926274971749756, + "Lx1": -54.67048011096265, + "Ly1": -0.0022793163188044303, + } + var_dict_custom = ZMAT.variable_dictionary_final + + if np.setdiff1d(var_dict_ref, var_dict_custom).size: + errors.append("Custom variables do not match.") + + os.chdir("../../") + assert not errors, "errors occured:\n{}".format("\n".join(errors)) + + +# Only need to test the Custom internal coordinates +def test_zmat_compile(): + os.chdir("./ref_data/zmat_test/") + options = Options() + errors = [] + + options.coords = "Custom" + ZMAT = Zmat(options) + output_test_custom = ZMAT.zmat_read("zmat_custom") + ZMAT.zmat_process(output_test_custom) + + ZMAT.zmat_calc() + + ZMAT.zmat_compile() + + print(ZMAT.index_dictionary) + + index_dict_ref = { + "R1": ("1", "2"), + "R2": ("1", "3"), + "R3": ("1", "4"), + "R4": ("1", "5"), + "R5": ("2", "6"), + "A1": ("2", "1", "3"), + "A2": ("2", "1", "4"), + "A3": ("2", "1", "5"), + "A4": ("3", "1", "4"), + "A5": ("4", "1", "5"), + "A6": ("5", "1", "3"), + "A7": ("6", "2", "1"), + "D1": ("6", "2", "1", "4"), + "O1": ("4", "1", "3", "5"), + "L1": ("5", "1", "2", "4"), + "Lx1": ("3", "1", "2", "6"), + "Ly1": ("3", "1", "2", "6"), + } + index_dict_custom = ZMAT.index_dictionary + + if np.setdiff1d(index_dict_ref, index_dict_custom).size: + errors.append("Custom indices do not match.") + + os.chdir("../../") + assert not errors, "errors occured:\n{}".format("\n".join(errors)) + + +# test_zmat_read_ZMAT() diff --git a/trans_disp.py b/transf_disp.py similarity index 99% rename from trans_disp.py rename to transf_disp.py index 6d3115ac..6be44c3c 100644 --- a/trans_disp.py +++ b/transf_disp.py @@ -4,7 +4,7 @@ from concordantmodes.s_vectors import SVectors as s_vec -class TransDisp(object): +class TransfDisp(object): """ The purpose of this script is to perform an iterative transformation between internal coordinate displacements and cartesian displacements, diff --git a/zmat.py b/zmat.py index 12ad765f..a09a003b 100644 --- a/zmat.py +++ b/zmat.py @@ -3,8 +3,9 @@ import shutil import re from . import masses +from qcelemental.covalent_radii import CovalentRadii from concordantmodes.int2cart import Int2Cart -from concordantmodes.trans_disp import TransDisp +from concordantmodes.transf_disp import TransfDisp class Zmat(object): @@ -15,34 +16,54 @@ def __init__(self, options): self.Bohr_Ang = 0.529177210903 def run(self, zmat_name="zmat"): + + # Read in the ZMAT file + zmat_output = self.zmat_read(zmat_name) + + # Process the read in information + self.zmat_process(zmat_output) + + # Calculate internal coordinate values from reference cartesian coordinates + self.zmat_calc() + + # + self.zmat_compile() + + # + self.zmat_print() + + def zmat_read(self, zmat_name): # Define some regexes - zmat_begin_regex = re.compile(r"ZMAT begin") - zmat_end_regex = re.compile(r"ZMAT end") + self.zmat_begin_regex = re.compile(r"ZMAT begin") + self.zmat_end_regex = re.compile(r"ZMAT end") # ZMAT regexes - first_atom_regex = re.compile("^\s*([A-Za-z]+[0-9]*)\s*\n") - second_atom_regex = re.compile("^\s*([A-Za-z]+[0-9]*)\s+(\d+)\s*\n") - third_atom_regex = re.compile("^\s*([A-Za-z]+[0-9]*)\s+(\d+)\s+(\d+)\s*\n") - full_atom_regex = re.compile("^\s*([A-Za-z]+[0-9]*)\s+(\d+)\s+(\d+)\s+(\d+)\s*\n") + self.first_atom_regex = re.compile(r"^\s*([A-Za-z]+[0-9]*)\s*\n") + self.second_atom_regex = re.compile(r"^\s*([A-Za-z]+[0-9]*)\s+(\d+)\s*\n") + self.third_atom_regex = re.compile( + r"^\s*([A-Za-z]+[0-9]*)\s+(\d+)\s+(\d+)\s*\n" + ) + self.full_atom_regex = re.compile( + r"^\s*([A-Za-z]+[0-9]*)\s+(\d+)\s+(\d+)\s+(\d+)\s*\n" + ) # Custom int coord regexes - bond_regex = re.compile("^\s*(\d+)\s+(\d+)\s*\n") - angle_regex = re.compile("^\s*(\d+)\s+(\d+)\s+(\d+)\s*\n") - torsion_regex = re.compile("^\s*(\d+)\s+(\d+)\s+(\d+)\s+(\d+)\s*T\s*\n") - oop_regex = re.compile("^\s*(\d+)\s+(\d+)\s+(\d+)\s+(\d+)\s*O\s*\n") - lin_regex = re.compile("^\s*(\d+)\s+(\d+)\s+(\d+)\s+(\d+)\s*L\s*\n") - linx_regex = re.compile("^\s*(\d+)\s+(\d+)\s+(\d+)\s+(\d+)\s*Lx\s*\n") - liny_regex = re.compile("^\s*(\d+)\s+(\d+)\s+(\d+)\s+(\d+)\s*Ly\s*\n") + self.bond_regex = re.compile(r"^\s*(\d+)\s+(\d+)\s*\n") + self.angle_regex = re.compile(r"^\s*(\d+)\s+(\d+)\s+(\d+)\s*\n") + self.torsion_regex = re.compile(r"^\s*(\d+)\s+(\d+)\s+(\d+)\s+(\d+)\s*T\s*\n") + self.oop_regex = re.compile(r"^\s*(\d+)\s+(\d+)\s+(\d+)\s+(\d+)\s*O\s*\n") + self.lin_regex = re.compile(r"^\s*(\d+)\s+(\d+)\s+(\d+)\s+(\d+)\s*L\s*\n") + self.linx_regex = re.compile(r"^\s*(\d+)\s+(\d+)\s+(\d+)\s+(\d+)\s*Lx\s*\n") + self.liny_regex = re.compile(r"^\s*(\d+)\s+(\d+)\s+(\d+)\s+(\d+)\s*Ly\s*\n") # Cartesian regexes - cart_begin_regex = re.compile(r"cart begin") - cart_end_regex = re.compile(r"cart end") - s = "[A-Za-z]+[0-9]*\s+(-?\d+\.\d+)\s+(-?\d+\.\d+)\s+(-?\d+\.\d+)\s*\n" - cartesian_regex = re.compile(s) - s = "([A-Za-z]+[0-9]*)\s+-?\d+\.\d+\s+-?\d+\.\d+\s+-?\d+\.\d+\s*\n" - cartesian_atom_regex = re.compile(s) - divider_regex = re.compile("^\s*\-\-\-\s*\n") + self.cart_begin_regex = re.compile(r"cart begin") + self.cart_end_regex = re.compile(r"cart end") + s = r"[A-Za-z]+[0-9]*\s+(-?\d+\.\d+)\s+(-?\d+\.\d+)\s+(-?\d+\.\d+)\s*\n" + self.cartesian_regex = re.compile(s) + s = r"([A-Za-z]+[0-9]*)\s+-?\d+\.\d+\s+-?\d+\.\d+\s+-?\d+\.\d+\s*\n" + self.cartesian_atom_regex = re.compile(s) + self.divider_regex = re.compile(r"^\s*\-\-\-\s*\n") - # Read in the ZMAT file with open(zmat_name, "r") as file: output = file.readlines() @@ -53,13 +74,13 @@ def run(self, zmat_name="zmat"): self.atom_list = [] for i in range(len(output)): - beg_cart = re.search(cart_begin_regex, output[i]) + beg_cart = re.search(self.cart_begin_regex, output[i]) if beg_cart: cart_range.append(i) break for i in range(len(output) - cart_range[0]): - end_cart = re.search(cart_end_regex, output[i + cart_range[0]]) + end_cart = re.search(self.cart_end_regex, output[i + cart_range[0]]) if end_cart: cart_range.append(i + cart_range[0]) break @@ -67,28 +88,28 @@ def run(self, zmat_name="zmat"): cart_output = output[cart_range[0] : cart_range[1]].copy() for i in range(len(cart_output)): - divider = re.search(divider_regex, cart_output[i]) - if divider: + self.divider = re.search(self.divider_regex, cart_output[i]) + if self.divider: divide_index = i break - if divider: + if self.divider: cart_output_init = cart_output[:divide_index].copy() cart_output_final = cart_output[divide_index + 1 :].copy() else: cart_output_init = cart_output.copy() for i in range(len(cart_output_init)): - if re.search(cartesian_regex, cart_output_init[i]): - temp = re.findall(cartesian_regex, cart_output_init[i]) - atom = re.findall(cartesian_atom_regex, cart_output_init[i]) + if re.search(self.cartesian_regex, cart_output_init[i]): + temp = re.findall(self.cartesian_regex, cart_output_init[i]) + atom = re.findall(self.cartesian_atom_regex, cart_output_init[i]) self.cartesians_init.append(temp[0]) self.atom_list.append(atom[0]) self.cartesians_init = np.array(self.cartesians_init).astype(float) - if divider: + if self.divider: for i in range(len(cart_output_final)): - if re.search(cartesian_regex, cart_output_final[i]): - temp = re.findall(cartesian_regex, cart_output_final[i]) + if re.search(self.cartesian_regex, cart_output_final[i]): + temp = re.findall(self.cartesian_regex, cart_output_final[i]) self.cartesians_final.append(temp[0]) self.cartesians_final = np.array(self.cartesians_final).astype(float) else: @@ -98,22 +119,30 @@ def run(self, zmat_name="zmat"): self.cartesians_init /= self.Bohr_Ang self.cartesians_final /= self.Bohr_Ang + zmat_output = "" # Slice out the ZMAT from the input - zmat_range = [] + if not self.options.covalent_radii: + zmat_range = [] - for i in range(len(output)): - beg_zmat = re.search(zmat_begin_regex, output[i]) - if beg_zmat: - zmat_range.append(i) - - for i in range(len(output) - zmat_range[0]): - end_zmat = re.search(zmat_end_regex, output[i + zmat_range[0]]) - if end_zmat: - zmat_range.append(i + zmat_range[0]) - break + for i in range(len(output)): + beg_zmat = re.search(self.zmat_begin_regex, output[i]) + if beg_zmat: + zmat_range.append(i) + + for i in range(len(output) - zmat_range[0]): + end_zmat = re.search(self.zmat_end_regex, output[i + zmat_range[0]]) + if end_zmat: + zmat_range.append(i + zmat_range[0]) + break + + zmat_output = output[zmat_range[0] + 1 : zmat_range[1]].copy() - zmat_output = output[zmat_range[0] : zmat_range[1]].copy() + # print(output) + # print(zmat_output) + return zmat_output + + def zmat_process(self, zmat_output): # Initialize necessary lists self.bond_indices = [] self.bond_variables = [] @@ -138,17 +167,17 @@ def run(self, zmat_name="zmat"): # This code reaps ZMAT data for i in range(len(zmat_output)): # This case if we are at the first atom of the ZMAT - if re.search(first_atom_regex, zmat_output[i]) and count < 1: + if re.search(self.first_atom_regex, zmat_output[i]) and count < 1: first_index = i count += 1 # Second atom of the ZMAT, will have one bond term - if re.search(second_atom_regex, zmat_output[i]): - List = re.findall(second_atom_regex, zmat_output[i])[0] + if re.search(self.second_atom_regex, zmat_output[i]): + List = re.findall(self.second_atom_regex, zmat_output[i])[0] self.bond_indices.append([str(i - first_index + 1), List[1]]) self.bond_variables.append("R" + str(i - first_index)) # Third atom of the ZMAT, will have bond and angle term - if re.search(third_atom_regex, zmat_output[i]): - List = re.findall(third_atom_regex, zmat_output[i])[0] + if re.search(self.third_atom_regex, zmat_output[i]): + List = re.findall(self.third_atom_regex, zmat_output[i])[0] self.bond_indices.append([str(i - first_index + 1), List[1]]) self.bond_variables.append("R" + str(i - first_index)) self.angle_indices.append( @@ -157,8 +186,8 @@ def run(self, zmat_name="zmat"): self.angle_variables.append("A" + str(i - first_index)) # All remaining ZMAT atoms, will have bond, angle, and torsion # term - if re.search(full_atom_regex, zmat_output[i]): - List = re.findall(full_atom_regex, zmat_output[i])[0] + if re.search(self.full_atom_regex, zmat_output[i]): + List = re.findall(self.full_atom_regex, zmat_output[i])[0] self.bond_indices.append([str(i - first_index + 1), List[1]]) self.bond_variables.append("R" + str(i - first_index)) self.angle_indices.append( @@ -171,10 +200,12 @@ def run(self, zmat_name="zmat"): self.torsion_variables.append("D" + str(i - first_index)) elif self.options.coords.upper() == "REDUNDANT": count = 0 - if self.options.interatomic_distance: + if self.options.covalent_radii: + # This program yields the covalent radius of an atom in bohr. + c_r = CovalentRadii() self.bond_indices = np.array([]) indices = [] - transdisp_inter = TransDisp( + transdisp_inter = TransfDisp( 1, self, 1, @@ -188,13 +219,21 @@ def run(self, zmat_name="zmat"): inter_atomic_len = np.zeros( (len(self.cartesians_init), len(self.cartesians_init)) ) + N = len(self.cartesians_init) + adj_mat = np.zeros((N,N)) for i in range(len(self.cartesians_init)): for j in range(i): inter_atomic_len[j, i] = transdisp_inter.calc_bond( self.cartesians_init[i], self.cartesians_init[j] ) - if inter_atomic_len[j, i] < self.options.bond_tol: + if inter_atomic_len[ + j, i + ] < self.options.bond_threshold * ( + c_r.get(self.atom_list[i]) + c_r.get(self.atom_list[j]) + ): count += 1 + adj_mat[i,j] = 1 + adj_mat[j,i] = 1 self.bond_indices = np.append( self.bond_indices, np.array([str(j + 1), str(i + 1)]) ) @@ -202,18 +241,28 @@ def run(self, zmat_name="zmat"): self.bond_indices = np.reshape(self.bond_indices, (-1, 2)) print("Interatomic Distance Matrix:") print(inter_atomic_len) - print("Bond tolerance:") - print(self.options.bond_tol) + print("Adjacency Matrix:") + print(adj_mat) + for i in range(len(adj_mat)): + print("Degree of vertex " + str(i)) + print(np.sum(adj_mat[i])) + adj_mat2 = np.dot(adj_mat,adj_mat) + for i in range(len(adj_mat2)): + adj_mat2[i,i] = 0 + print("Covalent Radius Scale Factor:") + print(self.options.bond_threshold) print("Resulting bond indices:") print(self.bond_indices) + # raise RuntimeError else: for i in range(len(zmat_output)): - if re.search(bond_regex, zmat_output[i]): + if re.search(self.bond_regex, zmat_output[i]): count += 1 - List = re.findall(bond_regex, zmat_output[i])[0] + List = re.findall(self.bond_regex, zmat_output[i])[0] self.bond_indices.append(List) self.bond_variables.append("R" + str(count)) self.bond_indices = np.array(self.bond_indices) + # Form all possible angles from bonds self.angle_indices = np.array([]) count = 0 @@ -233,24 +282,144 @@ def run(self, zmat_name="zmat"): # Form all possible torsions from angles self.torsion_indices = np.array([]) - count = 0 + self.oop_indices = np.array([]) + tor_count = 0 + oop_count = 0 for i in range(len(self.angle_indices)): - for j in range(len(self.angle_indices) - i - 1): + for j in range(len(self.bond_indices)): a = np.setdiff1d( - self.angle_indices[i], self.angle_indices[i + j + 1] + self.angle_indices[i], self.bond_indices[j] ) b = np.intersect1d( - self.angle_indices[i], self.angle_indices[i + j + 1] + self.angle_indices[i], self.bond_indices[j] ) c = np.setdiff1d( - self.angle_indices[i + j + 1], self.angle_indices[i] + self.bond_indices[j], self.angle_indices[i] ) - if len(a) and len(b) == 2 and len(c): - d = np.array([a[0], b[0], b[1], c[0]]) - self.torsion_indices = np.append(self.torsion_indices, d) - count += 1 - self.torsion_variables.append("D" + str(count)) + if len(c) == 1: + d = np.where(self.bond_indices[j]==c)[0][0] + f = 1 - d + g = self.bond_indices[j][f] + h = np.where(self.angle_indices[i]==g)[0][0] + if h == 1: + # This is an out of plane bend + oop = np.array([self.bond_indices[j][d],self.bond_indices[j][f],a[0],a[1]]) + self.oop_indices = np.append(self.oop_indices, oop, axis=0) + else: + # This is a torsion + if h: + tor = np.append(self.angle_indices[i].copy(),self.bond_indices[j][d]) + else: + tor = np.append(self.bond_indices[j][d],self.angle_indices[i].copy()) + self.torsion_indices = np.append(self.torsion_indices, tor, axis=0) + self.torsion_indices = self.torsion_indices.reshape((-1, 4)) + + # Eliminate all redundancies + self.torsion_indices = np.unique(self.torsion_indices,axis=0) + + del_list = np.array([]) + for i in range(len(self.torsion_indices)): + for j in range(len(self.torsion_indices) - i - 1): + a = np.array([self.torsion_indices[i],np.flip(self.torsion_indices[i+j+1])]) + a = np.unique(a,axis=0) + if len(a) == 1: + del_list = np.append(del_list,[i+j+1]) + + del_list = del_list.astype(int) + self.torsion_indices = np.delete(self.torsion_indices,del_list,axis=0) + self.oop_indices = self.oop_indices.reshape((-1, 4)) + + for i in range(len(self.torsion_indices)): + self.torsion_variables.append("D" + str(i+1)) + for i in range(len(self.oop_indices)): + self.oop_variables.append("O" + str(i+1)) + + if self.options.topo_analysis: + X_len_walks_dict = {} + X_len_walks_dict["2_length_walks"] = self.bond_indices.copy() + X_len_walks_dict["3_length_walks"] = self.angle_indices.copy() + X_len_walks_dict["4_length_walks"] = self.torsion_indices.copy() + + count = 4 + + # self.options.topo_max_it = 4 + + prev_walks = self.torsion_indices.copy() + + while True: + new_walks = np.array([]) + for i in range(len(prev_walks)): + for j in range(len(self.bond_indices)): + a = np.where(prev_walks[i]==self.bond_indices[j][0])[0] + b = np.where(prev_walks[i]==self.bond_indices[j][1])[0] + if len(a) and not len(b): + if not a[0]: + new_walk = np.append(self.bond_indices[j][1],prev_walks[i].copy()) + new_walks = np.append(new_walks,new_walk) + elif a[0]==count-1: + new_walk = np.append(prev_walks[i].copy(),self.bond_indices[j][1]) + new_walks = np.append(new_walks,new_walk) + if len(b) and not len(a): + if not b[0]: + new_walk = np.append(self.bond_indices[j][0],prev_walks[i].copy()) + new_walks = np.append(new_walks,new_walk) + elif b[0]==count-1: + new_walk = np.append(prev_walks[i].copy(),self.bond_indices[j][0]) + new_walks = np.append(new_walks,new_walk) + + count += 1 + # print(count) + new_walks = new_walks.reshape((-1,count)) + new_walks = np.unique(new_walks,axis=0) + + del_list = np.array([]) + for i in range(len(new_walks)): + for j in range(len(new_walks) - i - 1): + a = np.array([new_walks[i],np.flip(new_walks[i+j+1])]) + a = np.unique(a,axis=0) + if len(a) == 1: + del_list = np.append(del_list,[i+j+1]) + + del_list = del_list.astype(int) + new_walks = np.delete(new_walks,del_list,axis=0) + prev_walks = new_walks + if count > self.options.topo_max_it or not len(new_walks): + print("Walk generator has terminated at walk lengths of " + str(count)) + break + X_len_walks_dict[str(count) + "_length_walks"] = new_walks + print(str(count) + "_length_walks") + print(len(new_walks)) + print(new_walks) + + + dict_len = len(X_len_walks_dict) - 1 + + cycles_dict = {} + for i in range(dict_len): + print(str(i+3)) + cycles_dict[str(i+3)] = np.array([]) + for j in range(len(X_len_walks_dict[str(i+3) + "_length_walks"])): + a = np.array([X_len_walks_dict[str(i+3) + "_length_walks"][j][0],X_len_walks_dict[str(i+3) + "_length_walks"][j][-1]]) + for k in range(len(self.bond_indices)): + b = np.intersect1d(a,self.bond_indices[k]) + if len(b) == 2: + cycle = X_len_walks_dict[str(i+3) + "_length_walks"][j].copy() + cycles_dict[str(i+3)] = np.append(cycles_dict[str(i+3)],cycle) + cycles_dict[str(i+3)] = cycles_dict[str(i+3)].reshape((-1,i+3)) + del_array = np.array([]) + if len(cycles_dict[str(i+3)]): + for j in range(len(cycles_dict[str(i+3)])): + for k in range(len(cycles_dict[str(i+3)]) - j - 1): + a = np.intersect1d(cycles_dict[str(i+3)][j],cycles_dict[str(i+3)][k + j + 1]) + if len(a) == len(cycles_dict[str(i+3)][0]): + del_array = np.append(del_array,[k + j + 1]) + del_array = del_array.astype(int) + del_array = np.unique(del_array) + cycles_dict[str(i+3)] = np.delete(cycles_dict[str(i+3)],del_array,axis=0) + print(cycles_dict[str(i+3)]) + + # raise RuntimeError elif self.options.coords.upper() == "CUSTOM": # This option will allow the user to specify a custom array of @@ -258,44 +427,44 @@ def run(self, zmat_name="zmat"): Sum = 0 blank = 0 for i in range(len(zmat_output)): - if re.search(bond_regex, zmat_output[i]): - List = re.findall(bond_regex, zmat_output[i])[0] + if re.search(self.bond_regex, zmat_output[i]): + List = re.findall(self.bond_regex, zmat_output[i])[0] self.bond_indices.append(List) self.bond_variables.append( "R" + str(i + 1 - Sum + len(self.bond_variables)) ) - elif re.search(angle_regex, zmat_output[i]): - List = re.findall(angle_regex, zmat_output[i])[0] + elif re.search(self.angle_regex, zmat_output[i]): + List = re.findall(self.angle_regex, zmat_output[i])[0] self.angle_indices.append(List) self.angle_variables.append( "A" + str(i + 1 - Sum + len(self.angle_variables)) ) - elif re.search(torsion_regex, zmat_output[i]): - List = re.findall(torsion_regex, zmat_output[i])[0] + elif re.search(self.torsion_regex, zmat_output[i]): + List = re.findall(self.torsion_regex, zmat_output[i])[0] self.torsion_indices.append(List) self.torsion_variables.append( "D" + str(i + 1 - Sum + len(self.torsion_variables)) ) - elif re.search(oop_regex, zmat_output[i]): - List = re.findall(oop_regex, zmat_output[i])[0] + elif re.search(self.oop_regex, zmat_output[i]): + List = re.findall(self.oop_regex, zmat_output[i])[0] self.oop_indices.append(List) self.oop_variables.append( "O" + str(i + 1 - Sum + len(self.oop_variables)) ) - elif re.search(lin_regex, zmat_output[i]): - List = re.findall(lin_regex, zmat_output[i])[0] + elif re.search(self.lin_regex, zmat_output[i]): + List = re.findall(self.lin_regex, zmat_output[i])[0] self.lin_indices.append(List) self.lin_variables.append( "L" + str(i + 1 - Sum + len(self.lin_variables)) ) - elif re.search(linx_regex, zmat_output[i]): - List = re.findall(linx_regex, zmat_output[i])[0] + elif re.search(self.linx_regex, zmat_output[i]): + List = re.findall(self.linx_regex, zmat_output[i])[0] self.linx_indices.append(List) self.linx_variables.append( "Lx" + str(i + 1 - Sum + len(self.linx_variables)) ) - elif re.search(liny_regex, zmat_output[i]): - List = re.findall(liny_regex, zmat_output[i])[0] + elif re.search(self.liny_regex, zmat_output[i]): + List = re.findall(self.liny_regex, zmat_output[i])[0] self.liny_indices.append(List) self.liny_variables.append( "Ly" + str(i + 1 - Sum + len(self.liny_variables)) @@ -313,11 +482,12 @@ def run(self, zmat_name="zmat"): + blank ) - # This code utilizes the INTC function from the TransDisp module to + def zmat_calc(self): + # This code utilizes the INTC function from the TransfDisp module to # calculate the initial variable values from the cartesian # coordinates. indices = [] - transdisp = TransDisp( + transdisp = TransfDisp( 1, self, 1, 1, False, self.disp_tol, np.array([]), self.options, indices ) I = np.eye( @@ -329,8 +499,8 @@ def run(self, zmat_name="zmat"): + len(self.linx_indices) + len(self.liny_indices) ) - variables1 = transdisp.int_c(self.cartesians_init, I, I) - variables2 = transdisp.int_c(self.cartesians_final, I, I) + self.variables1 = transdisp.int_c(self.cartesians_init, I, I) + self.variables2 = transdisp.int_c(self.cartesians_final, I, I) for i in range( len(self.angle_indices) + len(self.torsion_indices) @@ -339,19 +509,19 @@ def run(self, zmat_name="zmat"): + len(self.linx_indices) + len(self.liny_indices) ): - variables1[len(self.bond_indices) + i] *= 180.0 / np.pi - variables2[len(self.bond_indices) + i] *= 180.0 / np.pi - variables = np.append( + self.variables1[len(self.bond_indices) + i] *= 180.0 / np.pi + self.variables2[len(self.bond_indices) + i] *= 180.0 / np.pi + self.variables = np.append( self.bond_variables, np.append(self.angle_variables, self.torsion_variables) ) if len(self.oop_variables): - variables = np.append(variables, self.oop_variables) + self.variables = np.append(self.variables, self.oop_variables) if len(self.lin_variables): - variables = np.append(variables, self.lin_variables) + self.variables = np.append(self.variables, self.lin_variables) if len(self.linx_variables): - variables = np.append(variables, self.linx_variables) + self.variables = np.append(self.variables, self.linx_variables) if len(self.liny_variables): - variables = np.append(variables, self.liny_variables) + self.variables = np.append(self.variables, self.liny_variables) # This code is useful for checking the Redundant coordinate # generation process. @@ -365,12 +535,12 @@ def run(self, zmat_name="zmat"): indices.append(self.torsion_indices[i].tolist()) # print(indices) - for i in range(len(variables1)): - self.variable_dictionary_init[variables[i]] = variables1[i] + for i in range(len(self.variables1)): + self.variable_dictionary_init[self.variables[i]] = self.variables1[i] - if divider: - for i in range(len(variables2)): - self.variable_dictionary_final[variables[i]] = variables2[i] + if self.divider: + for i in range(len(self.variables2)): + self.variable_dictionary_final[self.variables[i]] = self.variables2[i] else: self.variable_dictionary_final = self.variable_dictionary_init.copy() # And now we must temper the torsion angles! For consistency's sake @@ -447,6 +617,7 @@ def run(self, zmat_name="zmat"): ): self.variable_dictionary_final[self.torsion_variables[i]] -= 360.0 + def zmat_compile(self): # The masses are assigned to the respective atom from the masses.py file self.masses = [masses.get_mass(label) for label in self.atom_list] for i in range(len(self.masses)): @@ -481,37 +652,38 @@ def run(self, zmat_name="zmat"): for i in range(len(self.liny_indices)): self.index_dictionary["Ly" + str(i + 1)] = self.liny_indices[i] + def zmat_print(self): # Print off the internal coordinate and its value in Bohr/Degree print("Initial Geometric Internal Coordinate Values:") - for i in range(len(variables)): + for i in range(len(self.variables)): print( - str(self.index_dictionary[variables[i]]) + str(self.index_dictionary[self.variables[i]]) + " " - + variables[i] + + self.variables[i] + " = " - + str(self.variable_dictionary_init[variables[i]]) + + str(self.variable_dictionary_init[self.variables[i]]) ) # if self.options.coords.upper() == "REDUNDANT": # print(indices[i]) print("Final Geometric Internal Coordinate Values:") - for i in range(len(variables)): + for i in range(len(self.variables)): print( - str(self.index_dictionary[variables[i]]) + str(self.index_dictionary[self.variables[i]]) + " " - + variables[i] + + self.variables[i] + " = " - + str(self.variable_dictionary_final[variables[i]]) + + str(self.variable_dictionary_final[self.variables[i]]) ) # if self.options.coords.upper() == "REDUNDANT": # print(indices[i]) print("Final - Initial Geometric Internal Coordinate Values:") - for i in range(len(variables)): + for i in range(len(self.variables)): print( - variables[i] + self.variables[i] + " = " + str( - self.variable_dictionary_final[variables[i]] - - self.variable_dictionary_init[variables[i]] + self.variable_dictionary_final[self.variables[i]] + - self.variable_dictionary_init[self.variables[i]] ) ) # if self.options.coords.upper() == "REDUNDANT": @@ -520,8 +692,8 @@ def run(self, zmat_name="zmat"): Sum = 0 for i in range(len(self.bond_indices)): Sum += ( - self.variable_dictionary_final[variables[i]] - - self.variable_dictionary_init[variables[i]] + self.variable_dictionary_final[self.variables[i]] + - self.variable_dictionary_init[self.variables[i]] ) ** 2 # print("squared sum: ")