forked from Auto-Mech/autochem
-
Notifications
You must be signed in to change notification settings - Fork 1
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
Showing
12 changed files
with
324 additions
and
1 deletion.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Binary file not shown.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,19 @@ | ||
""" Libraries of physical data used by the drivers | ||
""" | ||
|
||
from phydat import phycon | ||
from phydat import eleclvl | ||
from phydat import sigmarad | ||
from phydat import symm | ||
from phydat import instab_fgrps | ||
from phydat import etrans | ||
|
||
|
||
__all__ = [ | ||
'phycon', | ||
'eleclvl', | ||
'sigmarad', | ||
'symm', | ||
'instab_fgrps', | ||
'etrans' | ||
] |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,18 @@ | ||
""" Storing a dictionary of active space sizes for various species | ||
DCT[(inchi, multiplicity)] | ||
= (num_active_orbs, num_active_elecs, num_states) | ||
""" | ||
|
||
|
||
DCT = { | ||
# Atoms | ||
('InChI=1S/O', 3): (3, 4, 3), | ||
('InChI=1S/O', 1): (3, 4, 5), | ||
('InChI=1S/N', 3): (3, 3, 1), | ||
# Diatomics | ||
('InChI=1S/O2/c1-2', 3): (4, 6, 1), | ||
('InChI=1S/HO/h1H', 2): (2, 3, 2), | ||
# Molecules | ||
('InChI=1S/CH2/h1H2', 3): (2, 2, 1), | ||
('InChI=1S/CH2/h1H2', 1): (2, 2, 1) | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,33 @@ | ||
""" Dictionary of standard bond lengths | ||
""" | ||
|
||
from phydat.phycon import ANG2BOHR | ||
|
||
|
||
def read_len(bnd_atoms): | ||
""" Read the dct | ||
""" | ||
bnd_len = LEN_DCT.get(bnd_atoms, None) | ||
if bnd_len is None: | ||
bnd_atoms_flip = (bnd_atoms[1], bnd_atoms[0]) | ||
bnd_len = LEN_DCT.get(bnd_atoms_flip, None) | ||
|
||
return bnd_len | ||
|
||
|
||
# Dictionary of A-B single bond lengths | ||
LEN_DCT = { | ||
('H', 'H'): 0.74 * ANG2BOHR, | ||
('H', 'C'): 1.09 * ANG2BOHR, | ||
('H', 'N'): 1.01 * ANG2BOHR, | ||
('H', 'O'): 0.95 * ANG2BOHR, | ||
('H', 'Cl'): 1.275 * ANG2BOHR, | ||
('C', 'C'): 1.54 * ANG2BOHR, | ||
('C', 'N'): 1.47 * ANG2BOHR, | ||
('C', 'O'): 1.43 * ANG2BOHR, | ||
('N', 'N'): 1.45 * ANG2BOHR, | ||
('N', 'O'): 1.45 * ANG2BOHR, | ||
('O', 'O'): 1.40 * ANG2BOHR, | ||
('C', 'Cl'): 1.74 * ANG2BOHR, | ||
('Cl', 'Cl'): 2.0 * ANG2BOHR, | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,19 @@ | ||
""" | ||
Library of electronic levels for several common, small species. | ||
Dictionary formatted as: | ||
DCT[(InChI_Key, Multiplicity)] = [[energy(cm-1), degeneracy], ...] | ||
""" | ||
|
||
DCT = { | ||
('InChI=1S/B', 2): [[0., 2], [16., 4]], | ||
('InChI=1S/C', 3): [[0., 1], [16.4, 3], [43.5, 5]], | ||
('InChI=1S/N', 2): [[0., 6], [8., 4]], | ||
('InChI=1S/O', 3): [[0., 5], [158.5, 3], [226.5, 1]], | ||
('InChI=1S/F', 2): [[0., 4], [404.1, 2]], | ||
('InChI=1S/Cl', 2): [[0., 4], [883.4, 2]], | ||
('InChI=1S/Br', 2): [[0., 4], [685.2, 2]], | ||
('InChI=1S/HO/h1H', 2): [[0., 2], [138.9, 2]], | ||
('InChI=1S/NO/c1-2', 2): [[0., 2], [123.1, 2]], | ||
('InChI=1S/O2/c1-2', 1): [[0., 2]], | ||
('InChI=1S/CH3O/c1-2/h1H3', 2): [[0., 3], [69.1, 1]] | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,167 @@ | ||
""" | ||
Values to calculate effective parameters for energy transport | ||
""" | ||
|
||
|
||
def read_lj_dct(bath, target): | ||
""" Read the LJ_DCT | ||
""" | ||
|
||
bath_dct = LJ_DCT.get(bath, None) | ||
if bath_dct is not None: | ||
lj_params = bath_dct.get(target, None) | ||
else: | ||
lj_params = None | ||
|
||
return lj_params | ||
|
||
|
||
def read_z_alpha_dct(bath, target): | ||
""" Read the LJ_DCT | ||
""" | ||
|
||
target_dct = Z_ALPHA_DCT.get(bath, None) | ||
if target_dct is not None: | ||
z_alpha_params = target_dct.get(target, None) | ||
else: | ||
z_alpha_params = None | ||
|
||
return z_alpha_params | ||
|
||
|
||
LJ_DCT = { | ||
|
||
# N2 Bath Gas | ||
'InChI=1S/N2/c1-2': { | ||
'n-alkane': (3.68, 0.16, 100.0, 0.25), | ||
'1-alkyl': (3.72, 0.15, 69.00, 0.39), | ||
}, | ||
|
||
# He Bath Gas | ||
'InChI=1S/He': { | ||
'n-alkane': (3.33, 0.17, 21.3, 0.31), | ||
'n-alcohol': (2.90, 0.21, 22.0, 0.28), | ||
'n-hydroperoxide': (2.90, 0.21, 10.0, 0.75), | ||
'1-alkyl': (3.20, 0.18, 20.00, 0.42), | ||
}, | ||
|
||
# Ar Bath Gas | ||
'InChI=1S/Ar': { | ||
'n-alkane': (3.40, 0.18, 113.0, 0.31), | ||
'n-alcohol': (3.05, 0.20, 150.0, 0.29), | ||
'n-peroxide': (2.90, 0.25, 85.0, 0.32), | ||
'epoxide': (2.90, 0.23, 75.0, 0.50), | ||
'n-hydroperoxide': (3.05, 0.20, 110.0, 0.39), | ||
'1-alkyl': (3.50, 0.17, 90.0, 0.38), | ||
'ether': (3.15, 0.22, 110.0, 0.15) | ||
}, | ||
|
||
# H2 Bath Gas | ||
'InChI=1S/H2/h1H': { | ||
'n-alkane': (3.15, 0.18, 75.0, 0.30) | ||
}, | ||
} | ||
|
||
Z_ALPHA_DCT = { | ||
|
||
# N2 Bath Gas | ||
'InChI=1S/N2/c1-2': { | ||
'n-alkane': { | ||
300: (0.019689, -2.109835, 49.893116, 7.130308), | ||
1000: (0.323108, -11.8867, 140.285802, 56.212929), | ||
2000: (0.527413, -20.87865, 236.980272, 213.765542) | ||
}, | ||
'1-alkyl': { | ||
300: (0.1123, -3.9325, 44.4515, 7.3137), | ||
1000: (0.2740, -9.7140, 99.5144, 93.4755), | ||
2000: (0.5837, -19.3363, 181.9322, 250.0161) | ||
} | ||
}, | ||
|
||
# He Bath Gas | ||
'InChI=1S/He': { | ||
'n-alkane': { | ||
300: (0.071882, -3.16556, 51.303812, 9.570797), | ||
1000: (0.305537, -10.232371, 113.6291, 180.205289), | ||
2000: (0.414858, -15.030357, 394911, 158, 534.047802) | ||
}, | ||
'n-alcohol': { | ||
300: (0.07044, -3.28388, 50.87526, -1.05945), | ||
1000: (0.3905, -12.61792, 129.09928, 122.81934), | ||
2000: (0.12611, -6.70779, 83.35158, 649.16698) | ||
}, | ||
'n-hydroperoxide': { | ||
300: (0.06934, -2.16846, 28.09786, 57.99002), | ||
1000: (-0.01873, 0.9463, -9.19049, 421.53109), | ||
2000: (-0.33498, 7.81371, -60.10907, 848.6624) | ||
}, | ||
'1-alkyl': { | ||
300: (0.1113, -3.6213, 36.8624, 36.1446), | ||
1000: (0.1766, -5.2337, 43.6089, 261.9713), | ||
2000: (0.2416, -6.7709, 47.0932, 590.3983) | ||
} | ||
}, | ||
|
||
# Ar Bath Gas | ||
'InChI=1S/Ar': { | ||
'n-alkane': { | ||
300: (0.054986, -2.948084, 52.534594, -2.984767), | ||
1000: (0.273835, -10.208643, 125.075803, 31.934663), | ||
2000: (0.457981, -19.131921, 228.021958, 110.533659) | ||
}, | ||
'n-alcohol': { | ||
300: (0.1634, -6.39251, 83.21585, -64.1994), | ||
1000: (0.22482, -9.06605, 114.55153, 63.80238), | ||
2000: (0.45001, -18.13079, 206.53042, 163.72987) | ||
}, | ||
'n-peroxide': { | ||
300: (0.084, -2.9394, 31.0133, 38.0167), | ||
1000: (-0.011, -0.6012, 11.7443, 280.8983), | ||
2000: (-0.0117, -2.0414, 34.5284, 518.2758) | ||
}, | ||
'n-hydroperoxide': { | ||
300: (0.04706, -2.28117, 35.3249, 31.83379), | ||
1000: (0.09842, -3.83485, 49.11378, 192.03656), | ||
2000: (0.19506, -6.74549, 69.65477, 469.06881) | ||
}, | ||
'1-alkyl': { | ||
300: (0.0873, -3.3639, 39.6649, 8.5801), | ||
1000: (0.3216, -10.2583, 98.7330, 62.6353), | ||
2000: (0.4581, -16.4145, 167.6469, 178.9579) | ||
}, | ||
'ether': { | ||
300: (0.1057, -4.1378, 52.8870, 1.5181), | ||
1000: (0.0116, -2.2454, 40.9493, 251.0031), | ||
2000: (-0.1170, -0.4961, 40.0212, 580.5769) | ||
}, | ||
'epoxide': { | ||
300: (0.5025, -18.4928, 200.3532, -246.9419), | ||
1000: (0.7488, -25.8914, 247.3055, 25.3337), | ||
2000: (0.896, -30.0515, 262.9319, 412.6931) | ||
}, | ||
}, | ||
|
||
# H2 Bath Gas | ||
'InChI=1S/H2/h1H': { | ||
'n-alkane': { | ||
300: (0.185, -7.2964, 102.6128, 46.6884), | ||
1000: (0.6173, -19.5856, 194.2888, 295.3819), | ||
3000: (0.3867, 14.6607, 153.5746, 922.4951) | ||
} | ||
} | ||
} | ||
|
||
# Bond dissociation energies (kcal/mol) | ||
D0_DCT = { | ||
'm-peroxide': 35.0, | ||
'ro2_qooh': 35.0, | ||
'qooh': 35.0, | ||
'ketohydroperoxide': (35.0, 51.0), | ||
'1-alkyl': 40.0, | ||
'n-hydroperoxide': 45.0, | ||
'epoxide': 60.0, | ||
'm-ether': 82.0, | ||
'n-alcohol': 90.0, | ||
'n-alkane': 95.0, | ||
'n-alkene': 95.0, | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,12 @@ | ||
""" | ||
List of funcitonal groups attached to radical atoms that cause instabilities | ||
atm_symb: ( (instab_grp1, instab_grp2, ...), | ||
(instab_prd1, instab_prd2, instab_prd3) ) | ||
""" | ||
|
||
DCT = { | ||
'C': (('InChI=1S/HO2/c1-2/h1H',), | ||
('InChI=1S/HO/h1H',)) | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,33 @@ | ||
""" | ||
Library of physical constants | ||
""" | ||
|
||
from qcelemental import constants as qcc | ||
|
||
|
||
# physical constants | ||
NAVO = 6.0221409e+23 | ||
RC = 1.98720425864083 # gas constant in cal/(mol.K) | ||
RC_kcal = 1.98720425864083e-3 # gas constant in kcal/(mol.K) | ||
RC2 = 82.0573660809596 # gas constant in cm^3.atm/(mol.K) | ||
RC_cal = 1.98720425864083 # gas constant in cal/(mol.K) | ||
RC_atm = 82.0573660809596 # gas constant in cm^3.atm/(mol.K) | ||
|
||
# conversion factors | ||
KCAL2CAL = qcc.conversion_factor('kcal/mol', 'cal/mol') | ||
J2CAL = qcc.conversion_factor('J/mol', 'cal/mol') | ||
KJ2CAL = qcc.conversion_factor('kJ/mol', 'cal/mol') | ||
KEL2CAL = qcc.conversion_factor('kelvin', 'cal/mol') | ||
ANG2BOHR = qcc.conversion_factor('angstrom', 'bohr') | ||
BOHR2ANG = qcc.conversion_factor('bohr', 'angstrom') | ||
DEG2RAD = qcc.conversion_factor('degree', 'radian') | ||
RAD2DEG = qcc.conversion_factor('radian', 'degree') | ||
WAVEN2KCAL = qcc.conversion_factor('wavenumber', 'kcal/mol') | ||
KCAL2WAVEN = qcc.conversion_factor('kcal/mol', 'wavenumber') | ||
EH2KCAL = qcc.conversion_factor('hartree', 'kcal/mol') | ||
KCAL2EH = qcc.conversion_factor('kcal/mol', 'hartree') | ||
KCAL2KJ = qcc.conversion_factor('kcal/mol', 'kJ/mol') | ||
WAVEN2EH = qcc.conversion_factor('wavenumber', 'hartree') | ||
EH2WAVEN = qcc.conversion_factor('hartree', 'wavenumber') | ||
# AMU2KG = qcc.conversion_factor('atomic mass unit', 'kilogram') | ||
AMU2KG = 1.66053892173e-27 |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,7 @@ | ||
""" Library of sigma radicals | ||
""" | ||
|
||
LST = [ | ||
'InChI=1S/CN/c1-2', | ||
'InChI=1S/C2H/c1-2/h1H' | ||
] |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,13 @@ | ||
""" Library of symmetries | ||
""" | ||
|
||
# Dict to store symmetry factors (change name) | ||
DCT = { | ||
('InChI=1S/HO/h1H', 2): 1.0 | ||
} | ||
|
||
# Dictionary of high symmetry species w/ displacments to break sym | ||
# displacements are for the bonds and are in angstrom | ||
HIGH = { | ||
'InChI=1S/CH4/h1H4': 0.0005 | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters