def test_to_wilhoit(self): """ Test if the entropy computed from other thermo implementations is close to what Wilhoit computes. """ from rmgpy import settings from rmgpy.data.rmg import RMGDatabase from rmgpy.species import Species # Load databases database = RMGDatabase() database.load_thermo(os.path.join(settings['database.directory'], 'thermo'), thermo_libraries=['Narayanaswamy']) database.load_solvation( os.path.join(settings['database.directory'], 'solvation')) spc = Species().from_smiles('CC') spc.get_thermo_data() T = 1350. # not 298K! # nasa to wilhoit nasa = spc.thermo s_nasa = nasa.get_entropy(T) nasa_to_wh = nasa.to_wilhoit() s_nasa_to_wh = nasa_to_wh.get_entropy(T) self.assertAlmostEqual(s_nasa, s_nasa_to_wh, -1) self.assertEqual(nasa.comment, nasa_to_wh.comment) # wilhoit to nasa conversion done in nasaTest.py # thermo data to wilhoit: td = nasa.to_thermo_data() s_td = td.get_entropy(T) wilhoit = td.to_wilhoit(B=1000.) s_wh = wilhoit.get_entropy(T) self.assertAlmostEqual(s_td, s_wh, -1) self.assertEqual(td.comment, wilhoit.comment) # wilhoit back to thermodata td = wilhoit.to_thermo_data() s_td = td.get_entropy(T) self.assertAlmostEqual(s_td, s_wh, -1) self.assertEqual(td.comment, wilhoit.comment)
def test_to_nasa(self): """ Test if the entropy computed from other thermo implementations is close to what NASA computes. """ from rmgpy import settings from rmgpy.data.rmg import RMGDatabase from rmgpy.species import Species # Load databases database = RMGDatabase() database.load_thermo(os.path.join(settings['database.directory'], 'thermo'), thermo_libraries=['Narayanaswamy']) database.load_solvation( os.path.join(settings['database.directory'], 'solvation')) spc = Species().from_smiles('CC') spc.get_thermo_data() T = 1350. # not 298K! # nasa to thermodata nasa = spc.thermo s_nasa = nasa.get_entropy(T) td = nasa.to_thermo_data() s_td = td.get_entropy(T) self.assertAlmostEqual(s_nasa, s_td, -1) self.assertEqual(td.comment, nasa.comment) # thermodata to nasa nasa = td.to_nasa(Tmin=100.0, Tmax=5000.0, Tint=1000.0) s_nasa = nasa.get_entropy(T) self.assertAlmostEqual(s_nasa, s_td, -1) self.assertEqual(td.comment, nasa.comment) # wilhoit to nasa wilhoit = nasa.to_wilhoit() nasa = wilhoit.to_nasa(Tmin=100.0, Tmax=5000.0, Tint=1000.0) s_nasa = nasa.get_entropy(T) self.assertAlmostEqual(s_nasa, s_td, -1) self.assertEqual(wilhoit.comment, nasa.comment)