Example #1
0
 def test_smd_write(self):
     test_molecule = QCInput.from_file(
         os.path.join(test_dir, "new_qchem_files/pcm.qin")).molecule
     dict_set = QChemDictSet(
         molecule=test_molecule,
         job_type="opt",
         basis_set="6-31g*",
         scf_algorithm="diis",
         dft_rung=5,
         smd_solvent="water",
         max_scf_cycles=35,
     )
     dict_set.write("mol.qin")
     test_dict = QCInput.from_file("mol.qin").as_dict()
     rem = {
         "job_type": "opt",
         "basis": "6-31G*",
         "max_scf_cycles": "35",
         "method": "wb97mv",
         "geom_opt_max_cycles": "200",
         "gen_scfman": "true",
         "scf_algorithm": "diis",
         "xc_grid": "3",
         "solvent_method": "smd",
         "ideriv": "1",
         "symmetry": "false",
         "sym_ignore": "true",
         "resp_charges": "true",
     }
     qc_input = QCInput(molecule=test_molecule,
                        rem=rem,
                        smx={"solvent": "water"})
     for k, v in qc_input.as_dict().items():
         self.assertEqual(v, test_dict[k])
     os.remove("mol.qin")
Example #2
0
 def test_pcm_write(self):
     test_molecule = QCInput.from_file(
         os.path.join(test_dir, "new_qchem_files/pcm.qin")).molecule
     dict_set = QChemDictSet(
         molecule=test_molecule,
         job_type="opt",
         basis_set="6-31g*",
         scf_algorithm="diis",
         dft_rung=5,
         pcm_dielectric=10.0,
         max_scf_cycles=35,
     )
     dict_set.write("mol.qin")
     test_dict = QCInput.from_file("mol.qin").as_dict()
     rem = {
         "job_type": "opt",
         "basis": "6-31G*",
         "max_scf_cycles": "35",
         "method": "wb97mv",
         "geom_opt_max_cycles": "200",
         "gen_scfman": "true",
         "scf_algorithm": "diis",
         "xc_grid": "3",
         "solvent_method": "pcm",
         "symmetry": "false",
         "sym_ignore": "true",
         "resp_charges": "true",
     }
     pcm = {
         "heavypoints": "194",
         "hpoints": "194",
         "radii": "uff",
         "theory": "cpcm",
         "vdwscale": "1.1",
     }
     qc_input = QCInput(molecule=test_molecule,
                        rem=rem,
                        pcm=pcm,
                        solvent={"dielectric": "10.0"})
     for k, v in qc_input.as_dict().items():
         self.assertEqual(v, test_dict[k])
     os.remove("mol.qin")
Example #3
0
 def test_custom_smd_write(self):
     test_molecule = QCInput.from_file(
         os.path.join(test_dir, "new_qchem_files/pcm.qin")).molecule
     dict_set = QChemDictSet(
         molecule=test_molecule,
         job_type='opt',
         basis_set='6-31g*',
         scf_algorithm='diis',
         dft_rung=5,
         smd_solvent="custom",
         custom_smd="90.00,1.415,0.00,0.735,20.2,0.00,0.00",
         max_scf_cycles=35)
     dict_set.write("mol.qin")
     test_dict = QCInput.from_file("mol.qin").as_dict()
     rem = {
         "job_type": "opt",
         "basis": "6-31G*",
         "max_scf_cycles": '35',
         "method": "wb97mv",
         "geom_opt_max_cycles": '200',
         "gen_scfman": 'true',
         "scf_algorithm": "diis",
         "xc_grid": '3',
         "solvent_method": "smd",
         "ideriv": "1",
         'symmetry': 'false',
         'sym_ignore': 'true',
         'resp_charges': 'true'
     }
     qc_input = QCInput(molecule=test_molecule,
                        rem=rem,
                        smx={"solvent": "other"})
     for k, v in qc_input.as_dict().items():
         self.assertEqual(v, test_dict[k])
     os.remove("mol.qin")
     with open("solvent_data") as sd:
         lines = sd.readlines()
         self.assertEqual(lines[0], "90.00,1.415,0.00,0.735,20.2,0.00,0.00")
     os.remove("solvent_data")