def testTransitionState(self): """Test loading of transition state input file.""" ts = input.transitionState( 'TS', os.path.join(self.directory, 'reactions', 'H+C2H4=C2H5', 'TS.py')) self.assertTrue(isinstance(ts, rmgpy.species.TransitionState))
def test_transition_state(self): """ Test loading a transition state from input file-like kew word arguments """ label0 = 'TS1' kwargs = { 'E0': (39.95, 'kcal/mol'), 'spinMultiplicity': 2, 'opticalIsomers': 1, 'frequency': (-1934, 'cm^-1'), 'modes': [ HarmonicOscillator(frequencies=( [792, 987, 1136, 1142, 1482, 2441, 3096, 3183], 'cm^-1')), NonlinearRotor(rotationalConstant=([0.928, 0.962, 5.807], "cm^-1"), symmetry=1, quantum=False), IdealGasTranslation(mass=(31.01843, "g/mol")) ] } ts0 = transitionState(label0, **kwargs) self.assertEqual(ts0.label, 'TS1') self.assertAlmostEqual(ts0.conformer.E0.value_si, 167150.8) self.assertEqual(ts0.conformer.spin_multiplicity, 2) self.assertEqual(ts0.conformer.optical_isomers, 1) self.assertEqual(ts0.frequency.value_si, -1934.0) self.assertEqual(len(ts0.conformer.modes), 3)
def test_reaction(self): """ Test loading a reaction from input file-like kew word arguments """ species(label='methoxy', structure=SMILES('C[O]'), E0=(9.44, 'kcal/mol'), modes=[ HarmonicOscillator(frequencies=( [758, 960, 1106, 1393, 1403, 1518, 2940, 3019, 3065], 'cm^-1')), NonlinearRotor(rotationalConstant=([0.916, 0.921, 5.251], "cm^-1"), symmetry=3, quantum=False), IdealGasTranslation(mass=(31.01843, "g/mol")) ], spinMultiplicity=2, opticalIsomers=1, molecularWeight=(31.01843, 'amu'), collisionModel=TransportData(sigma=(3.69e-10, 'm'), epsilon=(4.0, 'kJ/mol')), energyTransferModel=SingleExponentialDown(alpha0=(0.956, 'kJ/mol'), T0=(300, 'K'), n=0.95)) species(label='formaldehyde', E0=(28.69, 'kcal/mol'), molecularWeight=(30.0106, "g/mol"), collisionModel=TransportData(sigma=(3.69e-10, 'm'), epsilon=(4.0, 'kJ/mol')), energyTransferModel=SingleExponentialDown(alpha0=(0.956, 'kJ/mol'), T0=(300, 'K'), n=0.95), spinMultiplicity=1, opticalIsomers=1, modes=[ HarmonicOscillator( frequencies=([1180, 1261, 1529, 1764, 2931, 2999], 'cm^-1')), NonlinearRotor(rotationalConstant=([ 1.15498821005263, 1.3156969584727, 9.45570474524524 ], "cm^-1"), symmetry=2, quantum=False), IdealGasTranslation(mass=(30.0106, "g/mol")) ]) species(label='H', E0=(0.000, 'kcal/mol'), molecularWeight=(1.00783, "g/mol"), collisionModel=TransportData(sigma=(3.69e-10, 'm'), epsilon=(4.0, 'kJ/mol')), energyTransferModel=SingleExponentialDown(alpha0=(0.956, 'kJ/mol'), T0=(300, 'K'), n=0.95), modes=[IdealGasTranslation(mass=(1.00783, "g/mol"))], spinMultiplicity=2, opticalIsomers=1) transitionState( label='TS3', E0=(34.1, 'kcal/mol'), spinMultiplicity=2, opticalIsomers=1, frequency=(-967, 'cm^-1'), modes=[ HarmonicOscillator(frequencies=( [466, 581, 1169, 1242, 1499, 1659, 2933, 3000], 'cm^-1')), NonlinearRotor(rotationalConstant=([0.970, 1.029, 3.717], "cm^-1"), symmetry=1, quantum=False), IdealGasTranslation(mass=(31.01843, "g/mol")) ]) reactants = ['formaldehyde', 'H'] products = ['methoxy'] tunneling = 'Eckart' rxn = reaction('CH2O+H=Methoxy', reactants, products, 'TS3', tunneling=tunneling) self.assertEqual(rxn.label, 'CH2O+H=Methoxy') self.assertEqual(len(rxn.reactants), 2) self.assertEqual(len(rxn.products), 1) self.assertAlmostEqual(rxn.reactants[0].conformer.E0.value_si, 0) self.assertAlmostEqual(rxn.reactants[1].conformer.E0.value_si, 120038.96) self.assertAlmostEqual(rxn.products[0].conformer.E0.value_si, 39496.96) self.assertAlmostEqual(rxn.transition_state.conformer.E0.value_si, 142674.4) self.assertAlmostEqual(rxn.transition_state.frequency.value_si, -967.0) self.assertIsInstance(rxn.transition_state.tunneling, Eckart)
def testTransitionState(self): """Test loading of transition state input file.""" ts = input.transitionState('TS', os.path.join(self.directory, 'reactions', 'H+C2H4=C2H5', 'TS.py')) self.assertTrue(isinstance(ts, TransitionState))