Coverage for /builds/ase/ase/ase/data/g2.py: 100.00%

15 statements  

« prev     ^ index     » next       coverage.py v7.5.3, created at 2025-08-02 00:12 +0000

1# fmt: off 

2 

3"""The following contains a database of small molecules 

4 

5Data for the G2/97 database are from 

6Raghavachari, Redfern, and Pople, J. Chem. Phys. Vol. 106, 1063 (1997). 

7See http://www.cse.anl.gov/Catalysis_and_Energy_Conversion/ 

8Computational_Thermochemistry.shtml for the original files. 

9 

10All numbers are experimental values, except for coordinates, which are 

11MP2(full)/6-31G(d) optimized geometries 

12(from http://www.cse.anl.gov/OldCHMwebsiteContent/compmat/G2-97.htm) 

13 

14Atomic species: 

15ref: Curtiss et al. JCP 106, 1063 (1997). 

16'Enthalpy' is the experimental enthalpies of formation at 0K 

17'thermal correction' is the thermal corrections H(298)-H(0) 

18 

19Molecular species: 

20ref: Staroverov et al. JCP 119, 12129 (2003) 

21'Enthalpy' is the experimental enthalpies of formation at 298K 

22'ZPE' is the zero-point energies 

23'thermal correction' is the thermal enthalpy corrections H(298K) - H_exp(0K) 

24ZPE and thermal corrections are estimated from B3LYP geometries and vibrations. 

25 

26Experimental ionization potentials are from http://srdata.nist.gov/cccbdb/. 

27 

28For details about G2-1 and G2-2 sets see doi:10.1063/1.477422. 

29""" 

30 

31from ase.data.g2_1 import atom_names as atom_names_g2_1 

32from ase.data.g2_1 import data as data_g2_1 

33from ase.data.g2_1 import get_atomization_energy, get_ionization_energy 

34from ase.data.g2_1 import molecule_names as molecule_names_g2_1 

35from ase.data.g2_2 import atom_names as atom_names_g2_2 

36from ase.data.g2_2 import data as data_g2_2 

37from ase.data.g2_2 import molecule_names as molecule_names_g2_2 

38 

39__all__ = ['data', 'molecule_names', 'atom_names', 'get_ionization_energy', 

40 'get_atomization_energy'] 

41 

42data = data_g2_1.copy() 

43data.update(data_g2_2) 

44 

45atom_names = [] 

46for a in atom_names_g2_1 + atom_names_g2_2: 

47 if a not in atom_names: 

48 atom_names.append(a) 

49molecule_names = molecule_names_g2_1 + molecule_names_g2_2