def setUpClass(cls): """ A method that is run before all unit tests in this class. """ cls.maxDiff = None cls.ess_settings = {'gaussian': ['server1'], 'molpro': ['server2', 'server1'], 'qchem': ['server1']} cls.project_directory = os.path.join(arc_path, 'Projects', 'arc_project_for_testing_delete_after_usage3') cls.spc1 = ARCSpecies(label=str('methylamine'), smiles=str('CN')) cls.spc2 = ARCSpecies(label=str('C2H6'), smiles=str('CC')) cls.job1 = Job(project='project_test', ess_settings=cls.ess_settings, species_name='methylamine', xyz='C 0.0 0.0 0.0', job_type='conformer', conformer=0, level_of_theory='b97-d3/6-311+g(d,p)', multiplicity=1, project_directory=cls.project_directory, job_num=101) cls.job2 = Job(project='project_test', ess_settings=cls.ess_settings, species_name='methylamine', xyz='C 0.0 0.0 0.0', job_type='conformer', conformer=1, level_of_theory='b97-d3/6-311+g(d,p)', multiplicity=1, project_directory=cls.project_directory, job_num=102) cls.job3 = Job(project='project_test', ess_settings=cls.ess_settings, species_name='C2H6', xyz='C 0.0 0.0 0.0', job_type='freq', level_of_theory='wb97x-d3/6-311+g(d,p)', multiplicity=1, project_directory=cls.project_directory, software='qchem', job_num=103) cls.rmgdb = rmgdb.make_rmg_database_object() cls.job_types1 = {'conformers': True, 'opt': True, 'fine_grid': False, 'freq': True, 'sp': True, '1d_rotors': False, 'orbitals': False, 'lennard_jones': False, } cls.sched1 = Scheduler(project='project_test', ess_settings=cls.ess_settings, species_list=[cls.spc1, cls.spc2], composite_method='', conformer_level=default_levels_of_theory['conformer'], opt_level=default_levels_of_theory['opt'], freq_level=default_levels_of_theory['freq'], sp_level=default_levels_of_theory['sp'], scan_level=default_levels_of_theory['scan'], ts_guess_level=default_levels_of_theory['ts_guesses'], rmgdatabase=cls.rmgdb, project_directory=cls.project_directory, testing=True, job_types=cls.job_types1, orbitals_level=default_levels_of_theory['orbitals'], adaptive_levels=None)
def setUpClass(cls): """ A method that is run before all unit tests in this class. """ cls.maxDiff = None cls.rmgdb = rmgdb.make_rmg_database_object() rmgdb.load_families_only(cls.rmgdb) cls.rxn1 = ARCReaction(reactants=['CH4', 'OH'], products=['CH3', 'H2O']) cls.rxn1.rmg_reaction = Reaction(reactants=[ Species().fromSMILES(str('C')), Species().fromSMILES(str('[OH]')) ], products=[ Species().fromSMILES( str('[CH3]')), Species().fromSMILES(str('O')) ]) cls.rxn2 = ARCReaction(reactants=['C2H5', 'OH'], products=['C2H4', 'H2O']) cls.rxn2.rmg_reaction = Reaction(reactants=[ Species().fromSMILES(str('C[CH2]')), Species().fromSMILES(str('[OH]')) ], products=[ Species().fromSMILES(str('C=C')), Species().fromSMILES(str('O')) ]) cls.rxn3 = ARCReaction(reactants=['CH3CH2NH'], products=['CH2CH2NH2']) cls.rxn3.rmg_reaction = Reaction( reactants=[Species().fromSMILES(str('CC[NH]'))], products=[Species().fromSMILES(str('[CH2]CN'))])
def setUpClass(cls): """ A method that is run before all unit tests in this class. """ cls.rmgdb = rmgdb.make_rmg_database_object() rmgdb.load_rmg_database(rmgdb=cls.rmgdb)
def setUpClass(cls): """ A method that is run before all unit tests in this class. """ cls.maxDiff = None cls.ess_settings = { 'gaussian': ['server1'], 'molpro': ['server2', 'server1'], 'qchem': ['server1'] } cls.project_directory = os.path.join( arc_path, 'Projects', 'arc_project_for_testing_delete_after_usage3') cls.spc1 = ARCSpecies(label='methylamine', smiles='CN') cls.spc2 = ARCSpecies(label='C2H6', smiles='CC') xyz1 = """C 1.11424367 -0.01231165 -0.11493630 C -0.07257945 -0.17830906 -0.16010022 O -1.38500471 -0.36381519 -0.20928090 H 2.16904830 0.12689206 -0.07152274 H -1.82570782 0.42754384 -0.56130718""" cls.spc3 = ARCSpecies(label='CtripCO', smiles='C#CO', xyz=xyz1) xyz2 = { 'symbols': ('C', ), 'isotopes': (12, ), 'coords': ((0.0, 0.0, 0.0), ) } cls.job1 = Job(project='project_test', ess_settings=cls.ess_settings, species_name='methylamine', xyz=xyz2, job_type='conformer', conformer=0, level={ 'method': 'b97-d3', 'basis': '6-311+g(d,p)' }, multiplicity=1, project_directory=cls.project_directory, job_num=101) cls.job2 = Job(project='project_test', ess_settings=cls.ess_settings, species_name='methylamine', xyz=xyz2, job_type='conformer', conformer=1, level={ 'method': 'b97-d3', 'basis': '6-311+g(d,p)' }, multiplicity=1, project_directory=cls.project_directory, job_num=102) cls.job3 = Job(project='project_test', ess_settings=cls.ess_settings, species_name='C2H6', xyz=xyz2, job_type='freq', level={ 'method': 'wb97x-d3', 'basis': '6-311+g(d,p)' }, multiplicity=1, project_directory=cls.project_directory, software='qchem', job_num=103) cls.rmg_database = rmgdb.make_rmg_database_object() cls.job_types1 = { 'conformers': True, 'opt': True, 'fine_grid': False, 'freq': True, 'sp': True, 'rotors': False, 'orbitals': False, 'lennard_jones': False, } cls.sched1 = Scheduler( project='project_test', ess_settings=cls.ess_settings, species_list=[cls.spc1, cls.spc2, cls.spc3], composite_method=None, conformer_level=Level(repr=default_levels_of_theory['conformer']), opt_level=Level(repr=default_levels_of_theory['opt']), freq_level=Level(repr=default_levels_of_theory['freq']), sp_level=Level(repr=default_levels_of_theory['sp']), scan_level=Level(repr=default_levels_of_theory['scan']), ts_guess_level=Level(repr=default_levels_of_theory['ts_guesses']), rmg_database=cls.rmg_database, project_directory=cls.project_directory, testing=True, job_types=cls.job_types1, orbitals_level=default_levels_of_theory['orbitals'], adaptive_levels=None, )
def test_append_conformers(self): """Test that ARC correctly parses its own conformer files""" ess_settings = {'gaussian': 'server1', 'molpro': 'server2', 'qchem': 'server1'} project_directory = os.path.join(arc_path, 'Projects', 'arc_project_for_testing_delete_after_usage4') spc1 = ARCSpecies(label=str('vinoxy'), smiles=str('C=C[O]')) rmgdb = make_rmg_database_object() job_types1 = {'conformers': True, 'opt': True, 'fine_grid': False, 'freq': True, 'sp': True, '1d_rotors': False, 'orbitals': False, 'lennard_jones': False, } sched1 = Scheduler(project='project_test', ess_settings=ess_settings, species_list=[spc1], composite_method='', conformer_level=default_levels_of_theory['conformer'], opt_level=default_levels_of_theory['opt'], freq_level=default_levels_of_theory['freq'], sp_level=default_levels_of_theory['sp'], scan_level=default_levels_of_theory['scan'], ts_guess_level=default_levels_of_theory['ts_guesses'], rmgdatabase=rmgdb, project_directory=project_directory, testing=True, job_types=job_types1, orbitals_level=default_levels_of_theory['orbitals'], adaptive_levels=None) xyzs = ["""O 1.09068700 0.26516800 -0.16706300 C 2.92204100 -1.18335700 -0.38884900 C 2.27655500 -0.00373900 0.08543500 H 2.36544800 -1.88781000 -0.99914600 H 3.96112000 -1.38854500 -0.14958800 H 2.87813500 0.68828400 0.70399400 """, """O 1.19396100 -0.06003700 0.03890100 C 3.18797000 0.77061300 -0.87352700 C 2.43591200 -0.04439300 0.02171600 H 4.27370000 0.76090200 -0.86286100 H 2.66641700 1.41155700 -1.57757300 H 3.00398000 -0.68336800 0.72359800 """, """O 1.35241100 -1.02956000 -0.24056200 C -0.72084300 0.01308200 0.09573000 C 0.69217700 0.01185100 -0.09044300 H -1.25803800 -0.93018100 0.10926800 H -1.26861200 0.94177100 0.22420100 H 1.20290400 0.99303700 -0.09819400 """, """O -1.40102900 -0.98575100 -0.11588500 C 0.72457000 -0.01076700 0.06448800 C -0.69494600 0.03450000 -0.06206300 H 1.22539000 -0.97248000 0.11741200 H 1.31277400 0.90087100 0.10878400 H -1.16675800 1.03362600 -0.11273700 """] energies = [0, 5, 5, 5] # J/mol save_conformers_file(project_directory=project_directory, label='vinoxy', xyzs=xyzs, level_of_theory='level1', multiplicity=2, charge=0) self.assertTrue(os.path.isfile(os.path.join(project_directory, 'output', 'Species', 'vinoxy', 'geometry', 'conformers', 'conformers_before_optimization.txt'))) save_conformers_file(project_directory=project_directory, label='vinoxy', xyzs=xyzs, level_of_theory='level1', multiplicity=2, charge=0, energies=energies) self.assertTrue(os.path.isfile(os.path.join(project_directory, 'output', 'Species', 'vinoxy', 'geometry', 'conformers', 'conformers_after_optimization.txt'))) spc2 = ARCSpecies(label=str('vinoxy'), smiles=str('C=C[O]'), xyz=os.path.join( project_directory, 'output', 'Species', 'vinoxy', 'geometry', 'conformers', 'conformers_before_optimization.txt')) spc3 = ARCSpecies(label=str('vinoxy'), smiles=str('C=C[O]'), xyz=os.path.join( project_directory, 'output', 'Species', 'vinoxy', 'geometry', 'conformers', 'conformers_after_optimization.txt')) self.assertEqual(spc2.conformers[2], xyzs[2]) self.assertEqual(spc3.conformers[2], xyzs[2]) self.assertEqual(spc3.conformer_energies[2], energies[2])