Professional Documents
Culture Documents
Release 0.1
Caleb Bell
1 thermo 3
1.1 thermo package . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
1.1.1 Submodules . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
1.1.1.1 thermo.acentric module . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
1.1.1.1.1 Notes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
1.1.1.1.2 References . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
1.1.1.1.3 Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
1.1.1.1.4 Notes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
1.1.1.1.5 References . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
1.1.1.1.6 Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
1.1.1.1.7 Notes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
1.1.1.1.8 References . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
1.1.1.1.9 Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
1.1.1.1.10 Notes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
1.1.1.1.11 References . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
1.1.1.1.12 Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
1.1.1.2 thermo.activity module . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
1.1.1.2.1 Notes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
1.1.1.2.2 References . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
1.1.1.2.3 Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
1.1.1.2.4 Notes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
1.1.1.2.5 References . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
1.1.1.2.6 Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
1.1.1.2.7 Notes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
1.1.1.2.8 References . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
1.1.1.2.9 Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
1.1.1.2.10 Notes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
1.1.1.2.11 References . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
1.1.1.2.12 Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
1.1.1.2.13 Notes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
1.1.1.2.14 Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
1.1.1.2.15 Notes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
1.1.1.2.16 References . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
1.1.1.2.17 Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
1.1.1.2.18 Notes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
1.1.1.2.19 References . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
i
1.1.1.2.20 Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
1.1.1.2.21 Notes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
1.1.1.2.22 References . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
1.1.1.2.23 Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
1.1.1.2.24 Notes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
1.1.1.2.25 Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
1.1.1.3 thermo.chemical module . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
1.1.1.3.1 Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
1.1.1.3.2 Methods . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26
1.1.1.3.3 Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27
1.1.1.3.4 Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27
1.1.1.3.5 Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27
1.1.1.3.6 Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28
1.1.1.3.7 Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28
1.1.1.3.8 Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28
1.1.1.3.9 Notes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28
1.1.1.3.10 Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29
1.1.1.3.11 Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29
1.1.1.3.12 Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29
1.1.1.3.13 Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29
1.1.1.3.14 Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30
1.1.1.3.15 Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30
1.1.1.3.16 Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30
1.1.1.3.17 Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30
1.1.1.3.18 Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31
1.1.1.3.19 Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31
1.1.1.3.20 Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31
1.1.1.3.21 Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32
1.1.1.3.22 Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32
1.1.1.3.23 Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32
1.1.1.3.24 Notes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32
1.1.1.3.25 Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33
1.1.1.3.26 Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33
1.1.1.3.27 Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33
1.1.1.3.28 Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33
1.1.1.3.29 Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34
1.1.1.3.30 Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34
1.1.1.3.31 Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34
1.1.1.3.32 Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34
1.1.1.3.33 Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35
1.1.1.3.34 Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35
1.1.1.3.35 Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35
1.1.1.3.36 Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35
1.1.1.3.37 Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36
1.1.1.3.38 Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36
1.1.1.3.39 Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36
1.1.1.3.40 Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36
1.1.1.3.41 Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36
1.1.1.3.42 Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37
1.1.1.3.43 Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37
1.1.1.3.44 Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37
1.1.1.3.45 Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37
1.1.1.3.46 Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38
1.1.1.3.47 Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38
ii
1.1.1.3.48 Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38
1.1.1.3.49 Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38
1.1.1.3.50 Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38
1.1.1.3.51 Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39
1.1.1.3.52 Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39
1.1.1.3.53 Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39
1.1.1.3.54 Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39
1.1.1.3.55 Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40
1.1.1.3.56 Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40
1.1.1.3.57 Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40
1.1.1.3.58 Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41
1.1.1.3.59 Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41
1.1.1.3.60 Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41
1.1.1.3.61 Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41
1.1.1.3.62 Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42
1.1.1.3.63 Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42
1.1.1.3.64 Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42
1.1.1.3.65 Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43
1.1.1.3.66 Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43
1.1.1.3.67 Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43
1.1.1.3.68 Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43
1.1.1.3.69 Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43
1.1.1.3.70 Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44
1.1.1.3.71 Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44
1.1.1.3.72 Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44
1.1.1.3.73 Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45
1.1.1.3.74 Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45
1.1.1.3.75 Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45
1.1.1.3.76 Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45
1.1.1.3.77 Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46
1.1.1.3.78 Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46
1.1.1.3.79 Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46
1.1.1.3.80 Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47
1.1.1.3.81 Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47
1.1.1.3.82 Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47
1.1.1.3.83 Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47
1.1.1.3.84 Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47
1.1.1.3.85 Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48
1.1.1.3.86 Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48
1.1.1.4 thermo.combustion module . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48
1.1.1.4.1 Notes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49
1.1.1.4.2 Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49
1.1.1.5 thermo.critical module . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49
1.1.1.5.1 Notes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50
1.1.1.5.2 References . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50
1.1.1.5.3 Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50
1.1.1.5.4 Notes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51
1.1.1.5.5 References . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51
1.1.1.5.6 Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51
1.1.1.5.7 Notes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52
1.1.1.5.8 References . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52
1.1.1.5.9 Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52
1.1.1.5.10 Notes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53
1.1.1.5.11 References . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53
iii
1.1.1.5.12 Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53
1.1.1.5.13 Notes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54
1.1.1.5.14 References . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54
1.1.1.5.15 Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54
1.1.1.5.16 Notes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55
1.1.1.5.17 Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55
1.1.1.5.18 Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55
1.1.1.5.19 Notes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56
1.1.1.5.20 References . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56
1.1.1.5.21 Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56
1.1.1.5.22 Notes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56
1.1.1.5.23 References . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56
1.1.1.5.24 Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57
1.1.1.5.25 Notes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57
1.1.1.5.26 References . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57
1.1.1.5.27 Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57
1.1.1.5.28 Notes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58
1.1.1.5.29 References . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58
1.1.1.5.30 Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58
1.1.1.5.31 Notes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59
1.1.1.5.32 References . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59
1.1.1.5.33 Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59
1.1.1.5.34 Notes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59
1.1.1.5.35 References . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59
1.1.1.5.36 Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60
1.1.1.5.37 Notes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60
1.1.1.5.38 References . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60
1.1.1.5.39 Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60
1.1.1.5.40 Notes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61
1.1.1.5.41 References . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61
1.1.1.5.42 Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61
1.1.1.5.43 Notes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62
1.1.1.5.44 References . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62
1.1.1.5.45 Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62
1.1.1.6 thermo.datasheet module . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62
1.1.1.7 thermo.dipole module . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63
1.1.1.7.1 Notes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63
1.1.1.7.2 References . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63
1.1.1.7.3 Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63
1.1.1.8 thermo.dippr module . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64
1.1.1.8.1 Notes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64
1.1.1.8.2 References . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64
1.1.1.8.3 Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64
1.1.1.8.4 Notes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65
1.1.1.8.5 References . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65
1.1.1.8.6 Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65
1.1.1.8.7 Notes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 66
1.1.1.8.8 References . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 66
1.1.1.8.9 Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 66
1.1.1.8.10 Notes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67
1.1.1.8.11 References . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67
1.1.1.8.12 Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67
1.1.1.8.13 Notes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67
1.1.1.8.14 References . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67
iv
1.1.1.8.15 Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 68
1.1.1.8.16 Notes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 68
1.1.1.8.17 References . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 68
1.1.1.8.18 Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 68
1.1.1.8.19 Notes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69
1.1.1.8.20 References . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69
1.1.1.8.21 Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69
1.1.1.8.22 Notes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 70
1.1.1.8.23 References . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 70
1.1.1.8.24 Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 70
1.1.1.8.25 Notes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71
1.1.1.8.26 References . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71
1.1.1.8.27 Notes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71
1.1.1.8.28 References . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71
1.1.1.8.29 Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 72
1.1.1.8.30 Notes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 72
1.1.1.8.31 References . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 72
1.1.1.8.32 Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 73
1.1.1.9 thermo.electrochem module . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 73
1.1.1.9.1 Notes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 73
1.1.1.9.2 References . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 73
1.1.1.9.3 Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 74
1.1.1.9.4 Notes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 74
1.1.1.9.5 References . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 74
1.1.1.9.6 Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 74
1.1.1.9.7 Notes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 75
1.1.1.9.8 References . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 75
1.1.1.9.9 Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 75
1.1.1.9.10 Notes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 75
1.1.1.9.11 References . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 75
1.1.1.9.12 Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 75
1.1.1.9.13 Notes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 76
1.1.1.9.14 References . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 76
1.1.1.9.15 Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 76
1.1.1.9.16 Notes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 76
1.1.1.9.17 References . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 76
1.1.1.9.18 Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 76
1.1.1.9.19 Notes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 77
1.1.1.9.20 References . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 77
1.1.1.9.21 Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 77
1.1.1.9.22 Notes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 78
1.1.1.9.23 References . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 78
1.1.1.9.24 Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 78
1.1.1.9.25 Notes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 78
1.1.1.9.26 References . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 78
1.1.1.9.27 Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 78
1.1.1.9.28 Notes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 79
1.1.1.9.29 References . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 79
1.1.1.9.30 Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 79
1.1.1.9.31 Notes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 79
1.1.1.9.32 References . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 80
1.1.1.9.33 Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 80
1.1.1.9.34 Notes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 81
1.1.1.9.35 References . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 81
v
1.1.1.9.36 Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 81
1.1.1.9.37 Notes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 81
1.1.1.9.38 References . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 81
1.1.1.9.39 Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 82
1.1.1.9.40 References . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 82
1.1.1.9.41 Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 82
1.1.1.9.42 Notes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 82
1.1.1.9.43 References . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 83
1.1.1.9.44 Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 83
1.1.1.9.45 Notes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 83
1.1.1.9.46 References . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 83
1.1.1.9.47 Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 83
1.1.1.9.48 Notes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 84
1.1.1.9.49 References . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 84
1.1.1.9.50 Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 84
1.1.1.9.51 Notes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 85
1.1.1.9.52 Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 86
1.1.1.10 thermo.elements module . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 86
1.1.1.10.1 Notes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 86
1.1.1.10.2 References . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 86
1.1.1.10.3 Notes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 87
1.1.1.10.4 References . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 87
1.1.1.10.5 Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 87
1.1.1.10.6 Notes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 87
1.1.1.10.7 References . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 88
1.1.1.10.8 Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 88
1.1.1.10.9 Notes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 88
1.1.1.10.10 References . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 88
1.1.1.10.11 Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 88
1.1.1.10.12 Notes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 89
1.1.1.10.13 References . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 89
1.1.1.10.14 Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 89
1.1.1.10.15 Notes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 89
1.1.1.10.16 References . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 89
1.1.1.10.17 Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 89
1.1.1.10.18 Notes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 90
1.1.1.10.19 Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 90
1.1.1.10.20 Notes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 90
1.1.1.10.21 Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 90
1.1.1.10.22 Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 91
1.1.1.10.23 Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 91
1.1.1.11 thermo.eos module . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 91
1.1.1.11.1 Methods . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 92
1.1.1.11.2 Notes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 93
1.1.1.11.3 References . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 93
1.1.1.11.4 Notes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 94
1.1.1.11.5 References . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 94
1.1.1.11.6 Notes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 94
1.1.1.11.7 Notes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 94
1.1.1.11.8 Notes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 95
1.1.1.11.9 Notes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 96
1.1.1.11.10 References . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 98
1.1.1.11.11 Notes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 99
1.1.1.11.12 Notes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 100
vi
1.1.1.11.13 References . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 100
1.1.1.11.14 Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 100
1.1.1.11.15 Methods . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 101
1.1.1.11.16 Notes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 102
1.1.1.11.17 References . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 103
1.1.1.11.18 Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 103
1.1.1.11.19 Methods . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 103
1.1.1.11.20 Notes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 104
1.1.1.11.21 Notes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 105
1.1.1.11.22 References . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 105
1.1.1.11.23 Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 105
1.1.1.11.24 Methods . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 105
1.1.1.11.25 Notes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 107
1.1.1.11.26 References . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 107
1.1.1.11.27 Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 107
1.1.1.11.28 Methods . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 107
1.1.1.11.29 Notes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 108
1.1.1.11.30 Notes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 109
1.1.1.11.31 References . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 109
1.1.1.11.32 Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 109
1.1.1.11.33 Methods . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 110
1.1.1.11.34 Notes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 111
1.1.1.11.35 Notes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 111
1.1.1.11.36 References . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 112
1.1.1.11.37 Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 112
1.1.1.11.38 Methods . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 112
1.1.1.11.39 Notes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 114
1.1.1.11.40 References . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 114
1.1.1.11.41 Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 114
1.1.1.11.42 Methods . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 114
1.1.1.11.43 Notes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 116
1.1.1.11.44 References . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 117
1.1.1.11.45 Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 117
1.1.1.11.46 Methods . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 117
1.1.1.11.47 Notes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 118
1.1.1.11.48 Notes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 119
1.1.1.11.49 References . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 119
1.1.1.11.50 Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 119
1.1.1.11.51 Methods . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 120
1.1.1.11.52 Notes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 121
1.1.1.11.53 References . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 121
1.1.1.11.54 Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 121
1.1.1.11.55 Methods . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 121
1.1.1.11.56 References . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 122
1.1.1.11.57 Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 123
1.1.1.11.58 Methods . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 123
1.1.1.11.59 References . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 124
1.1.1.11.60 References . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 125
1.1.1.11.61 References . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 125
1.1.1.11.62 References . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 125
1.1.1.11.63 References . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 125
1.1.1.11.64 References . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 126
1.1.1.11.65 References . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 126
1.1.1.11.66 References . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 126
vii
1.1.1.11.67 References . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 126
1.1.1.11.68 References . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 126
1.1.1.11.69 References . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 127
1.1.1.11.70 References . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 127
1.1.1.11.71 References . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 127
1.1.1.11.72 References . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 127
1.1.1.11.73 References . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 128
1.1.1.11.74 References . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 128
1.1.1.11.75 References . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 128
1.1.1.11.76 References . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 128
1.1.1.11.77 References . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 129
1.1.1.11.78 References . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 129
1.1.1.11.79 Methods . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 129
1.1.1.12 thermo.eos_mix module . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 130
1.1.1.12.1 Methods . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 130
1.1.1.12.2 Notes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 132
1.1.1.12.3 Notes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 132
1.1.1.12.4 References . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 133
1.1.1.12.5 Notes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 134
1.1.1.12.6 References . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 134
1.1.1.12.7 Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 134
1.1.1.12.8 Methods . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 134
1.1.1.12.9 References . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 136
1.1.1.12.10 Notes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 137
1.1.1.12.11 References . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 137
1.1.1.12.12 Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 137
1.1.1.12.13 Methods . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 137
1.1.1.12.14 References . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 138
1.1.1.12.15 Notes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 139
1.1.1.12.16 References . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 139
1.1.1.12.17 Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 140
1.1.1.12.18 Methods . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 140
1.1.1.12.19 Notes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 141
1.1.1.12.20 References . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 142
1.1.1.12.21 Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 142
1.1.1.12.22 Methods . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 142
1.1.1.12.23 References . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 143
1.1.1.12.24 Notes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 144
1.1.1.12.25 References . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 144
1.1.1.12.26 Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 145
1.1.1.12.27 Methods . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 145
1.1.1.12.28 Notes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 147
1.1.1.12.29 References . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 147
1.1.1.12.30 Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 147
1.1.1.12.31 Methods . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 147
1.1.1.12.32 Notes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 149
1.1.1.12.33 References . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 149
1.1.1.12.34 Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 150
1.1.1.12.35 Methods . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 150
1.1.1.12.36 Notes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 152
1.1.1.12.37 References . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 152
1.1.1.12.38 Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 152
1.1.1.12.39 Methods . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 152
1.1.1.12.40 Notes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 154
viii
1.1.1.12.41 References . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 154
1.1.1.12.42 Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 154
1.1.1.12.43 Methods . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 155
1.1.1.13 thermo.environment module . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 156
1.1.1.13.1 Notes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 156
1.1.1.13.2 References . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 157
1.1.1.13.3 Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 157
1.1.1.13.4 Notes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 157
1.1.1.13.5 References . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 158
1.1.1.13.6 Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 158
1.1.1.13.7 Notes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 158
1.1.1.13.8 References . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 158
1.1.1.13.9 Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 158
1.1.1.14 thermo.heat_capacity module . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 159
1.1.1.14.1 Notes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 159
1.1.1.14.2 References . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 159
1.1.1.14.3 Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 159
1.1.1.14.4 Notes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 160
1.1.1.14.5 References . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 160
1.1.1.14.6 Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 160
1.1.1.14.7 Notes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 160
1.1.1.14.8 References . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 160
1.1.1.14.9 Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 160
1.1.1.14.10 Notes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 161
1.1.1.14.11 References . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 161
1.1.1.14.12 Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 161
1.1.1.14.13 Notes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 162
1.1.1.14.14 References . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 162
1.1.1.14.15 Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 162
1.1.1.14.16 Notes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 162
1.1.1.14.17 References . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 162
1.1.1.14.18 Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 163
1.1.1.14.19 Notes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 163
1.1.1.14.20 References . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 163
1.1.1.14.21 Methods . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 164
1.1.1.14.22 Notes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 167
1.1.1.14.23 References . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 167
1.1.1.14.24 Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 167
1.1.1.14.25 Notes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 168
1.1.1.14.26 References . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 168
1.1.1.14.27 Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 168
1.1.1.14.28 Notes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 168
1.1.1.14.29 References . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 168
1.1.1.14.30 Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 168
1.1.1.14.31 Notes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 169
1.1.1.14.32 References . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 169
1.1.1.14.33 Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 169
1.1.1.14.34 Notes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 169
1.1.1.14.35 References . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 169
1.1.1.14.36 Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 170
1.1.1.14.37 Notes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 170
1.1.1.14.38 References . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 170
1.1.1.14.39 Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 170
1.1.1.14.40 Notes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 171
ix
1.1.1.14.41 References . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 171
1.1.1.14.42 Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 171
1.1.1.14.43 Notes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 171
1.1.1.14.44 References . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 171
1.1.1.14.45 Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 171
1.1.1.14.46 Notes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 172
1.1.1.14.47 References . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 172
1.1.1.14.48 Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 172
1.1.1.14.49 References . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 172
1.1.1.14.50 Methods . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 173
1.1.1.14.51 References . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 174
1.1.1.14.52 Methods . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 174
1.1.1.14.53 Notes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 176
1.1.1.14.54 References . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 177
1.1.1.14.55 Methods . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 177
1.1.1.14.56 Notes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 180
1.1.1.14.57 References . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 180
1.1.1.14.58 Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 180
1.1.1.14.59 Notes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 181
1.1.1.14.60 References . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 181
1.1.1.14.61 Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 181
1.1.1.14.62 Notes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 181
1.1.1.14.63 References . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 182
1.1.1.14.64 Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 182
1.1.1.14.65 Notes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 182
1.1.1.14.66 References . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 182
1.1.1.14.67 Methods . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 183
1.1.1.14.68 Notes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 186
1.1.1.14.69 Methods . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 186
1.1.1.14.70 Notes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 188
1.1.1.14.71 Methods . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 188
1.1.1.14.72 Notes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 191
1.1.1.14.73 Methods . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 191
1.1.1.15 thermo.identifiers module . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 193
1.1.1.15.1 Notes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 193
1.1.1.15.2 Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 194
1.1.1.15.3 Notes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 194
1.1.1.15.4 Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 194
1.1.1.15.5 Notes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 195
1.1.1.15.6 References . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 195
1.1.1.15.7 Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 195
1.1.1.15.8 Notes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 195
1.1.1.15.9 References . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 195
1.1.1.15.10 Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 196
1.1.1.15.11 Notes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 197
1.1.1.15.12 Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 197
1.1.1.16 thermo.interface module . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 197
1.1.1.16.1 Notes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 198
1.1.1.16.2 References . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 198
1.1.1.16.3 Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 198
1.1.1.16.4 Notes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 198
1.1.1.16.5 References . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 198
1.1.1.16.6 Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 198
1.1.1.16.7 Notes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 199
x
1.1.1.16.8 References . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 199
1.1.1.16.9 Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 199
1.1.1.16.10 Notes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 200
1.1.1.16.11 References . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 200
1.1.1.16.12 Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 200
1.1.1.16.13 Notes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 200
1.1.1.16.14 References . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 200
1.1.1.16.15 Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 201
1.1.1.16.16 Notes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 201
1.1.1.16.17 References . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 201
1.1.1.16.18 Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 201
1.1.1.16.19 Notes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 202
1.1.1.16.20 References . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 202
1.1.1.16.21 Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 202
1.1.1.16.22 Notes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 202
1.1.1.16.23 References . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 202
1.1.1.16.24 Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 203
1.1.1.16.25 Notes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 203
1.1.1.16.26 References . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 203
1.1.1.16.27 Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 203
1.1.1.16.28 Notes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 204
1.1.1.16.29 References . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 204
1.1.1.16.30 Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 204
1.1.1.16.31 Notes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 205
1.1.1.16.32 References . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 205
1.1.1.16.33 Methods . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 206
1.1.1.16.34 Notes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 208
1.1.1.16.35 References . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 208
1.1.1.16.36 Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 209
1.1.1.16.37 Notes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 209
1.1.1.16.38 References . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 209
1.1.1.16.39 Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 209
1.1.1.16.40 Notes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 210
1.1.1.16.41 References . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 210
1.1.1.16.42 Methods . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 210
1.1.1.17 thermo.joback module . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 213
1.1.1.17.1 Notes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 213
1.1.1.17.2 Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 213
1.1.1.17.3 Notes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 214
1.1.1.17.4 References . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 214
1.1.1.17.5 Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 214
1.1.1.17.6 Methods . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 215
1.1.1.17.7 Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 216
1.1.1.17.8 Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 217
1.1.1.17.9 Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 217
1.1.1.17.10 Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 217
1.1.1.17.11 Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 218
1.1.1.17.12 Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 218
1.1.1.17.13 Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 219
1.1.1.17.14 Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 219
1.1.1.17.15 Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 220
1.1.1.17.16 Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 220
1.1.1.17.17 Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 221
1.1.1.17.18 Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 221
xi
1.1.1.17.19 Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 222
1.1.1.18 thermo.law module . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 222
1.1.1.18.1 Notes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 222
1.1.1.18.2 References . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 223
1.1.1.18.3 Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 223
1.1.1.19 thermo.lennard_jones module . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 224
1.1.1.19.1 Notes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 224
1.1.1.19.2 References . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 225
1.1.1.19.3 Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 225
1.1.1.19.4 Notes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 225
1.1.1.19.5 References . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 226
1.1.1.19.6 Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 226
1.1.1.19.7 Notes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 226
1.1.1.19.8 References . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 226
1.1.1.19.9 Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 226
1.1.1.19.10 Notes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 226
1.1.1.19.11 References . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 227
1.1.1.19.12 Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 227
1.1.1.19.13 Notes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 227
1.1.1.19.14 References . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 227
1.1.1.19.15 Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 227
1.1.1.19.16 Notes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 227
1.1.1.19.17 References . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 228
1.1.1.19.18 Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 228
1.1.1.19.19 Notes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 228
1.1.1.19.20 References . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 228
1.1.1.19.21 Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 228
1.1.1.19.22 Notes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 229
1.1.1.19.23 References . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 229
1.1.1.19.24 Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 229
1.1.1.19.25 Notes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 229
1.1.1.19.26 References . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 229
1.1.1.19.27 Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 229
1.1.1.19.28 Notes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 230
1.1.1.19.29 References . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 230
1.1.1.19.30 Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 230
1.1.1.19.31 Notes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 230
1.1.1.19.32 References . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 230
1.1.1.19.33 Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 231
1.1.1.19.34 References . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 231
1.1.1.19.35 Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 231
1.1.1.19.36 References . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 231
1.1.1.19.37 Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 231
1.1.1.19.38 References . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 232
1.1.1.19.39 Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 232
1.1.1.19.40 References . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 232
1.1.1.19.41 Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 232
1.1.1.19.42 References . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 233
1.1.1.19.43 Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 233
1.1.1.19.44 Notes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 233
1.1.1.19.45 References . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 233
1.1.1.19.46 Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 233
1.1.1.19.47 Notes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 234
1.1.1.19.48 References . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 234
xii
1.1.1.19.49 Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 234
1.1.1.19.50 Notes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 234
1.1.1.19.51 References . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 234
1.1.1.19.52 Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 235
1.1.1.19.53 Notes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 235
1.1.1.19.54 References . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 235
1.1.1.19.55 Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 235
1.1.1.19.56 Notes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 236
1.1.1.19.57 References . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 236
1.1.1.19.58 Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 236
1.1.1.20 thermo.miscdata module . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 236
1.1.1.20.1 Notes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 236
1.1.1.20.2 References . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 236
1.1.1.20.3 Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 236
1.1.1.21 thermo.mixture module . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 237
1.1.1.21.1 Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 237
1.1.1.21.2 Methods . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 244
1.1.1.21.3 Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 245
1.1.1.21.4 Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 245
1.1.1.21.5 Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 245
1.1.1.21.6 Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 245
1.1.1.21.7 Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 246
1.1.1.21.8 Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 246
1.1.1.21.9 Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 246
1.1.1.21.10 Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 246
1.1.1.21.11 Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 247
1.1.1.21.12 Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 247
1.1.1.21.13 Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 247
1.1.1.21.14 Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 247
1.1.1.21.15 Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 247
1.1.1.21.16 Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 248
1.1.1.21.17 Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 248
1.1.1.21.18 Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 248
1.1.1.21.19 Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 248
1.1.1.21.20 Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 248
1.1.1.21.21 Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 249
1.1.1.21.22 Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 249
1.1.1.21.23 Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 249
1.1.1.21.24 Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 249
1.1.1.21.25 Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 249
1.1.1.21.26 Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 250
1.1.1.21.27 Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 250
1.1.1.21.28 Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 250
1.1.1.21.29 Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 250
1.1.1.21.30 Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 251
1.1.1.21.31 Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 251
1.1.1.21.32 Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 251
1.1.1.21.33 Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 251
1.1.1.21.34 Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 252
1.1.1.21.35 Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 252
1.1.1.21.36 Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 252
1.1.1.21.37 Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 252
1.1.1.21.38 Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 252
1.1.1.21.39 Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 253
xiii
1.1.1.21.40 Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 253
1.1.1.21.41 Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 253
1.1.1.21.42 Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 253
1.1.1.21.43 Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 254
1.1.1.21.44 Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 254
1.1.1.21.45 Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 254
1.1.1.21.46 Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 254
1.1.1.21.47 Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 255
1.1.1.21.48 Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 255
1.1.1.21.49 Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 255
1.1.1.21.50 Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 255
1.1.1.21.51 Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 256
1.1.1.21.52 Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 256
1.1.1.21.53 Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 256
1.1.1.21.54 Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 256
1.1.1.21.55 Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 256
1.1.1.21.56 Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 257
1.1.1.21.57 Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 257
1.1.1.21.58 Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 257
1.1.1.21.59 Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 257
1.1.1.21.60 Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 257
1.1.1.21.61 Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 258
1.1.1.21.62 Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 258
1.1.1.21.63 Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 258
1.1.1.21.64 Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 258
1.1.1.21.65 Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 258
1.1.1.21.66 Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 259
1.1.1.21.67 Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 259
1.1.1.21.68 Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 259
1.1.1.21.69 Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 259
1.1.1.21.70 Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 260
1.1.1.21.71 Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 260
1.1.1.21.72 Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 260
1.1.1.21.73 Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 260
1.1.1.21.74 Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 260
1.1.1.21.75 Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 261
1.1.1.21.76 Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 261
1.1.1.21.77 Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 261
1.1.1.21.78 Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 261
1.1.1.21.79 Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 262
1.1.1.21.80 Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 262
1.1.1.21.81 Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 262
1.1.1.21.82 Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 262
1.1.1.21.83 Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 263
1.1.1.21.84 Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 263
1.1.1.21.85 Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 263
1.1.1.21.86 Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 263
1.1.1.21.87 Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 263
1.1.1.21.88 Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 264
1.1.1.21.89 Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 264
1.1.1.21.90 Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 264
1.1.1.21.91 Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 264
1.1.1.21.92 Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 265
1.1.1.21.93 Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 265
xiv
1.1.1.21.94 Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 265
1.1.1.21.95 Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 265
1.1.1.21.96 Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 265
1.1.1.21.97 Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 266
1.1.1.21.98 Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 266
1.1.1.21.99 Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 266
1.1.1.21.100Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 266
1.1.1.21.101Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 267
1.1.1.21.102Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 267
1.1.1.21.103Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 267
1.1.1.21.104Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 267
1.1.1.21.105Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 267
1.1.1.21.106Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 268
1.1.1.21.107Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 268
1.1.1.21.108Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 268
1.1.1.21.109Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 268
1.1.1.21.110Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 268
1.1.1.21.111Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 269
1.1.1.21.112Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 269
1.1.1.21.113Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 269
1.1.1.21.114Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 269
1.1.1.21.115Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 269
1.1.1.21.116Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 270
1.1.1.21.117Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 270
1.1.1.21.118Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 270
1.1.1.21.119Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 271
1.1.1.21.120Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 271
1.1.1.21.121Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 271
1.1.1.21.122Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 271
1.1.1.21.123Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 271
1.1.1.21.124Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 272
1.1.1.22 thermo.permittivity module . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 272
1.1.1.22.1 Notes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 272
1.1.1.22.2 References . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 273
1.1.1.22.3 Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 273
1.1.1.22.4 Notes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 273
1.1.1.22.5 References . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 273
1.1.1.22.6 Methods . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 273
1.1.1.23 thermo.phase_change module . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 276
1.1.1.23.1 Notes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 276
1.1.1.23.2 References . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 277
1.1.1.23.3 Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 277
1.1.1.23.4 Notes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 277
1.1.1.23.5 References . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 277
1.1.1.23.6 Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 278
1.1.1.23.7 Notes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 278
1.1.1.23.8 References . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 278
1.1.1.23.9 Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 278
1.1.1.23.10 Notes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 279
1.1.1.23.11 References . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 279
1.1.1.23.12 Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 279
1.1.1.23.13 Notes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 280
1.1.1.23.14 References . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 280
1.1.1.23.15 Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 280
xv
1.1.1.23.16 Notes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 280
1.1.1.23.17 References . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 281
1.1.1.23.18 Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 281
1.1.1.23.19 Notes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 281
1.1.1.23.20 References . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 281
1.1.1.23.21 Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 281
1.1.1.23.22 Notes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 282
1.1.1.23.23 References . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 282
1.1.1.23.24 Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 282
1.1.1.23.25 Notes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 283
1.1.1.23.26 References . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 283
1.1.1.23.27 Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 283
1.1.1.23.28 Notes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 283
1.1.1.23.29 References . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 283
1.1.1.23.30 Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 284
1.1.1.23.31 Notes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 284
1.1.1.23.32 References . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 284
1.1.1.23.33 Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 284
1.1.1.23.34 Notes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 285
1.1.1.23.35 References . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 286
1.1.1.23.36 Methods . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 286
1.1.1.24 thermo.reaction module . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 289
1.1.1.24.1 Notes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 290
1.1.1.24.2 References . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 290
1.1.1.24.3 Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 290
1.1.1.24.4 Notes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 290
1.1.1.24.5 References . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 291
1.1.1.24.6 Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 291
1.1.1.24.7 Notes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 291
1.1.1.24.8 References . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 291
1.1.1.24.9 Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 291
1.1.1.25 thermo.refractivity module . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 292
1.1.1.25.1 Notes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 292
1.1.1.25.2 References . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 292
1.1.1.25.3 Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 292
1.1.1.25.4 Notes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 293
1.1.1.25.5 References . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 293
1.1.1.25.6 Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 293
1.1.1.25.7 References . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 293
1.1.1.25.8 Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 293
1.1.1.25.9 References . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 294
1.1.1.25.10 Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 294
1.1.1.26 thermo.safety module . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 294
1.1.1.26.1 Notes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 294
1.1.1.26.2 References . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 294
1.1.1.26.3 Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 294
1.1.1.26.4 Notes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 295
1.1.1.26.5 References . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 295
1.1.1.26.6 Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 295
1.1.1.26.7 Notes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 296
1.1.1.26.8 References . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 297
1.1.1.26.9 Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 297
1.1.1.26.10 Notes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 297
1.1.1.26.11 References . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 297
xvi
1.1.1.26.12 Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 298
1.1.1.26.13 References . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 298
1.1.1.26.14 Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 298
1.1.1.26.15 References . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 299
1.1.1.26.16 Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 299
1.1.1.26.17 References . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 300
1.1.1.26.18 Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 300
1.1.1.26.19 Notes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 301
1.1.1.26.20 References . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 301
1.1.1.26.21 Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 301
1.1.1.26.22 Notes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 301
1.1.1.26.23 References . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 302
1.1.1.26.24 Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 302
1.1.1.26.25 Notes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 302
1.1.1.26.26 References . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 302
1.1.1.26.27 Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 302
1.1.1.26.28 Notes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 303
1.1.1.26.29 References . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 303
1.1.1.26.30 Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 303
1.1.1.27 thermo.solubility module . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 303
1.1.1.27.1 Notes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 304
1.1.1.27.2 References . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 304
1.1.1.27.3 Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 304
1.1.1.27.4 Notes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 304
1.1.1.27.5 References . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 304
1.1.1.27.6 Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 305
1.1.1.27.7 Notes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 305
1.1.1.27.8 References . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 305
1.1.1.27.9 Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 305
1.1.1.28 thermo.stream module . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 305
1.1.1.28.1 Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 307
1.1.1.28.2 Methods . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 313
1.1.1.29 thermo.temperature module . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 314
1.1.1.29.1 Notes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 315
1.1.1.29.2 References . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 315
1.1.1.29.3 Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 315
1.1.1.29.4 Notes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 316
1.1.1.29.5 References . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 316
1.1.1.29.6 Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 316
1.1.1.30 thermo.thermal_conductivity module . . . . . . . . . . . . . . . . . . . . . . . . . 316
1.1.1.30.1 Notes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 317
1.1.1.30.2 References . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 317
1.1.1.30.3 Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 317
1.1.1.30.4 Notes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 317
1.1.1.30.5 References . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 317
1.1.1.30.6 Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 317
1.1.1.30.7 Notes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 318
1.1.1.30.8 References . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 318
1.1.1.30.9 Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 318
1.1.1.30.10 Notes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 318
1.1.1.30.11 References . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 319
1.1.1.30.12 Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 319
1.1.1.30.13 Notes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 319
1.1.1.30.14 References . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 319
xvii
1.1.1.30.15 Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 319
1.1.1.30.16 Notes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 320
1.1.1.30.17 References . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 320
1.1.1.30.18 Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 320
1.1.1.30.19 Notes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 321
1.1.1.30.20 References . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 321
1.1.1.30.21 Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 321
1.1.1.30.22 Notes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 321
1.1.1.30.23 References . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 321
1.1.1.30.24 Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 322
1.1.1.30.25 Notes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 322
1.1.1.30.26 References . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 323
1.1.1.30.27 Methods . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 323
1.1.1.30.28 Notes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 328
1.1.1.30.29 References . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 328
1.1.1.30.30 Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 328
1.1.1.30.31 Notes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 329
1.1.1.30.32 References . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 329
1.1.1.30.33 Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 329
1.1.1.30.34 Notes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 330
1.1.1.30.35 References . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 330
1.1.1.30.36 Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 330
1.1.1.30.37 Notes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 330
1.1.1.30.38 References . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 330
1.1.1.30.39 Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 330
1.1.1.30.40 Notes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 331
1.1.1.30.41 References . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 331
1.1.1.30.42 Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 331
1.1.1.30.43 Notes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 331
1.1.1.30.44 References . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 331
1.1.1.30.45 Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 332
1.1.1.30.46 Notes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 332
1.1.1.30.47 References . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 332
1.1.1.30.48 Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 332
1.1.1.30.49 Notes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 333
1.1.1.30.50 References . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 333
1.1.1.30.51 Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 333
1.1.1.30.52 Notes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 334
1.1.1.30.53 References . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 334
1.1.1.30.54 Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 335
1.1.1.30.55 Notes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 335
1.1.1.30.56 References . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 335
1.1.1.30.57 Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 335
1.1.1.30.58 Notes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 336
1.1.1.30.59 References . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 336
1.1.1.30.60 Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 336
1.1.1.30.61 Notes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 337
1.1.1.30.62 References . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 338
1.1.1.30.63 Methods . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 338
1.1.1.30.64 Notes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 343
1.1.1.30.65 References . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 343
1.1.1.30.66 Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 343
1.1.1.30.67 Notes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 345
1.1.1.30.68 References . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 345
xviii
1.1.1.30.69 Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 345
1.1.1.30.70 Notes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 346
1.1.1.30.71 References . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 346
1.1.1.30.72 Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 346
1.1.1.30.73 Notes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 347
1.1.1.30.74 References . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 347
1.1.1.30.75 Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 347
1.1.1.30.76 Notes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 348
1.1.1.30.77 References . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 348
1.1.1.30.78 Methods . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 348
1.1.1.31 thermo.triple module . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 350
1.1.1.31.1 Notes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 350
1.1.1.31.2 References . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 351
1.1.1.31.3 Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 351
1.1.1.31.4 References . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 351
1.1.1.31.5 Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 351
1.1.1.32 thermo.unifac module . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 351
1.1.1.32.1 Notes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 352
1.1.1.32.2 References . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 353
1.1.1.32.3 Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 353
1.1.1.32.4 Notes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 354
1.1.1.32.5 References . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 354
1.1.1.32.6 Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 354
1.1.1.32.7 Notes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 355
1.1.1.32.8 References . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 355
1.1.1.32.9 Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 355
1.1.1.32.10 Notes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 355
1.1.1.32.11 References . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 355
1.1.1.32.12 Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 355
1.1.1.32.13 Notes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 356
1.1.1.32.14 References . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 356
1.1.1.32.15 Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 356
1.1.1.33 thermo.utils module . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 356
1.1.1.33.1 Notes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 356
1.1.1.33.2 References . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 356
1.1.1.33.3 Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 357
1.1.1.33.4 Notes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 357
1.1.1.33.5 References . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 357
1.1.1.33.6 Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 357
1.1.1.33.7 Notes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 358
1.1.1.33.8 References . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 358
1.1.1.33.9 Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 358
1.1.1.33.10 Notes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 358
1.1.1.33.11 References . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 359
1.1.1.33.12 Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 359
1.1.1.33.13 References . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 359
1.1.1.33.14 Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 359
1.1.1.33.15 Notes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 360
1.1.1.33.16 References . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 360
1.1.1.33.17 Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 360
1.1.1.33.18 Notes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 361
1.1.1.33.19 References . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 361
1.1.1.33.20 Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 361
1.1.1.33.21 References . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 361
xix
1.1.1.33.22 Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 361
1.1.1.33.23 References . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 362
1.1.1.33.24 Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 362
1.1.1.33.25 References . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 362
1.1.1.33.26 Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 362
1.1.1.33.27 References . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 363
1.1.1.33.28 Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 363
1.1.1.33.29 Notes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 363
1.1.1.33.30 References . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 363
1.1.1.33.31 Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 363
1.1.1.33.32 Notes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 364
1.1.1.33.33 References . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 364
1.1.1.33.34 Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 364
1.1.1.33.35 Notes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 364
1.1.1.33.36 References . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 365
1.1.1.33.37 Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 365
1.1.1.33.38 Notes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 365
1.1.1.33.39 References . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 365
1.1.1.33.40 Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 365
1.1.1.33.41 Notes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 366
1.1.1.33.42 Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 366
1.1.1.33.43 Notes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 366
1.1.1.33.44 Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 366
1.1.1.33.45 Notes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 367
1.1.1.33.46 Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 367
1.1.1.33.47 Notes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 367
1.1.1.33.48 Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 368
1.1.1.33.49 Notes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 368
1.1.1.33.50 Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 368
1.1.1.33.51 Notes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 368
1.1.1.33.52 Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 368
1.1.1.33.53 Notes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 369
1.1.1.33.54 Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 369
1.1.1.33.55 Notes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 369
1.1.1.33.56 Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 369
1.1.1.33.57 Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 370
1.1.1.33.58 Notes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 370
1.1.1.33.59 Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 370
1.1.1.33.60 Notes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 370
1.1.1.33.61 Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 371
1.1.1.33.62 Notes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 371
1.1.1.33.63 References . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 371
1.1.1.33.64 Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 371
1.1.1.33.65 Notes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 372
1.1.1.33.66 References . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 372
1.1.1.33.67 Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 372
1.1.1.33.68 Notes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 372
1.1.1.33.69 References . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 372
1.1.1.33.70 Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 373
1.1.1.33.71 Notes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 373
1.1.1.33.72 Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 373
1.1.1.33.73 Notes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 374
1.1.1.33.74 Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 374
1.1.1.33.75 Methods . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 375
xx
1.1.1.33.76 Methods . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 381
1.1.1.33.77 Methods . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 387
1.1.1.33.78 Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 393
1.1.1.33.79 Notes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 393
1.1.1.33.80 Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 393
1.1.1.33.81 Notes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 394
1.1.1.33.82 Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 394
1.1.1.34 thermo.vapor_pressure module . . . . . . . . . . . . . . . . . . . . . . . . . . . . 396
1.1.1.34.1 Notes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 396
1.1.1.34.2 References . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 396
1.1.1.34.3 Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 397
1.1.1.34.4 Notes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 397
1.1.1.34.5 References . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 397
1.1.1.34.6 Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 397
1.1.1.34.7 Notes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 398
1.1.1.34.8 References . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 398
1.1.1.34.9 Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 398
1.1.1.34.10 Notes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 399
1.1.1.34.11 References . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 399
1.1.1.34.12 Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 399
1.1.1.34.13 Notes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 400
1.1.1.34.14 References . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 400
1.1.1.34.15 Methods . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 400
1.1.1.34.16 Notes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 403
1.1.1.34.17 References . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 403
1.1.1.34.18 Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 403
1.1.1.34.19 Notes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 404
1.1.1.34.20 References . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 404
1.1.1.34.21 Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 404
1.1.1.34.22 Notes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 405
1.1.1.34.23 References . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 405
1.1.1.34.24 Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 405
1.1.1.34.25 Notes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 406
1.1.1.34.26 References . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 406
1.1.1.34.27 Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 406
1.1.1.34.28 Notes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 406
1.1.1.34.29 References . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 407
1.1.1.34.30 Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 407
1.1.1.35 thermo.virial module . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 407
1.1.1.35.1 Notes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 407
1.1.1.35.2 References . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 408
1.1.1.35.3 Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 408
1.1.1.35.4 Notes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 409
1.1.1.35.5 References . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 409
1.1.1.35.6 Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 410
1.1.1.35.7 Notes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 410
1.1.1.35.8 References . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 411
1.1.1.35.9 Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 411
1.1.1.35.10 Notes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 412
1.1.1.35.11 References . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 414
1.1.1.35.12 Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 414
1.1.1.36 thermo.viscosity module . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 414
1.1.1.36.1 Notes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 414
1.1.1.36.2 References . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 414
xxi
1.1.1.36.3 Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 415
1.1.1.36.4 Notes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 415
1.1.1.36.5 References . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 415
1.1.1.36.6 Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 415
1.1.1.36.7 Notes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 416
1.1.1.36.8 References . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 416
1.1.1.36.9 Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 416
1.1.1.36.10 Notes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 417
1.1.1.36.11 References . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 418
1.1.1.36.12 Methods . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 418
1.1.1.36.13 Notes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 423
1.1.1.36.14 References . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 423
1.1.1.36.15 Methods . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 424
1.1.1.36.16 Notes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 428
1.1.1.36.17 References . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 429
1.1.1.36.18 Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 429
1.1.1.36.19 Notes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 429
1.1.1.36.20 References . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 429
1.1.1.36.21 Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 429
1.1.1.36.22 Notes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 430
1.1.1.36.23 References . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 430
1.1.1.36.24 Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 430
1.1.1.36.25 Notes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 431
1.1.1.36.26 References . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 431
1.1.1.36.27 Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 431
1.1.1.36.28 Notes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 431
1.1.1.36.29 References . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 431
1.1.1.36.30 Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 431
1.1.1.36.31 Notes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 432
1.1.1.36.32 References . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 432
1.1.1.36.33 Notes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 432
1.1.1.36.34 References . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 432
1.1.1.36.35 Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 433
1.1.1.36.36 Notes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 433
1.1.1.36.37 References . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 433
1.1.1.36.38 Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 434
1.1.1.36.39 Notes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 434
1.1.1.36.40 References . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 434
1.1.1.36.41 Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 434
1.1.1.36.42 Notes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 435
1.1.1.36.43 References . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 435
1.1.1.36.44 Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 435
1.1.1.36.45 Notes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 436
1.1.1.36.46 References . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 436
1.1.1.36.47 Methods . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 436
1.1.1.36.48 Notes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 439
1.1.1.36.49 References . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 439
1.1.1.36.50 Methods . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 439
1.1.1.37 thermo.volume module . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 442
1.1.1.37.1 Notes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 442
1.1.1.37.2 References . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 442
1.1.1.37.3 Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 442
1.1.1.37.4 Notes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 443
1.1.1.37.5 References . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 443
xxii
1.1.1.37.6 Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 443
1.1.1.37.7 Notes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 443
1.1.1.37.8 References . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 444
1.1.1.37.9 Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 444
1.1.1.37.10 Notes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 444
1.1.1.37.11 References . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 444
1.1.1.37.12 Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 444
1.1.1.37.13 Notes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 445
1.1.1.37.14 References . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 445
1.1.1.37.15 Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 445
1.1.1.37.16 Notes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 446
1.1.1.37.17 References . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 446
1.1.1.37.18 Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 446
1.1.1.37.19 Notes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 447
1.1.1.37.20 References . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 447
1.1.1.37.21 Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 447
1.1.1.37.22 Notes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 448
1.1.1.37.23 References . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 448
1.1.1.37.24 Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 448
1.1.1.37.25 Notes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 448
1.1.1.37.26 References . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 448
1.1.1.37.27 Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 449
1.1.1.37.28 Notes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 449
1.1.1.37.29 References . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 450
1.1.1.37.30 Methods . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 451
1.1.1.37.31 Notes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 456
1.1.1.37.32 References . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 456
1.1.1.37.33 Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 456
1.1.1.37.34 Notes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 456
1.1.1.37.35 Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 456
1.1.1.37.36 Notes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 457
1.1.1.37.37 References . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 457
1.1.1.37.38 Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 457
1.1.1.37.39 Notes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 458
1.1.1.37.40 References . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 458
1.1.1.37.41 Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 458
1.1.1.37.42 Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 458
1.1.1.37.43 Notes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 459
1.1.1.37.44 References . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 460
1.1.1.37.45 Methods . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 460
1.1.1.37.46 Notes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 464
1.1.1.37.47 References . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 464
1.1.1.37.48 Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 464
1.1.1.37.49 Notes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 464
1.1.1.37.50 References . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 465
1.1.1.37.51 Methods . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 465
1.1.1.37.52 Notes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 468
1.1.1.37.53 References . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 468
1.1.1.37.54 Methods . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 468
1.1.1.37.55 Notes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 471
1.1.1.37.56 References . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 471
1.1.1.37.57 Methods . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 471
1.1.1.37.58 Notes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 473
1.1.1.37.59 Methods . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 474
xxiii
2 Indices and tables 477
Bibliography 479
xxiv
thermo Documentation, Release 0.1
Contents:
Contents 1
thermo Documentation, Release 0.1
2 Contents
CHAPTER 1
thermo
1.1.1 Submodules
Parameters
CASRN [string] CASRN [-]
Returns
omega [float] Acentric factor of compound
methods [list, only returned if AvailableMethods == True] List of methods which can be used
to obtain omega with the given inputs
Other Parameters
Method [string, optional] The method name to use. Accepted methods are ‘PSRK’,
‘PD’, ‘YAWS’, ‘LK’, and ‘DEFINITION’. All valid values are also held in the list
omega_methods.
3
thermo Documentation, Release 0.1
AvailableMethods [bool, optional] If True, function will determine which methods can be used
to obtain omega for the desired chemical, and will return methods instead of omega
IgnoreMethods [list, optional] A list of methods to ignore in obtaining the full list of methods,
useful for for performance reasons and ignoring inaccurate methods
1.1.1.1.1 Notes
A total of five sources are available for this function. They are:
• ‘PSRK’, a compillation of experimental and estimated data published in the Appendix of [15]_, the fourth
revision of the PSRK model.
• ‘PD’, an older compillation of data published in (Passut & Danner, 1973) [16]_.
• ‘YAWS’, a large compillation of data from a variety of sources; no data points are sourced in the work of
[17]_.
• ‘LK’, a estimation method for hydrocarbons.
• ‘DEFINITION’, based on the definition of omega as presented in [1], using vapor pressure data.
1.1.1.1.2 References
1.1.1.1.3 Examples
>>> omega(CASRN='64-17-5')
0.635
Parameters
Tb [float] Boiling temperature of the fluid [K]
Tc [float] Critical temperature of the fluid [K]
Pc [float] Critical pressure of the fluid [Pa]
Returns
omega [float] Acentric factor of the fluid [-]
1.1.1.1.4 Notes
Internal units are atmosphere and Kelvin. Example value from Reid (1987). Using ASPEN V8.4, LK method
gives 0.325595.
4 Chapter 1. thermo
thermo Documentation, Release 0.1
1.1.1.1.5 References
[1]
1.1.1.1.6 Examples
Isopropylbenzene
1.1.1.1.7 Notes
The only data used in the methods implemented to date are mole fractions and pure-component omegas. An
alternate definition could be based on the dew point or bubble point of a multicomponent mixture, but this has
not been done to date.
1.1.1.1.8 References
[1]
1.1.1.1.9 Examples
Parameters
Tc [float] Critical temperature of fluid [K]
Pc [float] Critical pressure of fluid [Pa]
omega [float] Acentric factor of the fluid [-]
CASRN [string] CASRN [-]
Returns
factor [float] Stiel polar factor of compound
methods [list, only returned if AvailableMethods == True] List of methods which can be used
to obtain Stiel polar factor with the given inputs
Other Parameters
Method [string, optional] The method name to use. Only ‘DEFINITION’ is accepted so far.
All valid values are also held in the list Stiel_polar_methods.
AvailableMethods [bool, optional] If True, function will determine which methods can be used
to obtain Stiel-polar factor for the desired chemical, and will return methods instead of stiel-
polar factor
1.1.1.1.10 Notes
1.1.1.1.11 References
[1], [2]
1.1.1.1.12 Examples
6 Chapter 1. thermo
thermo Documentation, Release 0.1
𝛾𝑖 𝑃𝑖𝑠𝑎𝑡
𝐾𝑖 =
𝑃
Equation of state only:
𝜑𝑙𝑖 𝑓𝑖𝑙
𝐾𝑖 = =
𝜑𝑣𝑖 𝑓𝑖𝑣
Combined approach (liquid reference fugacity coefficient is normally calculated the saturation pressure for it as
a pure species; vapor fugacity coefficient calculated normally):
𝛾𝑖 𝑃𝑖𝑠𝑎𝑡 𝜑𝑙,𝑟𝑒𝑓
𝑖
𝐾𝑖 =
𝜑𝑣𝑖 𝑃
Combined approach, with Poynting Correction Factor (liquid molar volume in the integral is for i as a pure
species only):
[︂ ∫︀ 𝑃
𝑉 𝑙 𝑑𝑃
]︂
𝑃 𝑠𝑎𝑡 𝑖
𝛾𝑖 𝑃𝑖𝑠𝑎𝑡 𝜑𝑙,𝑟𝑒𝑓
𝑖 exp 𝑖
𝑅𝑇
𝐾𝑖 = 𝑣
𝜑𝑖 𝑃
Parameters
P [float] System pressure, optional
Psat [float] Vapor pressure of species i, [Pa]
phi_l [float] Fugacity coefficient of species i in the liquid phase, either at the system condi-
tions (EOS-only case) or at the saturation pressure of species i as a pure species (reference
condition for the combined approach), optional [-]
phi_g [float] Fugacity coefficient of species i in the vapor phase at the system conditions, op-
tional [-]
gamma [float] Activity coefficient of species i in the liquid phase, optional [-]
1.1.1.2.1 Notes
The Poynting correction factor is normally simplified as follows, due to a liquid’s low pressure dependency:
𝑉𝑙 (𝑃 −𝑃𝑖𝑠𝑎𝑡 )
[︁ ]︁
𝛾𝑖 𝑃𝑖𝑠𝑎𝑡 𝜑𝑙,𝑟𝑒𝑓
𝑖 exp 𝑅𝑇
𝐾𝑖 =
𝜑𝑣𝑖 𝑃
1.1.1.2.2 References
[1], [2]
1.1.1.2.3 Examples
Raoult’s law:
EOS-only approach:
8 Chapter 1. thermo
thermo Documentation, Release 0.1
Parameters
V_over_F [float] Vapor fraction guess [-]
zs [list[float]] Overall mole fractions of all species, [-]
Ks [list[float]] Equilibrium K-values, [-]
Returns
error [float] Deviation between the objective function at the correct V_over_F and the at-
tempted V_over_F, [-]
1.1.1.2.4 Notes
1.1.1.2.5 References
[1]
1.1.1.2.6 Examples
thermo.activity.Rachford_Rice_solution(zs, Ks)
Solves the objective function of the Rachford-Rice flash equation. Uses the method proposed in [2] to obtain an
initial guess.
∑︁ 𝑧𝑖 (𝐾𝑖 − 1)
=0
𝑖
1 + 𝑉𝐹 (𝐾𝑖 − 1)
Parameters
zs [list[float]] Overall mole fractions of all species, [-]
Ks [list[float]] Equilibrium K-values, [-]
Returns
V_over_F [float] Vapor fraction solution [-]
xs [list[float]] Mole fractions of each species in the liquid phase, [-]
ys [list[float]] Mole fractions of each species in the vapor phase, [-]
1.1.1.2.7 Notes
Another algorithm for determining the range of the correct solution is given in [3]; [2] provides a narrower
range however. For both cases, each guess should be limited to be between 0 and 1 as they are often negative or
larger than 1.
(︂ )︂
𝑉 1
=
𝐹 𝑚𝑖𝑛 1 − 𝐾𝑚𝑎𝑥
(︂ )︂
𝑉 1
=
𝐹 𝑚𝑎𝑥 1 − 𝐾𝑚𝑖𝑛
If the newton method does not converge, a bisection method (brenth) is used instead. However, it is somewhat
slower, especially as newton will attempt 50 iterations before giving up.
1.1.1.2.8 References
1.1.1.2.9 Examples
thermo.activity.Li_Johns_Ahmadi_solution(zs, Ks)
Solves the objective function of the Li-Johns-Ahmadi flash equation. Uses the method proposed in [1] to obtain
an initial guess.
(︂ )︂ 𝑛−1 [︂ ]︂
𝐾𝑚𝑎𝑥 − 𝐾𝑚𝑖𝑛 ∑︁ 𝐾𝑖 − 𝐾𝑚𝑖𝑛 𝑧𝑖 (𝐾𝑚𝑎𝑥 − 1)𝑥𝑚𝑎𝑥
0=1+ 𝑥1 +
𝐾𝑚𝑖𝑛 − 1 𝑖=2
𝐾𝑚𝑖𝑛 − 1 (𝐾𝑖 − 1)𝑧𝑚𝑎𝑥 + (𝐾𝑚𝑎𝑥 − 𝐾𝑖 )𝑥𝑚𝑎𝑥
Parameters
zs [list[float]] Overall mole fractions of all species, [-]
Ks [list[float]] Equilibrium K-values, [-]
Returns
V_over_F [float] Vapor fraction solution [-]
xs [list[float]] Mole fractions of each species in the liquid phase, [-]
ys [list[float]] Mole fractions of each species in the vapor phase, [-]
10 Chapter 1. thermo
thermo Documentation, Release 0.1
1.1.1.2.10 Notes
The initial guess is the average of the following, as described in [1]. Each guess should be limited to be between
0 and 1 as they are often negative or larger than 1. max refers to the corresponding mole fractions for the species
with the largest K value.
(︂ )︂ (︂ )︂
1 − 𝐾𝑚𝑖𝑛 1 − 𝐾𝑚𝑖𝑛
𝑧𝑚𝑎𝑥 ≤ 𝑥𝑚𝑎𝑥 ≤
𝐾𝑚𝑎𝑥 − 𝐾𝑚𝑖𝑛 𝐾𝑚𝑎𝑥 − 𝐾𝑚𝑖𝑛
If the newton method does not converge, a bisection method (brenth) is used instead. However, it is somewhat
slower, especially as newton will attempt 50 iterations before giving up.
This method does not work for problems of only two components. K values are sorted internally. Has not been
found to be quicker than the Rachford-Rice equation.
1.1.1.2.11 References
[1]
1.1.1.2.12 Examples
˓→15722474980613044])
AvailableMethods [bool, optional] If True, function will determine which methods can be used
to obtain a solution for the desired chemical, and will return methods instead of V_over_F,
xs, and ys.
1.1.1.2.13 Notes
A total of three methods are available for this function. They are:
• ‘Analytical’, an exact solution derived with SymPy, applicable only only to mixtures of two or three com-
ponents
• ‘Rachford-Rice’, which numerically solves an objective function described in
Rachford_Rice_solution.
• ‘Li-Johns-Ahmadi’, which numerically solves an objective function described in
Li_Johns_Ahmadi_solution.
1.1.1.2.14 Examples
˓→1572247498061304])
Parameters
xs [list[float]] Liquid mole fractions of each species, [-]
taus [list[list[float]]] Dimensionless interaction parameters of each compound with each other,
[-]
alphas [list[list[float]]] Nonrandomness constants of each compound interacting with each
other, [-]
Returns
gammas [list[float]] Activity coefficient for each species in the liquid mixture, [-]
1.1.1.2.15 Notes
12 Chapter 1. thermo
thermo Documentation, Release 0.1
1.1.1.2.16 References
[1], [2]
1.1.1.2.17 Examples
thermo.activity.Wilson(xs, params)
Calculates the activity coefficients of each species in a mixture using the Wilson method, given their mole
fractions, and dimensionless interaction parameters. Those are normally correlated with temperature, and need
to be calculated separately.
⎛ ⎞
𝑁 𝑁
∑︁ ∑︁ Λ𝑗𝑖 𝑥𝑗
ln 𝛾𝑖 = 1 − ln ⎝ Λ𝑖𝑗 𝑥𝑗 −
⎠
𝑁
𝑗 𝑗
∑︁
Λ𝑗𝑘 𝑥𝑘
𝑘
Parameters
xs [list[float]] Liquid mole fractions of each species, [-]
params [list[list[float]]] Dimensionless interaction parameters of each compound with each
other, [-]
Returns
gammas [list[float]] Activity coefficient for each species in the liquid mixture, [-]
1.1.1.2.18 Notes
1.1.1.2.19 References
[1], [2]
1.1.1.2.20 Examples
1.1.1.2.21 Notes
14 Chapter 1. thermo
thermo Documentation, Release 0.1
This model is recast in a slightly more computationally efficient way in [2], as shown below:
ln 𝛾𝑖 = ln 𝛾𝑖𝑟𝑒𝑠 + ln 𝛾𝑖𝑐𝑜𝑚𝑏
⎛ ∑︀𝑁 ⎞
𝑟𝑒𝑠 𝑗 𝑞𝑗 𝑥𝑗 𝜏𝑗𝑖 ∑︁ 𝑞𝑘 𝑥𝑗 𝜏𝑖𝑗
ln 𝛾𝑖 = 𝑞𝑖 ⎝1 − ln ∑︀𝑁 − ∑︀ ⎠
𝑗 𝑞 𝑗 𝑥𝑗 𝑗 𝑘 𝑞𝑘 𝑥𝑘 𝜏𝑘𝑗
(︂ )︂
𝑐𝑜𝑚𝑏 𝑧 𝑉𝑖 𝑉𝑖
ln 𝛾𝑖 = (1 − 𝑉𝑖 + ln 𝑉𝑖 ) − 𝑞𝑖 1 − + ln
2 𝐹𝑖 𝐹𝑖
𝑟𝑖
𝑉𝑖 = ∑︀𝑁
𝑗 𝑟𝑗 𝑥𝑗
𝑞𝑖
𝐹𝑖 = ∑︀
𝑗 𝑞𝑗 𝑥𝑗
1.1.1.2.22 References
1.1.1.2.23 Examples
3452.440775305097
• If the critical temperature is known and the temperature is greater or equal to it, consider it a gas.
• If the vapor pressure at T is known and the pressure is under or equal to it, consider it a gas. If the pressure
is greater than the vapor pressure, consider it a liquid.
• If the melting temperature, critical temperature, and vapor pressure are not known, attempt to use the
boiling point to provide phase information. If the pressure is between 90 kPa and 110 kPa (approximately
normal), consider it a liquid if it is under the boiling temperature and a gas if above the boiling temperature.
• If the pressure is above 110 kPa and the boiling temperature is known, consider it a liquid if the temperature
is under the boiling temperature.
• Return None otherwise.
Parameters
T [float] Temperature, [K]
P [float] Pressure, [Pa]
Tm [float, optional] Normal melting temperature, [K]
Tb [float, optional] Normal boiling point, [K]
Tc [float, optional] Critical temperature, [K]
Psat [float, optional] Vapor pressure of the fluid at T, [Pa]
Returns
phase [str] Either ‘s’, ‘l’, ‘g’, or None if the phase cannot be determined
1.1.1.2.24 Notes
No special attential is paid to any phase transition. For the case where the melting point is not provided, the
possibility of the fluid being solid is simply ignored.
1.1.1.2.25 Examples
16 Chapter 1. thermo
thermo Documentation, Release 0.1
1.1.1.3.1 Examples
>>> Chemical('hexane')
<Chemical [hexane], T=298.15 K, P=101325 Pa>
>>> N2 = Chemical('Nitrogen')
>>> N2.Tm, N2.Tb, N2.Tc # melting, boiling, and critical points [K]
(63.15, 77.355, 126.2)
>>> N2.Pt, N2.Pc # sublimation and critical pressure [Pa]
(12526.9697368421, 3394387.5)
>>> N2.CAS, N2.formula, N2.InChI, N2.smiles, N2.atoms # CAS number, formula,
˓→InChI string, smiles string, dictionary of atomic elements and their count
>>> N2.Cp, N2.rho, N2.mu # Heat capacity [J/kg/K], density [kg/m^3], viscosity
˓→[Pa*s]
>>> N2.Cpm, N2.Vm, N2.Hvapm # heat capacity [J/mol/K], molar volume [m^3/mol],
˓→enthalpy of vaporization [J/mol]
A great deal of properties are available; for a complete list look at the attributes list.
(9.963988241081473e-08, -4.0370955160282056e-07)
For pure species, the phase is easily identified, allowing for properties to be obtained without needing to specify
the phase. However, the properties are also available in the hypothetical gas phase (when under the boiling
point) and in the hypothetical liquid phase (when above the boiling point) as these properties are needed to
evaluate mixture properties. Specify the phase of a property to be retrieved by appending ‘l’ or ‘g’ or ‘s’ to the
property.
18 Chapter 1. thermo
thermo Documentation, Release 0.1
Temperature dependent properties are calculated by objects which provide many useful features related to the
properties. To determine the temperature at which nitrogen has a saturation pressure of 1 MPa:
>>> N2.VaporPressure.solve_prop(1E6)
103.73528598652341
To compute an integral of the ideal-gas heat capacity of nitrogen to determine the enthalpy required for a given
change in temperature. Note the thermodynamic objects calculate values in molar units always.
Derivatives of properties can be calculated as well, as may be needed by for example heat transfer calculations:
>>> N2.SurfaceTension.T_dependent_property_derivative(77)
-0.00022695346296730534
If a property is needed at multiple temperatures or pressures, it is faster to use the object directly to perform the
calculation rather than setting the conditions for the chemical.
These objects are also how the methods by which the properties are calculated can be changed. To see the
available methods for a property:
>>> N2.VaporPressure.all_methods
set(['VDI_PPDS', 'BOILING_CRITICAL', 'WAGNER_MCGARRY', 'AMBROSE_WALTON', 'COOLPROP
˓→', 'LEE_KESLER_PSAT', 'EOS', 'ANTOINE_POLING', 'SANJARI', 'DIPPR_PERRY_8E',
˓→'Edalat', 'WAGNER_POLING'])
To specify the method which should be used for calculations of a property. In the example below, the Lee-kesler
correlation for vapor pressure is specified.
>>> N2.calculate(80)
>>> N2.Psat
136979.4840843189
>>> N2.VaporPressure.set_user_methods('LEE_KESLER_PSAT')
>>> N2.Psat
134987.76815364443
For memory reduction, these objects are shared by all chemicals which are the same; new instances will use the
same specified methods.
>>> N2.VaporPressure.plot_T_dependent_property()
>>> N2.VolumeLiquid.plot_isotherm(T=77, Pmin=1E5, Pmax=1E7)
>>> N2.VolumeLiquid.plot_isobar(P=1E6, Tmin=66, Tmax=120)
>>> N2.VolumeLiquid.plot_TP_dependent_property(Tmin=60, Tmax=100, Pmin=1E5,
˓→Pmax=1E7)
Attributes
T [float] Temperature of the chemical, [K]
P [float] Pressure of the chemical, [Pa]
phase [str] Phase of the chemical; one of ‘s’, ‘l’, ‘g’, or ‘l/g’.
ID [str] User specified string by which the chemical’s CAS was looked up.
CAS [str] The CAS number of the chemical.
PubChem [int] PubChem Compound identifier (CID) of the chemical; all chemicals are
sourced from their database. Chemicals can be looked at online at https://pubchem.ncbi.
nlm.nih.gov.
MW [float] Molecular weight of the compound, [g/mol]
formula [str] Molecular formula of the compound.
atoms [dict] dictionary of counts of individual atoms, indexed by symbol with proper capital-
ization, [-]
similarity_variable [float] Similarity variable, see thermo.elements.
similarity_variable for the definition, [mol/g]
smiles [str] Simplified molecular-input line-entry system representation of the compound.
InChI [str] IUPAC International Chemical Identifier of the compound.
InChI_Key [str] 25-character hash of the compound’s InChI.
IUPAC_name [str] Preferred IUPAC name for a compound.
synonyms [list of strings] All synonyms for the compound found in PubChem, sorted by pop-
ularity.
Tm [float] Melting temperature [K]
Tb [float] Boiling temperature [K]
Tc [float] Critical temperature [K]
Pc [float] Critical pressure [Pa]
Vc [float] Critical volume [m^3/mol]
Zc [float] Critical compressibility [-]
rhoc [float] Critical density [kg/m^3]
rhocm [float] Critical molar density [mol/m^3]
20 Chapter 1. thermo
thermo Documentation, Release 0.1
22 Chapter 1. thermo
thermo Documentation, Release 0.1
Hvap_Tbm [float] Molar enthalpy of vaporization at the normal boiling point [J/mol]
Hvap_Tb [float] Mass enthalpy of vaporization at the normal boiling point [J/kg]
alpha Thermal diffusivity of the chemical at its current temperature, pressure, and phase in
units of [m^2/s].
alphag Thermal diffusivity of the gas phase of the chemical at its current temperature and
pressure, in units of [m^2/s].
alphal Thermal diffusivity of the liquid phase of the chemical at its current temperature and
pressure, in units of [m^2/s].
API API gravity of the liquid phase of the chemical, [degrees].
aromatic_rings Number of aromatic rings in a chemical, computed with RDKit from a
chemical’s SMILES.
atom_fractions Dictionary of atom:fractional occurence of the elements in a chemical.
Bvirial Second virial coefficient of the gas phase of the chemical at its current temperature
and pressure, in units of [mol/m^3].
charge Charge of a chemical, computed with RDKit from a chemical’s SMILES.
Cp Mass heat capacity of the chemical at its current phase and temperature, in units of [J/kg/K].
Cpg Gas-phase heat capacity of the chemical at its current temperature, in units of [J/kg/K].
Cpgm Gas-phase ideal gas heat capacity of the chemical at its current temperature, in units of
[J/mol/K].
Cpl Liquid-phase heat capacity of the chemical at its current temperature, in units of [J/kg/K].
Cplm Liquid-phase heat capacity of the chemical at its current temperature, in units of
[J/mol/K].
Cpm Molar heat capacity of the chemical at its current phase and temperature, in units of
[J/mol/K].
Cps Solid-phase heat capacity of the chemical at its current temperature, in units of [J/kg/K].
Cpsm Solid-phase heat capacity of the chemical at its current temperature, in units of [J/mol/K].
Cvg Gas-phase ideal-gas contant-volume heat capacity of the chemical at its current tempera-
ture, in units of [J/kg/K].
Cvgm Gas-phase ideal-gas contant-volume heat capacity of the chemical at its current temper-
ature, in units of [J/mol/K].
eos Equation of state object held by the chemical; used to calculate excess thermodynamic
quantities, and also provides a vapor pressure curve, enthalpy of vaporization curve, fugac-
ity, thermodynamic partial derivatives, and more; see thermo.eos for a full listing.
Hill Hill formula of a compound.
Hvap Enthalpy of vaporization of the chemical at its current temperature, in units of [J/kg].
Hvapm Enthalpy of vaporization of the chemical at its current temperature, in units of [J/mol].
isentropic_exponent Gas-phase ideal-gas isentropic exponent of the chemical at its cur-
rent temperature, [dimensionless].
isobaric_expansion Isobaric (constant-pressure) expansion of the chemical at its current
phase and temperature, in units of [1/K].
24 Chapter 1. thermo
thermo Documentation, Release 0.1
Vms Solid-phase molar volume of the chemical at its current temperature, in units of [mol/m^3].
Z Compressibility factor of the chemical at its current phase and temperature and pressure,
[dimensionless].
Zg Compressibility factor of the chemical in the gas phase at the current temperature and pres-
sure, [dimensionless].
Zl Compressibility factor of the chemical in the liquid phase at the current temperature and
pressure, [dimensionless].
Zs Compressibility factor of the chemical in the solid phase at the current temperature and
pressure, [dimensionless].
1.1.1.3.2 Methods
Reynolds([V, D])
draw_2d([width, height, Hs]) Interface for drawing a 2D image of the molecule.
draw_3d([width, height, style, Hs]) Interface for drawing an interactive 3D view of the
molecule.
Bond
Capillary
Grashof
Jakob
Peclet_heat
Tsat
Weber
calc_H
calc_H_excess
calc_S
calc_S_excess
calculate
calculate_PH
calculate_PS
calculate_TH
calculate_TS
set_TP_sources
set_constant_sources
set_constants
set_eos
set_ref
set_thermo
A
Helmholtz energy of the chemical at its current temperature and pressure, in units of [J/kg].
This property requires that thermo.chemical.set_thermo ran successfully to be accurate. It also
depends on the molar volume of the chemical at its current conditions.
API
API gravity of the liquid phase of the chemical, [degrees]. The reference condition is water at 15.6 °C (60
°F) and 1 atm (rho=999.016 kg/m^3, standardized).
26 Chapter 1. thermo
thermo Documentation, Release 0.1
1.1.1.3.3 Examples
>>> Chemical('water').API
9.999752435378895
Am
Helmholtz energy of the chemical at its current temperature and pressure, in units of [J/mol].
This property requires that thermo.chemical.set_thermo ran successfully to be accurate. It also
depends on the molar volume of the chemical at its current conditions.
Bond(L=None)
Bvirial
Second virial coefficient of the gas phase of the chemical at its current temperature and pressure, in units
of [mol/m^3].
This property uses the object-oriented interface thermo.volume.VolumeGas, converting its result
with thermo.utils.B_from_Z.
1.1.1.3.4 Examples
>>> Chemical('water').Bvirial
-0.0009596286322838357
Capillary(V=None)
Cp
Mass heat capacity of the chemical at its current phase and temperature, in units of [J/kg/K].
Utilizes the object oriented interfaces thermo.heat_capacity.HeatCapacitySolid,
thermo.heat_capacity.HeatCapacityLiquid, and thermo.heat_capacity.
HeatCapacityGas to perform the actual calculation of each property. Note that those interfaces
provide output in molar units (J/mol/K).
1.1.1.3.5 Examples
>>> w = Chemical('water')
>>> w.Cp, w.phase
(4180.597021827336, 'l')
>>> Chemical('palladium').Cp
234.26767209171211
Cpg
Gas-phase heat capacity of the chemical at its current temperature, in units of [J/kg/K]. For calculation
of this property at other temperatures, or specifying manually the method used to calculate it, and more
- see the object oriented interface thermo.heat_capacity.HeatCapacityGas; each Chemical
instance creates one to actually perform the calculations. Note that that interface provides output in molar
units.
1.1.1.3.6 Examples
Cpgm
Gas-phase ideal gas heat capacity of the chemical at its current temperature, in units of [J/mol/K]. For
calculation of this property at other temperatures, or specifying manually the method used to calculate it,
and more - see the object oriented interface thermo.heat_capacity.HeatCapacityGas; each
Chemical instance creates one to actually perform the calculations.
1.1.1.3.7 Examples
>>> Chemical('water').Cpgm
33.583577868850675
>>> Chemical('water').HeatCapacityGas.T_dependent_property(320)
33.67865044005934
>>> Chemical('water').HeatCapacityGas.T_dependent_property_integral(300, 320)
672.6480417835064
Cpl
Liquid-phase heat capacity of the chemical at its current temperature, in units of [J/kg/K]. For calculation of
this property at other temperatures, or specifying manually the method used to calculate it, and more - see
the object oriented interface thermo.heat_capacity.HeatCapacityLiquid; each Chemical
instance creates one to actually perform the calculations. Note that that interface provides output in molar
units.
1.1.1.3.8 Examples
Ideal entropy change of water from 280 K to 340 K, output converted back to mass-based units of J/kg/K.
Cplm
Liquid-phase heat capacity of the chemical at its current temperature, in units of [J/mol/K]. For calcula-
tion of this property at other temperatures, or specifying manually the method used to calculate it, and
more - see the object oriented interface thermo.heat_capacity.HeatCapacityLiquid; each
Chemical instance creates one to actually perform the calculations.
1.1.1.3.9 Notes
Some methods give heat capacity along the saturation line, some at 1 atm but only up to the normal boiling
point, and some give heat capacity at 1 atm up to the normal boiling point and then along the saturation
line. Real-liquid heat capacity is pressure dependent, but this interface is not.
28 Chapter 1. thermo
thermo Documentation, Release 0.1
1.1.1.3.10 Examples
>>> Chemical('water').Cplm
75.31462591538556
>>> Chemical('water').HeatCapacityLiquid.T_dependent_property(320)
75.2591744360631
>>> Chemical('water').HeatCapacityLiquid.T_dependent_property_integral(300,
˓→320)
1505.0619005000553
Cpm
Molar heat capacity of the chemical at its current phase and temperature, in units of [J/mol/K].
Utilizes the object oriented interfaces thermo.heat_capacity.HeatCapacitySolid,
thermo.heat_capacity.HeatCapacityLiquid, and thermo.heat_capacity.
HeatCapacityGas to perform the actual calculation of each property.
1.1.1.3.11 Examples
>>> Chemical('cubane').Cpm
137.05489206785944
>>> Chemical('ethylbenzene', T=550, P=3E6).Cpm
294.18449553310046
Cps
Solid-phase heat capacity of the chemical at its current temperature, in units of [J/kg/K]. For calculation
of this property at other temperatures, or specifying manually the method used to calculate it, and more -
see the object oriented interface thermo.heat_capacity.HeatCapacitySolid; each Chemical
instance creates one to actually perform the calculations. Note that that interface provides output in molar
units.
1.1.1.3.12 Examples
Cpsm
Solid-phase heat capacity of the chemical at its current temperature, in units of [J/mol/K]. For calculation
of this property at other temperatures, or specifying manually the method used to calculate it, and more -
see the object oriented interface thermo.heat_capacity.HeatCapacitySolid; each Chemical
instance creates one to actually perform the calculations.
1.1.1.3.13 Examples
>>> Chemical('palladium').Cpsm
24.930765664000003
>>> Chemical('palladium').HeatCapacitySolid.T_dependent_property(320)
25.098979200000002
>>> Chemical('palladium').HeatCapacitySolid.all_methods
set(["Perry's Table 2-151", 'CRC Standard Thermodynamic Properties of
˓→Chemical Substances', 'Lastovka, Fulem, Becerra and Shaw (2008)'])
Cvg
Gas-phase ideal-gas contant-volume heat capacity of the chemical at its current temperature, in units of
[J/kg/K]. Subtracts R from the ideal-gas heat capacity; does not include pressure-compensation from an
equation of state.
1.1.1.3.14 Examples
Cvgm
Gas-phase ideal-gas contant-volume heat capacity of the chemical at its current temperature, in units of
[J/mol/K]. Subtracts R from the ideal-gas heat capacity; does not include pressure-compensation from an
equation of state.
1.1.1.3.15 Examples
Grashof(Tw=None, L=None)
Hill
Hill formula of a compound. For a description of the Hill system, see thermo.elements.
atoms_to_Hill.
1.1.1.3.16 Examples
Hvap
Enthalpy of vaporization of the chemical at its current temperature, in units of [J/kg].
This property uses the object-oriented interface thermo.phase_change.
EnthalpyVaporization, but converts its results from molar to mass units.
1.1.1.3.17 Examples
30 Chapter 1. thermo
thermo Documentation, Release 0.1
Hvapm
Enthalpy of vaporization of the chemical at its current temperature, in units of [J/mol]. For calculation of
this property at other temperatures, or specifying manually the method used to calculate it, and more - see
the object oriented interface thermo.phase_change.EnthalpyVaporization; each Chemical
instance creates one to actually perform the calculations.
1.1.1.3.18 Examples
JT
Joule Thomson coefficient of the chemical at its current phase and temperature, in units of [K/Pa].
(︂ )︂ [︂ (︂ )︂ ]︂
𝜕𝑇 1 𝜕𝑉 𝑉
𝜇𝐽𝑇 = = 𝑇 −𝑉 = (𝛽𝑇 − 1)
𝜕𝑃 𝐻 𝐶𝑝 𝜕𝑇 𝑃 𝐶𝑝
1.1.1.3.19 Examples
>>> Chemical('water').JT
-2.2150394958666407e-07
JTg
Joule Thomson coefficient of the chemical in the gas phase at its current temperature and pressure, in units
of [K/Pa].
(︂ )︂ [︂ (︂ )︂ ]︂
𝜕𝑇 1 𝜕𝑉 𝑉
𝜇𝐽𝑇 = = 𝑇 −𝑉 = (𝛽𝑇 − 1)
𝜕𝑃 𝐻 𝐶𝑝 𝜕𝑇 𝑃 𝐶𝑝
Utilizes the temperature-derivative method of thermo.volume.VolumeGas and the temperature-
dependent heat capacity method thermo.heat_capacity.HeatCapacityGas to obtain the prop-
erties required for the actual calculation.
1.1.1.3.20 Examples
JTl
Joule Thomson coefficient of the chemical in the liquid phase at its current temperature and pressure, in
units of [K/Pa].
(︂ )︂ [︂ (︂ )︂ ]︂
𝜕𝑇 1 𝜕𝑉 𝑉
𝜇𝐽𝑇 = = 𝑇 −𝑉 = (𝛽𝑇 − 1)
𝜕𝑃 𝐻 𝐶𝑝 𝜕𝑇 𝑃 𝐶𝑝
1.1.1.3.21 Examples
Jakob(Tw=None)
PSRK_groups
Dictionary of PSRK subgroup: count groups for the PSRK subgroups, as determined by DDBST’s online
service.
1.1.1.3.22 Examples
>>> pprint(Chemical('Cumene').PSRK_groups)
{1: 2, 9: 5, 13: 1}
Parachor
Parachor of the chemical at its current temperature and pressure, in units of [N^0.25*m^2.75/mol].
𝜎 0.25 𝑀 𝑊
𝑃 =
𝜌𝐿 − 𝜌𝑉
Calculated based on surface tension, density of the liquid and gas phase, and molecular weight. For uses
of this property, see thermo.utils.Parachor.
1.1.1.3.23 Examples
>>> Chemical('octane').Parachor
6.291693072841486e-05
Peclet_heat(V=None, D=None)
Poynting
Poynting correction factor [dimensionless] for use in phase equilibria methods based on activity coeffi-
cients or other reference states. Performs the shortcut calculation assuming molar volume is independent
of pressure.
𝑉𝑙 (𝑃 − 𝑃 𝑠𝑎𝑡 )
[︂ ]︂
Poy = exp
𝑅𝑇
The full calculation normally returns values very close to the approximate ones. This property is defined
in terms of pure components only.
1.1.1.3.24 Notes
32 Chapter 1. thermo
thermo Documentation, Release 0.1
1.1.1.3.25 Examples
Pr
Prandtl number of the chemical at its current temperature, pressure, and phase; [dimensionless].
𝐶𝑝 𝜇
𝑃𝑟 =
𝑘
1.1.1.3.26 Examples
>>> Chemical('acetone').Pr
4.450368847076066
Prg
Prandtl number of the gas phase of the chemical at its current temperature and pressure, [dimensionless].
𝐶𝑝 𝜇
𝑃𝑟 =
𝑘
Utilizes the temperature and pressure dependent object oriented interfaces thermo.viscosity.
ViscosityGas, thermo.thermal_conductivity.ThermalConductivityGas, and
thermo.heat_capacity.HeatCapacityGas to calculate the actual properties.
1.1.1.3.27 Examples
>>> Chemical('NH3').Prg
0.847263731933008
Prl
Prandtl number of the liquid phase of the chemical at its current temperature and pressure, [dimensionless].
𝐶𝑝 𝜇
𝑃𝑟 =
𝑘
Utilizes the temperature and pressure dependent object oriented interfaces thermo.viscosity.
ViscosityLiquid, thermo.thermal_conductivity.ThermalConductivityLiquid,
and thermo.heat_capacity.HeatCapacityLiquid to calculate the actual properties.
1.1.1.3.28 Examples
Psat
Vapor pressure of the chemical at its current temperature, in units of [Pa]. For calculation of this property
at other temperatures, or specifying manually the method used to calculate it, and more - see the object ori-
ented interface thermo.vapor_pressure.VaporPressure; each Chemical instance creates one
to actually perform the calculations.
1.1.1.3.29 Examples
˓→PERRY_8E', 'Edalat'])
R_specific
Specific gas constant, in units of [J/kg/K].
1.1.1.3.30 Examples
>>> Chemical('water').R_specific
461.52265188218
Reynolds(V=None, D=None)
SG
Specific gravity of the chemical, [dimensionless].
For gas-phase conditions, this is calculated at 15.6 °C (60 °F) and 1 atm for the chemical and the reference
fluid, air. For liquid and solid phase conditions, this is calculated based on a reference fluid of water at 4°C
at 1 atm, but the with the liquid or solid chemical’s density at the currently specified conditions.
1.1.1.3.31 Examples
>>> Chemical('MTBE').SG
0.7428160596603596
SGg
Specific gravity of the gas phase of the chemical, [dimensionless]. The reference condition is air at 15.6
°C (60 °F) and 1 atm (rho=1.223 kg/m^3). The definition for gases uses the compressibility factor of the
reference gas and the chemical both at the reference conditions, not the conditions of the chemical.
1.1.1.3.32 Examples
>>> Chemical('argon').SGg
1.3795835970877504
34 Chapter 1. thermo
thermo Documentation, Release 0.1
SGl
Specific gravity of the liquid phase of the chemical at the specified temperature and pressure, [dimension-
less]. The reference condition is water at 4 °C and 1 atm (rho=999.017 kg/m^3). For liquids, SG is defined
that the reference chemical’s T and P are fixed, but the chemical itself varies with the specified T and P.
1.1.1.3.33 Examples
SGs
Specific gravity of the solid phase of the chemical at the specified temperature and pressure, [dimension-
less]. The reference condition is water at 4 °C and 1 atm (rho=999.017 kg/m^3). The SG varries with
temperature and pressure but only very slightly.
1.1.1.3.34 Examples
>>> Chemical('iron').SGs
7.87774317235069
Tsat(P)
U
Internal energy of the chemical at its current temperature and pressure, in units of [J/kg].
This property requires that thermo.chemical.set_thermo ran successfully to be accurate. It also
depends on the molar volume of the chemical at its current conditions.
UNIFAC_Dortmund_groups
Dictionary of Dortmund UNIFAC subgroup: count groups for the Dortmund UNIFAC subgroups, as de-
termined by DDBST’s online service.
1.1.1.3.35 Examples
>>> pprint(Chemical('Cumene').UNIFAC_Dortmund_groups)
{1: 2, 9: 5, 13: 1}
UNIFAC_Q
UNIFAC Q (normalized Van der Waals area), dimensionless. Used in the UNIFAC model.
1.1.1.3.36 Examples
>>> Chemical('decane').UNIFAC_Q
6.016
UNIFAC_R
UNIFAC R (normalized Van der Waals volume), dimensionless. Used in the UNIFAC model.
1.1.1.3.37 Examples
>>> Chemical('benzene').UNIFAC_R
3.1878
UNIFAC_groups
Dictionary of UNIFAC subgroup: count groups for the original UNIFAC subgroups, as determined by
DDBST’s online service.
1.1.1.3.38 Examples
>>> pprint(Chemical('Cumene').UNIFAC_groups)
{1: 2, 9: 5, 13: 1}
Um
Internal energy of the chemical at its current temperature and pressure, in units of [J/mol].
This property requires that thermo.chemical.set_thermo ran successfully to be accurate. It also
depends on the molar volume of the chemical at its current conditions.
Van_der_Waals_area
Unnormalized Van der Waals area, in units of [m^2/mol].
1.1.1.3.39 Examples
>>> Chemical('hexane').Van_der_Waals_area
964000.0
Van_der_Waals_volume
Unnormalized Van der Waals volume, in units of [m^3/mol].
1.1.1.3.40 Examples
>>> Chemical('hexane').Van_der_Waals_volume
6.8261966e-05
Vm
Molar volume of the chemical at its current phase and temperature and pressure, in units of [m^3/mol].
Utilizes the object oriented interfaces thermo.volume.VolumeSolid, thermo.volume.
VolumeLiquid, and thermo.volume.VolumeGas to perform the actual calculation of each prop-
erty.
1.1.1.3.41 Examples
Vmg
Gas-phase molar volume of the chemical at its current temperature and pressure, in units of [mol/m^3]. For
36 Chapter 1. thermo
thermo Documentation, Release 0.1
calculation of this property at other temperatures or pressures, or specifying manually the method used to
calculate it, and more - see the object oriented interface thermo.volume.VolumeGas; each Chemical
instance creates one to actually perform the calculations.
1.1.1.3.42 Examples
Estimate the molar volume of the core of the sun, at 15 million K and 26.5 PetaPascals, assuming pure
helium (actually 68% helium):
Vml
Liquid-phase molar volume of the chemical at its current temperature and pressure, in units of [mol/m^3].
For calculation of this property at other temperatures or pressures, or specifying manually the method used
to calculate it, and more - see the object oriented interface thermo.volume.VolumeLiquid; each
Chemical instance creates one to actually perform the calculations.
1.1.1.3.43 Examples
Vms
Solid-phase molar volume of the chemical at its current temperature, in units of [mol/m^3]. For calculation
of this property at other temperatures, or specifying manually the method used to calculate it, and more
- see the object oriented interface thermo.volume.VolumeSolid; each Chemical instance creates
one to actually perform the calculations.
1.1.1.3.44 Examples
>>> Chemical('iron').Vms
7.09593392630242e-06
Weber(V=None, D=None)
Z
Compressibility factor of the chemical at its current phase and temperature and pressure, [dimensionless].
1.1.1.3.45 Examples
Zg
Compressibility factor of the chemical in the gas phase at the current temperature and pressure, [dimen-
sionless].
Utilizes the object oriented interface and thermo.volume.VolumeGas to perform the actual calcula-
tion of molar volume.
1.1.1.3.46 Examples
Zl
Compressibility factor of the chemical in the liquid phase at the current temperature and pressure, [dimen-
sionless].
Utilizes the object oriented interface and thermo.volume.VolumeLiquid to perform the actual cal-
culation of molar volume.
1.1.1.3.47 Examples
>>> Chemical('water').Zl
0.0007385375470263454
Zs
Compressibility factor of the chemical in the solid phase at the current temperature and pressure, [dimen-
sionless].
Utilizes the object oriented interface and thermo.volume.VolumeSolid to perform the actual cal-
culation of molar volume.
1.1.1.3.48 Examples
>>> Chemical('palladium').Z
0.00036248477437931853
absolute_permittivity
Absolute permittivity of the chemical at its current temperature, in units of [farad/meter]. Those units are
equivalent to ampere^2*second^4/kg/m^3.
1.1.1.3.49 Examples
alpha
Thermal diffusivity of the chemical at its current temperature, pressure, and phase in units of [m^2/s].
𝑘
𝛼=
𝜌𝐶𝑝
1.1.1.3.50 Examples
>>> Chemical('furfural').alpha
7.672866198927953e-08
38 Chapter 1. thermo
thermo Documentation, Release 0.1
alphag
Thermal diffusivity of the gas phase of the chemical at its current temperature and pressure, in units of
[m^2/s].
𝑘
𝛼=
𝜌𝐶𝑝
Utilizes the temperature and pressure dependent object oriented interfaces thermo.volume.
VolumeGas, thermo.thermal_conductivity.ThermalConductivityGas, and thermo.
heat_capacity.HeatCapacityGas to calculate the actual properties.
1.1.1.3.51 Examples
>>> Chemical('ammonia').alphag
1.6931865425158556e-05
alphal
Thermal diffusivity of the liquid phase of the chemical at its current temperature and pressure, in units of
[m^2/s].
𝑘
𝛼=
𝜌𝐶𝑝
Utilizes the temperature and pressure dependent object oriented interfaces thermo.volume.
VolumeLiquid, thermo.thermal_conductivity.ThermalConductivityLiquid, and
thermo.heat_capacity.HeatCapacityLiquid to calculate the actual properties.
1.1.1.3.52 Examples
aromatic_rings
Number of aromatic rings in a chemical, computed with RDKit from a chemical’s SMILES. If RDKit is
not available, holds None.
1.1.1.3.53 Examples
>>> Chemical('Paclitaxel').aromatic_rings
3
atom_fractions
Dictionary of atom:fractional occurence of the elements in a chemical. Useful when performing element
balances. For mass-fraction occurences, see mass_fractions.
1.1.1.3.54 Examples
calc_H(T, P)
calc_H_excess(T, P)
calc_S(T, P)
calc_S_excess(T, P)
calculate(T=None, P=None)
calculate_PH(P, H)
calculate_PS(P, S)
calculate_TH(T, H)
calculate_TS(T, S)
charge
Charge of a chemical, computed with RDKit from a chemical’s SMILES. If RDKit is not available, holds
None.
1.1.1.3.55 Examples
1.1.1.3.56 Examples
>>> Chemical('decane').draw_2d()
1.1.1.3.57 Examples
>>> Chemical('cubane').draw_3d()
40 Chapter 1. thermo
thermo Documentation, Release 0.1
economic_status
Dictionary of economic status indicators for the chemical.
1.1.1.3.58 Examples
>>> pprint(Chemical('benzene').economic_status)
["US public: {'Manufactured': 6165232.1, 'Imported': 463146.474, 'Exported':
˓→271908.252}",
eos
Equation of state object held by the chemical; used to calculate excess thermodynamic quantities, and
also provides a vapor pressure curve, enthalpy of vaporization curve, fugacity, thermodynamic partial
derivatives, and more; see thermo.eos for a full listing.
1.1.1.3.59 Examples
>>> Chemical('methane').eos.V_g
0.024410195021818258
isentropic_exponent
Gas-phase ideal-gas isentropic exponent of the chemical at its current temperature, [dimensionless]. Does
not include pressure-compensation from an equation of state.
1.1.1.3.60 Examples
>>> Chemical('hydrogen').isentropic_exponent
1.405237786321222
isobaric_expansion
Isobaric (constant-pressure) expansion of the chemical at its current phase and temperature, in units of
[1/K].
(︂ )︂
1 𝜕𝑉
𝛽=
𝑉 𝜕𝑇 𝑃
1.1.1.3.61 Examples
Radical change in value just above and below the critical temperature of water:
isobaric_expansion_g
Isobaric (constant-pressure) expansion of the gas phase of the chemical at its current temperature and
pressure, in units of [1/K].
(︂ )︂
1 𝜕𝑉
𝛽=
𝑉 𝜕𝑇 𝑃
1.1.1.3.62 Examples
isobaric_expansion_l
Isobaric (constant-pressure) expansion of the liquid phase of the chemical at its current temperature and
pressure, in units of [1/K].
(︂ )︂
1 𝜕𝑉
𝛽=
𝑉 𝜕𝑇 𝑃
1.1.1.3.63 Examples
k
Thermal conductivity of the chemical at its current phase, temperature, and pressure in units of [W/m/K].
Utilizes the object oriented interfaces thermo.thermal_conductivity.
ThermalConductivityLiquid and thermo.thermal_conductivity.
ThermalConductivityGas to perform the actual calculation of each property.
1.1.1.3.64 Examples
kg
Thermal conductivity of the chemical in the gas phase at its current temperature and pressure, in units of
[W/m/K].
For calculation of this property at other temperatures and pressures, or specifying manually the method
used to calculate it, and more - see the object oriented interface thermo.thermal_conductivity.
ThermalConductivityGas; each Chemical instance creates one to actually perform the calculations.
42 Chapter 1. thermo
thermo Documentation, Release 0.1
1.1.1.3.65 Examples
kl
Thermal conductivity of the chemical in the liquid phase at its current temperature and pressure, in units
of [W/m/K].
For calculation of this property at other temperatures and pressures, or specifying manually the method
used to calculate it, and more - see the object oriented interface thermo.thermal_conductivity.
ThermalConductivityLiquid; each Chemical instance creates one to actually perform the calcu-
lations.
1.1.1.3.66 Examples
legal_status
Dictionary of legal status indicators for the chemical.
1.1.1.3.67 Examples
>>> pprint(Chemical('benzene').legal_status)
{'DSL': 'LISTED',
'EINECS': 'LISTED',
'NLP': 'UNLISTED',
'SPIN': 'LISTED',
'TSCA': 'LISTED'}
mass_fractions
Dictionary of atom:mass-weighted fractional occurence of elements. Useful when performing mass bal-
ances. For atom-fraction occurences, see atom_fractions.
1.1.1.3.68 Examples
>>> Chemical('water').mass_fractions
{'H': 0.11189834407236524, 'O': 0.8881016559276347}
mu
Viscosity of the chemical at its current phase, temperature, and pressure in units of [Pa*s].
Utilizes the object oriented interfaces thermo.viscosity.ViscosityLiquid and thermo.
viscosity.ViscosityGas to perform the actual calculation of each property.
1.1.1.3.69 Examples
mug
Viscosity of the chemical in the gas phase at its current temperature and pressure, in units of [Pa*s].
For calculation of this property at other temperatures and pressures, or specifying manually the
method used to calculate it, and more - see the object oriented interface thermo.viscosity.
ViscosityGas; each Chemical instance creates one to actually perform the calculations.
1.1.1.3.70 Examples
mul
Viscosity of the chemical in the liquid phase at its current temperature and pressure, in units of [Pa*s].
For calculation of this property at other temperatures and pressures, or specifying manually the
method used to calculate it, and more - see the object oriented interface thermo.viscosity.
ViscosityLiquid; each Chemical instance creates one to actually perform the calculations.
1.1.1.3.71 Examples
nu
Kinematic viscosity of the the chemical at its current temperature, pressure, and phase in units of [m^2/s].
𝜇
𝜈=
𝜌
1.1.1.3.72 Examples
>>> Chemical('argon').nu
1.3846930410865003e-05
nug
Kinematic viscosity of the gas phase of the chemical at its current temperature and pressure, in units of
[m^2/s].
𝜇
𝜈=
𝜌
Utilizes the temperature and pressure dependent object oriented interfaces thermo.volume.
VolumeGas, thermo.viscosity.ViscosityGas to calculate the actual properties.
44 Chapter 1. thermo
thermo Documentation, Release 0.1
1.1.1.3.73 Examples
nul
Kinematic viscosity of the liquid phase of the chemical at its current temperature and pressure, in units of
[m^2/s].
𝜇
𝜈=
𝜌
Utilizes the temperature and pressure dependent object oriented interfaces thermo.volume.
VolumeLiquid, thermo.viscosity.ViscosityLiquid to calculate the actual properties.
1.1.1.3.74 Examples
permittivity
Relative permittivity (dielectric constant) of the chemical at its current temperature, [dimensionless].
For calculation of this property at other temperatures, or specifying manually the method used to calcu-
late it, and more - see the object oriented interface thermo.permittivity.Permittivity; each
Chemical instance creates one to actually perform the calculations.
1.1.1.3.75 Examples
rdkitmol
RDKit object of the chemical, without hydrogen. If RDKit is not available, holds None.
For examples of what can be done with RDKit, see their website.
rdkitmol_Hs
RDKit object of the chemical, with hydrogen. If RDKit is not available, holds None.
For examples of what can be done with RDKit, see their website.
rho
Mass density of the chemical at its current phase and temperature and pressure, in units of [kg/m^3].
Utilizes the object oriented interfaces thermo.volume.VolumeSolid, thermo.volume.
VolumeLiquid, and thermo.volume.VolumeGas to perform the actual calculation of each prop-
erty. Note that those interfaces provide output in units of m^3/mol.
1.1.1.3.76 Examples
rhog
Gas-phase mass density of the chemical at its current temperature and pressure, in units of [kg/m^3]. For
calculation of this property at other temperatures or pressures, or specifying manually the method used to
calculate it, and more - see the object oriented interface thermo.volume.VolumeGas; each Chemical
instance creates one to actually perform the calculations. Note that that interface provides output in molar
units.
1.1.1.3.77 Examples
Estimate the density of the core of the sun, at 15 million K and 26.5 PetaPascals, assuming pure helium
(actually 68% helium):
Compared to a result on Wikipedia of 150000 kg/m^3, the fundamental equation of state performs poorly.
The ideal-gas law performs somewhat better, but vastly overshoots the density prediction.
rhogm
Molar density of the chemical in the gas phase at the current temperature and pressure, in units of
[mol/m^3].
Utilizes the object oriented interface and thermo.volume.VolumeGas to perform the actual calcula-
tion of molar volume.
1.1.1.3.78 Examples
rhol
Liquid-phase mass density of the chemical at its current temperature and pressure, in units of [kg/m^3].
For calculation of this property at other temperatures and pressures, or specifying manually the method
used to calculate it, and more - see the object oriented interface thermo.volume.VolumeLiquid;
each Chemical instance creates one to actually perform the calculations. Note that that interface provides
output in molar units.
1.1.1.3.79 Examples
rholm
Molar density of the chemical in the liquid phase at the current temperature and pressure, in units of
[mol/m^3].
Utilizes the object oriented interface and thermo.volume.VolumeLiquid to perform the actual cal-
culation of molar volume.
46 Chapter 1. thermo
thermo Documentation, Release 0.1
1.1.1.3.80 Examples
rhom
Molar density of the chemical at its current phase and temperature and pressure, in units of [mol/m^3].
Utilizes the object oriented interfaces thermo.volume.VolumeSolid, thermo.volume.
VolumeLiquid, and thermo.volume.VolumeGas to perform the actual calculation of each prop-
erty. Note that those interfaces provide output in units of m^3/mol.
1.1.1.3.81 Examples
>>> Chemical('1-hexanol').rhom
7983.414573003429
rhos
Solid-phase mass density of the chemical at its current temperature, in units of [kg/m^3]. For calculation
of this property at other temperatures, or specifying manually the method used to calculate it, and more
- see the object oriented interface thermo.volume.VolumeSolid; each Chemical instance creates
one to actually perform the calculations. Note that that interface provides output in molar units.
1.1.1.3.82 Examples
>>> Chemical('iron').rhos
7869.999999999994
rhosm
Molar density of the chemical in the solid phase at the current temperature and pressure, in units of
[mol/m^3].
Utilizes the object oriented interface and thermo.volume.VolumeSolid to perform the actual cal-
culation of molar volume.
1.1.1.3.83 Examples
>>> Chemical('palladium').rhosm
112760.75925577903
rings
Number of rings in a chemical, computed with RDKit from a chemical’s SMILES. If RDKit is not avail-
able, holds None.
1.1.1.3.84 Examples
>>> Chemical('Paclitaxel').rings
7
set_TP_sources()
set_constant_sources()
set_constants()
set_eos(T, P, eos=<class ’thermo.eos.PR’>)
set_ref(T_ref=298.15, P_ref=101325, phase_ref=’calc’, H_ref=0, S_ref=0)
set_thermo()
sigma
Surface tension of the chemical at its current temperature, in units of [N/m].
For calculation of this property at other temperatures, or specifying manually the method used to calcu-
late it, and more - see the object oriented interface thermo.interface.SurfaceTension; each
Chemical instance creates one to actually perform the calculations.
1.1.1.3.85 Examples
solubility_parameter
Solubility parameter of the chemical at its current temperature and pressure, in units of [Pa^0.5].
√︂
∆𝐻𝑣𝑎𝑝 − 𝑅𝑇
𝛿=
𝑉𝑚
Calculated based on enthalpy of vaporization and molar volume. Normally calculated at STP. For uses of
this property, see thermo.solubility.solubility_parameter.
1.1.1.3.86 Examples
>>> Chemical('NH3').solubility_parameter
24766.329043856073
48 Chapter 1. thermo
thermo Documentation, Release 0.1
1.1.1.4.1 Notes
1.1.1.4.2 Examples
1.1.1.5.1 Notes
A total of seven sources are available for this function. They are:
• ‘IUPAC Organic Critical Properties’, a series of critically evaluated experimental datum for organic com-
pounds in [1], [2], [3], [4], [5], [6], [7], [8], [9], [10], [11], and [12].
• ‘Matthews Inorganic Critical Properties’, a series of critically evaluated data for inorganic compounds in
[13].
• ‘CRC Organic Critical Properties’, a compillation of critically evaluated data by the TRC as published in
[14].
• ‘PSRK Revision 4 Appendix’, a compillation of experimental and estimated data published in [15].
• ‘Passut Danner 1973 Critical Properties’, an older compillation of data published in [16]
• ‘Yaws Critical Properties’, a large compillation of data from a variety of sources; no data points are sourced
in the work of [17].
• Critical Surface’, an estimation method using a simple quadratic method for estimating Tc from Pc and
Vc. This is ignored and not returned as a method by default, as no compounds have values of Pc and Vc
but not Tc currently.
1.1.1.5.2 References
[1], [2], [3], [4], [5], [6], [7], [8], [9], [10], [11], [12], [13], [14], [15], [16], [17]
1.1.1.5.3 Examples
>>> Tc(CASRN='64-17-5')
514.0
50 Chapter 1. thermo
thermo Documentation, Release 0.1
IgnoreMethods [list, optional] A list of methods to ignore in obtaining the full list of methods,
useful for for performance reasons and ignoring inaccurate methods
1.1.1.5.4 Notes
A total of seven sources are available for this function. They are:
• ‘IUPAC’, a series of critically evaluated experimental datum for organic compounds in [1], [2], [3], [4],
[5], [6], [7], [8], [9], [10], [11], and [12].
• ‘MATTHEWS’, a series of critically evaluated data for inorganic compounds in [13].
• ‘CRC’, a compillation of critically evaluated data by the TRC as published in [14].
• ‘PSRK’, a compillation of experimental and estimated data published in [15].
• ‘PD’, an older compillation of data published in [16]
• ‘YAWS’, a large compillation of data from a variety of sources; no data points are sourced in the work of
[17].
• SURF’, an estimation method using a simple quadratic method for estimating Pc from Tc and Vc. This is
ignored and not returned as a method by default.
1.1.1.5.5 References
[1], [2], [3], [4], [5], [6], [7], [8], [9], [10], [11], [12], [13], [14], [15], [16], [17]
1.1.1.5.6 Examples
>>> Pc(CASRN='64-17-5')
6137000.0
IgnoreMethods [list, optional] A list of methods to ignore in obtaining the full list of methods,
useful for for performance reasons and ignoring inaccurate methods
1.1.1.5.7 Notes
A total of six sources are available for this function. They are:
• ‘IUPAC’, a series of critically evaluated experimental datum for organic compounds in [1], [2], [3], [4],
[5], [6], [7], [8], [9], [10], [11], and [12].
• ‘MATTHEWS’, a series of critically evaluated data for inorganic compounds in [13].
• ‘CRC’, a compillation of critically evaluated data by the TRC as published in [14].
• ‘PSRK’, a compillation of experimental and estimated data published in [15].
• ‘YAWS’, a large compillation of data from a variety of sources; no data points are sourced in the work of
[16].
• ‘SURF’, an estimation method using a simple quadratic method for estimating Pc from Tc and Vc. This is
ignored and not returned as a method by default
1.1.1.5.8 References
[1], [2], [3], [4], [5], [6], [7], [8], [9], [10], [11], [12], [13], [14], [15], [16]
1.1.1.5.9 Examples
>>> Vc(CASRN='64-17-5')
0.000168
52 Chapter 1. thermo
thermo Documentation, Release 0.1
IgnoreMethods [list, optional] A list of methods to ignore in obtaining the full list of methods,
useful for for performance reasons and ignoring inaccurate methods
1.1.1.5.10 Notes
A total of five sources are available for this function. They are:
• ‘IUPAC’, a series of critically evaluated experimental datum for organic compounds in [1], [2], [3], [4],
[5], [6], [7], [8], [9], [10], [11], and [12].
• ‘MATTHEWS’, a series of critically evaluated data for inorganic compounds in [13].
• ‘CRC’, a compillation of critically evaluated data by the TRC as published in [14].
• ‘PSRK’, a compillation of experimental and estimated data published in [15].
• ‘YAWS’, a large compillation of data from a variety of sources; no data points are sourced in the work of
[16].
1.1.1.5.11 References
[1], [2], [3], [4], [5], [6], [7], [8], [9], [10], [11], [12], [13], [14], [15], [16]
1.1.1.5.12 Examples
>>> Zc(CASRN='64-17-5')
0.24100000000000002
𝑟𝑎 = 𝑑𝑎 /2
∑︀
(𝑛𝑖 𝑟𝑖 )
𝑑𝑎 = 2 𝑖
𝑛𝑎
In the above equations, 𝑛𝑖 is the number of atoms of species i in the molecule, 𝑟𝑖 is the covalent atomic radius
of the atom, and 𝑛𝑎 is the total number of atoms in the molecule.
Parameters
atoms [dict] Dictionary of atoms and their counts, [-]
coeff [float, optional] Coefficient used in the relationship, [m^2]
power [float, optional] Power applied to the relative atomic radius, [-]
covalent_radii [dict or indexable, optional] Object which can be indexed to atomic contrinbu-
tions (by symbol), [-]
Returns
Vc [float] Predicted critical volume of the chemical, [m^3/mol]
1.1.1.5.13 Notes
Using the thermo.elements.periodic_table covalent radii (from RDKit), the coefficient and power
should be 4.261206523632586 and 0.5597281770786228 respectively for best results.
1.1.1.5.14 References
[1], [2]
1.1.1.5.15 Examples
This is compared against the experimental value, 0.000624 (a 6.2% relative error)
Using custom fitted coefficients we can do a bit better:
The relative error is only 4.5% now. This is compared to an experimental uncertainty of 5.6%.
Evaluating 1321 critical volumes in the database, the average relative error is 5.0%; standard deviation 6.8%;
and worst value of 79% relative error for phosphorus.
thermo.critical.third_property(CASRN=None, T=False, P=False, V=False)
Function for calculating a critical property of a substance from its other two critical properties, but retrieving
the actual other critical values for convenient calculation. Calls functions Ihmels, Meissner, and Grigoras, each
of which use a general ‘Critical surface’ type of equation. Limited accuracy is expected due to very limited
theoretical backing.
Parameters
CASRN [string] The CAS number of the desired chemical
T [bool] Estimate critical temperature
P [bool] Estimate critical pressure
V [bool] Estimate critical volume
Returns
Tc, Pc or Vc [float] Critical property of fluid [K], [Pa], or [m^3/mol]
54 Chapter 1. thermo
thermo Documentation, Release 0.1
1.1.1.5.16 Notes
Avoids recursion only by eliminating the None and critical surface options for calculating each critical property.
So long as it never calls itself. Note that when used by Tc, Pc or Vc, this function results in said function calling
the other functions (to determine methods) and (with method specified)
1.1.1.5.17 Examples
1.1.1.5.18 Examples
Decamethyltetrasiloxane [141-62-8]
1.1.1.5.19 Notes
The prediction of Tc from Pc and Vc is not tested, as this is not necessary anywhere, but it is implemented.
Internal units are MPa, cm^3/mol, and K. A slight error occurs when Pa, cm^3/mol and K are used instead, on
the order of <0.2%. Their equation was also compared with 56 inorganic and elements. Devations of 20% for
<200K or >1000K points.
1.1.1.5.20 References
[1]
1.1.1.5.21 Examples
1.1.1.5.22 Notes
The prediction of Tc from Pc and Vc is not tested, as this is not necessary anywhere, but it is implemented.
Internal units are atm, cm^3/mol, and K. A slight error occurs when Pa, cm^3/mol and K are used instead, on
the order of <0.2%. This equation is less accurate than that of Ihmels, but surprisingly close. The author also
proposed means of estimated properties independently.
1.1.1.5.23 References
[1]
56 Chapter 1. thermo
thermo Documentation, Release 0.1
1.1.1.5.24 Examples
1.1.1.5.25 Notes
The prediction of Tc from Pc and Vc is not tested, as this is not necessary anywhere, but it is implemented.
Internal units are bar, cm^3/mol, and K. A slight error occurs when Pa, cm^3/mol and K are used instead, on
the order of <0.2%. This equation is less accurate than that of Ihmels, but surprisingly close. The author also
investigated an early QSPR model.
1.1.1.5.26 References
[1]
1.1.1.5.27 Examples
Parameters
1.1.1.5.28 Notes
1.1.1.5.29 References
[1]
1.1.1.5.30 Examples
Parameters
zs [array-like] Mole fractions of all components
Tcs [array-like] Critical temperatures of all components, [K]
Vcs [array-like] Critical volumes of all components, [m^3/mol]
58 Chapter 1. thermo
thermo Documentation, Release 0.1
1.1.1.5.31 Notes
1.1.1.5.32 References
[1], [2]
1.1.1.5.33 Examples
Parameters
zs [array-like] Mole fractions of all components
Tcs [array-like] Critical temperatures of all components, [K]
Aijs [array-like of shape zs by zs] Interaction parameters
Returns
Tcm [float] Critical temperatures of the mixture, [K]
1.1.1.5.34 Notes
All parameters, even if zero, must be given to this function. Giving 0s gives really bad results however.
1.1.1.5.35 References
[1], [2]
1.1.1.5.36 Examples
450.1839618758971
Parameters
zs [float] Mole fractions of all components
Tcs [float] Critical temperatures of all components, [K]
Aijs [matrix] Interaction parameters
Returns
Tcm [float] Critical temperatures of the mixture, [K]
1.1.1.5.37 Notes
The equation and original article has been reviewed. [1] has 75 binary systems, and additional multicomponent
mixture parameters. All parameters, even if zero, must be given to this function.
2rd example is from [2], for: butane/pentane/hexane 0.6449/0.2359/0.1192 mixture, exp: 450.22 K. Its result is
identical to that calculated in the article.
1.1.1.5.38 References
[1], [2]
1.1.1.5.39 Examples
60 Chapter 1. thermo
thermo Documentation, Release 0.1
Parameters
zs [float] Mole fractions of all components
Vcs [float] Critical volumes of all components, [m^3/mol]
nus [matrix] Interaction parameters, [cm^3/mol]
Returns
Vcm [float] Critical volume of the mixture, [m^3/mol]
1.1.1.5.40 Notes
All parameters, even if zero, must be given to this function. nu parameters are in cm^3/mol, but are converted
to m^3/mol inside the function
1.1.1.5.41 References
[1], [2]
1.1.1.5.42 Examples
0.00026620503424517445
Parameters
zs [float] Mole fractions of all components
Vcs [float] Critical volumes of all components, [m^3/mol]
Aijs [matrix] Interaction parameters, [cm^3/mol]
Returns
Vcm [float] Critical volume of the mixture, [m^3/mol]
1.1.1.5.43 Notes
The equation and original article has been reviewed. All parameters, even if zero, must be given to this function.
C = -2500
All parameters, even if zero, must be given to this function. nu parameters are in cm^3/mol, but are converted
to m^3/mol inside the function
1.1.1.5.44 References
[1], [2]
1.1.1.5.45 Examples
62 Chapter 1. thermo
thermo Documentation, Release 0.1
1.1.1.7.1 Notes
A total of three sources are available for this function. They are:
• ‘CCCBDB’, a series of critically evaluated data for compounds in [1], intended for use in predictive
modeling.
• ‘MULLER’, a collection of data in a group-contribution scheme in [2].
• ‘POLING’, in the appendix in [3].
This function returns dipole moment in units of Debye. This is actually a non-SI unit; to convert to SI, multiply
by 3.33564095198e-30 and its units will be in ampere*second^2 or equivalently and more commonly given,
coulomb*second. The constant is the result of 1E-21/c, where c is the speed of light.
1.1.1.7.2 References
1.1.1.7.3 Examples
>>> dipole_moment(CASRN='64-17-5')
1.44
𝑌 = 𝐴 + 𝐵𝑇 + 𝐶𝑇 2 + 𝐷𝑇 3 + 𝐸𝑇 4 + 𝐹 𝑇 5 + 𝐺𝑇 6
Parameters
T [float] Temperature, [K]
A-G [float] Parameter for the equation; chemical and property specific [-]
order [int, optional] Order of the calculation. 0 for the calculation of the result itself; for 1, the
first derivative of the property is returned, for -1, the indefinite integral of the property with
respect to temperature is returned; and for -1j, the indefinite integral of the property divided
by temperature with respect to temperature is returned. No other integrals or derivatives are
implemented, and an exception will be raised if any other order is given.
Returns
Y [float]
Property [constant-specific; if order == 1, property/K; if order == -1, property*K; if
order == -1j, unchanged from default]
1.1.1.8.1 Notes
The derivative with respect to T, integral with respect to T, and integral over T with respect to T are computed
as follows. All derivatives and integrals are easily computed with SymPy.
𝑑𝑌
= 𝐵 + 2𝐶𝑇 + 3𝐷𝑇 2 + 4𝐸𝑇 3 + 5𝐹 𝑇 4 + 6𝐺𝑇 5
𝑑𝑇
𝐵𝑇 2 𝐶𝑇 3 𝐷𝑇 4 𝐸𝑇 5 𝐹𝑇6 𝐺𝑇 7
∫︁
𝑌 𝑑𝑇 = 𝐴𝑇 + + + + + +
2 3 4 5 6 7
𝐶𝑇 2 𝐷𝑇 3 𝐸𝑇 4 𝐹𝑇5 𝐺𝑇 6
∫︁
𝑌
𝑑𝑇 = 𝐴 log (𝑇 ) + 𝐵𝑇 + + + + +
𝑇 2 3 4 5 6
1.1.1.8.2 References
[1]
1.1.1.8.3 Examples
64 Chapter 1. thermo
thermo Documentation, Release 0.1
thermo.dippr.EQ101(T, A, B, C, D, E)
DIPPR Equation # 101. Used in calculating vapor pressure, sublimation pressure, and liquid viscosity. All 5
parameters are required. E is often an integer. As the model is exponential, a sufficiently high temperature will
cause an OverflowError. A negative temperature (or just low, if fit poorly) may cause a math domain error.
(︂ )︂
𝐵
𝑌 = exp 𝐴 + + 𝐶 · ln 𝑇 + 𝐷 · 𝑇 𝐸
𝑇
Parameters
T [float] Temperature, [K]
A-E [float] Parameter for the equation; chemical and property specific [-]
Returns
Y [float] Property [constant-specific]
1.1.1.8.4 Notes
1.1.1.8.5 References
[1]
1.1.1.8.6 Examples
thermo.dippr.EQ102(T, A, B, C, D, order=0)
DIPPR Equation # 102. Used in calculating vapor viscosity, vapor thermal conductivity, and sometimes solid
heat capacity. High values of B raise an OverflowError. All 4 parameters are required. C and D are often 0.
𝐴 · 𝑇𝐵
𝑌 =
1+ 𝐶 𝐷
𝑇 + 𝑇2
Parameters
T [float] Temperature, [K]
A-D [float] Parameter for the equation; chemical and property specific [-]
order [int, optional] Order of the calculation. 0 for the calculation of the result itself; for 1, the
first derivative of the property is returned, for -1, the indefinite integral of the property with
respect to temperature is returned; and for -1j, the indefinite integral of the property divided
by temperature with respect to temperature is returned. No other integrals or derivatives are
implemented, and an exception will be raised if any other order is given.
Returns
Y [float]
Property [constant-specific; if order == 1, property/K; if order == -1, property*K; if
order == -1j, unchanged from default]
1.1.1.8.7 Notes
The derivative with respect to T, integral with respect to T, and integral over T with respect to T are computed
as follows. The first derivative is easily computed; the two integrals required Rubi to perform the integration.
𝐴𝑇 𝐵 𝑇𝐶2 + 2𝐷
(︀ )︀
𝑑𝑌 𝐴𝐵𝑇 𝐵 𝑇 3
= (︀ 𝐶 )︀ + (︀ )︀2
𝑑𝑇 𝑇 𝑇 + 𝑇𝐷2 + 1 𝐶
+ 𝐷2 + 1
𝑇 𝑇
(︁ )︁ (︁ )︁
∫︁ 2𝐴𝑇 𝐵+3 hyp2f1 1, 𝐵 + 3, 𝐵 + 4, − 𝐶−√2𝑇 𝐶 2 −4𝐷
2𝐴𝑇 𝐵+3
hyp2f1 1, 𝐵 + 3, 𝐵 + 4, − √2𝑇
𝐶+ 𝐶 2 −4𝐷
𝑌 𝑑𝑇 = − (︀ √ )︀ √ + (︀ √ )︀ √
2
(𝐵 + 3) 𝐶 + 𝐶 − 4𝐷 𝐶 − 4𝐷 2 2
(𝐵 + 3) 𝐶 − 𝐶 − 4𝐷 𝐶 − 4𝐷 2
(︁ )︁ (︁ )︁
∫︁ 2𝐴𝑇 𝐵+2
hyp2f1 1, 𝐵 + 2, 𝐵 + 3, − √2𝑇 2𝐴𝑇 𝐵+2
hyp2f1 1, 𝐵 + 2, 𝐵 + 3, − √2𝑇
𝑌 𝐶+ 𝐶 2 −4𝐷 𝐶− 𝐶 2 −4𝐷
𝑑𝑇 = − (︀ √ )︀ √ + (︀ √ )︀ √
𝑇 2
(𝐵 + 2) 𝐶 + 𝐶 − 4𝐷 𝐶 − 4𝐷 2 2
(𝐵 + 2) 𝐶 − 𝐶 − 4𝐷 𝐶 − 4𝐷 2
1.1.1.8.8 References
[1]
1.1.1.8.9 Examples
thermo.dippr.EQ104(T, A, B, C, D, E, order=0)
DIPPR Equation #104. Often used in calculating second virial coefficients of gases. All 5 parameters are
required. C, D, and E are normally large values.
𝐵 𝐶 𝐷 𝐸
𝑌 =𝐴+ + 3+ 8+ 9
𝑇 𝑇 𝑇 𝑇
Parameters
T [float] Temperature, [K]
A-E [float] Parameter for the equation; chemical and property specific [-]
order [int, optional] Order of the calculation. 0 for the calculation of the result itself; for 1, the
first derivative of the property is returned, for -1, the indefinite integral of the property with
respect to temperature is returned; and for -1j, the indefinite integral of the property divided
by temperature with respect to temperature is returned. No other integrals or derivatives are
implemented, and an exception will be raised if any other order is given.
Returns
Y [float]
Property [constant-specific; if order == 1, property/K; if order == -1, property*K; if
order == -1j, unchanged from default]
66 Chapter 1. thermo
thermo Documentation, Release 0.1
1.1.1.8.10 Notes
The derivative with respect to T, integral with respect to T, and integral over T with respect to T are computed
as follows. All expressions can be obtained with SymPy readily.
𝑑𝑌 𝐵 3𝐶 8𝐷 9𝐸
= − 2 − 4 − 9 − 10
𝑑𝑇 𝑇 𝑇 𝑇 𝑇
∫︁
1 (︀
28𝐶𝑇 6 + 8𝐷𝑇 + 7𝐸
)︀
𝑌 𝑑𝑇 = 𝐴𝑇 + 𝐵 log (𝑇 ) − 8
56𝑇
∫︁
𝑌 1 (︀
72𝐵𝑇 8 + 24𝐶𝑇 6 + 9𝐷𝑇 + 8𝐸
)︀
𝑑𝑇 = 𝐴 log (𝑇 ) −
𝑇 72𝑇 9
1.1.1.8.11 References
[1]
1.1.1.8.12 Examples
thermo.dippr.EQ105(T, A, B, C, D)
DIPPR Equation #105. Often used in calculating liquid molar density. All 4 parameters are required. C is
sometimes the fluid’s critical temperature.
𝐴
𝑌 = 𝑇 𝐷
𝐵 1+(1− 𝐶 )
Parameters
T [float] Temperature, [K]
A-D [float] Parameter for the equation; chemical and property specific [-]
Returns
Y [float] Property [constant-specific]
1.1.1.8.13 Notes
This expression can be integrated in terms of the incomplete gamma function for dT, but for Y/T dT no integral
could be found.
1.1.1.8.14 References
[1]
1.1.1.8.15 Examples
1.1.1.8.16 Notes
The integral could not be found, but the integral over T actually could, again in terms of hypergeometric func-
tions.
1.1.1.8.17 References
[1]
1.1.1.8.18 Examples
68 Chapter 1. thermo
thermo Documentation, Release 0.1
order [int, optional] Order of the calculation. 0 for the calculation of the result itself; for 1, the
first derivative of the property is returned, for -1, the indefinite integral of the property with
respect to temperature is returned; and for -1j, the indefinite integral of the property divided
by temperature with respect to temperature is returned. No other integrals or derivatives are
implemented, and an exception will be raised if any other order is given.
Returns
Y [float]
Property [constant-specific; if order == 1, property/K; if order == -1, property*K; if
order == -1j, unchanged from default]
1.1.1.8.19 Notes
The derivative with respect to T, integral with respect to T, and integral over T with respect to T are computed
as follows. The derivative is obtained via SymPy; the integrals from Wolfram Alpha.
1.1.1.8.20 References
[1], [2]
1.1.1.8.21 Examples
Water ideal gas molar heat capacity; DIPPR coefficients normally in J/kmol/K
𝐴2 1 1 1
𝑌 = + 𝐵 − 2𝐴𝐶𝜏 − 𝐴𝐷𝜏 2 − 𝐶 2 𝜏 3 − 𝐶𝐷𝜏 4 − 𝐷2 𝜏 5
𝜏 3 2 5
𝑇
𝜏 =1−
𝑇𝑐
Parameters
T [float] Temperature, [K]
Tc [float] Critical temperature, [K]
A-D [float] Parameter for the equation; chemical and property specific [-]
order [int, optional] Order of the calculation. 0 for the calculation of the result itself; for 1, the
first derivative of the property is returned, for -1, the indefinite integral of the property with
respect to temperature is returned; and for -1j, the indefinite integral of the property divided
by temperature with respect to temperature is returned. No other integrals or derivatives are
implemented, and an exception will be raised if any other order is given.
Returns
Y [float]
Property [constant-specific; if order == 1, property/K; if order == -1, property*K; if
order == -1j, unchanged from default]
1.1.1.8.22 Notes
The derivative with respect to T, integral with respect to T, and integral over T with respect to T are computed
as follows. All expressions can be obtained with SymPy readily.
)︂2 )︂3 )︂4
𝐴2 𝐶2 𝐷2
(︂ )︂ (︂ (︂ (︂
𝑑𝑌 2𝐴 2𝐴 𝑇 𝑇 2𝐶 𝑇 𝑇
= )︁2 + 𝐶+ 𝐷 − +1 + − +1 + 𝐷 − +1 + − +1
𝑑𝑇 𝑇𝑐 𝑇𝑐 𝑇𝑐 𝑇𝑐 𝑇𝑐 𝑇𝑐 𝑇𝑐 𝑇𝑐 𝑇𝑐
(︁
𝑇𝑐 − 𝑇𝑇𝑐 + 1
𝐷2 𝑇 6 𝑇 5 (︀ 𝑇 4 (︀ 2 𝑇 3 (︀
∫︁
𝑌 𝑑𝑇 = −𝐴2 𝑇𝑐 log (𝑇 − 𝑇𝑐 ) + 𝐶𝐷 + 2𝐷2 + 𝐶 + 6𝐶𝐷 + 6𝐷2 − 𝐴𝐷 + 𝐶 2 + 3𝐶𝐷 + 2𝐷
)︀ )︀
5
− 4 3
30𝑇𝑐 10𝑇𝑐 12𝑇𝑐 3𝑇𝑐2
−60𝐴2 𝑇𝑐 + 60𝐴𝐶𝑇𝑐 + 30𝐴𝐷𝑇𝑐 − 30𝐵𝑇𝑐 + 10𝐶 2 𝑇𝑐 + 15𝐶𝐷𝑇𝑐 + 6𝐷2 𝑇𝑐 𝐷2 𝑇 5 𝑇 4 (︀
∫︁ (︂ )︂
𝑌 2
𝑑𝑇 = −𝐴 log 𝑇 + + − 𝐶𝐷
𝑇 60𝐴2 − 60𝐴𝐶 − 30𝐴𝐷 + 30𝐵 − 10𝐶 2 − 15𝐶𝐷 − 6𝐷2 25𝑇𝑐5 8𝑇𝑐4
Strictly speaking, the integral over T has an imaginary component, but only the real component is relevant and
the complex part discarded.
1.1.1.8.23 References
[1]
1.1.1.8.24 Examples
70 Chapter 1. thermo
thermo Documentation, Release 0.1
1.1.1.8.25 Notes
No coefficients found for this expression. This function is not integrable for either dT or Y/T dT.
1.1.1.8.26 References
[1]
thermo.dippr.EQ116(T, Tc, A, B, C, D, E, order=0)
DIPPR Equation #116. Used to describe the molar density of water fairly precisely; no other uses listed. All 5
parameters are needed, as well as the critical temperature.
1.1.1.8.27 Notes
The derivative with respect to T and integral with respect to T are computed as follows. The integral divided
by T with respect to T has an extremely complicated (but still elementary) integral which can be read from the
source. It was computed with Rubi; the other expressions can readily be obtained with SymPy.
√︂
𝑑𝑌 7𝐵 2𝐶 𝐷 4𝐸 3 𝑇
=− 13 − √︁ − − − +1
𝑑𝑇 (︁
𝑇
)︁ 20
3𝑇 3
− 𝑇
+ 1 𝑇𝑐 3𝑇𝑐 𝑇𝑐
20𝑇𝑐 − 𝑇𝑐 + 1 𝑐 𝑇𝑐
)︂ 27 )︂ 35 )︂ 73
𝑇2
∫︁ (︂ (︂ (︂ )︂ (︂
20𝐵 𝑇 20
3𝐶 𝑇 3𝐸 𝑇
𝑌 𝑑𝑇 = 𝐴𝑇 − 𝑇𝑐 − + 1 − 𝑇𝑐 − + 1 +𝐷 − +𝑇 − 𝑇𝑐 − + 1
27 𝑇𝑐 5 𝑇𝑐 2𝑇𝑐 7 𝑇𝑐
1.1.1.8.28 References
[1]
1.1.1.8.29 Examples
thermo.dippr.EQ127(T, A, B, C, D, E, F, G, order=0)
DIPPR Equation #127. Rarely used, and then only in calculating ideal-gas heat capacity. All 7 parameters are
required.
[︃ (︀ )︀2 (︀ 𝐶 )︀ ]︃ [︃ (︀ )︀2 (︀ 𝐸 )︀ ]︃ [︃ (︀ )︀2 (︀ 𝐺 )︀ ]︃
𝐶 𝐸 𝐺
exp exp exp
𝑌 = 𝐴 + 𝐵 (︀𝑇 𝑇
)︀2 + 𝐷 (︀
𝑇 𝑇
)︀2 + 𝐹 (︀
𝑇 𝑇
)︀2
exp 𝐶𝑇 − 1 exp 𝐸
𝑇 − 1 exp 𝐺
𝑇 − 1
Parameters
T [float] Temperature, [K]
A-G [float] Parameter for the equation; chemical and property specific [-]
order [int, optional] Order of the calculation. 0 for the calculation of the result itself; for 1, the
first derivative of the property is returned, for -1, the indefinite integral of the property with
respect to temperature is returned; and for -1j, the indefinite integral of the property divided
by temperature with respect to temperature is returned. No other integrals or derivatives are
implemented, and an exception will be raised if any other order is given.
Returns
Y [float]
Property [constant-specific; if order == 1, property/K; if order == -1, property*K; if
order == -1j, unchanged from default]
1.1.1.8.30 Notes
The derivative with respect to T, integral with respect to T, and integral over T with respect to T are computed
as follows. All expressions can be obtained with SymPy readily.
𝐶 2𝐶 𝐶 𝐸 2𝐸 𝐸
𝑑𝑌 𝐵𝐶 3 𝑒 𝑇 2𝐵𝐶 3 𝑒 𝑇 2𝐵𝐶 2 𝑒 𝑇 𝐷𝐸 3 𝑒 𝑇 2𝐷𝐸 3 𝑒 𝑇 2𝐷𝐸 2 𝑒 𝑇 𝐹 𝐺3
=− )︁2 + )︁3 − )︁2 − )︁2 + )︁3 − )︁2 −
𝑑𝑇
(︁ 𝐶 (︁ 𝐶 (︁ 𝐶 (︁ 𝐸 (︁ 𝐸 (︁ 𝐸 (︁ 𝐺
𝑇4 𝑒𝑇 − 1 𝑇4 𝑒𝑇 − 1 𝑇3 𝑒𝑇 − 1 𝑇4 𝑒𝑇 − 1 𝑇4 𝑒𝑇 − 1 𝑇3 𝑒𝑇 − 1 𝑇4 𝑒𝑇
𝐵𝐶 2 𝐷𝐸 2 𝐹 𝐺2
∫︁
𝑌 𝑑𝑇 = 𝐴𝑇 + 𝐶 + 𝐸 + 𝐺
𝐶𝑒 𝑇 −𝐶 −𝐸 𝐸𝑒 𝐺𝑒 𝑇 − 𝐺
𝑇
∫︁ (︂ )︁)︂ (︂
𝑌 1 1 1 (︁ 𝐶 1 1 1 (︁ 𝐸
𝑑𝑇 = 𝐴 log (𝑇 ) + 𝐵𝐶 2 𝐶 + − 2
log 𝑒 𝑇 − 1 + 𝐷𝐸 2
𝐸 + − 2 log 𝑒 𝑇 − 1
𝑇 𝐶𝑇 𝑒 𝑇 − 𝐶𝑇 𝐶𝑇 𝐶 𝐸𝑇 𝑒 𝑇 − 𝐸𝑇 𝐸𝑇 𝐸
1.1.1.8.31 References
[1]
72 Chapter 1. thermo
thermo Documentation, Release 0.1
1.1.1.8.32 Examples
33258.0
1.1.1.9.1 Notes
1.1.1.9.2 References
[1]
1.1.1.9.3 Examples
>>> conductivity('7732-18-5')
(4e-06, 291.15)
Parameters
T [float] Temperature of fluid [K]
ws [array] Weight fractions of fluid components other than water
CASRNs [array] CAS numbers of the fluid components other than water
Returns
rho_i [float] Solution density, [kg/m^3]
1.1.1.9.4 Notes
1.1.1.9.5 References
[1]
1.1.1.9.6 Examples
𝑇 𝑂𝐷𝑂
Parameters
T [float] Temperature of fluid [K]
ws [array] Weight fractions of fluid components other than water
CASRNs [array] CAS numbers of the fluid components other than water
Returns
Cp [float] Solution heat capacity, [J/kg/K]
74 Chapter 1. thermo
thermo Documentation, Release 0.1
1.1.1.9.7 Notes
Temperature range check is not implemented. Units are Kelvin and J/kg/K.
1.1.1.9.8 References
[1]
1.1.1.9.9 Examples
Parameters
T [float] Temperature of fluid [K]
ws [array] Weight fractions of fluid components other than water
CASRNs [array] CAS numbers of the fluid components other than water
Returns
mu_i [float] Solute partial viscosity, Pa*s
1.1.1.9.10 Notes
Temperature range check is not used here. Check is performed using NaCl at 5 degC from the first value in [1]’s
spreadsheet.
1.1.1.9.11 References
[1]
1.1.1.9.12 Examples
thermo.electrochem.Laliberte_viscosity_w(T)
Calculate the viscosity of a water using the form proposed by [1]. No parameters are needed, just a temperature.
Units are Kelvin and Pa*s. t is temperature in degrees Celcius.
𝑡 + 246
𝜇𝑤 =
(0.05594𝑡 + 5.2842)𝑡 + 137.37
Parameters
T [float] Temperature of fluid [K]
Returns
mu_w [float] Water viscosity, Pa*s
1.1.1.9.13 Notes
Original source or pure water viscosity is not cited. No temperature range is given for this equation.
1.1.1.9.14 References
[1]
1.1.1.9.15 Examples
>>> Laliberte_viscosity_w(298)
0.0008932264487033279
𝜇𝑖 =
𝑣5 (1 − 𝑤𝑤 )𝑣6 + 1
Parameters
T [float] Temperature of fluid [K]
w_w [float] Weight fraction of water in the solution
v1-v6 [floats] Function fit parameters
Returns
mu_i [float] Solute partial viscosity, Pa*s
1.1.1.9.16 Notes
Temperature range check is outside of this function. Check is performed using NaCl at 5 degC from the first
value in [1]’s spreadsheet.
1.1.1.9.17 References
[1]
1.1.1.9.18 Examples
76 Chapter 1. thermo
thermo Documentation, Release 0.1
>>> d = _Laliberte_Viscosity_ParametersDict['7647-14-5']
>>> Laliberte_viscosity_i(273.15+5, 1-0.005810, d["V1"], d["V2"], d["V3"], d["V4
˓→"], d["V5"], d["V6"] )
0.004254025533308794
thermo.electrochem.Laliberte_density_w(T)
Calculate the density of water using the form proposed by [1]. No parameters are needed, just a temperature.
Units are Kelvin and kg/m^3h.
1.1.1.9.19 Notes
1.1.1.9.20 References
[1]
1.1.1.9.21 Examples
>>> Laliberte_density_w(298.15)
997.0448954179155
>>> Laliberte_density_w(273.15 + 50)
988.0362916114763
(𝑐0 [1 − 𝑤𝑤 ] + 𝑐1 ) exp(10−6 [𝑡 + 𝑐4 ]2 )
𝜌𝑎𝑝𝑝,𝑖 =
(1 − 𝑤𝑤 ) + 𝑐2 + 𝑐3 𝑡
Parameters
T [float] Temperature of fluid [K]
w_w [float] Weight fraction of water in the solution
c0-c4 [floats] Function fit parameters
Returns
rho_i [float] Solute partial density, [kg/m^3]
1.1.1.9.22 Notes
1.1.1.9.23 References
[1]
1.1.1.9.24 Examples
>>> d = _Laliberte_Density_ParametersDict['7647-14-5']
>>> Laliberte_density_i(273.15+0, 1-0.0037838838, d["C0"], d["C1"], d["C2"], d["C3
˓→"], d["C4"])
3761.8917585699983
thermo.electrochem.Laliberte_heat_capacity_w(T)
Calculate the heat capacity of water using the interpolation proposed by [1]. No parameters are needed, just a
temperature.
(︂ )︂ (︂ )︂ (︂ )︂
𝑡 − 𝑡1 (𝐶𝑝3 − 2𝐶𝑝2 + 𝐶𝑝1 ) 𝑡 − 𝑡1 𝑡 − 𝑡1
𝐶𝑝𝑤 = 𝐶𝑝1 + (𝐶𝑝2 − 𝐶𝑝1 ) + −1
𝑡2 − 𝑡1 2 𝑡2 − 𝑡1 𝑡2 − 𝑡1
Parameters
T [float] Temperature of fluid [K]
Returns
Cp_w [float] Water heat capacity, [J/kg/K]
1.1.1.9.25 Notes
Units are Kelvin and J/kg/K. Original source not cited No temperature range is used. The original equation is
not used, but rather a cubic scipy interpolation routine.
1.1.1.9.26 References
[1]
1.1.1.9.27 Examples
>>> Laliberte_heat_capacity_w(273.15+3.56)
4208.878020261102
Parameters
78 Chapter 1. thermo
thermo Documentation, Release 0.1
1.1.1.9.28 Notes
1.1.1.9.29 References
[1]
1.1.1.9.30 Examples
>>> d = _Laliberte_Heat_Capacity_ParametersDict['7647-14-5']
>>> Laliberte_heat_capacity_i(1.5+273.15, 1-0.00398447, d["A1"], d["A2"], d["A3"],
˓→ d["A4"], d["A5"], d["A6"])
-2930.7353945880477
Parameters
ionic_conductivities [list[float]] Ionic conductivity coefficients of each ion in the mixture
[m^2*S/mol]
zs [list[float]] Mole fractions of each ion in the mixture, [-]
rhom [float] Overall molar density of the solution, [mol/m^3]
Returns
kappa [float] Electrical conductivity of the fluid, [S/m]
1.1.1.9.31 Notes
The ionic conductivity coefficients should not be equivalent coefficients; for example, 0.0053 m^2*S/mol is the
equivalent conductivity coefficient of Mg+2, but this method expects twice its value - 0.0106. Both are reported
commonly in literature.
Water can be included in this caclulation by specifying a coefficient of 0. The conductivity of any electrolyte
eclipses its own conductivity by many orders of magnitude. Any other solvents present will affect the conduc-
tivity extensively and there are few good methods to predict this effect.
1.1.1.9.32 References
[1]
1.1.1.9.33 Examples
Complex mixture of electrolytes [‘Cl-‘, ‘HCO3-‘, ‘SO4-2’, ‘Na+’, ‘K+’, ‘Ca+2’, ‘Mg+2’]:
22.05246783663
In the above equations, t is temperature in degrees Celcius; m is molality in mol/kg, and C is the concentration
of the elctrolytes in mol/m^3, calculated as the product of density and molality.
Parameters
T [float] Temperature of the solution, [K]
M [float] Molality of the solution with respect to one electrolyte (mol solute / kg solvent),
[mol/kg]
lambda_coeffs [list[float]] List of coefficients for the polynomial used to calculate lambda;
length-3 coefficients provided in [1], [-]
A_coeffs [list[float]] List of coefficients for the polynomial used to calculate A; length-3 coef-
ficients provided in [1], [-]
B [float] Empirical constant for an electrolyte, [-]
multiplier [float] The multiplier to obtain the absolute conductivity from the equivalent con-
ductivity; ex 2 for CaCl2, [-]
rho [float, optional] The mass density of the aqueous mixture, [kg/m^3]
Returns
kappa [float] Electrical conductivity of the solution at the specified molality and temperature
[S/m]
80 Chapter 1. thermo
thermo Documentation, Release 0.1
1.1.1.9.34 Notes
Coefficients provided in [1] result in conductivity being calculated in units of mS/cm; they are converted to S/m
before returned.
1.1.1.9.35 References
[1]
1.1.1.9.36 Examples
Parameters
T [float] Temperature of liquid [K]
P [float] Pressure of the liquid [Pa]
ws [array] Weight fractions of liquid components other than water
CASRNs [array] CAS numbers of the liquid components other than water
k_w [float] Liquid thermal condiuctivity or pure water at T and P, [W/m/K]
Returns
kl [float] Liquid thermal condiuctivity, [W/m/K]
1.1.1.9.37 Notes
Range from 273 K to 473 K, P from 0.1 MPa to 100 MPa. C from 0 to 25 mass%. Internal untis are MPa for
pressure and weight percent.
An example is sought for this function. It is not possible to reproduce the author’s values consistently.
1.1.1.9.38 References
[1]
1.1.1.9.39 Examples
thermo.electrochem.ionic_strength(mis, zis)
Calculate the ionic strength of a solution in one of two ways, depending on the inputs only. For Pitzer and
Bromley models, mis should be molalities of each component. For eNRTL models, mis should be mole fractions
of each electrolyte in the solution. This will sum to be much less than 1.
1 ∑︁
𝐼= 𝑀𝑖 𝑧𝑖2
2
1 ∑︁
𝐼= 𝑥𝑖 𝑧𝑖2
2
Parameters
mis [list] Molalities of each ion, or mole fractions of each ion [mol/kg or -]
zis [list] Charges of each ion [-]
Returns
I [float] ionic strength, [?]
1.1.1.9.40 References
[1], [2]
1.1.1.9.41 Examples
thermo.electrochem.Kweq_1981(T, rho_w)
Calculates equilibrium constant for OH- and H+ in water, according to [1]. Second most recent formulation.
Parameters
T [float] Temperature of fluid [K]
rho_w [float] Density of water, [kg/m^3]
Returns
Kweq [float] Ionization constant of water, [-]
1.1.1.9.42 Notes
82 Chapter 1. thermo
thermo Documentation, Release 0.1
1.1.1.9.43 References
[1]
1.1.1.9.44 Examples
thermo.electrochem.Kweq_IAPWS_gas(T)
Calculates equilibrium constant for OH- and H+ in water vapor, according to [1]. This is the most recent
formulation available.
𝐺
−𝑙𝑜𝑔10 𝐾𝑤 = 𝛾0 + 𝛾1 𝑇 −1 + 𝛾2 𝑇 −2 + 𝛾3 𝑇 −3
Parameters
T [float] Temperature of H2O [K]
Returns
K_w_G [float]
1.1.1.9.45 Notes
1.1.1.9.46 References
[1]
1.1.1.9.47 Examples
>>> Kweq_IAPWS_gas(800)
1.4379721554798815e-61
thermo.electrochem.Kweq_IAPWS(T, rho_w)
Calculates equilibrium constant for OH- and H+ in water, according to [1]. This is the most recent formulation
available.
𝑄 = 𝜌 exp(𝛼0 + 𝛼1 𝑇 −1 + 𝛼2 𝑇 −2 𝜌2/3 )
[︂ ]︂
𝑄 18.015268
− log10 𝐾𝑤 = −2𝑛 log10 (1 + 𝑄) − 𝜌(𝛽0 + 𝛽1 𝑇 −1 + 𝛽2 𝜌) − log10 𝐾𝑤
𝐺
+ 2 log10
𝑄+1 1000
Parameters
T [float] Temperature of water [K]
rho_w [float] Density of water at temperature and pressure [kg/m^3]
Returns
Kweq [float] Ionization constant of water, [-]
1.1.1.9.48 Notes
1.1.1.9.49 References
[1]
1.1.1.9.50 Examples
84 Chapter 1. thermo
thermo Documentation, Release 0.1
Returns
anions [list(ChemicalMetadata)] List of all negatively charged ions measured as being in the so-
lution; ChemicalMetadata instances after potentially adding in an ion which was not present
but specified by the user, [-]
cations [list(ChemicalMetadata)] List of all positively charged ions measured as being in the so-
lution; ChemicalMetadata instances after potentially adding in an ion which was not present
but specified by the user, [-]
anion_zs [list,] Mole fractions of each anion in the aqueous solution after the charge balance,
[-]
cation_zs [list] Mole fractions of each cation in the aqueous solution after the charge balance,
[-]
z_water [float] Mole fraction of the water in the solution, [-]
1.1.1.9.51 Notes
1.1.1.9.52 Examples
>>> z_water
0.9504856267761288
class thermo.elements.PeriodicTable(elements)
Bases: object
Periodic Table object for use in dealing with elements.
Parameters
elements [list[Element]] List of Element objects
See also:
periodic_table, Element
1.1.1.10.1 Notes
Can be checked to sese if an element in in this, can be iterated over, and as a current length of 118 elements.
1.1.1.10.2 References
[1]
Attributes
CAS_to_elements
name_to_elements
number_to_elements
symbol_to_elements
CAS_to_elements
name_to_elements
number_to_elements
symbol_to_elements
86 Chapter 1. thermo
thermo Documentation, Release 0.1
thermo.elements.molecular_weight(atoms)
Calculates molecular weight of a molecule given a dictionary of its atoms and their counts, in the format {sym-
bol: count}.
∑︁
𝑀𝑊 = 𝑛𝑖 𝑀 𝑊𝑖
𝑖
Parameters
atoms [dict] dictionary of counts of individual atoms, indexed by symbol with proper capital-
ization, [-]
Returns
MW [float] Calculated molecular weight [g/mol]
1.1.1.10.3 Notes
Elemental data is from rdkit, with CAS numbers added. An exception is raised if an incorrect element symbol
is given. Elements up to 118 are supported, as are deutreium and tritium.
1.1.1.10.4 References
[1]
1.1.1.10.5 Examples
thermo.elements.mass_fractions(atoms, MW=None)
Calculates the mass fractions of each element in a compound, given a dictionary of its atoms and their counts,
in the format {symbol: count}.
𝑛𝑖 𝑀 𝑊 𝑖
𝑤𝑖 = ∑︀
𝑖 𝑛𝑖 𝑀 𝑊 𝑖
Parameters
atoms [dict] dictionary of counts of individual atoms, indexed by symbol with proper capital-
ization, [-]
MW [float, optional] Molecular weight, [g/mol]
Returns
mfracs [dict] dictionary of mass fractions of individual atoms, indexed by symbol with proper
capitalization, [-]
1.1.1.10.6 Notes
Molecular weight is optional, but speeds up the calculation slightly. It is calculated using the function molecu-
lar_weight if not specified.
Elemental data is from rdkit, with CAS numbers added. An exception is raised if an incorrect element symbol
is given. Elements up to 118 are supported.
1.1.1.10.7 References
[1]
1.1.1.10.8 Examples
thermo.elements.atom_fractions(atoms)
Calculates the atomic fractions of each element in a compound, given a dictionary of its atoms and their counts,
in the format {symbol: count}.
𝑛𝑖
𝑎𝑖 = ∑︀
𝑖 𝑛𝑖
Parameters
atoms [dict] dictionary of counts of individual atoms, indexed by symbol with proper capital-
ization, [-]
Returns
afracs [dict] dictionary of atomic fractions of individual atoms, indexed by symbol with proper
capitalization, [-]
1.1.1.10.9 Notes
No actual data on the elements is used, so incorrect or custom compounds would not raise an error.
1.1.1.10.10 References
[1]
1.1.1.10.11 Examples
thermo.elements.similarity_variable(atoms, MW=None)
Calculates the similarity variable of an compound, as defined in [1]. Currently only applied for certain heat
capacity estimation routines.
∑︀
𝑁 𝑛𝑖
𝛼= = ∑︀ 𝑖
𝑀𝑊 𝑖 𝑛 𝑖 𝑀 𝑊𝑖
Parameters
atoms [dict] dictionary of counts of individual atoms, indexed by symbol with proper capital-
ization, [-]
MW [float, optional] Molecular weight, [g/mol]
Returns
similarity_variable [float] Similarity variable as defined in [1], [mol/g]
88 Chapter 1. thermo
thermo Documentation, Release 0.1
1.1.1.10.12 Notes
Molecular weight is optional, but speeds up the calculation slightly. It is calculated using the function molecu-
lar_weight if not specified.
1.1.1.10.13 References
[1]
1.1.1.10.14 Examples
thermo.elements.atoms_to_Hill(atoms)
Determine the Hill formula of a compound, given a dictionary of its atoms and their counts, in the format
{symbol: count}.
Parameters
atoms [dict] dictionary of counts of individual atoms, indexed by symbol with proper capital-
ization, [-]
Returns
Hill_formula [str] Hill formula, [-]
1.1.1.10.15 Notes
1.1.1.10.16 References
[1]
1.1.1.10.17 Examples
thermo.elements.simple_formula_parser(formula)
Basic formula parser, primarily for obtaining element counts from formulas as formated in PubChem. Handles
formulas with integer counts, but no brackets, no hydrates, no charges, no isotopes, and no group multipliers.
Strips charges from the end of a formula first. Accepts repeated chemical units. Performs no sanity checking
that elements are actually elements. As it uses regular expressions for matching, errors are mostly just ignored.
Parameters
1.1.1.10.18 Notes
1.1.1.10.19 Examples
>>> simple_formula_parser('CO2')
{'C': 1, 'O': 2}
thermo.elements.nested_formula_parser(formula, check=True)
Improved formula parser which handles braces and their multipliers, as well as rational element counts.
Strips charges from the end of a formula first. Accepts repeated chemical units. Performs no sanity checking
that elements are actually elements. As it uses regular expressions for matching, errors are mostly just ignored.
Parameters
formula [str] Formula string, very simply formats only.
check [bool] If check is True, a simple check will be performed to determine if a formula is not
a formula and an exception will be raised if it is not, [-]
Returns
atoms [dict] dictionary of counts of individual atoms, indexed by symbol with proper capital-
ization, [-]
1.1.1.10.20 Notes
1.1.1.10.21 Examples
>>> pprint(nested_formula_parser('Pd(NH3)4.0001+2'))
{'H': 12.0003, 'N': 4.0001, 'Pd': 1}
90 Chapter 1. thermo
thermo Documentation, Release 0.1
thermo.elements.blocks = {'s': [1, 2, 3, 4, 11, 12, 19, 20, 37, 38, 55, 56, 87, 88], 'd':
Blocks of the elements, stored in a dictionary with four keys and lists. Indexed by atomic numbers off-by-one
up to 118.
thermo.elements.charge_from_formula(formula)
Basic formula parser to determine the charge from a formula - given that the charge is already specified as one
element of the formula.
Performs no sanity checking that elements are actually elements.
Parameters
formula [str] Formula string, very simply formats only, ending in one of ‘+x’, ‘-x’, n*’+’, or
n*’-‘ or any of them surrounded by brackets but always at the end of a formula.
Returns
charge [int] Charge of the molecule, [faraday]
1.1.1.10.22 Examples
>>> charge_from_formula('Br3-')
-1
>>> charge_from_formula('Br3(-)')
-1
thermo.elements.serialize_formula(formula)
Basic formula serializer to construct a consistently-formatted formula. This is necessary for handling user-
supplied formulas, which are not always well formatted.
Performs no sanity checking that elements are actually elements.
Parameters
formula [str] Formula string as parseable by the method nested_formula_parser, [-]
Returns
formula [str] A consistently formatted formula to describe a molecular formula, [-]
1.1.1.10.23 Examples
>>> serialize_formula('Pd(NH3)4+3')
'H12N4Pd+3'
class thermo.eos.GCEOS
Bases: object
Class for solving a generic Pressure-explicit three-parameter cubic equation of state. Does not implement any
parameters itself; must be subclassed by an equation of state class which uses it. Works for mixtures or pure
species for all properties except fugacity. All properties are derived with the CAS SymPy, not relying on any
derivations previously published.
𝑅𝑇 𝑎𝛼(𝑇 )
𝑃 = −
𝑉 − 𝑏 𝑉 2 + 𝛿𝑉 + 𝜖
Main methods (in order they are called) are solve, set_from_PT, volume_solutions,
set_properties_from_solution, and derivatives_and_departures.
solve calls check_sufficient_input, which checks if two of T, P, and V were set. It then solves for the remaining
variable. If T is missing, method solve_T is used; it is parameter specific, and so must be implemented in
each specific EOS. If P is missing, it is directly calculated. If V is missing, it is calculated with the method
volume_solutions. At this point, either three possible volumes or one user specified volume are known. The
value of a_alpha, and its first and second temperature derivative are calculated with the EOS-specific method
a_alpha_and_derivatives.
If V is not provided, volume_solutions calculates the three possible molar volumes which are solutions to the
EOS; in the single-phase region, only one solution is real and correct. In the two-phase region, all volumes are
real, but only the largest and smallest solution are physically meaningful, with the largest being that of the gas
and the smallest that of the liquid.
set_from_PT is called to sort out the possible molar volumes. For the case of a user-specified V, the possi-
bility of there existing another solution is ignored for speed. If there is only one real volume, the method
set_properties_from_solution is called with it. If there are two real volumes, set_properties_from_solution is
called once with each volume. The phase is returned by set_properties_from_solution, and the volumes is set to
either V_l or V_g as appropriate.
set_properties_from_solution is a beast which calculates all relevant partial derivatives and properties of the
EOS. 15 derivatives and excess enthalpy and entropy are calculated first. If the method was called with the
quick flag, the method derivatives_and_departures uses a mess derived with SymPy’s cse function to perform
the calculation as quickly as possible. Otherwise, the independent formulas for each property are used.
set_properties_from_solution next calculates beta (isobaric expansion coefficient), kappa (isothermal compress-
ibility), Cp_minus_Cv, Cv_dep, Cp_dep, V_dep molar volume departure, U_dep internal energy departure,
G_dep Gibbs energy departure, A_dep Helmholtz energy departure, fugacity, and phi (fugacity coefficient). It
then calculates PIP or phase identification parameter, and determines the fluid phase with it. Finally, it sets all
these properties as attibutes or either the liquid or gas phase with the convention of adding on _l or _g to the
variable names.
1.1.1.11.1 Methods
92 Chapter 1. thermo
thermo Documentation, Release 0.1
derivatives_and_departures
main_derivatives_and_departures
to_TP
Hvap(T)
Method to calculate enthalpy of vaporization for a pure fluid from an equation of state, without iteration.
𝑑𝑃 𝑠𝑎𝑡 ∆𝐻𝑣𝑎𝑝
=
𝑑𝑇 𝑇 (𝑉𝑔 − 𝑉𝑙 )
Results above the critical temperature are meaningless. A first-order polynomial is used to extrapolate
under 0.32 Tc; however, there is normally not a volume solution to the EOS which can produce that low
of a pressure.
Parameters
T [float] Temperature, [K]
Returns
Hvap [float] Increase in enthalpy needed for vaporization of liquid phase along the satura-
tion line, [J/mol]
1.1.1.11.2 Notes
Calculates vapor pressure and its derivative with Psat and dPsat_dT as well as molar volumes of the
saturation liquid and vapor phase in the process.
Very near the critical point this provides unrealistic results due to Psat’s polynomials being insufficiently
accurate.
1.1.1.11.3 References
[1]
Psat(T, polish=False)
Generic method to calculate vapor pressure for a specified T.
From Tc to 0.32Tc, uses a 10th order polynomial of the following form:
10 (︂ )︂𝑘
𝑃𝑟 ∑︁ 𝛼
ln = 𝐶𝑘 −1
𝑇𝑟 𝑇𝑟
𝑘=0
If polish is True, SciPy’s newton solver is launched with the calculated vapor pressure as an initial guess
in an attempt to get more accuracy. This may not converge however.
Results above the critical temperature are meaningless. A first-order polynomial is used to extrapolate
under 0.32 Tc; however, there is normally not a volume solution to the EOS which can produce that low
of a pressure.
Parameters
T [float] Temperature, [K]
polish [bool, optional] Whether to attempt to use a numerical solver to make the solution
more precise or not
Returns
Psat [float] Vapor pressure, [Pa]
1.1.1.11.4 Notes
EOSs sharing the same b, delta, and epsilon have the same coefficient sets.
All coefficients were derived with numpy’s polyfit. The intersection between the polynomials is continu-
ous, but there is a step change in its derivative.
Form for the regression is inspired from [1].
1.1.1.11.5 References
[1]
V_g_sat(T)
Method to calculate molar volume of the vapor phase along the saturation line.
Parameters
T [float] Temperature, [K]
Returns
V_g_sat [float] Gas molar volume along the saturation line, [m^3/mol]
1.1.1.11.6 Notes
Computers Psat, and then uses volume_solutions to obtain the three possible molar volumes. The highest
value is returned.
V_l_sat(T)
Method to calculate molar volume of the liquid phase along the saturation line.
Parameters
T [float] Temperature, [K]
Returns
V_l_sat [float] Liquid molar volume along the saturation line, [m^3/mol]
1.1.1.11.7 Notes
Computers Psat, and then uses volume_solutions to obtain the three possible molar volumes. The lowest
value is returned.
94 Chapter 1. thermo
thermo Documentation, Release 0.1
1.1.1.11.8 Notes
There is a small step change at 0.32 Tc for all EOS due to the two switch between polynomials at that
point.
Useful for calculating enthalpy of vaporization with the Clausius Clapeyron Equation. Derived with
SymPy’s diff and cse.
derivatives_and_departures(T, P, V, b, delta, epsilon, a_alpha, da_alpha_dT, d2a_alpha_dT2,
quick=True)
kwargs = {}
static main_derivatives_and_departures(T, P, V, b, delta, epsilon, a_alpha,
da_alpha_dT, d2a_alpha_dT2, quick=True)
set_from_PT(Vs)
Counts the number of real volumes in Vs, and determines what to do. If there is only one
real volume, the method set_properties_from_solution is called with it. If there are two real vol-
umes, set_properties_from_solution is called once with each volume. The phase is returned by
set_properties_from_solution, and the volumes is set to either V_l or V_g as appropriate.
Parameters
Vs [list[float]] Three possible molar volumes, [m^3/mol]
set_properties_from_solution(T, P, V, b, delta, epsilon, a_alpha, da_alpha_dT,
d2a_alpha_dT2, quick=True)
Sets all interesting properties which can be calculated from an EOS alone. Determines which phase the
fluid is on its own; for details, see phase_identification_parameter.
The list of properties set is as follows, with all properties suffixed with ‘_l’ or ‘_g’.
dP_dT, dP_dV, dV_dT, dV_dP, dT_dV, dT_dP, d2P_dT2, d2P_dV2, d2V_dT2, d2V_dP2, d2T_dV2,
d2T_dP2, d2V_dPdT, d2P_dTdV, d2T_dPdV, H_dep, S_dep, beta, kappa, Cp_minus_Cv, V_dep, U_dep,
G_dep, A_dep, fugacity, phi, and PIP.
Parameters
T [float] Temperature, [K]
P [float] Pressure, [Pa]
V [float] Molar volume, [m^3/mol]
b [float] Coefficient calculated by EOS-specific method, [m^3/mol]
delta [float] Coefficient calculated by EOS-specific method, [m^3/mol]
epsilon [float] Coefficient calculated by EOS-specific method, [m^6/mol^2]
a_alpha [float] Coefficient calculated by EOS-specific method, [J^2/mol^2/Pa]
da_alpha_dT [float] Temperature derivative of coefficient calculated by EOS-specific
method, [J^2/mol^2/Pa/K]
d2a_alpha_dT2 [float] Second temperature derivative of coefficient calculated by EOS-
specific method, [J^2/mol^2/Pa/K**2]
quick [bool, optional] Whether to use a SymPy cse-derived expression (3x faster) or indi-
vidual formulas
Returns
phase [str] Either ‘l’ or ‘g’
1.1.1.11.9 Notes
The individual formulas for the derivatives and excess properties are as follows. For definitions of beta,
see isobaric_expansion; for kappa, see isothermal_compressibility; for Cp_minus_Cv, see Cp_minus_Cv;
for phase_identification_parameter, see phase_identification_parameter.
96 Chapter 1. thermo
thermo Documentation, Release 0.1
First derivatives; in part using the Triple Product Rule [2], [3]:
𝑎 𝑑𝛼(𝑇 )
(︂ )︂
𝑅
𝜕𝑃
− 2 𝑑𝑇 =
𝑉 𝑉 −𝑏 𝑉 +𝑉𝛿+𝜖
𝜕𝑇
(︂ )︂
𝜕𝑃 𝑅𝑇 𝑎 (−2𝑉 − 𝛿) 𝛼(𝑇 )
=− 2 − 2
𝜕𝑉 𝑇 (𝑉 − 𝑏) (𝑉 2 + 𝑉 𝛿 + 𝜖)
(︂ )︂ (︀ 𝜕𝑃 )︀
𝜕𝑉
= − (︀ 𝜕𝑇
𝜕𝑃
)︀𝑉
𝜕𝑇 𝑃 𝜕𝑉 𝑇
(︂ )︂ (︀ 𝜕𝑉 )︀
𝜕𝑉 𝜕𝑇 𝑃
= − (︀ 𝜕𝑃 )︀
𝜕𝑃 𝑇 𝜕𝑇 𝑉
(︂ )︂
𝜕𝑇 1
= (︀ 𝜕𝑉 )︀
𝜕𝑉 𝑃 𝜕𝑇 𝑃
(︂ )︂
𝜕𝑇 1
= (︀ 𝜕𝑃 )︀
𝜕𝑃 𝑉 𝜕𝑇 𝑉
Second derivatives with respect to one variable; those of T and V use identities shown in [1] and verified
numerically:
𝜕2𝑃
(︂ )︂
𝜕𝑇 2 𝑉
(︃
(︂ 2
)︂ 2
𝜕 𝑃 𝑅𝑇 𝑎 (2𝑉 + 𝛿) 𝛼(𝑇 )
=2 3 − 3 +
𝜕𝑉 2 𝑇 (𝑉 − 𝑏) (𝑉 2 + 𝑉 𝛿 + 𝜖)
(︂ 2 )︂ (︂
𝜕 𝑇
=−
𝜕𝑃 2 𝑉
(︂ 2 )︂ (︂
𝜕 𝑉
=−
𝜕𝑃 2 𝑇
)︂−2
𝜕2𝑇 𝜕2𝑃 𝜕2𝑃 𝜕2𝑃
(︂ )︂ [︂(︂ )︂ (︂ )︂ (︂ )︂ (︂ )︂]︂ (︂ [︂(︂ )︂ (︂ )︂ (︂ )︂ (︂ 2 )︂ ]︂
𝜕𝑃 𝜕𝑃 𝜕𝑃 𝜕𝑃 𝜕𝑃 𝜕 𝑃
=− − + −
𝜕𝑉 2 𝑃 𝜕𝑉 2 𝑇 𝜕𝑇 𝑉 𝜕𝑉 𝑇 𝜕𝑇 𝜕𝑉 𝜕𝑇 𝑉 𝜕𝑇 𝜕𝑉 𝜕𝑇 𝑉 𝜕𝑉 𝑇 𝜕𝑇 2 𝑉
)︂−2
𝜕2𝑉 𝜕2𝑃 𝜕2𝑃 𝜕2𝑃
(︂ )︂ [︂(︂ )︂ (︂ )︂ (︂ )︂ (︂ )︂]︂ (︂ [︂(︂ )︂ (︂ )︂ (︂ )︂ (︂ 2 )︂ ]︂
𝜕𝑃 𝜕𝑃 𝜕𝑃 𝜕𝑃 𝜕𝑃 𝜕 𝑃
=− − + −
𝜕𝑇 2 𝑃 𝜕𝑇 2 𝑉 𝜕𝑉 𝑇 𝜕𝑇 𝑉 𝜕𝑇 𝜕𝑉 𝜕𝑉 𝑇 𝜕𝑇 𝜕𝑉 𝜕𝑉 𝑇 𝜕𝑇 𝑉 𝜕𝑉 2 𝑇
Second derivatives with respect to the other two variables; those of T and V use identities shown in [1]
and verified numerically:
Excess properties
∫︁ 𝑉[︂ ]︂
𝜕𝑃 2
𝐻𝑑𝑒𝑝 = 𝑇 − 𝑃 𝑑𝑉 + 𝑃 𝑉 − 𝑅𝑇 = 𝑃 𝑉 − 𝑅𝑇 + √
∞ 𝜕𝑇 𝑉 2
𝛿 −4
∫︁ 𝑉 [︂ ]︂ (︂ )︂
𝜕𝑃 𝑅 𝑃𝑉 𝑃𝑉
𝑆𝑑𝑒𝑝 = − 𝑑𝑉 + 𝑅 log = −𝑅 log (𝑉 ) + 𝑅 log +𝑅
∞ 𝜕𝑇 𝑉 𝑅𝑇 𝑅𝑇
(︃√︂ (︃ )︃ √︂ (︃
𝑉
√︂ √︂
𝜕2𝑃 𝛿2
∫︁ (︂ )︂
1 1 𝛿 1 1
𝐶𝑣,𝑑𝑒𝑝 = 𝑇 𝑑𝑉 = −𝑇 𝑎 log 𝑉 − + + 2𝜖 − log 𝑉 +
∞ 𝜕𝑇 2 𝛿 2 − 4𝜖 2 𝛿 2 − 4𝜖 2 𝛿 2 − 4𝜖 𝛿 2 − 4𝜖
1.1.1.11.10 References
98 Chapter 1. thermo
thermo Documentation, Release 0.1
1.1.1.11.11 Notes
Using explicit formulas, as can be derived in the following example, is faster than most numeric root
finding techniques, and finds all values explicitly. It takes several seconds.
>>> from sympy import *
>>> P, T, V, R, b, a, delta, epsilon, alpha = symbols('P, T, V, R, b, a,
˓→delta, epsilon, alpha')
1.1.1.11.12 Notes
The constants in the expresions for a and b are given to full precision in the actual code, as derived in [3].
1.1.1.11.13 References
1.1.1.11.14 Examples
1.1.1.11.15 Methods
derivatives_and_departures
main_derivatives_and_departures
to_TP
c1 = 0.4572355289213822
c2 = 0.07779607390388846
solve_T(P, V, quick=True)
Method to calculate T from a specified P and V for the PR EOS. Uses Tc, a, b, and kappa as well, obtained
from the class’s namespace.
Parameters
P [float] Pressure, [Pa]
V [float] Molar volume, [m^3/mol]
quick [bool, optional] Whether to use a SymPy cse-derived expression (3x faster) or indi-
vidual formulas
Returns
T [float] Temperature, [K]
1.1.1.11.16 Notes
The exact solution can be derived as follows, and is excluded for breviety.
Parameters
Tc [float] Critical temperature, [K]
1.1.1.11.17 References
1.1.1.11.18 Examples
1.1.1.11.19 Methods
derivatives_and_departures
main_derivatives_and_departures
to_TP
c1 = 0.4274802335403414
c2 = 0.08664034996495772
epsilon = 0
solve_T(P, V, quick=True)
Method to calculate T from a specified P and V for the SRK EOS. Uses a, b, and Tc obtained from the
class’s namespace.
Parameters
P [float] Pressure, [Pa]
V [float] Molar volume, [m^3/mol]
quick [bool, optional] Whether to use a SymPy cse-derived expression (3x faster) or indi-
vidual formulas
Returns
T [float] Temperature, [K]
1.1.1.11.20 Notes
Parameters
Tc [float] Critical temperature, [K]
Pc [float] Critical pressure, [Pa]
omega [float] Acentric factor, [-]
T [float, optional] Temperature, [K]
P [float, optional] Pressure, [Pa]
V [float, optional] Molar volume, [m^3/mol]
1.1.1.11.21 Notes
1.1.1.11.22 References
[1], [2]
1.1.1.11.23 Examples
1.1.1.11.24 Methods
derivatives_and_departures
main_derivatives_and_departures
to_TP
1.1.1.11.25 Notes
[1] recommends that kappa1 be set to 0 for Tr > 0.7. This is not done by default; the class boolean
kappa1_Tr_limit may be set to True and the problem re-solved with that specified if desired. kappa1_Tr_limit
is not supported for P-V inputs.
Solutions for P-V solve for T with SciPy’s newton solver, as there is no analytical solution for T
[2] and [3] are two more resources documenting the PRSV EOS. [4] lists kappa values for 69 additional com-
pounds. See also PRSV2. Note that tabulated kappa values should be used with the critical parameters used in
their fits. Both [1] and [4] only considered vapor pressure in fitting the parameter.
1.1.1.11.26 References
1.1.1.11.27 Examples
1.1.1.11.28 Methods
derivatives_and_departures
main_derivatives_and_departures
to_TP
kappa1_Tr_limit = False
solve_T(P, V, quick=True)
Method to calculate T from a specified P and V for the PRSV EOS. Uses Tc, a, b, kappa0 and kappa as
well, obtained from the class’s namespace.
Parameters
P [float] Pressure, [Pa]
V [float] Molar volume, [m^3/mol]
quick [bool, optional] Whether to use a SymPy cse-derived expression (somewhat faster) or
individual formulas.
Returns
T [float] Temperature, [K]
1.1.1.11.29 Notes
Not guaranteed to produce a solution. There are actually two solution, one much higher than normally
desired; it is possible the solver could converge on this.
class thermo.eos.PRSV2(Tc, Pc, omega, T=None, P=None, V=None, kappa1=0, kappa2=0,
kappa3=0)
Bases: thermo.eos.PR
Class for solving the Peng-Robinson-Stryjek-Vera 2 equations of state for a pure compound as given in [1].
The same as the Peng-Robinson EOS, except with a different kappa formula and with three fit parameters.
Subclasses PR, which provides only several constants. See PR for further documentation and examples. PRSV
provides only one constant.
𝑅𝑇 𝑎𝛼(𝑇 )
𝑃 = −
𝑣 − 𝑏 𝑣(𝑣 + 𝑏) + 𝑏(𝑣 − 𝑏)
𝑅2 𝑇𝑐2
𝑎 = 0.45724
𝑃𝑐
𝑅𝑇𝑐
𝑏 = 0.07780
𝑃
√︀ 𝑐
𝛼(𝑇 ) = [1 + 𝜅(1 − 𝑇𝑟 )]2
𝜅 = 𝜅0 + [𝜅1 + 𝜅2 (𝜅3 − 𝑇𝑟 )(1 − 𝑇𝑟0.5 )](1 + 𝑇𝑟0.5 )(0.7 − 𝑇𝑟 )
𝜅0 = 0.378893 + 1.4897153𝜔 − 0.17131848𝜔 2 + 0.0196554𝜔 3
Parameters
Tc [float] Critical temperature, [K]
Pc [float] Critical pressure, [Pa]
omega [float] Acentric factor, [-]
T [float, optional] Temperature, [K]
P [float, optional] Pressure, [Pa]
V [float, optional] Molar volume, [m^3/mol]
kappa1 [float, optional] Fit parameter; available in [1] for over 90 compounds, [-]
kappa2 [float, optional] Fit parameter; available in [1] for over 90 compounds, [-]
kappa [float, optional] Fit parameter; available in [1] for over 90 compounds, [-]
1.1.1.11.30 Notes
Solutions for P-V solve for T with SciPy’s newton solver, as there is no analytical solution for T
Note that tabulated kappa values should be used with the critical parameters used in their fits. [1] considered
only vapor pressure in fitting the parameter.
1.1.1.11.31 References
[1]
1.1.1.11.32 Examples
1.1.1.11.33 Methods
derivatives_and_departures
main_derivatives_and_departures
to_TP
>>> Tr = T/Tc
>>> kappa = kappa0 + (kappa1 + kappa2*(kappa3-Tr)*(1-
˓→sqrt(Tr)))*(1+sqrt(Tr))*(Rational('0.7')-Tr)
solve_T(P, V, quick=True)
Method to calculate T from a specified P and V for the PRSV2 EOS. Uses Tc, a, b, kappa0, kappa1,
kappa2, and kappa3 as well, obtained from the class’s namespace.
Parameters
P [float] Pressure, [Pa]
V [float] Molar volume, [m^3/mol]
quick [bool, optional] Whether to use a SymPy cse-derived expression (somewhat faster) or
individual formulas.
Returns
T [float] Temperature, [K]
1.1.1.11.34 Notes
Not guaranteed to produce a solution. There are actually 8 solutions, six with an imaginary component at
a tested point. The two temperature solutions are quite far apart, with one much higher than the other; it is
possible the solver could converge on the higher solution, so use T inputs with care. This extra solution is
a perfectly valid one however.
class thermo.eos.VDW(Tc, Pc, T=None, P=None, V=None, omega=None)
Bases: thermo.eos.GCEOS
Class for solving the Van der Waals cubic equation of state for a pure compound. Subclasses CUBIC_EOS,
which provides the methods for solving the EOS and calculating its assorted relevant thermodynamic properties.
Solves the EOS on initialization.
Implemented methods here are a_alpha_and_derivatives, which sets a_alpha and its first and second derivatives,
and solve_T, which from a specified P and V obtains T. main_derivatives_and_departures is a re-implementation
with VDW specific methods, as the general solution has ZeroDivisionError errors.
Two of T, P, and V are needed to solve the EOS.
𝑅𝑇 𝑎
𝑃 = − 2
𝑉 −𝑏 𝑉
27 (𝑅𝑇𝑐 )2
𝑎=
64 𝑃𝑐
𝑅𝑇𝑐
𝑏=
8𝑃𝑐
Parameters
Tc [float] Critical temperature, [K]
Pc [float] Critical pressure, [Pa]
T [float, optional] Temperature, [K]
P [float, optional] Pressure, [Pa]
V [float, optional] Molar volume, [m^3/mol]
1.1.1.11.35 Notes
omega is allowed as an input for compatibility with the other EOS forms, but is not used.
1.1.1.11.36 References
[1], [2]
1.1.1.11.37 Examples
Attributes
omega
1.1.1.11.38 Methods
derivatives_and_departures
to_TP
Zc = 0.375
a_alpha_and_derivatives(T, full=True, quick=True)
Method to calculate a_alpha and its first and second derivatives for this EOS. Returns a_alpha,
da_alpha_dT, and d2a_alpha_dT2. See GCEOS.a_alpha_and_derivatives for more documentation. Uses
the set values of a.
𝑎𝛼 = 𝑎
𝑑𝑎𝛼
=0
𝑑𝑇
2
𝑑 𝑎𝛼
=0
𝑑𝑇 2
delta = 0
epsilon = 0
static main_derivatives_and_departures(T, P, V, b, delta, epsilon, a_alpha,
da_alpha_dT, d2a_alpha_dT2, quick=True)
Re-implementation of derivatives and excess property calculations, as ZeroDivisionError errors occur with
the general solution. The following derivation is the source of these formulas.
omega = None
solve_T(P, V)
Method to calculate T from a specified P and V for the VDW EOS. Uses a, and b, obtained from the class’s
namespace.
1 (︀
𝑃 𝑉 2 (𝑉 − 𝑏) + 𝑉 𝑎 − 𝑎𝑏
)︀
𝑇 = 2
𝑅𝑉
Parameters
P [float] Pressure, [Pa]
V [float] Molar volume, [m^3/mol]
Returns
T [float] Temperature, [K]
Parameters
Tc [float] Critical temperature, [K]
Pc [float] Critical pressure, [Pa]
T [float, optional] Temperature, [K]
P [float, optional] Pressure, [Pa]
V [float, optional] Molar volume, [m^3/mol]
1.1.1.11.39 Notes
omega is allowed as an input for compatibility with the other EOS forms, but is not used.
1.1.1.11.40 References
1.1.1.11.41 Examples
Attributes
omega
1.1.1.11.42 Methods
derivatives_and_departures
main_derivatives_and_departures
to_TP
c1 = 0.4274802335403414
c2 = 0.08664034996495772
epsilon = 0
omega = None
solve_T(P, V, quick=True)
Method to calculate T from a specified P and V for the RK EOS. Uses a, and b, obtained from the class’s
namespace.
Parameters
P [float] Pressure, [Pa]
V [float] Molar volume, [m^3/mol]
quick [bool, optional] Whether to use a SymPy cse-derived expression (3x faster) or indi-
vidual formulas
Returns
T [float] Temperature, [K]
1.1.1.11.43 Notes
Parameters
Tc [float] Critical temperature, [K]
Pc [float] Critical pressure, [Pa]
1.1.1.11.44 References
[1]
1.1.1.11.45 Examples
1.1.1.11.46 Methods
derivatives_and_departures
main_derivatives_and_departures
to_TP
solve_T(P, V, quick=True)
Method to calculate T from a specified P and V for the API SRK EOS. Uses a, b, and Tc obtained from
the class’s namespace.
Parameters
P [float] Pressure, [Pa]
V [float] Molar volume, [m^3/mol]
quick [bool, optional] Whether to use a SymPy cse-derived expression (3x faster) or indi-
vidual formulas
Returns
T [float] Temperature, [K]
1.1.1.11.47 Notes
If S2 is set to 0, the solution is the same as in the SRK EOS, and that is used. Otherwise, newton’s method
must be used to solve for T. There are 8 roots of T in that case, six of them real. No guarantee can be made
regarding which root will be obtained.
class thermo.eos.TWUPR(Tc, Pc, omega, T=None, P=None, V=None)
Bases: thermo.eos.PR
Class for solving the Twu [1] variant of the Peng-Robinson cubic equation of state for a pure compound. Sub-
classes PR, which provides the methods for solving the EOS and calculating its assorted relevant thermodynamic
properties. Solves the EOS on initialization.
Implemented methods here are a_alpha_and_derivatives, which sets a_alpha and its first and second derivatives,
and solve_T, which from a specified P and V obtains T.
1.1.1.11.48 Notes
Claimed to be more accurate than the PR, PR78 and PRSV equations.
There is no analytical solution for T. There are multiple possible solutions for T under certain conditions; no
guaranteed are provided regarding which solution is obtained.
1.1.1.11.49 References
[1]
1.1.1.11.50 Examples
1.1.1.11.51 Methods
derivatives_and_departures
main_derivatives_and_departures
to_TP
1.1.1.11.52 Notes
There is no analytical solution for T. There are multiple possible solutions for T under certain conditions; no
guaranteed are provided regarding which solution is obtained.
1.1.1.11.53 References
[1]
1.1.1.11.54 Examples
1.1.1.11.55 Methods
derivatives_and_departures
main_derivatives_and_departures
to_TP
1.1.1.11.56 References
[1]
1.1.1.11.57 Examples
Swap out the default alpha function from the SRK EOS, replace it the same, a new method that takes a manually
specified coefficient.
1.1.1.11.58 Methods
Almeida(T[, full, quick]) Method to calculate a_alpha and its first and second
derivatives according to Almeida et al.
Androulakis(T[, full, quick]) Method to calculate a_alpha and its first and second
derivatives according to Androulakis et al.
Chen_Yang(T[, full, quick]) Method to calculate a_alpha and its first and second
derivatives according to Hamid and Yang (2017) [1].
Coquelet(T[, full, quick]) Method to calculate a_alpha and its first and second
derivatives according to Coquelet et al.
Gasem(T[, full, quick]) Method to calculate a_alpha and its first and second
derivatives according to Gasem (2001) [1].
Gibbons_Laughton(T[, full, quick]) Method to calculate a_alpha and its first and second
derivatives according to Gibbons and Laughton (1984)
[1].
Haghtalab(T[, full, quick]) Method to calculate a_alpha and its first and second
derivatives according to Haghtalab et al.
Harmens_Knapp(T[, full, quick]) Method to calculate a_alpha and its first and second
derivatives according to Harmens and Knapp (1980)
[1].
Heyen(T[, full, quick]) Method to calculate a_alpha and its first and second
derivatives according to Heyen (1980) [1].
Hvap(T) Method to calculate enthalpy of vaporization for a pure
fluid from an equation of state, without iteration.
Mathias(T[, full, quick]) Method to calculate a_alpha and its first and second
derivatives according to Mathias (1983) [1].
Mathias_Copeman(T[, full, quick]) Method to calculate a_alpha and its first and second
derivatives according to Mathias and Copeman (1983)
[1].
Melhem(T[, full, quick]) Method to calculate a_alpha and its first and second
derivatives according to Melhem et al.
Psat(T[, polish]) Generic method to calculate vapor pressure for a speci-
fied T.
Continued on next page
derivatives_and_departures
main_derivatives_and_departures
to_TP
1.1.1.11.59 References
[1]
1.1.1.11.60 References
[1]
static Chen_Yang(T, full=True, quick=True)
Method to calculate a_alpha and its first and second derivatives according to Hamid and Yang (2017)
[1]. Returns a_alpha, da_alpha_dT, and d2a_alpha_dT2. See GCEOS.a_alpha_and_derivatives for more
documentation. Seven coefficients needed.
(︃ )︃
log ( 𝑇𝑇𝑐 ) +1
−𝑐3 (− 𝑇𝑇𝑐𝑐2 +𝑐1 )
𝛼=𝑒
1.1.1.11.61 References
[1]
static Coquelet(T, full=True, quick=True)
Method to calculate a_alpha and its first and second derivatives according to Coquelet et al. (2004) [1].
Returns a_alpha, da_alpha_dT, and d2a_alpha_dT2. See GCEOS.a_alpha_and_derivatives for more doc-
umentation. Three coefficients needed.
(︂ (︁ √ )︁2 (︁ √ )︁3 )︂2
𝑐1 (− 𝑇𝑇𝑐 +1) 𝑐2 − 𝑇𝑇𝑐 +1 +𝑐3 − 𝑇𝑇𝑐 +1 +1
𝛼=𝑒
1.1.1.11.62 References
[1]
static Gasem(T, full=True, quick=True)
Method to calculate a_alpha and its first and second derivatives according to Gasem (2001) [1]. Returns
a_alpha, da_alpha_dT, and d2a_alpha_dT2. See GCEOS.a_alpha_and_derivatives for more documenta-
tion. Three coefficients needed.
𝑐3 𝑇 𝑐2
𝛼 = 𝑒(−( 𝑇 𝑐 ) +1)( +𝑐1 )
𝑇
𝑇𝑐
1.1.1.11.63 References
[1]
static Gibbons_Laughton(T, full=True, quick=True)
Method to calculate a_alpha and its first and second derivatives according to Gibbons and Laughton (1984)
[1]. Returns a_alpha, da_alpha_dT, and d2a_alpha_dT2. See GCEOS.a_alpha_and_derivatives for more
documentation. Two coefficients needed.
(︂ )︂ (︃√︂ )︃
𝑇 𝑇
𝛼 = 𝑐1 − 1 + 𝑐2 −1 +1
𝑇𝑐 𝑇𝑐
1.1.1.11.64 References
[1]
static Haghtalab(T, full=True, quick=True)
Method to calculate a_alpha and its first and second derivatives according to Haghtalab et al. (2010)
[1]. Returns a_alpha, da_alpha_dT, and d2a_alpha_dT2. See GCEOS.a_alpha_and_derivatives for more
documentation. Three coefficients needed.
(︃ )︃
log ( 𝑇𝑇𝑐 ) +1
−𝑐3 (− 𝑇𝑇𝑐𝑐2 +𝑐1 )
𝛼=𝑒
1.1.1.11.65 References
[1]
static Harmens_Knapp(T, full=True, quick=True)
Method to calculate a_alpha and its first and second derivatives according to Harmens and Knapp (1980)
[1]. Returns a_alpha, da_alpha_dT, and d2a_alpha_dT2. See GCEOS.a_alpha_and_derivatives for more
documentation. Two coefficients needed.
(︃ (︃ √︂ )︃ (︂ )︂ )︃2
𝑇 𝑇𝑐
𝛼 = 𝑐1 − + 1 − 𝑐2 1 − +1
𝑇𝑐 𝑇
1.1.1.11.66 References
[1]
static Heyen(T, full=True, quick=True)
Method to calculate a_alpha and its first and second derivatives according to Heyen (1980) [1]. Returns
a_alpha, da_alpha_dT, and d2a_alpha_dT2. See GCEOS.a_alpha_and_derivatives for more documenta-
tion. Two coefficients needed.
𝑐2
𝛼 = 𝑒𝑐1 (−( 𝑇 𝑐 ) +1)
𝑇
1.1.1.11.67 References
[1]
static Mathias(T, full=True, quick=True)
Method to calculate a_alpha and its first and second derivatives according to Mathias (1983) [1]. Returns
a_alpha, da_alpha_dT, and d2a_alpha_dT2. See GCEOS.a_alpha_and_derivatives for more documenta-
tion. Two coefficients needed.
(︃ (︃ √︂ )︃ (︂ )︂ (︂ )︂ )︃2
𝑇 𝑇 𝑇
𝛼 = 𝑐1 − + 1 − 𝑐2 − + 0.7 − +1 +1
𝑇𝑐 𝑇𝑐 𝑇𝑐
1.1.1.11.68 References
[1]
1.1.1.11.69 References
[1]
static Melhem(T, full=True, quick=True)
Method to calculate a_alpha and its first and second derivatives according to Melhem et al. (1989) [1].
Returns a_alpha, da_alpha_dT, and d2a_alpha_dT2. See GCEOS.a_alpha_and_derivatives for more doc-
umentation. Two coefficients needed.
(︁ √ )︁2
𝑐1 (− 𝑇𝑇𝑐 +1)+𝑐2 − 𝑇𝑇𝑐 +1
𝛼=𝑒
1.1.1.11.70 References
[1]
static Saffari(T, full=True, quick=True)
Method to calculate a_alpha and its first and second derivatives according to Saffari and Zahedi (2013)
[1]. Returns a_alpha, da_alpha_dT, and d2a_alpha_dT2. See GCEOS.a_alpha_and_derivatives for more
documentation. Three coefficients needed.
(︁ √ )︁
𝑇 𝑐1
𝑇 𝑐 +𝑐2 log ( 𝑇 𝑐 )+𝑐3 −
𝑇 𝑇
𝑇 𝑐 +1
𝛼=𝑒
1.1.1.11.71 References
[1]
static Schwartzentruber(T, full=True, quick=True)
Method to calculate a_alpha and its first and second derivatives according to Schwartzentruber et al. (1990)
[1]. Returns a_alpha, da_alpha_dT, and d2a_alpha_dT2. See GCEOS.a_alpha_and_derivatives for more
documentation. Three coefficients needed.
(︃ (︃ √︂ )︃ (︃ √︂ )︃ (︂ )︃2
𝑇 2 𝑐3
)︂
𝑇 𝑇 𝑇 𝑐2
𝛼 = 𝑐4 − +1 − − +1 + + 𝑐1 + 1
𝑇𝑐 𝑇𝑐 𝑇 𝑐2 𝑇𝑐
1.1.1.11.72 References
[1]
static Soave_1972(T, full=True, quick=True)
Method to calculate a_alpha and its first and second derivatives according to Soave (1972) [1]. Returns
1.1.1.11.73 References
[1]
static Soave_1984(T, full=True, quick=True)
Method to calculate a_alpha and its first and second derivatives according to Soave (1984) [1]. Returns
a_alpha, da_alpha_dT, and d2a_alpha_dT2. See GCEOS.a_alpha_and_derivatives for more documenta-
tion. Two coefficients needed.
(︂ )︂ (︂ )︂
𝑇 𝑇𝑐
𝛼 = 𝑐1 − + 1 + 𝑐2 −1 + +1
𝑇𝑐 𝑇
1.1.1.11.74 References
[1]
static Soave_1993(T, full=True, quick=True)
Method to calculate a_alpha and its first and second derivatives according to Soave (1983) [1]. Returns
a_alpha, da_alpha_dT, and d2a_alpha_dT2. See GCEOS.a_alpha_and_derivatives for more documenta-
tion. Two coefficient needed.
(︂ )︂ (︃ √︂ )︃2
𝑇 𝑇
𝛼 = 𝑐1 − + 1 + 𝑐2 − +1 +1
𝑇𝑐 𝑇𝑐
1.1.1.11.75 References
[1]
static Trebble_Bishnoi(T, full=True, quick=True)
Method to calculate a_alpha and its first and second derivatives according to Trebble and Bishnoi (1987)
[1]. Returns a_alpha, da_alpha_dT, and d2a_alpha_dT2. See GCEOS.a_alpha_and_derivatives for more
documentation. One coefficient needed.
𝛼 = 𝑒𝑐1 (− 𝑇 𝑐 +1)
𝑇
1.1.1.11.76 References
[1]
static Twu(T, full=True, quick=True)
Method to calculate a_alpha and its first and second derivatives according to Twu et al. (1991) [1]. Returns
a_alpha, da_alpha_dT, and d2a_alpha_dT2. See GCEOS.a_alpha_and_derivatives for more documenta-
tion. Three coefficients needed.
(︂ )︂𝑐3 (𝑐2 −1)
𝑇 𝑐2 𝑐3
𝑒𝑐1 (−( 𝑇 𝑐 ) +1)
𝑇
𝛼=
𝑇𝑐
1.1.1.11.77 References
[1]
static Yu_Lu(T, full=True, quick=True)
Method to calculate a_alpha and its first and second derivatives according to Yu and Lu (1987) [1]. Returns
a_alpha, da_alpha_dT, and d2a_alpha_dT2. See GCEOS.a_alpha_and_derivatives for more documenta-
tion. Four coefficients needed.
(︂ )︂
𝑇 2 𝑐3 𝑇 𝑐2
𝑐4 (− 𝑇𝑇𝑐 +1) 𝑇 𝑐2
+ 𝑇𝑐 +𝑐1
𝛼 = 10
1.1.1.11.78 References
[1]
class thermo.eos.GCEOS_DUMMY(T=None, P=None, **kwargs)
Bases: thermo.eos.GCEOS
Attributes
Pc
Tc
omega
1.1.1.11.79 Methods
derivatives_and_departures
main_derivatives_and_departures
to_TP
Pc = None
Tc = None
omega = None
class thermo.eos_mix.GCEOSMIX
Bases: thermo.eos.GCEOS
Class for solving a generic pressure-explicit three-parameter cubic equation of state for a mixture. Does not
implement any parameters itself; must be subclassed by a mixture equation of state class which subclasses
it. No routines for partial molar properties for a generic cubic equation of state have yet been implemented,
although that would be desireable. The only partial molar property which is currently used is fugacity, which
must be implemented in each mixture EOS that subclasses this.
𝑅𝑇 𝑎𝛼(𝑇 )
𝑃 = −
𝑉 − 𝑏 𝑉 2 + 𝛿𝑉 + 𝜖
Main methods are fugacities, solve_T, and a_alpha_and_derivatives.
fugacities is a helper method intended as a common interface for setting fugacities of each species in each phase;
it calls fugacity_coefficients to actually calculate them, but that is not implemented here. This should be used
when performing flash calculations, where fugacities are needed repeatedly. The fugacities change as a function
of liquid/gas phase composition, but the entire EOS need not be solved to recalculate them.
solve_T is a wrapper around GCEOS’s solve_T; the only difference is to use half the average mixture’s critical
temperature as the initial guess.
a_alpha_and_derivatives implements the Van der Waals mixing rules for a mixture. It calls
a_alpha_and_derivatives from the pure-component EOS for each species via multiple inheritance.
1.1.1.12.1 Methods
TDP_Michelsen
TPD
d_TPD_dy
derivatives_and_departures
fugacities_partial_derivatives
fugacities_partial_derivatives_2
main_derivatives_and_departures
to_TP
to_TP_zs
Parameters
T [float] Temperature, [K]
full [bool, optional] If False, calculates and returns only a_alpha
quick [bool, optional] Only the quick variant is implemented; it is little faster anyhow
Returns
a_alpha [float] Coefficient calculated by EOS-specific method, [J^2/mol^2/Pa]
1.1.1.12.2 Notes
The exact expressions can be obtained with the following SymPy expression below, commented out for
brevity.
𝑓ˆ𝑔
𝜑ˆ𝑔𝑖 = 𝑖
𝑥𝑖 𝑃
𝑓ˆ𝑙
𝜑ˆ𝑙𝑖 = 𝑖
𝑥𝑖 𝑃
Parameters
xs [list[float], optional] Liquid-phase mole fractions of each species, [-]
ys [list[float], optional] Vapor-phase mole fractions of each species, [-]
1.1.1.12.3 Notes
It is helpful to check that fugacity_coefficients has been implemented correctly using the following expres-
sion, from [1].
[︂ ]︂
ˆ 𝜕(𝑛 log 𝜑)
ln 𝜑𝑖 =
𝜕𝑛𝑖 𝑇,𝑃,𝑛𝑗 ,𝑉𝑡
For reference, several expressions for fugacity of a component are as follows, shown in [1] and [2].
∫︁ 𝑃 (︃ ˆ )︃
𝑉 𝑖 1
ln 𝜑ˆ𝑖 = − 𝑑𝑃
0 𝑅𝑇 𝑃
∫︁ ∞ [︂ ]︂
1 𝜕𝑃 1
ln 𝜑ˆ𝑖 = − 𝑑𝑉 − ln 𝑍
𝑉 𝑅𝑇 𝜕𝑛𝑖 𝑉
1.1.1.12.4 References
[1], [2]
fugacities_partial_derivatives(xs=None, ys=None)
fugacities_partial_derivatives_2(xs=None, ys=None)
solve_T(P, V, quick=True)
Generic method to calculate T from a specified P and V. Provides SciPy’s newton solver, and it-
erates to solve the general equation for P, recalculating a_alpha as a function of temperature using
a_alpha_and_derivatives each iteration.
Parameters
P [float] Pressure, [Pa]
V [float] Molar volume, [m^3/mol]
quick [bool, optional] Unimplemented, although it may be possible to derive explicit ex-
pressions as done for many pure-component EOS
Returns
T [float] Temperature, [K]
to_TP_zs(T, P, zs)
class thermo.eos_mix.PRMIX(Tcs, Pcs, omegas, zs, kijs=None, T=None, P=None, V=None)
Bases: thermo.eos_mix.GCEOSMIX, thermo.eos.PR
Class for solving the Peng-Robinson cubic equation of state for a mixture of any number of compounds. Sub-
classes PR. Solves the EOS on initialization and calculates fugacities for all components in all phases.
The implemented method here is fugacity_coefficients, which implements the formula for fugacity coefficients
in a mixture as given in [1]. Two of T, P, and V are needed to solve the EOS.
𝑅𝑇 𝑎𝛼(𝑇 )
𝑃 = −
𝑣 − 𝑏 𝑣(𝑣 + 𝑏) + 𝑏(𝑣 − 𝑏)
∑︁ ∑︁
𝑎𝛼 = 𝑧𝑖 𝑧𝑗 (𝑎𝛼)𝑖𝑗
𝑖 𝑗
√︁
(𝑎𝛼)𝑖𝑗 = (1 − 𝑘𝑖𝑗 ) (𝑎𝛼)𝑖 (𝑎𝛼)𝑗
∑︁
𝑏= 𝑧𝑖 𝑏𝑖
𝑖
𝑅2 𝑇𝑐,𝑖
2
𝑎𝑖 = 0.45724
𝑃𝑐,𝑖
𝑅𝑇𝑐,𝑖
𝑏𝑖 = 0.07780
𝑃𝑐,𝑖
𝛼(𝑇 )𝑖 = [1 + 𝜅𝑖 (1 − 𝑇𝑟,𝑖 )]2
√︀
Parameters
Tcs [float] Critical temperatures of all compounds, [K]
Pcs [float] Critical pressures of all compounds, [Pa]
omegas [float] Acentric factors of all compounds, [-]
zs [float] Overall mole fractions of all species, [-]
kijs [list[list[float]], optional] n*n size list of lists with binary interaction parameters for the Van
der Waals mixing rules, default all 0 [-]
T [float, optional] Temperature, [K]
P [float, optional] Pressure, [Pa]
V [float, optional] Molar volume, [m^3/mol]
1.1.1.12.5 Notes
1.1.1.12.6 References
[1], [2]
1.1.1.12.7 Examples
1.1.1.12.8 Methods
TDP_Michelsen
TPD
d_TPD_dy
derivatives_and_departures
fugacities_partial_derivatives
fugacities_partial_derivatives_2
main_derivatives_and_departures
to_TP
to_TP_zs
a_alpha_mro = -4
cleanup_a_alpha_and_derivatives()
Removes properties set by setup_a_alpha_and_derivatives; run by GCEOSMIX.a_alpha_and_derivatives
after a_alpha is calculated for every component
fugacity_coefficients(Z, zs)
Literature formula for calculating fugacity coefficients for each species in a mixture. Verified numerically.
Applicable to most derivatives of the Peng-Robinson equation of state as well. Called by fugacities on
initialization, or by a solver routine which is performing a flash calculation.
[︃ ]︃ [︃ √ ]︃
𝐵 𝑖 𝐴 𝐵 𝑖 2 ∑︁ 𝑍 + (1 + 2)𝐵
ln 𝜑ˆ𝑖 = (𝑍 − 1) − ln(𝑍 − 𝐵) + √ − 𝑦𝑖 (𝑎𝛼)𝑖𝑗 log √
𝐵 2 2𝐵 𝐵 𝑎𝛼 𝑖 𝑍 − ( 2 − 1)𝐵
(𝑎𝛼)𝑃
𝐴=
𝑅2 𝑇 2
𝑏𝑃
𝐵=
𝑅𝑇
Parameters
Z [float] Compressibility of the mixture for a desired phase, [-]
zs [list[float], optional] List of mole factions, either overall or in a specific phase, [-]
Returns
1.1.1.12.9 References
[1], [2]
setup_a_alpha_and_derivatives(i, T=None)
Sets a, kappa, and Tc for a specific component before the pure-species EOS’s a_alpha_and_derivatives
method is called. Both are called by GCEOSMIX.a_alpha_and_derivatives for every component.
class thermo.eos_mix.SRKMIX(Tcs, Pcs, omegas, zs, kijs=None, T=None, P=None, V=None)
Bases: thermo.eos_mix.GCEOSMIX, thermo.eos.SRK
Class for solving the Soave-Redlich-Kwong cubic equation of state for a mixture of any number of compounds.
Subclasses SRK. Solves the EOS on initialization and calculates fugacities for all components in all phases.
The implemented method here is fugacity_coefficients, which implements the formula for fugacity coefficients
in a mixture as given in [1]. Two of T, P, and V are needed to solve the EOS.
𝑅𝑇 𝑎𝛼(𝑇 )
𝑃 = −
𝑉 − 𝑏 𝑉 (𝑉 + 𝑏)
∑︁ ∑︁
𝑎𝛼 = 𝑧𝑖 𝑧𝑗 (𝑎𝛼)𝑖𝑗
𝑖 𝑗
√︁
(𝑎𝛼)𝑖𝑗 = (1 − 𝑘𝑖𝑗 ) (𝑎𝛼)𝑖 (𝑎𝛼)𝑗
∑︁
𝑏= 𝑧𝑖 𝑏𝑖
𝑖
(︃ )︃
2 2
𝑅 (𝑇𝑐,𝑖 ) 0.42748 · 𝑅 (𝑇𝑐,𝑖 )2
2
𝑎𝑖 = √ =
9( 3 2 − 1)𝑃𝑐,𝑖 𝑃𝑐,𝑖
(︃ √ )︃
3
( 2 − 1) 𝑅𝑇𝑐,𝑖 0.08664 · 𝑅𝑇𝑐,𝑖
𝑏𝑖 = =
3 𝑃𝑐,𝑖 𝑃𝑐,𝑖
[︃ (︃ √︃ )︃]︃2
𝑇
𝛼(𝑇 )𝑖 = 1 + 𝑚𝑖 1 −
𝑇𝑐,𝑖
𝑚𝑖 = 0.480 + 1.574𝜔𝑖 − 0.176𝜔𝑖2
Parameters
Tcs [float] Critical temperatures of all compounds, [K]
Pcs [float] Critical pressures of all compounds, [Pa]
omegas [float] Acentric factors of all compounds, [-]
zs [float] Overall mole fractions of all species, [-]
kijs [list[list[float]], optional] n*n size list of lists with binary interaction parameters for the Van
der Waals mixing rules, default all 0 [-]
T [float, optional] Temperature, [K]
P [float, optional] Pressure, [Pa]
V [float, optional] Molar volume, [m^3/mol]
1.1.1.12.10 Notes
1.1.1.12.11 References
1.1.1.12.12 Examples
1.1.1.12.13 Methods
TDP_Michelsen
TPD
d_TPD_dy
derivatives_and_departures
fugacities_partial_derivatives
fugacities_partial_derivatives_2
main_derivatives_and_departures
to_TP
to_TP_zs
a_alpha_mro = -4
cleanup_a_alpha_and_derivatives()
Removes properties set by setup_a_alpha_and_derivatives; run by GCEOSMIX.a_alpha_and_derivatives
after a_alpha is calculated for every component
fugacity_coefficients(Z, zs)
Literature formula for calculating fugacity coefficients for each species in a mixture. Verified numerically.
Applicable to most derivatives of the SRK equation of state as well. Called by fugacities on initialization,
or by a solver routine which is performing a flash calculation.
[︃ ]︃ (︂ )︂
ˆ 𝐵𝑖 𝐴 𝐵𝑖 2 ∑︁ 𝐵
ln 𝜑𝑖 = (𝑍 − 1) − ln(𝑍 − 𝐵) + − 𝑦𝑖 (𝑎𝛼)𝑖𝑗 ln 1 +
𝐵 𝐵 𝐵 𝑎𝛼 𝑖 𝑍
𝑎𝛼𝑃
𝐴=
𝑅2 𝑇 2
𝑏𝑃
𝐵=
𝑅𝑇
Parameters
Z [float] Compressibility of the mixture for a desired phase, [-]
zs [list[float], optional] List of mole factions, either overall or in a specific phase, [-]
Returns
phis [float] Fugacity coefficient for each species, [-]
1.1.1.12.14 References
[1], [2]
setup_a_alpha_and_derivatives(i, T=None)
Sets a, m, and Tc for a specific component before the pure-species EOS’s a_alpha_and_derivatives method
is called. Both are called by GCEOSMIX.a_alpha_and_derivatives for every component.
Parameters
Tcs [float] Critical temperatures of all compounds, [K]
Pcs [float] Critical pressures of all compounds, [Pa]
omegas [float] Acentric factors of all compounds, [-]
zs [float] Overall mole fractions of all species, [-]
kijs [list[list[float]], optional] n*n size list of lists with binary interaction parameters for the Van
der Waals mixing rules, default all 0 [-]
T [float, optional] Temperature, [K]
P [float, optional] Pressure, [Pa]
V [float, optional] Molar volume, [m^3/mol]
1.1.1.12.15 Notes
1.1.1.12.16 References
[1], [2]
1.1.1.12.17 Examples
T-P initialization, nitrogen-methane at 115 K and 1 MPa, with modified acentric factors to show the difference
between PRMIX
1.1.1.12.18 Methods
TDP_Michelsen
TPD
d_TPD_dy
derivatives_and_departures
fugacities_partial_derivatives
fugacities_partial_derivatives_2
main_derivatives_and_departures
to_TP
to_TP_zs
a_alpha_mro = -4
class thermo.eos_mix.VDWMIX(Tcs, Pcs, zs, kijs=None, T=None, P=None, V=None)
Bases: thermo.eos_mix.GCEOSMIX, thermo.eos.VDW
Class for solving the Van der Waals cubic equation of state for a mixture of any number of compounds. Sub-
classes VDW. Solves the EOS on initialization and calculates fugacities for all components in all phases.
The implemented method here is fugacity_coefficients, which implements the formula for fugacity coefficients
in a mixture as given in [1]. Two of T, P, and V are needed to solve the EOS.
𝑅𝑇 𝑎
𝑃 = − 2
𝑉 −𝑏 𝑉
∑︁ ∑︁
𝑎= 𝑧𝑖 𝑧𝑗 𝑎𝑖𝑗
𝑖 𝑗
∑︁
𝑏= 𝑧𝑖 𝑏𝑖
𝑖
√
𝑎𝑖𝑗 = (1 − 𝑘𝑖𝑗 ) 𝑎𝑖 𝑎𝑗
27 (𝑅𝑇𝑐,𝑖 )2
𝑎𝑖 =
64 𝑃𝑐,𝑖
𝑅𝑇𝑐,𝑖
𝑏𝑖 =
8𝑃𝑐,𝑖
Parameters
Tcs [float] Critical temperatures of all compounds, [K]
Pcs [float] Critical pressures of all compounds, [Pa]
zs [float] Overall mole fractions of all species, [-]
kijs [list[list[float]], optional] n*n size list of lists with binary interaction parameters for the Van
der Waals mixing rules, default all 0 [-]
T [float, optional] Temperature, [K]
P [float, optional] Pressure, [Pa]
V [float, optional] Molar volume, [m^3/mol]
1.1.1.12.19 Notes
1.1.1.12.20 References
[1], [2]
1.1.1.12.21 Examples
Attributes
omega
1.1.1.12.22 Methods
TDP_Michelsen
TPD
d_TPD_dy
derivatives_and_departures
fugacities_partial_derivatives
fugacities_partial_derivatives_2
to_TP
to_TP_zs
a_alpha_mro = -4
cleanup_a_alpha_and_derivatives()
Removes properties set by setup_a_alpha_and_derivatives; run by GCEOSMIX.a_alpha_and_derivatives
after a_alpha is calculated for every component
fugacity_coefficients(Z, zs)
Literature formula for calculating fugacity coefficients for each species in a mixture. Verified numerically.
Called by fugacities on initialization, or by a solver routine which is performing a flash calculation.
[︂ (︂ )︂]︂ √
𝑏𝑖 𝑏 2 𝑎𝑎𝑖
ln 𝜑ˆ𝑖 = − ln 𝑍 1 − −
𝑉 −𝑏 𝑉 𝑅𝑇 𝑉
Parameters
Z [float] Compressibility of the mixture for a desired phase, [-]
zs [list[float], optional] List of mole factions, either overall or in a specific phase, [-]
Returns
phis [float] Fugacity coefficient for each species, [-]
1.1.1.12.23 References
[1]
setup_a_alpha_and_derivatives(i, T=None)
Sets a for a specific component before the pure-species EOS’s a_alpha_and_derivatives method is called.
Both are called by GCEOSMIX.a_alpha_and_derivatives for every component.
class thermo.eos_mix.PRSVMIX(Tcs, Pcs, omegas, zs, kijs=None, T=None, P=None, V=None,
kappa1s=None)
Bases: thermo.eos_mix.PRMIX, thermo.eos.PRSV
Class for solving the Peng-Robinson-Stryjek-Vera equations of state for a mixture as given in [1]. Subclasses
PRMIX and PRSV. Solves the EOS on initialization and calculates fugacities for all components in all phases.
Inherits the method of calculating fugacity coefficients from PRMIX. Two of T, P, and V are needed to solve the
EOS.
𝑅𝑇 𝑎𝛼(𝑇 )
𝑃 = −
𝑣 − 𝑏 𝑣(𝑣 + 𝑏) + 𝑏(𝑣 − 𝑏)
∑︁ ∑︁
𝑎𝛼 = 𝑧𝑖 𝑧𝑗 (𝑎𝛼)𝑖𝑗
𝑖 𝑗
√︁
(𝑎𝛼)𝑖𝑗 = (1 − 𝑘𝑖𝑗 ) (𝑎𝛼)𝑖 (𝑎𝛼)𝑗
∑︁
𝑏= 𝑧𝑖 𝑏𝑖
𝑖
𝑅2 𝑇𝑐,𝑖
2
𝑎𝑖 = 0.45724
𝑃𝑐,𝑖
𝑅𝑇𝑐,𝑖
𝑏𝑖 = 0.07780
𝑃𝑐,𝑖
𝛼(𝑇 )𝑖 = [1 + 𝜅𝑖 (1 − 𝑇𝑟,𝑖 )]2
√︀
0.5
𝜅𝑖 = 𝜅0,𝑖 + 𝜅1,𝑖 (1 + 𝑇𝑟,𝑖 )(0.7 − 𝑇𝑟,𝑖 )
𝜅0,𝑖 = 0.378893 + 1.4897153𝜔𝑖 − 0.17131848𝜔𝑖2 + 0.0196554𝜔𝑖3
Parameters
Tcs [float] Critical temperatures of all compounds, [K]
Pcs [float] Critical pressures of all compounds, [Pa]
omegas [float] Acentric factors of all compounds, [-]
zs [float] Overall mole fractions of all species, [-]
kijs [list[list[float]], optional] n*n size list of lists with binary interaction parameters for the Van
der Waals mixing rules, default all 0 [-]
T [float, optional] Temperature, [K]
P [float, optional] Pressure, [Pa]
V [float, optional] Molar volume, [m^3/mol]
kappa1s [list[float], optional] Fit parameter; available in [1] for over 90 compounds, [-]
1.1.1.12.24 Notes
[1] recommends that kappa1 be set to 0 for Tr > 0.7. This is not done by default; the class boolean
kappa1_Tr_limit may be set to True and the problem re-solved with that specified if desired. kappa1_Tr_limit
is not supported for P-V inputs.
For P-V initializations, SciPy’s newton solver is used to find T.
[2] and [3] are two more resources documenting the PRSV EOS. [4] lists kappa values for 69 additional com-
pounds. See also PRSV2. Note that tabulated kappa values should be used with the critical parameters used in
their fits. Both [1] and [4] only considered vapor pressure in fitting the parameter.
1.1.1.12.25 References
1.1.1.12.26 Examples
1.1.1.12.27 Methods
TDP_Michelsen
TPD
d_TPD_dy
derivatives_and_departures
fugacities_partial_derivatives
fugacities_partial_derivatives_2
main_derivatives_and_departures
to_TP
to_TP_zs
a_alpha_mro = -5
cleanup_a_alpha_and_derivatives()
Removes properties set by setup_a_alpha_and_derivatives; run by GCEOSMIX.a_alpha_and_derivatives
after a_alpha is calculated for every component
setup_a_alpha_and_derivatives(i, T=None)
Sets a, kappa0, kappa1, and Tc for a specific component before the pure-species EOS’s
a_alpha_and_derivatives method is called. Both are called by GCEOSMIX.a_alpha_and_derivatives for
every component.
class thermo.eos_mix.PRSV2MIX(Tcs, Pcs, omegas, zs, kijs=None, T=None, P=None, V=None,
kappa1s=None, kappa2s=None, kappa3s=None)
Bases: thermo.eos_mix.PRMIX, thermo.eos.PRSV2
Class for solving the Peng-Robinson-Stryjek-Vera 2 equations of state for a Mixture as given in [1]. Subclasses
PRMIX and PRSV2. Solves the EOS on initialization and calculates fugacities for all components in all phases.
Inherits the method of calculating fugacity coefficients from PRMIX. Two of T, P, and V are needed to solve the
EOS.
𝑅𝑇 𝑎𝛼(𝑇 )
𝑃 = −
𝑣 − 𝑏 𝑣(𝑣 + 𝑏) + 𝑏(𝑣 − 𝑏)
∑︁ ∑︁
𝑎𝛼 = 𝑧𝑖 𝑧𝑗 (𝑎𝛼)𝑖𝑗
𝑖 𝑗
√︁
(𝑎𝛼)𝑖𝑗 = (1 − 𝑘𝑖𝑗 ) (𝑎𝛼)𝑖 (𝑎𝛼)𝑗
∑︁
𝑏= 𝑧𝑖 𝑏𝑖
𝑖
𝑅2 𝑇𝑐,𝑖
2
𝑎𝑖 = 0.45724
𝑃𝑐,𝑖
𝑅𝑇𝑐,𝑖
𝑏𝑖 = 0.07780
𝑃𝑐,𝑖
𝛼(𝑇 )𝑖 = [1 + 𝜅𝑖 (1 − 𝑇𝑟,𝑖 )]2
√︀
0.5 0.5
𝜅𝑖 = 𝜅0,𝑖 + [𝜅1,𝑖 + 𝜅2,𝑖 (𝜅3,𝑖 − 𝑇𝑟,𝑖 )(1 − 𝑇𝑟,𝑖 )](1 + 𝑇𝑟,𝑖 )(0.7 − 𝑇𝑟,𝑖 )
𝜅0,𝑖 = 0.378893 + 1.4897153𝜔𝑖 − 0.17131848𝜔𝑖2 + 0.0196554𝜔𝑖3
Parameters
Tcs [float] Critical temperatures of all compounds, [K]
Pcs [float] Critical pressures of all compounds, [Pa]
omegas [float] Acentric factors of all compounds, [-]
zs [float] Overall mole fractions of all species, [-]
kijs [list[list[float]], optional] n*n size list of lists with binary interaction parameters for the Van
der Waals mixing rules, default all 0 [-]
T [float, optional] Temperature, [K]
P [float, optional] Pressure, [Pa]
V [float, optional] Molar volume, [m^3/mol]
kappa1s [list[float], optional] Fit parameter; available in [1] for over 90 compounds, [-]
kappa2s [list[float], optional] Fit parameter; available in [1] for over 90 compounds, [-]
kappa3s [list[float], optional] Fit parameter; available in [1] for over 90 compounds, [-]
1.1.1.12.28 Notes
1.1.1.12.29 References
[1]
1.1.1.12.30 Examples
1.1.1.12.31 Methods
TDP_Michelsen
TPD
d_TPD_dy
derivatives_and_departures
fugacities_partial_derivatives
fugacities_partial_derivatives_2
main_derivatives_and_departures
to_TP
to_TP_zs
a_alpha_mro = -5
cleanup_a_alpha_and_derivatives()
Removes properties set by setup_a_alpha_and_derivatives; run by GCEOSMIX.a_alpha_and_derivatives
after a_alpha is calculated for every component
setup_a_alpha_and_derivatives(i, T=None)
Sets a, kappa, kappa0, kappa1, kappa2, kappa3 and Tc for a specific component be-
fore the pure-species EOS’s a_alpha_and_derivatives method is called. Both are called by
GCEOSMIX.a_alpha_and_derivatives for every component.
class thermo.eos_mix.TWUPRMIX(Tcs, Pcs, omegas, zs, kijs=None, T=None, P=None, V=None)
Bases: thermo.eos_mix.PRMIX, thermo.eos.TWUPR
Class for solving the Twu [1] variant of the Peng-Robinson cubic equation of state for a mixture. Subclasses
TWUPR. Solves the EOS on initialization and calculates fugacities for all components in all phases.
1.1.1.12.32 Notes
For P-V initializations, SciPy’s newton solver is used to find T. Claimed to be more accurate than the PR, PR78
and PRSV equations.
1.1.1.12.33 References
[1]
1.1.1.12.34 Examples
1.1.1.12.35 Methods
TDP_Michelsen
TPD
d_TPD_dy
derivatives_and_departures
fugacities_partial_derivatives
fugacities_partial_derivatives_2
main_derivatives_and_departures
to_TP
to_TP_zs
a_alpha_mro = -5
cleanup_a_alpha_and_derivatives()
Removes properties set by setup_a_alpha_and_derivatives; run by GCEOSMIX.a_alpha_and_derivatives
after a_alpha is calculated for every component
setup_a_alpha_and_derivatives(i, T=None)
Sets a, omega, and Tc for a specific component before the pure-species EOS’s a_alpha_and_derivatives
method is called. Both are called by GCEOSMIX.a_alpha_and_derivatives for every component.
class thermo.eos_mix.TWUSRKMIX(Tcs, Pcs, omegas, zs, kijs=None, T=None, P=None, V=None)
Bases: thermo.eos_mix.SRKMIX, thermo.eos.TWUSRK
Class for solving the Twu variant of the Soave-Redlich-Kwong cubic equation of state for a mixture. Subclasses
TWUSRK. Solves the EOS on initialization and calculates fugacities for all components in all phases.
Two of T, P, and V are needed to solve the EOS.
𝑅𝑇 𝑎𝛼(𝑇 )
𝑃 = −
𝑉 − 𝑏 𝑉 (𝑉 + 𝑏)
(︃ )︃
𝑅2 (𝑇𝑐,𝑖 )2 0.42748 · 𝑅2 (𝑇𝑐,𝑖 )2
𝑎𝑖 = √
3
=
9( 2 − 1)𝑃𝑐,𝑖 𝑃𝑐,𝑖
(︃ √ )︃
( 3 2 − 1) 𝑅𝑇𝑐,𝑖 0.08664 · 𝑅𝑇𝑐,𝑖
𝑏𝑖 = =
3 𝑃𝑐,𝑖 𝑃𝑐,𝑖
∑︁ ∑︁
𝑎𝛼 = 𝑧𝑖 𝑧𝑗 (𝑎𝛼)𝑖𝑗
𝑖 𝑗
√︁
(𝑎𝛼)𝑖𝑗 = (1 − 𝑘𝑖𝑗 ) (𝑎𝛼)𝑖 (𝑎𝛼)𝑗
∑︁
𝑏= 𝑧𝑖 𝑏𝑖
𝑖
(0,𝑖) (1,𝑖)
𝛼𝑖 = 𝛼 + 𝜔𝑖 (𝛼 − 𝛼(0,𝑖) )
𝑁 (𝑀 −1)
𝛼(0 or 1, i) = 𝑇𝑟,𝑖 𝑁𝑀
exp[𝐿(1 − 𝑇𝑟,𝑖 )]
1.1.1.12.36 Notes
For P-V initializations, SciPy’s newton solver is used to find T. Claimed to be more accurate than the SRK
equation.
1.1.1.12.37 References
[1]
1.1.1.12.38 Examples
1.1.1.12.39 Methods
TDP_Michelsen
TPD
d_TPD_dy
derivatives_and_departures
fugacities_partial_derivatives
fugacities_partial_derivatives_2
main_derivatives_and_departures
to_TP
to_TP_zs
a_alpha_mro = -5
cleanup_a_alpha_and_derivatives()
Removes properties set by setup_a_alpha_and_derivatives; run by GCEOSMIX.a_alpha_and_derivatives
after a_alpha is calculated for every component
setup_a_alpha_and_derivatives(i, T=None)
Sets a, omega, and Tc for a specific component before the pure-species EOS’s a_alpha_and_derivatives
method is called. Both are called by GCEOSMIX.a_alpha_and_derivatives for every component.
class thermo.eos_mix.APISRKMIX(Tcs, Pcs, zs, omegas=None, kijs=None, T=None, P=None,
V=None, S1s=None, S2s=None)
Bases: thermo.eos_mix.SRKMIX, thermo.eos.APISRK
Class for solving the Refinery Soave-Redlich-Kwong cubic equation of state for a mixture of any number of
compounds, as shown in the API Databook [1]. Subclasses APISRK. Solves the EOS on initialization and
calculates fugacities for all components in all phases.
Parameters
Tcs [float] Critical temperatures of all compounds, [K]
Pcs [float] Critical pressures of all compounds, [Pa]
omegas [float] Acentric factors of all compounds, [-]
zs [float] Overall mole fractions of all species, [-]
kijs [list[list[float]], optional] n*n size list of lists with binary interaction parameters for the Van
der Waals mixing rules, default all 0 [-]
T [float, optional] Temperature, [K]
P [float, optional] Pressure, [Pa]
V [float, optional] Molar volume, [m^3/mol]
S1s [float, optional] Fit constant or estimated from acentric factor if not provided [-]
S2s [float, optional] Fit constant or 0 if not provided [-]
1.1.1.12.40 Notes
1.1.1.12.41 References
[1]
1.1.1.12.42 Examples
1.1.1.12.43 Methods
TDP_Michelsen
TPD
d_TPD_dy
derivatives_and_departures
fugacities_partial_derivatives
fugacities_partial_derivatives_2
main_derivatives_and_departures
to_TP
to_TP_zs
a_alpha_mro = -5
cleanup_a_alpha_and_derivatives()
Removes properties set by setup_a_alpha_and_derivatives; run by GCEOSMIX.a_alpha_and_derivatives
after a_alpha is calculated for every component
setup_a_alpha_and_derivatives(i, T=None)
Sets a, S1, S2 and Tc for a specific component before the pure-species EOS’s a_alpha_and_derivatives
method is called. Both are called by GCEOSMIX.a_alpha_and_derivatives for every component.
1.1.1.13.1 Notes
All data is from [1], the official source. Several chemicals are available in [1] are not included here as they do
not have a CAS. Methods are ‘IPCC (2007) 100yr’, ‘IPCC (2007) 100yr-SAR’, ‘IPCC (2007) 20yr’, and ‘IPCC
(2007) 500yr’.
1.1.1.13.2 References
[1]
1.1.1.13.3 Examples
>>> GWP(CASRN='74-82-8')
25.0
1.1.1.13.4 Notes
Values are tabulated only for a small number of halogenated hydrocarbons, responsible for the largest impact.
The original values of ODP as defined in the Montreal Protocol are also available, as methods with the ODP1
prefix.
All values are somewhat emperical, as actual reaction rates of chemicals with ozone depend on temperature
which depends on latitude, longitude, time of day, weather, and the concentrations of other pollutants.
All data is from [1]. Several mixtures listed in [1] are not included here as they are not pure species. Methods
for values in [2] are ‘ODP2 Max’, ‘ODP2 Min’, ‘ODP2 string’, ‘ODP2 logarithmic average’, and methods for
older values are ‘ODP1 Max’, ‘ODP1 Min’, ‘ODP1 string’, and ‘ODP1 logarithmic average’.
1.1.1.13.5 References
[1], [2]
1.1.1.13.6 Examples
>>> ODP(CASRN='76-14-2')
0.58
1.1.1.13.7 Notes
(︃ )︃
𝑢𝑛−𝑖𝑜𝑛𝑖𝑧𝑒𝑑
[𝑠𝑜𝑙𝑢𝑡𝑒]𝑜𝑐𝑡𝑎𝑛𝑜𝑙
log 𝑃𝑜𝑐𝑡/𝑤𝑎𝑡 = log 𝑢𝑛−𝑖𝑜𝑛𝑖𝑧𝑒𝑑
[𝑠𝑜𝑙𝑢𝑡𝑒]𝑤𝑎𝑡𝑒𝑟
1.1.1.13.8 References
[1], [2]
1.1.1.13.9 Examples
>>> logP('67-56-1')
-0.74
Parameters
T [float] Temperature of gas [K]
similarity_variable [float] similarity variable as defined in [1], [mol/g]
Returns
Cpg [float] Gas constant-pressure heat capacitiy, [J/kg/K]
1.1.1.14.1 Notes
Original model is in terms of J/g/K. Note that the model is for predicting mass heat capacity, not molar heat
capacity like most other methods!
A1 = 0.58, A2 = 1.25, A3 = 0.17338003, A4 = 0.014, B11 = 0.73917383, B12 = 8.88308889, C11 = 1188.28051,
C12 = 1813.04613, B21 = 0.0483019, B22 = 4.35656721, C21 = 2897.01927, C22 = 5987.80407.
1.1.1.14.2 References
[1]
1.1.1.14.3 Examples
thermo.heat_capacity.Lastovka_Shaw_integral(T, similarity_variable,
cyclic_aliphatic=False)
Calculate the integral of ideal-gas constant-pressure heat capacitiy with the similarity variable concept and
method as shown in [1].
Parameters
T [float] Temperature of gas [K]
similarity_variable [float] similarity variable as defined in [1], [mol/g]
Returns
H [float] Difference in enthalpy from 0 K, [J/kg]
See also:
Lastovka_Shaw, Lastovka_Shaw_integral_over_T
1.1.1.14.4 Notes
Original model is in terms of J/g/K. Note that the model is for predicting mass heat capacity, not molar heat
capacity like most other methods! Integral was computed with SymPy.
1.1.1.14.5 References
[1]
1.1.1.14.6 Examples
thermo.heat_capacity.Lastovka_Shaw_integral_over_T(T, similarity_variable,
cyclic_aliphatic=False)
Calculate the integral over temperature of ideal-gas constant-pressure heat capacitiy with the similarity variable
concept and method as shown in [1].
Parameters
T [float] Temperature of gas [K]
similarity_variable [float] similarity variable as defined in [1], [mol/g]
Returns
S [float] Difference in entropy from 0 K, [J/kg/K]
See also:
Lastovka_Shaw, Lastovka_Shaw_integral
1.1.1.14.7 Notes
Original model is in terms of J/g/K. Note that the model is for predicting mass heat capacity, not molar heat
capacity like most other methods! Integral was computed with SymPy.
1.1.1.14.8 References
[1]
1.1.1.14.9 Examples
𝑇 − 𝑎7
𝑦= for 𝑇 > 𝑎7 otherwise 0
𝑇 + 𝑎6
Parameters
T [float] Temperature [K]
a1-a7 [float] Coefficients
Returns
Cp [float] Ideal gas heat capacity , [J/mol/K]
1.1.1.14.10 Notes
1.1.1.14.11 References
[1]
1.1.1.14.12 Examples
>>> TRCCp(300, 4.0, 7.65E5, 720., 3.565, -0.052, -1.55E6, 52., 201.)
42.06525682312236
thermo.heat_capacity.TRCCp_integral(T, a0, a1, a2, a3, a4, a5, a6, a7, I=0)
Integrates ideal gas heat capacity using the model developed in [1]. Best used as a delta only.
The difference in enthalpy with respect to 0 K is given by:
𝐻(𝑇 ) − 𝐻 𝑟𝑒𝑓
[︂ {︂ (︂ )︂ (︂ )︂}︂ 𝑅𝑇
1 1
𝑦 + 𝑎4 3𝑦 2 + (5/3)𝑦 3 + 𝑦 4 + (3/5)𝑦 5 +
{︀
ℎ(𝑇 ) = (𝑎5 + 𝑎7 ) (2𝑎3 + 8𝑎4 ) ln(1 − 𝑦) + 𝑎3 1 + + 𝑎4 7 +
1−𝑦 1−𝑦
Parameters
T [float] Temperature [K]
a1-a7 [float] Coefficients
I [float, optional] Integral offset
Returns
H-H(0) [float] Difference in enthalpy from 0 K , [J/mol]
1.1.1.14.13 Notes
1.1.1.14.14 References
[1]
1.1.1.14.15 Examples
thermo.heat_capacity.TRCCp_integral_over_T(T, a0, a1, a2, a3, a4, a5, a6, a7, J=0)
Integrates ideal gas heat capacity over T using the model developed in [1]. Best used as a delta only.
The difference in ideal-gas entropy with respect to 0 K is given by:
𝑆∘
=𝐽+
𝑅
[︃{︃ )︂ (︂ )︂4 }︃ (︂ )︂2 7
{︃(︂ )︂6−𝑖 }︃
𝑎4 𝑎27 − 𝑎5 𝑎4 𝑎27 − 𝑎5 𝑦𝑖
(︂ (︂ )︂ ∑︁ )︂ (︂
𝑎7 𝑎7 𝑇 + 𝑎6 −𝑎7
𝑠(𝑇 ) = 𝑎3 + ln 𝑧 + (𝑎3 + 𝑎4 ) ln + − 𝑎4
𝑎26 𝑎6 𝑎6 𝑎6 + 𝑎7 𝑖=1
𝑎26 𝑎6 𝑖
Parameters
T [float] Temperature [K]
a1-a7 [float] Coefficients
J [float, optional] Integral offset
Returns
S-S(0) [float] Difference in entropy from 0 K , [J/mol/K]
1.1.1.14.16 Notes
1.1.1.14.17 References
[1]
1.1.1.14.18 Examples
1.1.1.14.19 Notes
A string holding each method’s name is assigned to the following variables in this module, intended
as the most convenient way to refer to a method. To iterate over all methods, use the list stored in
heat_capacity_gas_methods.
TRCIG: A rigorous expression derived in [1] for modeling gas heat capacity. Coefficients for 1961 chemicals
are available.
POLING: Simple polynomials in [2] not suitable for extrapolation. Data is available for 308 chemicals.
COOLPROP: CoolProp external library; with select fluids from its library. Range is limited to that of the
equations of state it uses, as described in [3]. Very slow.
LASTOVKA_SHAW: A basic estimation method using the similarity variable concept; requires only molec-
ular structure, so is very convenient. See Lastovka_Shaw for details.
CRCSTD: Constant values tabulated in [4] at 298.15 K; data is available for 533 gases.
POLING_CONST: Constant values in [2] at 298.15 K; available for 348 gases.
VDI_TABULAR: Tabular data up to the critical point available in [5]. Note that this data is along the saturation
curve.
1.1.1.14.20 References
interpolation_property
interpolation_property_inv
method
1.1.1.14.21 Methods
extrapolate_tabular
Tmax = None
Maximum temperature at which no method can calculate the surface tension above.
Tmin = None
Minimum temperature at which no method can calculate the surface tension under.
all_methods = None
Set of all methods available for a given CASRN and properties; filled by load_all_methods.
calculate(T, method)
Method to calculate surface tension of a liquid at temperature T with a given method.
This method has no exception handling; see T_dependent_property for that.
Parameters
T [float] Temperature at which to calculate heat capacity, [K]
method [str] Method name to use
Returns
Cp [float] Calculated heat capacity, [J/mol/K]
calculate_integral(T1, T2, method)
Method to calculate the integral of a property with respect to temperature, using a specified method. Im-
plements the analytical integrals of all available methods except for tabular data.
Parameters
T1 [float] Lower limit of integration, [K]
T2 [float] Upper limit of integration, [K]
method [str] Method for which to find the integral
Returns
integral [float] Calculated integral of the property over the given range, [units*K]
calculate_integral_over_T(T1, T2, method)
Method to calculate the integral of a property over temperature with respect to temperature, using a speci-
fied method. Implements the analytical integrals of all available methods except for tabular data.
Parameters
T1 [float] Lower limit of integration, [K]
T2 [float] Upper limit of integration, [K]
method [str] Method for which to find the integral
Returns
integral [float] Calculated integral of the property over the given range, [units]
interpolation_T = None
No interpolation transformation by default.
interpolation_property = None
No interpolation transformation by default.
interpolation_property_inv = None
No interpolation transformation by default.
load_all_methods()
Method which picks out coefficients for the specified chemical from the various dictionaries and
DataFrames storing it. All data is stored as attributes. This method also sets Tmin, Tmax, and
all_methods as a set of methods for which the data exists for.
Called on initialization only. See the source code for the variables at which the coefficients are stored. The
coefficients can safely be altered once the class is initialized. This method can be called again to reset the
parameters.
name = 'gas heat capacity'
property_max = 10000.0
Maximum valid of Heat capacity; arbitrarily set. For fluids very near the critical point, this value can be
obscenely high.
property_min = 0
Heat capacities have a minimum value of 0 at 0 K.
ranked_methods = ['TRC Thermodynamics of Organic Compounds in the Gas State (1994)', 'P
Default rankings of the available methods.
sorted_valid_methods = None
sorted_valid_methods, list: Stored methods which were found valid at a specific temperature; set by
T_dependent_property.
tabular_data = None
tabular_data, dict: Stored (Ts, properties) for any tabular data; indexed by provided or autogenerated name.
tabular_data_interpolators = None
tabular_data_interpolators, dict: Stored (extrapolator, spline) tuples which are interp1d instances for
each set of tabular data; indexed by tuple of (name, interpolation_T, interpolation_property, interpola-
tion_property_inv) to ensure that if an interpolation transform is altered, the old interpolator which had
been created is no longer used.
tabular_extrapolation_permitted = True
Allow tabular extrapolation by default; gases are fairly linear in heat capacity at high temperatures even if
not low temperatures.
test_method_validity(T, method)
Method to test the validity of a specified method for a given temperature.
‘TRC’ and ‘Poling’ both have minimum and maimum temperatures. The constant temperatures in POL-
ING_CONST and CRCSTD are considered valid for 50 degrees around their specified temperatures.
Lastovka_Shaw is considered valid for the whole range of temperatures.
It is not guaranteed that a method will work or give an accurate prediction simply because this method
considers the method valid.
Parameters
T [float] Temperature at which to determine the validity of the method, [K]
method [str] Name of the method to test
Returns
validity [bool] Whether or not a specifid method is valid
units = 'J/mol/K'
user_methods = None
user_methods, list: Stored methods which were specified by the user in a ranked order of preference; set
by T_dependent_property.
thermo.heat_capacity.Rowlinson_Poling(T, Tc, omega, Cpgm)
Calculate liquid constant-pressure heat capacitiy with the [1] CSP method.
Parameters
T [float] Temperature of fluid [K]
Tc [float] Critical temperature of fluid [K]
omega [float] Acentric factor for fluid, [-]
Cpgm [float] Constant-pressure gas heat capacity, [J/mol/K]
Returns
Cplm [float] Liquid constant-pressure heat capacitiy, [J/mol/K]
1.1.1.14.22 Notes
Poling compared 212 substances, and found error at 298K larger than 10% for 18 of them, mostly associating.
Of the other 194 compounds, AARD is 2.5%.
1.1.1.14.23 References
[1]
1.1.1.14.24 Examples
𝐶𝑝𝐿 − 𝐶𝑝𝑖𝑔
= 1.45 + 0.45(1 − 𝑇𝑟 )−1 + 0.25𝜔[17.11 + 25.2(1 − 𝑇𝑟 )1/3 𝑇𝑟−1 + 1.742(1 − 𝑇𝑟 )−1 ]
𝑅
Parameters
T [float] Temperature of fluid [K]
Tc [float] Critical temperature of fluid [K]
omega [float] Acentric factor for fluid, [-]
Cpgm [float] Constant-pressure gas heat capacity, [J/mol/K]
Returns
Cplm [float] Liquid constant-pressure heat capacitiy, [J/mol/K]
1.1.1.14.25 Notes
1.1.1.14.26 References
1.1.1.14.27 Examples
thermo.heat_capacity.Dadgostar_Shaw(T, similarity_variable)
Calculate liquid constant-pressure heat capacitiy with the similarity variable concept and method as shown in
[1].
Parameters
T [float] Temperature of liquid [K]
similarity_variable [float] similarity variable as defined in [1], [mol/g]
Returns
Cpl [float] Liquid constant-pressure heat capacitiy, [J/kg/K]
1.1.1.14.28 Notes
1.1.1.14.29 References
[1]
1.1.1.14.30 Examples
Parameters
T [float] Temperature [K]
Tc [float] Critical temperature of fluid, [K]
a1-a6 [float] Coefficients
Returns
Cp [float] Liquid heat capacity, [J/mol/K]
1.1.1.14.31 Notes
Used only for isobaric heat capacities, not saturation heat capacities. Designed for reasonable extrapolation
behavior caused by using the reduced critical temperature. Used by the authors of [1] when critical temperature
was available for the fluid. Analytical integrals are available for this expression.
1.1.1.14.32 References
[1]
1.1.1.14.33 Examples
165.4728226923247
1.1.1.14.34 Notes
The analytical integral was derived with SymPy; it is a simple polynomial plus some logarithms.
1.1.1.14.35 References
[1]
1.1.1.14.36 Examples
1.1.1.14.37 Notes
The analytical integral was derived with Sympy. It requires the Polylog(2,x) function, which is unimplemented
in SciPy. A very accurate numerical approximation was implemented as thermo.utils.polylog2. Rela-
tively slow due to the use of that special function.
1.1.1.14.38 References
[1]
1.1.1.14.39 Examples
Parameters
T [float] Temperature [K]
a1-a4 [float] Coefficients
Returns
1.1.1.14.40 Notes
Most often form used in [1]. Analytical integrals are available for this expression.
1.1.1.14.41 References
[1]
1.1.1.14.42 Examples
1.1.1.14.43 Notes
1.1.1.14.44 References
[1]
1.1.1.14.45 Examples
1.1.1.14.46 Notes
The analytical integral was derived with Sympy; it is a simple polynomial, plus a logarithm
1.1.1.14.47 References
[1]
1.1.1.14.48 Examples
Parameters
CAS [str] CAS number.
name [str] Name of the chemical as given in [1].
uncertainty [str] Uncertainty class of the heat capacity as given in [1].
Tmin [float] Minimum temperature any experimental data was available at.
Tmax [float] Maximum temperature any experimental data was available at.
Tc [float] Critical temperature of the chemical, as used in the formula.
coeffs [list[float]] Six coefficients for the equation.
1.1.1.14.49 References
[1]
Attributes
CAS
Tc
Tmax
Tmin
coeffs
name
uncertainty
1.1.1.14.50 Methods
CAS
CAS number.
Tc
Critical temperature of the chemical, as used in the formula.
Tmax
Maximum temperature any experimental data was available at.
Tmin
Minimum temperature any experimental data was available at.
calculate(T)
Method to actually calculate heat capacity as a function of temperature.
Parameters
T [float] Temperature, [K]
Returns
Cp [float] Liquid heat capacity as T, [J/mol/K]
calculate_integral(T1, T2)
Method to compute the enthalpy integral of heat capacity from T1 to T2.
Parameters
T1 [float] Initial temperature, [K]
T2 [float] Final temperature, [K]
Returns
dH [float] Enthalpy difference between T1 and T2, [J/mol]
calculate_integral_over_T(T1, T2)
Method to compute the entropy integral of heat capacity from T1 to T2.
Parameters
T1 [float] Initial temperature, [K]
T2 [float] Final temperature, [K]
Returns
dS [float] Entropy difference between T1 and T2, [J/mol/K]
coeffs
Six coefficients for the equation.
name
Name of the chemical.
uncertainty
Uncertainty class of the heat capacity.
class thermo.heat_capacity.Zabransky_spline(CAS, name, uncertainty)
Bases: object
Implementation of the cubic spline method presented in [1] for calculating the heat capacity of a chemical.
Implements the enthalpy and entropy integrals as well.
3 (︂ )︂𝑗
𝐶 ∑︁ 𝑇
= 𝐴𝑗+1
𝑅 𝑗=0
100
Parameters
CAS [str] CAS number.
name [str] Name of the chemical as in [1].
uncertainty [str] Uncertainty class of the heat capacity as in [1].
1.1.1.14.51 References
[1]
Attributes
CAS
Ts
coeff_sets
n
name
uncertainty
1.1.1.14.52 Methods
add_coeffs(Tmin, Tmax, coeffs) Called internally during the parsing of the Zabransky
database, to
calculate(T) Method to actually calculate heat capacity as a function
of temperature.
calculate_integral(T1, T2) Method to compute the enthalpy integral of heat capac-
ity from T1 to T2.
calculate_integral_over_T(T1, T2) Method to compute the entropy integral of heat capacity
from T1 to T2.
CAS
CAS number.
Ts
Temperatures at which the coefficient sets transition.
Parameters
CASRN [str, optional] The CAS number of the chemical
MW [float, optional] Molecular weight, [g/mol]
similarity_variable [float, optional] similarity variable, n_atoms/MW, [mol/g]
Tc [float, optional] Critical temperature, [K]
omega [float, optional] Acentric factor, [-]
Cpgm [float or callable, optional] Idea-gas molar heat capacity at T or callable for the same,
[J/mol/K]
See also:
Zabransky_quasi_polynomial, Zabransky_cubic, Rowlinson_Poling,
Rowlinson_Bondi, Dadgostar_Shaw
1.1.1.14.53 Notes
A string holding each method’s name is assigned to the following variables in this module, intended
as the most convenient way to refer to a method. To iterate over all methods, use the list stored in
heat_capacity_gas_methods.
ZABRANSKY_SPLINE, ZABRANSKY_QUASIPOLYNOMIAL, ZABRANSKY_SPLINE_C, and
ZABRANSKY_QUASIPOLYNOMIAL_C:
Rigorous expressions developed in [1] following critical evaluation of the available data. The
spline methods use the form described in Zabransky_cubic over short ranges with varying
coefficients to obtain a wider range. The quasi-polynomial methods use the form described in
Zabransky_quasi_polynomial, more suitable for extrapolation, and over then entire range.
Respectively, there is data available for 588, 146, 51, and 26 chemicals. ‘C’ denotes constant- pres-
sure data available from more precise experiments. The others are heat capacity values averaged over
a temperature changed.
CRCSTD: Consta values tabulated in [4] at 298.15 K; data is available for 433 liquids.
1.1.1.14.54 References
1.1.1.14.55 Methods
extrapolate_tabular
Tmax = None
Maximum temperature at which no method can calculate the heat capacity above.
Tmin = None
Minimum temperature at which no method can calculate the heat capacity under.
all_methods = None
Set of all methods available for a given CASRN and properties; filled by load_all_methods.
calculate(T, method)
Method to calculate heat capacity of a liquid at temperature T with a given method.
This method has no exception handling; see T_dependent_property for that.
Parameters
T [float] Temperature at which to calculate heat capacity, [K]
method [str] Name of the method to use
Returns
Cp [float] Heat capacity of the liquid at T, [J/mol/K]
calculate_integral(T1, T2, method)
Method to calculate the integral of a property with respect to temperature, using a specified method. Im-
plements the analytical integrals of all available methods except for tabular data, the case of multiple
coefficient sets needed to encompass the temperature range of any of the ZABRANSKY methods, and the
CSP methods using the vapor phase properties.
Parameters
T1 [float] Lower limit of integration, [K]
T2 [float] Upper limit of integration, [K]
method [str] Method for which to find the integral
Returns
integral [float] Calculated integral of the property over the given range, [units*K]
calculate_integral_over_T(T1, T2, method)
Method to calculate the integral of a property over temperature with respect to temperature, using a spec-
ified method. Implements the analytical integrals of all available methods except for tabular data, the
case of multiple coefficient sets needed to encompass the temperature range of any of the ZABRANSKY
methods, and the CSP methods using the vapor phase properties.
Parameters
T1 [float] Lower limit of integration, [K]
T2 [float] Upper limit of integration, [K]
Parameters
T [float] Temperature at which to test the method, [K]
method [str] Name of the method to test
Returns
validity [bool] Whether or not a method is valid
units = 'J/mol/K'
user_methods = None
user_methods, list: Stored methods which were specified by the user in a ranked order of preference; set
by T_dependent_property.
thermo.heat_capacity.Lastovka_solid(T, similarity_variable)
Calculate solid constant-pressure heat capacitiy with the similarity variable concept and method as shown in
[1].
(︂ )︂2
2 𝜃 exp(𝜃/𝑇 )
𝐶𝑝 = 3(𝐴1 𝛼 + 𝐴2 𝛼 )𝑅 + (𝐶1 𝛼 + 𝐶2 𝛼2 )𝑇 + (𝐷1 𝛼 + 𝐷2 𝛼2 )𝑇 2
𝑇 [exp(𝜃/𝑇 ) − 1]2
Parameters
T [float] Temperature of solid [K]
similarity_variable [float] similarity variable as defined in [1], [mol/g]
Returns
Cps [float] Solid constant-pressure heat capacitiy, [J/kg/K]
1.1.1.14.56 Notes
Many restrictions on its use. Trained on data with MW from 12.24 g/mol to 402.4 g/mol, C mass fractions from
61.3% to 95.2%, H mass fractions from 3.73% to 15.2%, N mass fractions from 0 to 15.4%, O mass fractions
from 0 to 18.8%, and S mass fractions from 0 to 29.6%. Recommended for organic compounds with low mass
fractions of hetero-atoms and especially when molar mass exceeds 200 g/mol. This model does not show and
effects of phase transition but should not be used passed the triple point.
Original model is in terms of J/g/K. Note that the model s for predicting mass heat capacity, not molar heat
capacity like most other methods!
A1 = 0.013183; A2 = 0.249381; theta = 151.8675; C1 = 0.026526; C2 = -0.024942; D1 = 0.000025; D2 =
-0.000123.
1.1.1.14.57 References
[1]
1.1.1.14.58 Examples
thermo.heat_capacity.Lastovka_solid_integral(T, similarity_variable)
Integrates solid constant-pressure heat capacitiy with the similarity variable concept and method as shown in
[1].
Uses a explicit form as derived with Sympy.
Parameters
T [float] Temperature of solid [K]
similarity_variable [float] similarity variable as defined in [1], [mol/g]
Returns
H [float] Difference in enthalpy from 0 K, [J/kg]
See also:
Lastovka_solid
1.1.1.14.59 Notes
Original model is in terms of J/g/K. Note that the model is for predicting mass heat capacity, not molar heat
capacity like most other methods!
1.1.1.14.60 References
[1]
1.1.1.14.61 Examples
thermo.heat_capacity.Lastovka_solid_integral_over_T(T, similarity_variable)
Integrates over T solid constant-pressure heat capacitiy with the similarity variable concept and method as shown
in [1].
Uses a explicit form as derived with Sympy.
Parameters
T [float] Temperature of solid [K]
similarity_variable [float] similarity variable as defined in [1], [mol/g]
Returns
S [float] Difference in entropy from 0 K, [J/kg/K]
See also:
Lastovka_solid
1.1.1.14.62 Notes
Original model is in terms of J/g/K. Note that the model is for predicting mass heat capacity, not molar heat
capacity like most other methods!
1.1.1.14.63 References
[1]
1.1.1.14.64 Examples
1.1.1.14.65 Notes
A string holding each method’s name is assigned to the following variables in this module, intended
as the most convenient way to refer to a method. To iterate over all methods, use the list stored in
heat_capacity_solid_methods.
PERRY151: Simple polynomials with vaious exponents selected for each expression. Coefficients are in units
of calories/mol/K. The full expression is:
𝐶𝑝 = 𝑎 + 𝑏𝑇 + 𝑐/𝑇 2 + 𝑑𝑇 2
1.1.1.14.66 References
[1], [2]
Attributes
T_cached
interpolation_T
interpolation_property
interpolation_property_inv
method
1.1.1.14.67 Methods
extrapolate_tabular
Tmax = None
Maximum temperature at which no method can calculate the heat capacity above.
Tmin = None
Minimum temperature at which no method can calculate the heat capacity under.
all_methods = None
Set of all methods available for a given CASRN and properties; filled by load_all_methods.
calculate(T, method)
Method to calculate heat capacity of a solid at temperature T with a given method.
This method has no exception handling; see T_dependent_property for that.
Parameters
T [float] Temperature at which to calculate heat capacity, [K]
method [str] Name of the method to use
Returns
Cp [float] Heat capacity of the solid at T, [J/mol/K]
calculate_integral(T1, T2, method)
Method to calculate the integral of a property with respect to temperature, using a specified method. Im-
plements the analytical integrals of all available methods except for tabular data.
Parameters
T1 [float] Lower limit of integration, [K]
T2 [float] Upper limit of integration, [K]
method [str] Method for which to find the integral
Returns
integral [float] Calculated integral of the property over the given range, [units*K]
calculate_integral_over_T(T1, T2, method)
Method to calculate the integral of a property over temperature with respect to temperature, using a speci-
fied method. Implements the analytical integrals of all available methods except for tabular data.
Parameters
T1 [float] Lower limit of integration, [K]
T2 [float] Upper limit of integration, [K]
method [str] Method for which to find the integral
Returns
integral [float] Calculated integral of the property over the given range, [units]
interpolation_T = None
No interpolation transformation by default.
interpolation_property = None
No interpolation transformation by default.
interpolation_property_inv = None
No interpolation transformation by default.
load_all_methods()
Method which picks out coefficients for the specified chemical from the various dictionaries and
DataFrames storing it. All data is stored as attributes. This method also sets Tmin, Tmax, and
all_methods as a set of methods for which the data exists for.
Called on initialization only. See the source code for the variables at which the coefficients are stored. The
coefficients can safely be altered once the class is initialized. This method can be called again to reset the
parameters.
name = 'solid heat capacity'
property_max = 10000.0
Maximum value of Heat capacity; arbitrarily set.
property_min = 0
Heat capacities have a minimum value of 0 at 0 K.
ranked_methods = ["Perry's Table 2-151", 'CRC Standard Thermodynamic Properties of Chem
Default rankings of the available methods.
sorted_valid_methods = None
sorted_valid_methods, list: Stored methods which were found valid at a specific temperature; set by
T_dependent_property.
tabular_data = None
tabular_data, dict: Stored (Ts, properties) for any tabular data; indexed by provided or autogenerated name.
tabular_data_interpolators = None
tabular_data_interpolators, dict: Stored (extrapolator, spline) tuples which are interp1d instances for
each set of tabular data; indexed by tuple of (name, interpolation_T, interpolation_property, interpola-
tion_property_inv) to ensure that if an interpolation transform is altered, the old interpolator which had
been created is no longer used.
tabular_extrapolation_permitted = True
Allow tabular extrapolation by default; a theoretical solid phase exists for all chemicals at sufficiently high
pressures, although few chemicals could stably exist in those conditions.
test_method_validity(T, method)
Method to check the validity of a method. Follows the given ranges for all coefficient-based methods. For
tabular data, extrapolation outside of the range is used if tabular_extrapolation_permitted is
set; if it is, the extrapolation is considered valid for all temperatures. For the Lastovka_solid method,
it is considered valid under 10000K.
It is not guaranteed that a method will work or give an accurate prediction simply because this method
considers the method valid.
Parameters
T [float] Temperature at which to test the method, [K]
method [str] Name of the method to test
Returns
validity [bool] Whether or not a method is valid
units = 'J/mol/K'
user_methods = None
user_methods, list: Stored methods which were specified by the user in a ranked order of preference; set
by T_dependent_property.
class thermo.heat_capacity.HeatCapacitySolidMixture(CASs=[], HeatCapaci-
tySolids=[])
Bases: thermo.utils.MixtureProperty
Class for dealing with solid heat capacity of a mixture as a function of temperature, pressure, and composition.
Consists only of mole weighted averaging.
Parameters
CASs [list[str], optional] The CAS numbers of all species in the mixture
HeatCapacitySolids [list[HeatCapacitySolid], optional] HeatCapacitySolid objects created for
all species in the mixture, normally created by thermo.chemical.Chemical.
1.1.1.14.68 Notes
Attributes
method
prop_cached
1.1.1.14.69 Methods
Tmax = None
Maximum temperature at which no method can calculate the heat capacity above.
Tmin = None
Minimum temperature at which no method can calculate the heat capacity under.
all_methods = None
Set of all methods available for a given set of information; filled by load_all_methods.
calculate(T, P, zs, ws, method)
Method to calculate heat capacity of a solid mixture at temperature T, pressure P, mole fractions zs and
weight fractions ws with a given method.
This method has no exception handling; see mixture_property for that.
Parameters
T [float] Temperature at which to calculate the property, [K]
P [float] Pressure at which to calculate the property, [Pa]
zs [list[float]] Mole fractions of all species in the mixture, [-]
ws [list[float]] Weight fractions of all species in the mixture, [-]
method [str] Name of the method to use
Returns
Cpsm [float] Molar heat capacity of the solid mixture at the given conditions, [J/mol]
load_all_methods()
Method to initialize the object by precomputing any values which may be used repeatedly and by retrieving
mixture-specific variables. All data are stored as attributes. This method also sets Tmin, Tmax, and
all_methods as a set of methods which should work to calculate the property.
Called on initialization only. See the source code for the variables at which the coefficients are stored. The
coefficients can safely be altered once the class is initialized. This method can be called again to reset the
parameters.
name = 'Solid heat capacity'
property_max = 10000.0
Maximum value of Heat capacity; arbitrarily set.
property_min = 0
Heat capacities have a minimum value of 0 at 0 K.
ranked_methods = ['SIMPLE']
sorted_valid_methods = None
sorted_valid_methods, list: Stored methods which were found valid at a specific temperature; set by mix-
ture_property.
test_method_validity(T, P, zs, ws, method)
Method to test the validity of a specified method for the given conditions. No methods have implemented
checks or strict ranges of validity.
Parameters
T [float] Temperature at which to check method validity, [K]
P [float] Pressure at which to check method validity, [Pa]
zs [list[float]] Mole fractions of all species in the mixture, [-]
ws [list[float]] Weight fractions of all species in the mixture, [-]
method [str] Method name to use
Returns
validity [bool] Whether or not a specifid method is valid
units = 'J/mol'
user_methods = None
user_methods, list: Stored methods which were specified by the user in a ranked order of preference; set
by mixture_property.
class thermo.heat_capacity.HeatCapacityGasMixture(CASs=[], HeatCapacityGases=[])
Bases: thermo.utils.MixtureProperty
Class for dealing with the gas heat capacity of a mixture as a function of temperature, pressure, and composition.
Consists only of mole weighted averaging.
Parameters
CASs [list[str], optional] The CAS numbers of all species in the mixture
HeatCapacityGases [list[HeatCapacityGas], optional] HeatCapacityGas objects created for all
species in the mixture, normally created by thermo.chemical.Chemical.
1.1.1.14.70 Notes
Attributes
method
prop_cached
1.1.1.14.71 Methods
Tmax = None
Maximum temperature at which no method can calculate the heat capacity above.
Tmin = None
Minimum temperature at which no method can calculate the heat capacity under.
all_methods = None
Set of all methods available for a given set of information; filled by load_all_methods.
calculate(T, P, zs, ws, method)
Method to calculate heat capacity of a gas mixture at temperature T, pressure P, mole fractions zs and
weight fractions ws with a given method.
This method has no exception handling; see mixture_property for that.
Parameters
T [float] Temperature at which to calculate the property, [K]
P [float] Pressure at which to calculate the property, [Pa]
zs [list[float]] Mole fractions of all species in the mixture, [-]
ws [list[float]] Weight fractions of all species in the mixture, [-]
method [str] Name of the method to use
Returns
Cpgm [float] Molar heat capacity of the gas mixture at the given conditions, [J/mol]
load_all_methods()
Method to initialize the object by precomputing any values which may be used repeatedly and by retrieving
mixture-specific variables. All data are stored as attributes. This method also sets Tmin, Tmax, and
all_methods as a set of methods which should work to calculate the property.
Called on initialization only. See the source code for the variables at which the coefficients are stored. The
coefficients can safely be altered once the class is initialized. This method can be called again to reset the
parameters.
name = 'Gas heat capacity'
property_max = 10000.0
Maximum valid of Heat capacity; arbitrarily set. For fluids very near the critical point, this value can be
obscenely high.
property_min = 0
Heat capacities have a minimum value of 0 at 0 K.
ranked_methods = ['SIMPLE']
sorted_valid_methods = None
sorted_valid_methods, list: Stored methods which were found valid at a specific temperature; set by mix-
ture_property.
test_method_validity(T, P, zs, ws, method)
Method to test the validity of a specified method for the given conditions. No methods have implemented
checks or strict ranges of validity.
Parameters
T [float] Temperature at which to check method validity, [K]
P [float] Pressure at which to check method validity, [Pa]
zs [list[float]] Mole fractions of all species in the mixture, [-]
ws [list[float]] Weight fractions of all species in the mixture, [-]
method [str] Method name to use
Returns
validity [bool] Whether or not a specifid method is valid
units = 'J/mol'
user_methods = None
user_methods, list: Stored methods which were specified by the user in a ranked order of preference; set
by mixture_property.
1.1.1.14.72 Notes
Attributes
method
prop_cached
1.1.1.14.73 Methods
Tmax = None
Maximum temperature at which no method can calculate the heat capacity above.
Tmin = None
Minimum temperature at which no method can calculate the heat capacity under.
all_methods = None
Set of all methods available for a given set of information; filled by load_all_methods.
calculate(T, P, zs, ws, method)
Method to calculate heat capacity of a liquid mixture at temperature T, pressure P, mole fractions zs and
weight fractions ws with a given method.
This method has no exception handling; see mixture_property for that.
Parameters
T [float] Temperature at which to calculate the property, [K]
P [float] Pressure at which to calculate the property, [Pa]
zs [list[float]] Mole fractions of all species in the mixture, [-]
ws [list[float]] Weight fractions of all species in the mixture, [-]
method [str] Name of the method to use
Returns
Cplm [float] Molar heat capacity of the liquid mixture at the given conditions, [J/mol]
load_all_methods()
Method to initialize the object by precomputing any values which may be used repeatedly and by retrieving
mixture-specific variables. All data are stored as attributes. This method also sets Tmin, Tmax, and
all_methods as a set of methods which should work to calculate the property.
Called on initialization only. See the source code for the variables at which the coefficients are stored. The
coefficients can safely be altered once the class is initialized. This method can be called again to reset the
parameters.
name = 'Liquid heat capacity'
property_max = 10000.0
Maximum valid of Heat capacity; arbitrarily set. For fluids very near the critical point, this value can be
obscenely high.
property_min = 1
Allow very low heat capacities; arbitrarily set; liquid heat capacity should always be somewhat substantial.
ranked_methods = ['Laliberte', 'SIMPLE']
sorted_valid_methods = None
sorted_valid_methods, list: Stored methods which were found valid at a specific temperature; set by mix-
ture_property.
test_method_validity(T, P, zs, ws, method)
Method to test the validity of a specified method for the given conditions. No methods have implemented
checks or strict ranges of validity.
Parameters
T [float] Temperature at which to check method validity, [K]
P [float] Pressure at which to check method validity, [Pa]
zs [list[float]] Mole fractions of all species in the mixture, [-]
ws [list[float]] Weight fractions of all species in the mixture, [-]
method [str] Method name to use
Returns
validity [bool] Whether or not a specifid method is valid
units = 'J/mol'
user_methods = None
user_methods, list: Stored methods which were specified by the user in a ranked order of preference; set
by mixture_property.
thermo.identifiers.checkCAS(CASRN)
Checks if a CAS number is valid. Returns False if the parser cannot parse the given string..
Parameters
CASRN [string] A three-piece, dash-separated set of numbers
Returns
result [bool] Boolean value if CASRN was valid. If parsing fails, return False also.
1.1.1.15.1 Notes
Check method is according to Chemical Abstract Society. However, no lookup to their service is performed;
therefore, this function cannot detect false positives.
Function also does not support additional separators, apart from ‘-‘.
CAS numbers up to the series 1 XXX XXX-XX-X are now being issued.
A long can hold CAS numbers up to 2 147 483-64-7
1.1.1.15.2 Examples
>>> checkCAS('7732-18-5')
True
>>> checkCAS('77332-18-5')
False
thermo.identifiers.CAS_from_any(ID, autoload=False)
Looks up the CAS number of a chemical by searching and testing for the string being any of the following types
of chemical identifiers:
• Name, in IUPAC form or common form or a synonym registered in PubChem
• InChI name, prefixed by ‘InChI=1S/’ or ‘InChI=1/’
• InChI key, prefixed by ‘InChIKey=’
• PubChem CID, prefixed by ‘PubChem=’
• SMILES (prefix with ‘SMILES=’ to ensure smiles parsing; ex. ‘C’ will return Carbon as it is an element
whereas the SMILES interpretation for ‘C’ is methane)
• CAS number (obsolete numbers may point to the current number)
If the input is an ID representing an element, the following additional inputs may be specified as
• Atomic symbol (ex ‘Na’)
• Atomic number (as a string)
Parameters
ID [str] One of the name formats described above
Returns
CASRN [string] A three-piece, dash-separated set of numbers
1.1.1.15.3 Notes
An exception is raised if the name cannot be identified. The PubChem database includes a wide variety of other
synonyms, but these may not be present for all chemcials.
1.1.1.15.4 Examples
>>> CAS_from_any('water')
'7732-18-5'
>>> CAS_from_any('InChI=1S/C2H6O/c1-2-3/h3H,2H2,1H3')
'64-17-5'
>>> CAS_from_any('CCCCCCCCCC')
'124-18-5'
>>> CAS_from_any('InChIKey=LFQSCWFLJHTTHZ-UHFFFAOYSA-N')
'64-17-5'
>>> CAS_from_any('pubchem=702')
'64-17-5'
>>> CAS_from_any('O') # only elements can be specified by symbol
'17778-80-2'
thermo.identifiers.PubChem(CASRN)
Given a CASRN in the database, obtain the PubChem database number of the compound.
Parameters
CASRN [string] Valid CAS number in PubChem database [-]
Returns
pubchem [int] PubChem database id, as an integer [-]
1.1.1.15.5 Notes
1.1.1.15.6 References
[1]
1.1.1.15.7 Examples
>>> PubChem('7732-18-5')
962
thermo.identifiers.MW(CASRN)
Given a CASRN in the database, obtain the Molecular weight of the compound, if it is in the database.
Parameters
CASRN [string] Valid CAS number in PubChem database
Returns
MolecularWeight [float]
1.1.1.15.8 Notes
CASRN must be an indexing key in the pubchem database. No MW Calculation is performed; nor are any
historical isotopic corrections applied.
1.1.1.15.9 References
[1]
1.1.1.15.10 Examples
>>> MW('7732-18-5')
18.01528
thermo.identifiers.formula(CASRN)
>>> formula('7732-18-5')
'H2O'
thermo.identifiers.smiles(CASRN)
>>> smiles('7732-18-5')
'O'
thermo.identifiers.InChI(CASRN)
>>> InChI('7732-18-5')
'H2O/h1H2'
thermo.identifiers.InChI_Key(CASRN)
>>> InChI_Key('7732-18-5')
'XLYOFNOQVPJJNP-UHFFFAOYSA-N'
thermo.identifiers.IUPAC_name(CASRN)
>>> IUPAC_name('7732-18-5')
'oxidane'
thermo.identifiers.name(CASRN)
>>> name('7732-18-5')
'water'
thermo.identifiers.synonyms(CASRN)
>>> synonyms('98-00-0')
['furan-2-ylmethanol', 'furfuryl alcohol', '2-furanmethanol', '2-furancarbinol',
˓→'2-furylmethanol', '2-furylcarbinol', '98-00-0', '2-furanylmethanol',
thermo.identifiers.mixture_from_any(ID)
Looks up a string which may represent a mixture in the database of thermo to determine the key by which the
composition of that mixture can be obtained in the dictionary _MixtureDict.
Parameters
ID [str] A string or 1-element list containing the name which may represent a mixture.
Returns
key [str] Key for access to the data on the mixture in _MixtureDict.
1.1.1.15.11 Notes
White space, ‘-‘, and upper case letters are removed in the search.
1.1.1.15.12 Examples
>>> mixture_from_any('R512A')
'R512A'
>>> mixture_from_any([u'air'])
'Air'
Parameters
T [float] Temperature of fluid [K]
Tc [float] Critical temperature of fluid [K]
sigma0 [float] First emperical coefficient of a fluid
n0 [float] First emperical exponent of a fluid
sigma1 [float, optional] Second emperical coefficient of a fluid.
n1 [float, optional] Second emperical exponent of a fluid.
sigma1 [float, optional] Third emperical coefficient of a fluid.
n2 [float, optional] Third emperical exponent of a fluid.
Returns
sigma [float] Liquid surface tension, N/m
1.1.1.16.1 Notes
Function as implemented in [1]. No example necessary; results match literature values perfectly. Form of
function returns imaginary results when T > Tc; None is returned if this is the case.
1.1.1.16.2 References
[1]
1.1.1.16.3 Examples
thermo.interface.Somayajulu(T, Tc, A, B, C)
Calculates air-water surface tension using the [1] emperical (parameter-regressed) method. Well regressed, no
recent data.
Parameters
T [float] Temperature of fluid [K]
Tc [float] Critical temperature of fluid [K]
A [float] Regression parameter
B [float] Regression parameter
C [float] Regression parameter
Returns
sigma [float] Liquid surface tension, N/m
1.1.1.16.4 Notes
Presently untested, but matches expected values. Internal units are mN/m. Form of function returns imaginary
results when T > Tc; None is returned if this is the case. Function is claimed valid from the triple to the critical
point. Results can be evaluated beneath the triple point.
1.1.1.16.5 References
[1]
1.1.1.16.6 Examples
Water at 300 K
thermo.interface.Jasper(T, a, b)
Calculates surface tension of a fluid given two parameters, a linear fit in Celcius from [1] with data reprinted in
[2].
𝜎 = 𝑎 − 𝑏𝑇
Parameters
T [float] Temperature of fluid, [K]
a [float] Parameter for equation. Chemical specific.
b [float] Parameter for equation. Chemical specific.
Returns
sigma: float Surface tension [N/m]
1.1.1.16.7 Notes
Internal units are mN/m, and degrees Celcius. This function has been checked against several references.
1.1.1.16.8 References
[1], [2]
1.1.1.16.9 Examples
Parameters
T [float] Temperature of fluid [K]
Tb [float] Boiling temperature of the fluid [K]
Tc [float] Critical temperature of fluid [K]
Pc [float] Critical pressure of fluid [Pa]
Returns
sigma [float] Liquid surface tension, N/m
1.1.1.16.10 Notes
Numerous arrangements of this equation are available. This is DIPPR Procedure 7A: Method for the Surface
Tension of Pure, Nonpolar, Nonhydrocarbon Liquids The exact equation is not in the original paper. If the
equation yields a negative result, return None.
1.1.1.16.11 References
[1]
1.1.1.16.12 Examples
p-dichloribenzene at 412.15 K, from DIPPR; value differs due to a slight difference in method.
Parameters
T [float] Temperature of fluid [K]
Tc [float] Critical temperature of fluid [K]
Pc [float] Critical pressure of fluid [Pa]
omega [float] Acentric factor for fluid, [-]
Returns
sigma [float] Liquid surface tension, N/m
1.1.1.16.13 Notes
The source of this equation has not been reviewed. Internal units of presure are bar, surface tension of mN/m.
1.1.1.16.14 References
1.1.1.16.15 Examples
1.1.1.16.16 Notes
The source of this equation has not been reviewed. Internal units of presure are bar, surface tension of mN/m.
1.1.1.16.17 References
[1]
1.1.1.16.18 Examples
𝜔 − 𝜔 (1)
𝜎 (1) = 40.520(1 − 𝑇𝑟 )1.287 𝜎 (2) = 52.095(1 − 𝑇𝑟 )1.21548 𝜎𝑟 = 𝜎𝑟(1) + (𝜎 (2) − 𝜎𝑟(1) )𝜎 = 𝑇𝑐1/3 𝑃𝑐2/3 [exp (𝜎𝑟 ) − 1]
𝜔 (2) − 𝜔 (1) 𝑟
Parameters
T [float] Temperature of fluid [K]
Tc [float] Critical temperature of fluid [K]
Pc [float] Critical pressure of fluid [Pa]
omega [float] Acentric factor for fluid, [-]
Returns
sigma [float] Liquid surface tension, N/m
1.1.1.16.19 Notes
Presently untested. Have not personally checked the sources. I strongly believe it is broken. The reference
values for methane and n-octane are from the DIPPR database.
1.1.1.16.20 References
[1]
1.1.1.16.21 Examples
Chlorobenzene
Parameters
T [float] Temperature of fluid [K]
Tc [float] Critical temperature of fluid [K]
Pc [float] Critical pressure of fluid [Pa]
omega [float] Acentric factor for fluid, [-]
StielPolar [float, optional] Stiel Polar Factor, [-]
Returns
sigma [float] Liquid surface tension, N/m
1.1.1.16.22 Notes
Original equation for m and Q are used. Internal units are atm and mN/m.
1.1.1.16.23 References
[1]
1.1.1.16.24 Examples
Parameters
T [float] Temperature of fluid [K]
Tc [float] Critical temperature of fluid [K]
Vc [float] Critical volume of fluid [m^3/mol]
omega [float] Acentric factor for fluid, [-]
Returns
sigma [float] Liquid surface tension, N/m
1.1.1.16.25 Notes
Uses Avogadro’s constant and the Boltsman constant. Internal units of volume are mL/mol and mN/m. However,
either a typo is in the article or author’s work, or my value of k is off by 10; this is corrected nonetheless. Created
with 31 normal fluids, none polar or hydrogen bonded. Has an AARD of 3.5%.
1.1.1.16.26 References
[1]
1.1.1.16.27 Examples
Parameters
T [float] Temperature of fluid [K]
1.1.1.16.28 Notes
Internal units of molecuar weight are kg/mol. This model is dimensionally consistent.
This model does not use the critical temperature. After it predicts a surface tension of 0 at a sufficiently high tem-
perature, it returns negative results. The temperature at which this occurs (the “predicted” critical temperature)
can be calculated as follows:
𝐻𝑣𝑎𝑝
𝜎 = 0 → 𝑇𝑐,𝑝𝑟𝑒𝑑𝑖𝑐𝑡𝑒𝑑 at 𝑇𝑏 +
𝐶𝑝𝑙
Because of its dependence on density, it has the potential to model the effect of pressure on surface tension.
Claims AAD of 4.3%. Developed for normal alkanes. Total of 472 data points. Behaves worse for higher
alkanes. Behaves very poorly overall.
1.1.1.16.29 References
[1]
1.1.1.16.30 Examples
Methane at 90 K
>>> Aleem(T=90, MW=16.04246, Tb=111.6, rhol=458.7, Hvap_Tb=510870.,
... Cpl=2465.)
0.01669970221165325
1.1.1.16.31 Notes
1.1.1.16.32 References
interpolation_T
interpolation_property
interpolation_property_inv
method
1.1.1.16.33 Methods
extrapolate_tabular
Tmax = None
Maximum temperature at which no method can calculate the surface tension above.
Tmin = None
Minimum temperature at which no method can calculate the surface tension under.
all_methods = None
Set of all methods available for a given CASRN and properties; filled by load_all_methods.
calculate(T, method)
Method to calculate surface tension of a liquid at temperature T with a given method.
This method has no exception handling; see T_dependent_property for that.
Parameters
T [float] Temperature at which to calculate surface tension, [K]
method [str] Name of the method to use
Returns
sigma [float] Surface tension of the liquid at T, [N/m]
interpolation_T = None
No interpolation transformation by default.
interpolation_property = None
No interpolation transformation by default.
interpolation_property_inv = None
No interpolation transformation by default.
load_all_methods()
Method which picks out coefficients for the specified chemical from the various dictionaries and
DataFrames storing it. All data is stored as attributes. This method also sets Tmin, Tmax, and
all_methods as a set of methods for which the data exists for.
Called on initialization only. See the source code for the variables at which the coefficients are stored. The
coefficients can safely be altered once the class is initialized. This method can be called again to reset the
parameters.
name = 'Surface tension'
property_max = 4.0
Maximum valid value of surface tension. Set to roughly twice that of cobalt at its melting point.
property_min = 0
Mimimum valid value of surface tension. This occurs at the critical point exactly.
ranked_methods = ['REFPROP', 'SOMAYAJULU2', 'SOMAYAJULU', 'VDI_PPDS', 'VDI_TABULAR', 'J
Default rankings of the available methods.
sorted_valid_methods = None
sorted_valid_methods, list: Stored methods which were found valid at a specific temperature; set by
T_dependent_property.
tabular_data = None
tabular_data, dict: Stored (Ts, properties) for any tabular data; indexed by provided or autogenerated name.
tabular_data_interpolators = None
tabular_data_interpolators, dict: Stored (extrapolator, spline) tuples which are interp1d instances for
each set of tabular data; indexed by tuple of (name, interpolation_T, interpolation_property, interpola-
tion_property_inv) to ensure that if an interpolation transform is altered, the old interpolator which had
been created is no longer used.
tabular_extrapolation_permitted = True
Allow tabular extrapolation by default; values below 0 will be obtained at high temperatures.
test_method_validity(T, method)
Method to check the validity of a method. Follows the given ranges for all coefficient-based methods. For
CSP methods, the models are considered valid from 0 K to the critical point. For tabular data, extrapolation
outside of the range is used if tabular_extrapolation_permitted is set; if it is, the extrapolation
is considered valid for all temperatures.
It is not guaranteed that a method will work or give an accurate prediction simply because this method
considers the method valid.
Parameters
T [float] Temperature at which to test the method, [K]
method [str] Name of the method to test
Returns
validity [bool] Whether or not a method is valid
units = 'N/m'
user_methods = None
user_methods, list: Stored methods which were specified by the user in a ranked order of preference; set
by T_dependent_property.
thermo.interface.Winterfeld_Scriven_Davis(xs, sigmas, rhoms)
Calculates surface tension of a liquid mixture according to mixing rules in [1] and also in [2].
∑︁ ∑︁ 1 √
𝜎𝑀 = 𝐿2
(𝑥𝑖 𝑉𝑖 ) (𝑥𝑗 𝑉𝑗 ) 𝜎𝑖 · 𝜎𝑗
𝑖 𝑗
𝑉 𝐿
Parameters
xs [array-like] Mole fractions of all components, [-]
sigmas [array-like] Surface tensions of all components, [N/m]
rhoms [array-like] Molar densities of all components, [mol/m^3]
Returns
sigma [float] Air-liquid surface tension of mixture, [N/m]
1.1.1.16.34 Notes
DIPPR Procedure 7C: Method for the Surface Tension of Nonaqueous Liquid Mixtures
Becomes less accurate as liquid-liquid critical solution temperature is approached. DIPPR Evaluation: 3-4%
AARD, from 107 nonaqueous binary systems, 1284 points. Internally, densities are converted to kmol/m^3.
The Amgat function is used to obtain liquid mixture density in this equation.
Raises a ZeroDivisionError if either molar volume are zero, and a ValueError if a surface tensions of a pure
component is negative.
1.1.1.16.35 References
[1], [2]
1.1.1.16.36 Examples
Parameters
T [float] Temperature of fluid [K]
xs [array-like] Mole fractions of all components
sigmas_Tb [array-like] Surface tensions of all components at the boiling point, [N/m]
Tbs [array-like] Boiling temperatures of all components, [K]
Tcs [array-like] Critical temperatures of all components, [K]
Returns
sigma [float] Air-liquid surface tension of mixture, [N/m]
1.1.1.16.37 Notes
Simple model, however it has 0 citations. Gives similar results to the Winterfeld_Scriven_Davis model.
Raises a ValueError if temperature is greater than the mixture’s critical temperature or if the given temperature
is negative, or if the mixture’s boiling temperature is higher than its critical temperature.
[1] claims a 4.63 percent average absolute error on 21 binary and 4 ternary non-aqueous systems. [1] also
considered Van der Waals mixing rules for Tc, but found it provided a higher error of 5.58%
1.1.1.16.38 References
[1]
1.1.1.16.39 Examples
1.1.1.16.40 Notes
1.1.1.16.41 References
[1]
Attributes
method
prop_cached
1.1.1.16.42 Methods
Tmax = None
Maximum temperature at which no method can calculate the surface tension above.
Tmin = None
Minimum temperature at which no method can calculate the surface tension under.
all_methods = None
Set of all methods available for a given set of information; filled by load_all_methods.
calculate(T, P, zs, ws, method)
Method to calculate surface tension of a liquid mixture at temperature T, pressure P, mole fractions zs and
weight fractions ws with a given method.
This method has no exception handling; see mixture_property for that.
Parameters
T [float] Temperature at which to calculate the property, [K]
P [float] Pressure at which to calculate the property, [Pa]
zs [list[float]] Mole fractions of all species in the mixture, [-]
ws [list[float]] Weight fractions of all species in the mixture, [-]
method [str] Name of the method to use
Returns
sigma [float] Surface tension of the liquid at given conditions, [N/m]
load_all_methods()
Method to initialize the object by precomputing any values which may be used repeatedly and by retrieving
mixture-specific variables. All data are stored as attributes. This method also sets Tmin, Tmax, and
all_methods as a set of methods which should work to calculate the property.
Called on initialization only. See the source code for the variables at which the coefficients are stored. The
coefficients can safely be altered once the class is initialized. This method can be called again to reset the
parameters.
name = 'Surface tension'
property_max = 4.0
Maximum valid value of surface tension. Set to roughly twice that of cobalt at its melting point.
property_min = 0
Mimimum valid value of surface tension. This occurs at the critical point exactly.
ranked_methods = ['Winterfeld, Scriven, and Davis (1978)', 'Diguilio and Teja (1988)',
sorted_valid_methods = None
sorted_valid_methods, list: Stored methods which were found valid at a specific temperature; set by mix-
ture_property.
test_method_validity(T, P, zs, ws, method)
Method to test the validity of a specified method for the given conditions. No methods have implemented
checks or strict ranges of validity.
Parameters
T [float] Temperature at which to check method validity, [K]
P [float] Pressure at which to check method validity, [Pa]
zs [list[float]] Mole fractions of all species in the mixture, [-]
ws [list[float]] Weight fractions of all species in the mixture, [-]
method [str] Method name to use
Returns
validity [bool] Whether or not a specifid method is valid
units = 'N/m'
user_methods = None
user_methods, list: Stored methods which were specified by the user in a ranked order of preference; set
by mixture_property.
1.1.1.17.1 Notes
1.1.1.17.2 Examples
Acetone:
Parameters
mol [rdkitmol or smiles str] Input molecule for the analysis, [-]
atom_count [int, optional] The total number of atoms including hydrogen in the molecule; this
will be counted by rdkit if it not provided, [-]
MW [float, optional] Molecular weight of the molecule; this will be calculated by rdkit if not
provided, [g/mol]
Tb [float, optional] An experimentally known boiling temperature for the chemical; this in-
creases the accuracy of the calculated critical point if provided. [K]
1.1.1.17.3 Notes
Be sure to check the status of the automatic fragmentation; not all chemicals with the Joback method are appli-
cable.
Approximately 68% of chemcials in the thermo database seem to be able to be estimated with the Joback
method.
1.1.1.17.4 References
[1], [2]
1.1.1.17.5 Examples
Analysis of Acetone:
>>> J = Joback('CC(=O)C')
>>> J.Hfus(J.counts)
5125.0
>>> J.Cpig(350)
84.69109750000001
>>> J.status
'OK'
The results for propionic anhydride (if the status is not OK) should not be used.
>>> J = Joback('CCC(=O)OC(=O)CC')
>>> J.status
'Matched some atoms repeatedly: [4]'
>>> J.Cpig(300)
175.85999999999999
None of the routines need to use the automatic routine; they can be used manually too:
Attributes
calculated_Cpig_coeffs
calculated_mul_coeffs
1.1.1.17.6 Methods
Cpig(T)
Computes ideal-gas heat capacity at a specified temperature of an organic compound using the Joback
method as a function of chemical structure only.
[︃ ]︃ [︃ ]︃ [︃ ]︃
∑︁ ∑︁ ∑︁ ∑︁
𝑖𝑔 −4 2 −7
𝐶𝑝 = 𝑎𝑖 − 37.93 + 𝑏𝑖 + 0.210 𝑇 + 𝑐𝑖 − 3.91 · 10 𝑇 + 𝑑𝑖 + 2.06 · 10 𝑇3
𝑖 𝑖 𝑖 𝑖
Parameters
T [float] Temperature, [K]
Returns
Cpig [float] Ideal-gas heat capacity, [J/mol/K]
1.1.1.17.7 Examples
>>> J = Joback('CC(=O)C')
>>> J.Cpig(300)
75.32642000000001
static Cpig_coeffs(counts)
Computes the ideal-gas polynomial heat capacity coefficients of an organic compound using the Joback
method as a function of chemical structure only.
[︃ ]︃ [︃ ]︃ [︃ ]︃
∑︁ ∑︁ ∑︁ ∑︁
𝑖𝑔 −4 2 −7
𝐶𝑝 = 𝑎𝑖 − 37.93 + 𝑏𝑖 + 0.210 𝑇 + 𝑐𝑖 − 3.91 · 10 𝑇 + 𝑑𝑖 + 2.06 · 10 𝑇3
𝑖 𝑖 𝑖 𝑖
288 compounds were used by Joback in this determination. No overall error was reported.
The ideal gas heat capacity values used in developing the heat capacity polynomials used 9 data points
between 298 K and 1000 K.
Parameters
counts [dict] Dictionary of Joback groups present (numerically indexed) and their counts,
[-]
Returns
coefficients [list[float]] Coefficients which will result in a calculated heat capacity in in units
of J/mol/K, [-]
1.1.1.17.8 Examples
static Gf(counts)
Estimates the ideal-gas Gibbs energy of formation at 298.15 K of an organic compound using the Joback
method as a function of chemical structure only.
∑︁
𝐺𝑓 𝑜𝑟𝑚𝑎𝑡𝑖𝑜𝑛 = 53.88 + 𝐺𝑓,𝑖
In the above equation, Gibbs energy of formation is calculated in kJ/mol; it is converted to J/mol here.
328 compounds were used by Joback in this determination, with an absolute average error of 2.0 kcal/mol,
standard devaition 4.37 kcal/mol, and AARE of 15.7%.
Parameters
counts [dict] Dictionary of Joback groups present (numerically indexed) and their counts,
[-]
Returns
Gf [float] Estimated ideal-gas Gibbs energy of formation at 298.15 K, [J/mol]
1.1.1.17.9 Examples
static Hf(counts)
Estimates the ideal-gas enthalpy of formation at 298.15 K of an organic compound using the Joback
method as a function of chemical structure only.
∑︁
𝐻𝑓 𝑜𝑟𝑚𝑎𝑡𝑖𝑜𝑛 = 68.29 + 𝐻𝑓,𝑖
𝑖
In the above equation, enthalpy of formation is calculated in kJ/mol; it is converted to J/mol here.
370 compounds were used by Joback in this determination, with an absolute average error of 2.2 kcal/mol,
standard devaition 2.0 kcal/mol, and AARE of 15.2%.
Parameters
counts [dict] Dictionary of Joback groups present (numerically indexed) and their counts,
[-]
Returns
Hf [float] Estimated ideal-gas enthalpy of formation at 298.15 K, [J/mol]
1.1.1.17.10 Examples
static Hfus(counts)
Estimates the enthalpy of fusion of an organic compound at its melting point using the Joback method as
a function of chemical structure only.
∑︁
∆𝐻𝑓 𝑢𝑠 = −0.88 + 𝐻𝑓 𝑢𝑠,𝑖
𝑖
In the above equation, enthalpy of fusion is calculated in kJ/mol; it is converted to J/mol here.
For 155 compounds tested by Joback, the absolute average error was 485.2 cal/mol and standard deviation
was 661.4 cal/mol; the average relative error was 38.7%.
Parameters
counts [dict] Dictionary of Joback groups present (numerically indexed) and their counts,
[-]
Returns
Hfus [float] Estimated enthalpy of fusion of the compound at its melting point, [J/mol]
1.1.1.17.11 Examples
static Hvap(counts)
Estimates the enthalpy of vaporization of an organic compound at its normal boiling point using the Joback
method as a function of chemical structure only.
∑︁
∆𝐻𝑣𝑎𝑝 = 15.30 + 𝐻𝑣𝑎𝑝,𝑖
𝑖
In the above equation, enthalpy of fusion is calculated in kJ/mol; it is converted to J/mol here.
For 368 compounds tested by Joback, the absolute average error was 303.5 cal/mol and standard deviation
was 429 cal/mol; the average relative error was 3.88%.
Parameters
counts [dict] Dictionary of Joback groups present (numerically indexed) and their counts,
[-]
Returns
Hvap [float] Estimated enthalpy of vaporization of the compound at its normal boiling point,
[J/mol]
1.1.1.17.12 Examples
1.1.1.17.13 Examples
static Tb(counts)
Estimates the normal boiling temperature of an organic compound using the Joback method as a function
of chemical structure only.
∑︁
𝑇𝑏 = 198.2 + 𝑇𝑏,𝑖
𝑖
For 438 compounds tested by Joback, the absolute average error was 12.91 K and standard deviation was
17.85 K; the average relative error was 3.6%.
Parameters
counts [dict] Dictionary of Joback groups present (numerically indexed) and their counts,
[-]
Returns
Tb [float] Estimated normal boiling temperature, [K]
1.1.1.17.14 Examples
boiling point is not provided it will be estimated with the Joback method as well.
⎡ (︃ )︃2 ⎤−1
∑︁ ∑︁
𝑇𝑐 = 𝑇𝑏 ⎣0.584 + 0.965 𝑇𝑐,𝑖 − 𝑇𝑐,𝑖 ⎦
𝑖 𝑖
For 409 compounds tested by Joback, the absolute average error was 4.76 K and standard deviation was
6.94 K; the average relative error was 0.81%.
Appendix BI of Joback’s work lists 409 estimated critical temperatures.
Parameters
counts [dict] Dictionary of Joback groups present (numerically indexed) and their counts,
[-]
Tb [float, optional] Experimental normal boiling temperature, [K]
Returns
Tc [float] Estimated critical temperature, [K]
1.1.1.17.15 Examples
static Tm(counts)
Estimates the melting temperature of an organic compound using the Joback method as a function of
chemical structure only.
∑︁
𝑇𝑚 = 122.5 + 𝑇𝑚,𝑖
𝑖
For 388 compounds tested by Joback, the absolute average error was 22.6 K and standard deviation was
24.68 K; the average relative error was 11.2%.
Parameters
counts [dict] Dictionary of Joback groups present (numerically indexed) and their counts,
[-]
Returns
Tm [float] Estimated melting temperature, [K]
1.1.1.17.16 Examples
static Vc(counts)
Estimates the critcal volume of an organic compound using the Joback method as a function of chemical
structure only.
∑︁
𝑉𝑐 = 17.5 + 𝑉𝑐,𝑖
𝑖
In the above equation, critical volume is calculated in cm^3/mol; it is converted to m^3/mol here.
310 compounds were used by Joback in this determination, with an absolute average error of 7.54
cm^3/mol, standard devaition 13.16 cm^3/mol, and AARE of 2.27%.
Parameters
counts [dict] Dictionary of Joback groups present (numerically indexed) and their counts,
[-]
Returns
Vc [float] Estimated critical volume, [m^3/mol]
1.1.1.17.17 Examples
calculated_Cpig_coeffs = None
calculated_mul_coeffs = None
estimate()
Method to compute all available properties with the Joback method; returns their results as a dict. For the
tempearture dependent values Cpig and mul, both the coefficients and objects to perform calculations are
returned.
mul(T)
Computes liquid viscosity at a specified temperature of an organic compound using the Joback method as
a function of chemical structure only.
(︃ ∑︀ )︃
𝑖 𝜇𝑎 − 597.82
∑︁
𝜇𝑙𝑖𝑞 = MW exp + 𝜇𝑏 − 11.202
𝑇 𝑖
Parameters
T [float] Temperature, [K]
Returns
mul [float] Liquid viscosity, [Pa*s]
1.1.1.17.18 Examples
>>> J = Joback('CC(=O)C')
>>> J.mul(300)
0.0002940378347162687
static mul_coeffs(counts)
Computes the liquid phase viscosity Joback coefficients of an organic compound using the Joback method
as a function of chemical structure only.
(︃ ∑︀ )︃
𝑖 𝜇𝑎 − 597.82
∑︁
𝜇𝑙𝑖𝑞 = MW exp + 𝜇𝑏 − 11.202
𝑇 𝑖
288 compounds were used by Joback in this determination. No overall error was reported.
The liquid viscosity data used was specified to be at “several temperatures for each compound” only. A
small and unspecified number of compounds were used in this estimation.
Parameters
counts [dict] Dictionary of Joback groups present (numerically indexed) and their counts,
[-]
Returns
coefficients [list[float]] Coefficients which will result in a liquid viscosity in in units of Pa*s,
[-]
1.1.1.17.19 Examples
1.1.1.18.1 Notes
the DSL but with a ‘Ministerial Condition pertaining to this substance’, or have been removed from the
DSL, or have had a Ministerial prohibition for the substance.
• TSCA: USA EPA Toxic Substances Control Act Chemical Inventory, [2]. This list is as extracted on
2016-01. It is believed this list is updated on a periodic basis (> 6 month). A chemical may simply be
‘Listed’, or may have certain flags attached to it. All these flags are described in the dict TSCA_flags.
• EINECS: European INventory of Existing Commercial chemical Substances, [3]. As extracted from a
spreadsheet dynamically generated at [1]. This list was obtained March 2015; a more recent revision
already exists.
• NLP: No Longer Polymers, a list of chemicals with special regulatory exemptions in EINECS. Also de-
scribed at [3].
• SPIN: Substances Prepared in Nordic Countries. Also a boolean data type. Retrieved 2015-03 from [4].
Other methods which could be added are:
• Australia: AICS Australian Inventory of Chemical Substances
• China: Inventory of Existing Chemical Substances Produced or Imported in China (IECSC)
• Europe: REACH List of Registered Substances
• India: List of Hazardous Chemicals
• Japan: ENCS: Inventory of existing and new chemical substances
• Korea: Existing Chemicals Inventory (KECI)
• Mexico: INSQ National Inventory of Chemical Substances in Mexico
• New Zealand: Inventory of Chemicals (NZIoC)
• Philippines: PICCS Philippines Inventory of Chemicals and Chemical Substances
1.1.1.18.2 References
1.1.1.18.3 Examples
>>> pprint(legal_status('64-17-5'))
{'DSL': 'LISTED',
'EINECS': 'LISTED',
'NLP': 'UNLISTED',
'SPIN': 'LISTED',
'TSCA': 'LISTED'}
>>> pprint(economic_status(CASRN='98-00-0'))
["US public: {'Manufactured': 0.0, 'Imported': 10272.711, 'Exported': 184.127}",
u'10,000 - 100,000 tonnes per annum',
'OECD HPV Chemicals']
thermo.law.load_economic_data()
thermo.law.load_law_data()
1.1.1.19.1 Notes
These values are somewhat rough, as they attempt to pigeonhole a chemical into L-J behavior.
The tabulated data is from [2], for 322 chemicals.
1.1.1.19.2 References
[1], [2]
1.1.1.19.3 Examples
>>> Stockmayer(CASRN='64-17-5')
1291.41
1.1.1.19.4 Notes
These values are somewhat rough, as they attempt to pigeonhole a chemical into L-J behavior.
The tabulated data is from [2], for 322 chemicals.
1.1.1.19.5 References
[1], [2]
1.1.1.19.6 Examples
>>> molecular_diameter(CASRN='64-17-5')
4.23738
thermo.lennard_jones.sigma_Flynn(Vc)
Calculates Lennard-Jones molecular diameter. Uses critical volume. CSP method by [1] as reported in [2].
𝜎 = 0.561(𝑉𝑐1/3 )5/4
Parameters
Vc [float] Critical volume of fluid [m^3/mol]
Returns
sigma [float] Lennard-Jones molecular diameter, [Angstrom]
1.1.1.19.7 Notes
1.1.1.19.8 References
[1], [2]
1.1.1.19.9 Examples
>>> sigma_Flynn(0.000268)
5.2506948422196285
thermo.lennard_jones.sigma_Bird_Stewart_Lightfoot_critical_2(Tc, Pc)
Calculates Lennard-Jones molecular diameter. Uses critical temperature and pressure. CSP method by [1].
Parameters
Tc [float] Critical temperature of fluid [K]
Pc [float] Critical pressure of fluid [Pa]
Returns
sigma [float] Lennard-Jones molecular diameter, [Angstrom]
1.1.1.19.10 Notes
1.1.1.19.11 References
[1]
1.1.1.19.12 Examples
thermo.lennard_jones.sigma_Bird_Stewart_Lightfoot_critical_1(Vc)
Calculates Lennard-Jones molecular diameter. Uses critical volume. CSP method by [1].
𝜎 = 0.841𝑉𝑐1/3
Parameters
Vc [float] Critical volume of fluid [m^3/mol]
Returns
sigma [float] Lennard-Jones molecular diameter, [Angstrom]
1.1.1.19.13 Notes
1.1.1.19.14 References
[1]
1.1.1.19.15 Examples
>>> sigma_Bird_Stewart_Lightfoot_critical_1(0.000268)
5.422184116631474
thermo.lennard_jones.sigma_Bird_Stewart_Lightfoot_boiling(Vb)
Calculates Lennard-Jones molecular diameter. Uses molar volume of liquid at boiling. CSP method by [1].
1/3
𝜎 = 1.166𝑉𝑏,𝑙𝑖𝑞
Parameters
Vb [float] Boiling molar volume of liquid [m^3/mol]
Returns
sigma [float] Lennard-Jones collision integral, [Angstrom]
1.1.1.19.16 Notes
1.1.1.19.17 References
[1]
1.1.1.19.18 Examples
>>> sigma_Bird_Stewart_Lightfoot_boiling(0.0001015)
5.439018856944655
thermo.lennard_jones.sigma_Bird_Stewart_Lightfoot_melting(Vm)
Calculates Lennard-Jones molecular diameter. Uses molar volume of a liquid at its melting point. CSP method
by [1].
1/3
𝜎 = 1.222𝑉𝑚,𝑠𝑜𝑙
Parameters
Vm [float] Melting molar volume of a liquid at its melting point [m^3/mol]
Returns
sigma [float] Lennard-Jones molecular diameter, [Angstrom]
1.1.1.19.19 Notes
1.1.1.19.20 References
[1]
1.1.1.19.21 Examples
>>> sigma_Bird_Stewart_Lightfoot_melting(8.8e-05)
5.435407341351406
thermo.lennard_jones.sigma_Stiel_Thodos(Vc, Zc)
Calculates Lennard-Jones molecular diameter. Uses critical volume and compressibility. CSP method by [1].
𝜎 = 0.1866𝑉𝑐1/3 𝑍𝑐−6/5
Parameters
Vc [float] Critical volume of fluid [m^3/mol]
Zc [float] Critical compressibility of fluid, [-]
Returns
sigma [float] Lennard-Jones molecular diameter, [Angstrom]
1.1.1.19.22 Notes
1.1.1.19.23 References
[1]
1.1.1.19.24 Examples
Monofluorobenzene
thermo.lennard_jones.sigma_Tee_Gotoh_Steward_1(Tc, Pc)
Calculates Lennard-Jones molecular diameter. Uses critical temperature and pressure. CSP method by [1].
(︂ )︂1/3
𝑇𝑐
𝜎 = 2.3647
𝑃𝑐
Parameters
Tc [float] Critical temperature of fluid [K]
Pc [float] Critical pressure of fluid [Pa]
Returns
sigma [float] Lennard-Jones molecular diameter, [Angstrom]
1.1.1.19.25 Notes
Original units of Pc are atm. Further regressions with other parameters were performed in [1] but are not
included here, except for sigma_Tee_Gotoh_Steward_2.
1.1.1.19.26 References
[1]
1.1.1.19.27 Examples
Parameters
Tc [float] Critical temperature of fluid [K]
Pc [float] Critical pressure of fluid [Pa]
omega [float] Acentric factor for fluid, [-]
Returns
sigma [float] Lennard-Jones molecular diameter, [Angstrom]
1.1.1.19.28 Notes
Original units of Pc are atm. Further regressions with other parameters were performed in [1] but are not
included here, except for sigma_Tee_Gotoh_Steward_1.
1.1.1.19.29 References
[1]
1.1.1.19.30 Examples
thermo.lennard_jones.sigma_Silva_Liu_Macedo(Tc, Pc)
Calculates Lennard-Jones molecular diameter. Uses critical temperature and pressure. CSP method by [1].
(︂ )︂ (︂ )︂2
3 𝑇𝑐 𝑇𝑐
𝜎𝐿𝐽 = 0.17791 + 11.779 − 0.049029
𝑃𝑐 𝑃𝑐
Parameters
Tc [float] Critical temperature of fluid [K]
Pc [float] Critical pressure of fluid [Pa]
Returns
sigma [float] Lennard-Jones molecular diameter, [Angstrom]
1.1.1.19.31 Notes
Pc is originally in bar. An excellent paper. None is returned if the polynomial returns a negative number, as in
the case of 1029.13 K and 3.83 bar.
1.1.1.19.32 References
[1]
1.1.1.19.33 Examples
thermo.lennard_jones.epsilon_Flynn(Tc)
Calculates Lennard-Jones depth of potential-energy minimum. Uses critical temperature. CSP method by [1]
as reported in [2].
𝜖/𝑘 = 1.77𝑇𝑐5/6
Parameters
Tc [float] Critical temperature of fluid [K]
Returns
epsilon_k [float] Lennard-Jones depth of potential-energy minimum over k, [K]
1.1.1.19.34 References
[1], [2]
1.1.1.19.35 Examples
>>> epsilon_Flynn(560.1)
345.2984087011443
thermo.lennard_jones.epsilon_Bird_Stewart_Lightfoot_critical(Tc)
Calculates Lennard-Jones depth of potential-energy minimum. Uses critical temperature. CSP method by [1].
𝜖/𝑘 = 0.77𝑇𝑐
Parameters
Tc [float] Critical temperature of fluid [K]
Returns
epsilon_k [float] Lennard-Jones depth of potential-energy minimum over k, [K]
1.1.1.19.36 References
[1]
1.1.1.19.37 Examples
>>> epsilon_Bird_Stewart_Lightfoot_critical(560.1)
431.27700000000004
thermo.lennard_jones.epsilon_Bird_Stewart_Lightfoot_boiling(Tb)
Calculates Lennard-Jones depth of potential-energy minimum. Uses boiling temperature. CSP method by [1].
𝜖/𝑘 = 1.15𝑇𝑏
Parameters
Tb [float] Boiling temperature [K]
Returns
epsilon_k [float] Lennard-Jones depth of potential-energy minimum over k, [K]
1.1.1.19.38 References
[1]
1.1.1.19.39 Examples
>>> epsilon_Bird_Stewart_Lightfoot_boiling(357.85)
411.5275
thermo.lennard_jones.epsilon_Bird_Stewart_Lightfoot_melting(Tm)
Calculates Lennard-Jones depth of potential-energy minimum. Uses melting temperature. CSP method by [1].
𝜖/𝑘 = 1.92𝑇𝑚
Parameters
Tm [float] Melting temperature [K]
Returns
epsilon_k [float] Lennard-Jones depth of potential-energy minimum over k, [K]
1.1.1.19.40 References
[1]
1.1.1.19.41 Examples
>>> epsilon_Bird_Stewart_Lightfoot_melting(231.15)
443.808
thermo.lennard_jones.epsilon_Stiel_Thodos(Tc, Zc)
Calculates Lennard-Jones depth of potential-energy minimum. Uses Critical temperature and critical compress-
ibility. CSP method by [1].
Parameters
Tc [float] Critical temperature of fluid [K]
Zc [float] Critical compressibility of fluid, [-]
Returns
epsilon_k [float] Lennard-Jones depth of potential-energy minimum over k, [K]
1.1.1.19.42 References
[1]
1.1.1.19.43 Examples
Fluorobenzene
thermo.lennard_jones.epsilon_Tee_Gotoh_Steward_1(Tc)
Calculates Lennard-Jones depth of potential-energy minimum. Uses Critical temperature. CSP method by [1].
𝜖/𝑘 = 0.7740𝑇𝑐
Parameters
Tc [float] Critical temperature of fluid [K]
Returns
epsilon_k [float] Lennard-Jones depth of potential-energy minimum over k, [K]
1.1.1.19.44 Notes
Further regressions with other parameters were performed in [1] but are not included here, except for ep-
silon_Tee_Gotoh_Steward_2.
1.1.1.19.45 References
[1]
1.1.1.19.46 Examples
>>> epsilon_Tee_Gotoh_Steward_1(560.1)
433.5174
thermo.lennard_jones.epsilon_Tee_Gotoh_Steward_2(Tc, omega)
Calculates Lennard-Jones depth of potential-energy minimum. Uses critical temperature and acentric factor.
CSP method by [1].
Parameters
Tc [float] Critical temperature of fluid [K]
omega [float] Acentric factor for fluid, [-]
Returns
epsilon_k [float] Lennard-Jones depth of potential-energy minimum over k, [K]
1.1.1.19.47 Notes
Further regressions with other parameters were performed in [1] but are not included here, except for ep-
silon_Tee_Gotoh_Steward_1.
1.1.1.19.48 References
[1]
1.1.1.19.49 Examples
Parameters
Tstar [float] Reduced temperature of the fluid [-]
l [int] term
s [int] term
Returns
Omega [float] Collision integral of A and B
1.1.1.19.50 Notes
Acceptable pairs of (l,s) are (1, 1), (1, 2), (1, 3), (1, 4), (1, 5), (1, 6), (1, 7), (2, 2), (2, 3), (2, 4), (2, 5), (2, 6), (3,
3), (3, 4), (3, 5), and (4, 4).
𝑘𝑏 𝑇
𝑇* =
𝜖
Results are very similar to those of the more modern formulation, collision_integral_Kim_Monroe.
Calculations begin to yield overflow errors in some values of (l, 2) after Tstar = 75, beginning with (1, 7). Also
susceptible are (1, 5) and (1, 6).
1.1.1.19.51 References
[1]
1.1.1.19.52 Examples
>>> collision_integral_Neufeld_Janzen_Aziz(100, 1, 1)
0.516717697672334
Parameters
Tstar [float] Reduced temperature of the fluid [-]
l [int] term
s [int] term
Returns
Omega [float] Collision integral of A and B
1.1.1.19.53 Notes
Acceptable pairs of (l,s) are (1, 1), (1, 2), (1, 3), (1, 4), (1, 5), (1, 6), (1, 7), (2, 2), (2, 3), (2, 4), (2, 5), (2, 6), (3,
3), (3, 4), (3, 5), and (4, 4).
𝑘𝑏 𝑇
𝑇* =
𝜖
1.1.1.19.54 References
[1]
1.1.1.19.55 Examples
>>> collision_integral_Kim_Monroe(400, 1, 1)
0.4141818082392228
1.1.1.19.56 Notes
Tabulated values are normally listed as epsilon/k. k is the Boltzman constant, with units of J/K.
1.1.1.19.57 References
[1]
1.1.1.19.58 Examples
thermo.miscdata.VDI_tabular_data(CASRN, prop)
This function retrieves the tabular data available for a given chemical and a given property. Lookup is based on
CASRNs. Length of data returned varies between chemicals. All data is at saturation condition from [1].
Function has data for 58 chemicals.
Parameters
CASRN [string] CASRN [-]
prop [string] Property [-]
Returns
Ts [list] Temperatures where property data is available, [K]
props [list] Properties at each temperature, [various]
1.1.1.20.1 Notes
The available properties are ‘P’, ‘Density (l)’, ‘Density (g)’, ‘Hvap’, ‘Cp (l)’, ‘Cp (g)’, ‘Mu (l)’, ‘Mu (g)’, ‘K
(l)’, ‘K (g)’, ‘Pr (l)’, ‘Pr (g)’, ‘sigma’, ‘Beta’, ‘Volume (l)’, and ‘Volume (g)’.
Data is available for all properties and all chemicals; surface tension data was missing for mercury, but added as
estimated from the a/b coefficients listed in Jasper (1972) to simplify the function.
1.1.1.20.2 References
[1]
1.1.1.20.3 Examples
1.1.1.21.1 Examples
Attributes
MW [float] Mole-weighted average molecular weight all chemicals in the mixture, [g/mol]
MWs [list of float] Molecular weights of all chemicals in the mixture, [g/mol]
Tms [list of float] Melting temperatures of all chemicals in the mixture, [K]
Tbs [list of float] Boiling temperatures of all chemicals in the mixture, [K]
Tcs [list of float] Critical temperatures of all chemicals in the mixture, [K]
Pcs [list of float] Critical pressures of all chemicals in the mixture, [Pa]
Vcs [list of float] Critical volumes of all chemicals in the mixture, [m^3/mol]
Zcs [list of float] Critical compressibilities of all chemicals in the mixture, [-]
rhocs [list of float] Critical densities of all chemicals in the mixture, [kg/m^3]
rhocms [list of float] Critical molar densities of all chemicals in the mixture, [mol/m^3]
omegas [list of float] Acentric factors of all chemicals in the mixture, [-]
StielPolars [list of float] Stiel Polar factors of all chemicals in the mixture, see thermo.
acentric.StielPolar for the definition, [-]
Tts [list of float] Triple temperatures of all chemicals in the mixture, [K]
Pts [list of float] Triple pressures of all chemicals in the mixture, [Pa]
Hfuss [list of float] Enthalpy of fusions of all chemicals in the mixture, [J/kg]
Hfusms [list of float] Molar enthalpy of fusions of all chemicals in the mixture, [J/mol]
Hsubs [list of float] Enthalpy of sublimations of all chemicals in the mixture, [J/kg]
Hsubms [list of float] Molar enthalpy of sublimations of all chemicals in the mixture, [J/mol]
Hfs [list of float] Enthalpy of formations of all chemicals in the mixture, [J/mol]
Hcs [list of float] Molar enthalpy of combustions of all chemicals in the mixture, [J/mol]
Tflashs [list of float] Flash points of all chemicals in the mixture, [K]
Tautoignitions [list of float] Autoignition points of all chemicals in the mixture, [K]
LFLs [list of float] Lower flammability limits of the gases in an atmosphere at STP, mole frac-
tions, [-]
UFLs [list of float] Upper flammability limit of the gases in an atmosphere at STP, mole frac-
tions, [-]
TWAs [list of list of tuple(quantity, unit)] Time-Weighted Average limits on worker exposure
to dangerous chemicals.
STELs [list of tuple(quantity, unit)] Short-term Exposure limits on worker exposure to danger-
ous chemicals.
Ceilings [list of tuple(quantity, unit)] Ceiling limits on worker exposure to dangerous chemi-
cals.
Skins [list of bool] Whether or not each of the chemicals can be absorbed through the skin.
Carcinogens [list of str or dict] Carcinogen status information for each chemical in the mixture.
dipoles [list of float] Dipole moments of all chemicals in the mixture in debye,
[3.33564095198e-30 ampere*second^2]
Stockmayers [list of float] Lennard-Jones depth of potential-energy minimum over k for all
chemicals in the mixture, [K]
molecular_diameters [list of float] Lennard-Jones molecular diameters of all chemicals in the
mixture, [angstrom]
GWPs [list of float] Global warming potentials (default 100-year outlook) (impact/mass chem-
ical)/(impact/mass CO2) of all chemicals in the mixture, [-]
ODPs [list of float] Ozone Depletion potentials (impact/mass chemical)/(impact/mass CFC-11),
of all chemicals in the mixture, [-]
logPs [list of float] Octanol-water partition coefficients of all chemicals in the mixture, [-]
Psat_298s [list of float] Vapor pressure of the chemicals in the mixture at 298.15 K, [Pa]
phase_STPs [list of str] Phase of the chemicals in the mixture at 298.15 K and 101325 Pa; one
of ‘s’, ‘l’, ‘g’, or ‘l/g’.
Vml_Tbs [list of float] Molar volumes of the chemicals in the mixture as liquids at their normal
boiling points, [m^3/mol]
Vml_Tms [list of float] Molar volumes of the chemicals in the mixture as liquids at their melt-
ing points, [m^3/mol]
Vml_STPs [list of float] Molar volume of the chemicals in the mixture as liquids at 298.15 K
and 101325 Pa, [m^3/mol]
Vmg_STPs [list of float] Molar volume of the chemicals in the mixture as gases at 298.15 K
and 101325 Pa, [m^3/mol]
Hvap_Tbms [list of float] Molar enthalpies of vaporization of the chemicals in the mixture at
their normal boiling points, [J/mol]
Hvap_Tbs [list of float] Mass enthalpies of vaporization of the chemicals in the mixture at their
normal boiling points, [J/kg]
alpha Thermal diffusivity of the mixture at its current temperature, pressure, and phase in
units of [m^2/s].
alphag Thermal diffusivity of the gas phase of the mixture if one exists at its current temper-
ature and pressure, in units of [m^2/s].
alphags Pure component thermal diffusivities of the chemicals in the mixture in the gas phase
at the current temperature and pressure, in units of [m^2/s].
alphal Thermal diffusivity of the liquid phase of the mixture if one exists at its current tem-
perature and pressure, in units of [m^2/s].
alphals Pure component thermal diffusivities of the chemicals in the mixture in the liquid
phase at the current temperature and pressure, in units of [m^2/s].
atom_fractions Dictionary of atomic fractions for each atom in the mixture.
atom_fractionss List of dictionaries of atomic fractions for all chemicals in the mixture.
atomss List of dictionaries of atom counts for all chemicals in the mixture.
Bvirial Second virial coefficient of the gas phase of the mixture at its current temperature,
pressure, and composition in units of [mol/m^3].
charges Charges for all chemicals in the mixture, [faraday].
Cp Mass heat capacity of the mixture at its current phase and temperature, in units of [J/kg/K].
Cpg Gas-phase heat capacity of the mixture at its current temperature , and composition in units
of [J/kg/K].
Cpgm Gas-phase heat capacity of the mixture at its current temperature and composition, in
units of [J/mol/K].
Cpgms Gas-phase ideal gas heat capacity of the chemicals at its current temperature, in units
of [J/mol/K].
Cpgs Gas-phase pure component heat capacity of the chemicals in the mixture at its current
temperature, in units of [J/kg/K].
Cpl Liquid-phase heat capacity of the mixture at its current temperature and composition, in
units of [J/kg/K].
Cplm Liquid-phase heat capacity of the mixture at its current temperature and composition, in
units of [J/mol/K].
Cplms Liquid-phase pure component heat capacity of the chemicals in the mixture at its current
temperature, in units of [J/mol/K].
Cpls Liquid-phase pure component heat capacity of the chemicals in the mixture at its current
temperature, in units of [J/kg/K].
Cpm Molar heat capacity of the mixture at its current phase and temperature, in units of
[J/mol/K].
Cps Solid-phase heat capacity of the mixture at its current temperature and composition, in
units of [J/kg/K].
Cpsm Solid-phase heat capacity of the mixture at its current temperature and composition, in
units of [J/mol/K].
Cpsms Solid-phase pure component heat capacity of the chemicals in the mixture at its current
temperature, in units of [J/mol/K].
Cpss Solid-phase pure component heat capacity of the chemicals in the mixture at its current
temperature, in units of [J/kg/K].
Cvg Gas-phase ideal-gas contant-volume heat capacity of the mixture at its current temperature,
in units of [J/kg/K].
Cvgm Gas-phase ideal-gas contant-volume heat capacity of the mixture at its current tempera-
ture and composition, in units of [J/mol/K].
Cvgms Gas-phase pure component ideal-gas contant-volume heat capacities of the chemicals
in the mixture at its current temperature, in units of [J/mol/K].
Cvgs Gas-phase pure component ideal-gas contant-volume heat capacities of the chemicals in
the mixture at its current temperature, in units of [J/kg/K].
economic_statuses List of dictionaries of the economic status for all chemicals in the
mixture.
eos Equation of state object held by the mixture.
formulas Chemical formulas for all chemicals in the mixture.
Hvapms Pure component enthalpies of vaporization of the chemicals in the mixture at its cur-
rent temperature, in units of [J/mol].
Hvaps Enthalpy of vaporization of the chemicals in the mixture at its current temperature, in
units of [J/kg].
InChI_Keys InChI keys for all chemicals in the mixture.
InChIs InChI strings for all chemicals in the mixture.
isentropic_exponent Gas-phase ideal-gas isentropic exponent of the mixture at its cur-
rent temperature, [dimensionless].
isentropic_exponents Gas-phase pure component ideal-gas isentropic exponent of the
chemicals in the mixture at its current temperature, [dimensionless].
isobaric_expansion Isobaric (constant-pressure) expansion of the mixture at its current
phase, temperature, and pressure in units of [1/K].
nugs Pure component kinematic viscosities of the gas phase of the chemicals in the mixture at
its current temperature and pressure, in units of [m^2/s].
nul Kinematic viscosity of the liquid phase of the mixture if one exists at its current tempera-
ture and pressure, in units of [m^2/s].
nuls Pure component kinematic viscosities of the liquid phase of the chemicals in the mixture
at its current temperature and pressure, in units of [m^2/s].
permittivites Pure component relative permittivities of the chemicals in the mixture at its
current temperature, [dimensionless].
Pr Prandtl number of the mixture at its current temperature, pressure, and phase; [dimension-
less].
Prg Prandtl number of the gas phase of the mixture if one exists at its current temperature and
pressure, [dimensionless].
Prgs Pure component Prandtl numbers of the gas phase of the chemicals in the mixture at its
current temperature and pressure, [dimensionless].
Prl Prandtl number of the liquid phase of the mixture if one exists at its current temperature
and pressure, [dimensionless].
Prls Pure component Prandtl numbers of the liquid phase of the chemicals in the mixture at
its current temperature and pressure, [dimensionless].
Psats Pure component vapor pressures of the chemicals in the mixture at its current tempera-
ture, in units of [Pa].
PSRK_groups List of dictionaries of PSRK subgroup: count groups for each chemical in the
mixture.
PubChems PubChem Component ID numbers for all chemicals in the mixture.
rho Mass density of the mixture at its current phase and temperature and pressure, in units of
[kg/m^3].
rhog Gas-phase mass density of the mixture at its current temperature, pressure, and compo-
sition in units of [kg/m^3].
rhogm Molar density of the mixture in the gas phase at the current temperature, pressure, and
composition in units of [mol/m^3].
rhogms Pure component molar densities of the chemicals in the gas phase at the current tem-
perature and pressure, in units of [mol/m^3].
rhogm_STP Molar density of the mixture in the gas phase at 298.15 K and 101.325 kPa, and
the current composition, in units of [mol/m^3].
rhogs Pure-component gas-phase mass densities of the chemicals in the mixture at its current
temperature and pressure, in units of [kg/m^3].
rhog_STP Gas-phase mass density of the mixture at 298.15 K and 101.325 kPa, and the cur-
rent composition in units of [kg/m^3].
rhol Liquid-phase mass density of the mixture at its current temperature, pressure, and com-
position in units of [kg/m^3].
rholm Molar density of the mixture in the liquid phase at the current temperature, pressure,
and composition in units of [mol/m^3].
rholms Pure component molar densities of the chemicals in the mixture in the liquid phase at
the current temperature and pressure, in units of [mol/m^3].
rholm_STP Molar density of the mixture in the liquid phase at 298.15 K and 101.325 kPa,
and the current composition, in units of [mol/m^3].
rhols Pure-component liquid-phase mass density of the chemicals in the mixture at its current
temperature and pressure, in units of [kg/m^3].
rhol_STP Liquid-phase mass density of the mixture at 298.15 K and 101.325 kPa, and the
current composition in units of [kg/m^3].
rhom Molar density of the mixture at its current phase and temperature and pressure, in units
of [mol/m^3].
rhosms Pure component molar densities of the chemicals in the solid phase at the current
temperature and pressure, in units of [mol/m^3].
rhoss Pure component solid-phase mass density of the chemicals in the mixture at its current
temperature, in units of [kg/m^3].
ringss List of ring counts for all chemicals in the mixture.
sigma Surface tension of the mixture at its current temperature and composition, in units of
[N/m].
sigmas Pure component surface tensions of the chemicals in the mixture at its current temper-
ature, in units of [N/m].
smiless SMILES strings for all chemicals in the mixture.
solubility_parameters Pure component solubility parameters of the chemicals in the
mixture at its current temperature and pressure, in units of [Pa^0.5].
synonymss Lists of synonyms for all chemicals in the mixture.
UNIFAC_Dortmund_groups List of dictionaries of Dortmund UNIFAC subgroup: count
groups for each chemcial in the mixture.
UNIFAC_groups List of dictionaries of UNIFAC subgroup: count groups for each chemical
in the mixture.
Vm Molar volume of the mixture at its current phase and temperature and pressure, in units of
[m^3/mol].
Vmg Gas-phase molar volume of the mixture at its current temperature, pressure, and composi-
tion in units of [mol/m^3].
Vmgs Pure component gas-phase molar volumes of the chemicals in the mixture at its current
temperature and pressure, in units of [mol/m^3].
Vmg_STP Gas-phase molar volume of the mixture at 298.15 K and 101.325 kPa, and the current
composition in units of [mol/m^3].
Vml Liquid-phase molar volume of the mixture at its current temperature, pressure, and com-
position in units of [mol/m^3].
Vmls Pure component liquid-phase molar volumes of the chemicals in the mixture at its current
temperature and pressure, in units of [mol/m^3].
Vml_STP Liquid-phase molar volume of the mixture at 298.15 K and 101.325 kPa, and the
current composition in units of [mol/m^3].
Vmss Pure component solid-phase molar volumes of the chemicals in the mixture at its current
temperature, in units of [mol/m^3].
Z Compressibility factor of the mixture at its current phase and temperature and pressure, [di-
mensionless].
Zg Compressibility factor of the mixture in the gas phase at the current temperature, pressure,
and composition, [dimensionless].
Zgs Pure component compressibility factors of the chemicals in the mixture in the gas phase at
the current temperature and pressure, [dimensionless].
Zg_STP Gas-phase compressibility factor of the mixture at 298.15 K and 101.325 kPa, and the
current composition, [dimensionless].
Zl Compressibility factor of the mixture in the liquid phase at the current temperature, pressure,
and composition, [dimensionless].
Zls Pure component compressibility factors of the chemicals in the liquid phase at the current
temperature and pressure, [dimensionless].
Zl_STP Liquid-phase compressibility factor of the mixture at 298.15 K and 101.325 kPa, and
the current composition, [dimensionless].
Zss Pure component compressibility factors of the chemicals in the mixture in the solid phase
at the current temperature and pressure, [dimensionless].
1.1.1.21.2 Methods
Bond
Capillary
Grashof
Jakob
Peclet_heat
Reynolds
Weber
calculate
calculate_PH
calculate_PS
calculate_TH
calculate_TS
set_Chemical_property_objects
set_TP
set_TP_sources
set_chemical_TP
set_chemical_constants
set_constant_sources
set_constants
set_eos
set_phase
API
API gravity of the hypothetical liquid phase of the mixture, [degrees]. The reference condition is water at
15.6 °C (60 °F) and 1 atm (rho=999.016 kg/m^3, standardized).
1.1.1.21.3 Examples
Bond(L=None)
Bvirial
Second virial coefficient of the gas phase of the mixture at its current temperature, pressure, and composi-
tion in units of [mol/m^3].
This property uses the object-oriented interface thermo.volume.VolumeGasMixture, converting
its result with thermo.utils.B_from_Z.
1.1.1.21.4 Examples
Capillary(V=None)
Cp
Mass heat capacity of the mixture at its current phase and temperature, in units of [J/kg/K].
1.1.1.21.5 Examples
Cpg
Gas-phase heat capacity of the mixture at its current temperature , and composition in units of [J/kg/K].
For calculation of this property at other temperatures or compositions, or specifying manually the
method used to calculate it, and more - see the object oriented interface thermo.heat_capacity.
HeatCapacityGasMixture; each Mixture instance creates one to actually perform the calculations.
Note that that interface provides output in molar units.
1.1.1.21.6 Examples
Cpgm
Gas-phase heat capacity of the mixture at its current temperature and composition, in units of [J/mol/K].
For calculation of this property at other temperatures or compositions, or specifying manually the
method used to calculate it, and more - see the object oriented interface thermo.heat_capacity.
HeatCapacityGasMixture; each Mixture instance creates one to actually perform the calculations.
1.1.1.21.7 Examples
Cpgms
Gas-phase ideal gas heat capacity of the chemicals at its current temperature, in units of [J/mol/K].
1.1.1.21.8 Examples
Cpgs
Gas-phase pure component heat capacity of the chemicals in the mixture at its current temperature, in units
of [J/kg/K].
1.1.1.21.9 Examples
Cpl
Liquid-phase heat capacity of the mixture at its current temperature and composition, in units of [J/kg/K].
For calculation of this property at other temperatures or compositions, or specifying manually the
method used to calculate it, and more - see the object oriented interface thermo.heat_capacity.
HeatCapacityLiquidMixture; each Mixture instance creates one to actually perform the calcula-
tions. Note that that interface provides output in molar units.
1.1.1.21.10 Examples
Cplm
Liquid-phase heat capacity of the mixture at its current temperature and composition, in units of [J/mol/K].
For calculation of this property at other temperatures or compositions, or specifying manually the
method used to calculate it, and more - see the object oriented interface thermo.heat_capacity.
HeatCapacityLiquidMixture; each Mixture instance creates one to actually perform the calcula-
tions.
1.1.1.21.11 Examples
Cplms
Liquid-phase pure component heat capacity of the chemicals in the mixture at its current temperature, in
units of [J/mol/K].
1.1.1.21.12 Examples
Cpls
Liquid-phase pure component heat capacity of the chemicals in the mixture at its current temperature, in
units of [J/kg/K].
1.1.1.21.13 Examples
Cpm
Molar heat capacity of the mixture at its current phase and temperature, in units of [J/mol/K]. Available
only if single phase.
1.1.1.21.14 Examples
Cps
Solid-phase heat capacity of the mixture at its current temperature and composition, in units of [J/kg/K].
For calculation of this property at other temperatures or compositions, or specifying manually the
method used to calculate it, and more - see the object oriented interface thermo.heat_capacity.
HeatCapacitySolidMixture; each Mixture instance creates one to actually perform the calcula-
tions. Note that that interface provides output in molar units.
1.1.1.21.15 Examples
Cpsm
Solid-phase heat capacity of the mixture at its current temperature and composition, in units of [J/mol/K].
For calculation of this property at other temperatures or compositions, or specifying manually the
method used to calculate it, and more - see the object oriented interface thermo.heat_capacity.
HeatCapacitySolidMixture; each Mixture instance creates one to actually perform the calcula-
tions.
1.1.1.21.16 Examples
Cpsms
Solid-phase pure component heat capacity of the chemicals in the mixture at its current temperature, in
units of [J/mol/K].
1.1.1.21.17 Examples
Cpss
Solid-phase pure component heat capacity of the chemicals in the mixture at its current temperature, in
units of [J/kg/K].
1.1.1.21.18 Examples
Cvg
Gas-phase ideal-gas contant-volume heat capacity of the mixture at its current temperature, in units of
[J/kg/K]. Subtracts R from the ideal-gas heat capacity; does not include pressure-compensation from an
equation of state.
1.1.1.21.19 Examples
Cvgm
Gas-phase ideal-gas contant-volume heat capacity of the mixture at its current temperature and compo-
sition, in units of [J/mol/K]. Subtracts R from the ideal-gas heat capacity; does not include pressure-
compensation from an equation of state.
1.1.1.21.20 Examples
Cvgms
Gas-phase pure component ideal-gas contant-volume heat capacities of the chemicals in the mixture at its
current temperature, in units of [J/mol/K]. Subtracts R from the ideal-gas heat capacities; does not include
pressure-compensation from an equation of state.
1.1.1.21.21 Examples
Cvgs
Gas-phase pure component ideal-gas contant-volume heat capacities of the chemicals in the mixture at its
current temperature, in units of [J/kg/K]. Subtracts R from the ideal-gas heat capacity; does not include
pressure-compensation from an equation of state.
1.1.1.21.22 Examples
Grashof(Tw=None, L=None)
H = None
Hm = None
Hvapms
Pure component enthalpies of vaporization of the chemicals in the mixture at its current temperature, in
units of [J/mol].
1.1.1.21.23 Examples
Hvaps
Enthalpy of vaporization of the chemicals in the mixture at its current temperature, in units of [J/kg].
1.1.1.21.24 Examples
IUPAC_names
IUPAC names for all chemicals in the mixture.
1.1.1.21.25 Examples
InChI_Keys
InChI keys for all chemicals in the mixture.
1.1.1.21.26 Examples
InChIs
InChI strings for all chemicals in the mixture.
1.1.1.21.27 Examples
JT
Joule Thomson coefficient of the mixture at its current phase, temperature, and pressure in units of [K/Pa].
Available only if single phase.
(︂ )︂ [︂ (︂ )︂ ]︂
𝜕𝑇 1 𝜕𝑉 𝑉
𝜇𝐽𝑇 = = 𝑇 −𝑉 = (𝛽𝑇 − 1)
𝜕𝑃 𝐻 𝐶𝑝 𝜕𝑇 𝑃 𝐶𝑝
1.1.1.21.28 Examples
JTg
Joule Thomson coefficient of the gas phase of the mixture if one exists at its current temperature and
pressure, in units of [K/Pa].
(︂ )︂ [︂ (︂ )︂ ]︂
𝜕𝑇 1 𝜕𝑉 𝑉
𝜇𝐽𝑇 = = 𝑇 −𝑉 = (𝛽𝑇 − 1)
𝜕𝑃 𝐻 𝐶𝑝 𝜕𝑇 𝑃 𝐶𝑝
1.1.1.21.29 Examples
JTgs
Pure component Joule Thomson coefficients of the chemicals in the mixture in the gas phase at its current
temperature and pressure, in units of [K/Pa].
(︂ )︂ [︂ (︂ )︂ ]︂
𝜕𝑇 1 𝜕𝑉 𝑉
𝜇𝐽𝑇 = = 𝑇 −𝑉 = (𝛽𝑇 − 1)
𝜕𝑃 𝐻 𝐶𝑝 𝜕𝑇 𝑃 𝐶𝑝
1.1.1.21.30 Examples
JTl
Joule Thomson coefficient of the liquid phase of the mixture if one exists at its current temperature and
pressure, in units of [K/Pa].
(︂ )︂ [︂ (︂ )︂ ]︂
𝜕𝑇 1 𝜕𝑉 𝑉
𝜇𝐽𝑇 = = 𝑇 −𝑉 = (𝛽𝑇 − 1)
𝜕𝑃 𝐻 𝐶𝑝 𝜕𝑇 𝑃 𝐶𝑝
1.1.1.21.31 Examples
JTls
Pure component Joule Thomson coefficients of the chemicals in the mixture in the liquid phase at its
current temperature and pressure, in units of [K/Pa].
(︂ )︂ [︂ (︂ )︂ ]︂
𝜕𝑇 1 𝜕𝑉 𝑉
𝜇𝐽𝑇 = = 𝑇 −𝑉 = (𝛽𝑇 − 1)
𝜕𝑃 𝐻 𝐶𝑝 𝜕𝑇 𝑃 𝐶𝑝
1.1.1.21.32 Examples
Jakob(Tw=None)
PSRK_groups
List of dictionaries of PSRK subgroup: count groups for each chemical in the mixture. Uses the PSRK
subgroups, as determined by DDBST’s online service.
1.1.1.21.33 Examples
Peclet_heat(V=None, D=None)
Pr
Prandtl number of the mixture at its current temperature, pressure, and phase; [dimensionless]. Available
only if single phase.
𝐶𝑝 𝜇
𝑃𝑟 =
𝑘
1.1.1.21.34 Examples
Prg
Prandtl number of the gas phase of the mixture if one exists at its current temperature and pressure, [di-
mensionless].
𝐶𝑝 𝜇
𝑃𝑟 =
𝑘
1.1.1.21.35 Examples
Prgs
Pure component Prandtl numbers of the gas phase of the chemicals in the mixture at its current temperature
and pressure, [dimensionless].
𝐶𝑝 𝜇
𝑃𝑟 =
𝑘
1.1.1.21.36 Examples
Prl
Prandtl number of the liquid phase of the mixture if one exists at its current temperature and pressure,
[dimensionless].
𝐶𝑝 𝜇
𝑃𝑟 =
𝑘
1.1.1.21.37 Examples
Prls
Pure component Prandtl numbers of the liquid phase of the chemicals in the mixture at its current temper-
ature and pressure, [dimensionless].
𝐶𝑝 𝜇
𝑃𝑟 =
𝑘
1.1.1.21.38 Examples
Psats
Pure component vapor pressures of the chemicals in the mixture at its current temperature, in units of [Pa].
1.1.1.21.39 Examples
PubChems
PubChem Component ID numbers for all chemicals in the mixture.
1.1.1.21.40 Examples
R_specific
Specific gas constant of the mixture, in units of [J/kg/K].
1.1.1.21.41 Examples
Reynolds(V=None, D=None)
SG
Specific gravity of the mixture, [dimensionless].
For gas-phase conditions, this is calculated at 15.6 °C (60 °F) and 1 atm for the mixture and the reference
fluid, air. For liquid and solid phase conditions, this is calculated based on a reference fluid of water at 4°C
at 1 atm, but the with the liquid or solid mixture’s density at the currently specified conditions.
1.1.1.21.42 Examples
>>> Mixture('MTBE').SG
0.7428160596603596
SGg
Specific gravity of a hypothetical gas phase of the mixture, . [dimensionless]. The reference condition is air
at 15.6 °C (60 °F) and 1 atm (rho=1.223 kg/m^3). The definition for gases uses the compressibility factor
of the reference gas and the mixture both at the reference conditions, not the conditions of the mixture.
1.1.1.21.43 Examples
>>> Mixture('argon').SGg
1.3800407778218216
SGl
Specific gravity of a hypothetical liquid phase of the mixture at the specified temperature and pressure,
[dimensionless]. The reference condition is water at 4 °C and 1 atm (rho=999.017 kg/m^3). For liquids,
SG is defined that the reference chemical’s T and P are fixed, but the chemical itself varies with the
specified T and P.
1.1.1.21.44 Examples
SGs
Specific gravity of a hypothetical solid phase of the mixture at the specified temperature and pressure,
[dimensionless]. The reference condition is water at 4 °C and 1 atm (rho=999.017 kg/m^3). The SG
varries with temperature and pressure but only very slightly.
UNIFAC_Dortmund_groups
List of dictionaries of Dortmund UNIFAC subgroup: count groups for each chemcial in the mixture. Uses
the Dortmund UNIFAC subgroups, as determined by DDBST’s online service.
1.1.1.21.45 Examples
UNIFAC_groups
List of dictionaries of UNIFAC subgroup: count groups for each chemical in the mixture. Uses the original
UNIFAC subgroups, as determined by DDBST’s online service.
1.1.1.21.46 Examples
V_over_F = None
Vfgs(T=None, P=None)
Volume fractions of all species in a hypothetical pure-gas phase at the current or specified temperature and
pressure. If temperature or pressure are specified, the non-specified property is assumed to be that of the
mixture. Note this is a method, not a property. Volume fractions are calculated based on pure species
volumes only.
1.1.1.21.47 Examples
Vfls(T=None, P=None)
Volume fractions of all species in a hypothetical pure-liquid phase at the current or specified temperature
and pressure. If temperature or pressure are specified, the non-specified property is assumed to be that of
the mixture. Note this is a method, not a property. Volume fractions are calculated based on pure species
volumes only.
1.1.1.21.48 Examples
Vm
Molar volume of the mixture at its current phase and temperature and pressure, in units of [m^3/mol].
Available only if single phase.
1.1.1.21.49 Examples
Vmg
Gas-phase molar volume of the mixture at its current temperature, pressure, and composition in units
of [mol/m^3]. For calculation of this property at other temperatures or pressures or compositions, or
specifying manually the method used to calculate it, and more - see the object oriented interface thermo.
volume.VolumeGasMixture; each Mixture instance creates one to actually perform the calculations.
1.1.1.21.50 Examples
Vmg_STP
Gas-phase molar volume of the mixture at 298.15 K and 101.325 kPa, and the current composition in units
of [mol/m^3].
1.1.1.21.51 Examples
Vmgs
Pure component gas-phase molar volumes of the chemicals in the mixture at its current temperature and
pressure, in units of [mol/m^3].
1.1.1.21.52 Examples
Vml
Liquid-phase molar volume of the mixture at its current temperature, pressure, and composition in units
of [mol/m^3]. For calculation of this property at other temperatures or pressures or compositions, or spec-
ifying manually the method used to calculate it, and more - see the object oriented interface thermo.
volume.VolumeLiquidMixture; each Mixture instance creates one to actually perform the calcu-
lations.
1.1.1.21.53 Examples
Vml_STP
Liquid-phase molar volume of the mixture at 298.15 K and 101.325 kPa, and the current composition in
units of [mol/m^3].
1.1.1.21.54 Examples
Vmls
Pure component liquid-phase molar volumes of the chemicals in the mixture at its current temperature and
pressure, in units of [mol/m^3].
1.1.1.21.55 Examples
Vms = None
Vmss
Pure component solid-phase molar volumes of the chemicals in the mixture at its current temperature, in
units of [mol/m^3].
1.1.1.21.56 Examples
Weber(V=None, D=None)
Z
Compressibility factor of the mixture at its current phase and temperature and pressure, [dimensionless].
Available only if single phase.
1.1.1.21.57 Examples
Zg
Compressibility factor of the mixture in the gas phase at the current temperature, pressure, and composi-
tion, [dimensionless].
Utilizes the object oriented interface and thermo.volume.VolumeGasMixture to perform the ac-
tual calculation of molar volume.
1.1.1.21.58 Examples
Zg_STP
Gas-phase compressibility factor of the mixture at 298.15 K and 101.325 kPa, and the current composition,
[dimensionless].
1.1.1.21.59 Examples
Zgs
Pure component compressibility factors of the chemicals in the mixture in the gas phase at the current
temperature and pressure, [dimensionless].
1.1.1.21.60 Examples
Zl
Compressibility factor of the mixture in the liquid phase at the current temperature, pressure, and compo-
sition, [dimensionless].
1.1.1.21.61 Examples
Zl_STP
Liquid-phase compressibility factor of the mixture at 298.15 K and 101.325 kPa, and the current compo-
sition, [dimensionless].
1.1.1.21.62 Examples
Zls
Pure component compressibility factors of the chemicals in the liquid phase at the current temperature and
pressure, [dimensionless].
1.1.1.21.63 Examples
Zss
Pure component compressibility factors of the chemicals in the mixture in the solid phase at the current
temperature and pressure, [dimensionless].
1.1.1.21.64 Examples
alpha
Thermal diffusivity of the mixture at its current temperature, pressure, and phase in units of [m^2/s].
Available only if single phase.
𝑘
𝛼=
𝜌𝐶𝑝
1.1.1.21.65 Examples
alphag
Thermal diffusivity of the gas phase of the mixture if one exists at its current temperature and pressure, in
units of [m^2/s].
𝑘
𝛼=
𝜌𝐶𝑝
1.1.1.21.66 Examples
alphags
Pure component thermal diffusivities of the chemicals in the mixture in the gas phase at the current tem-
perature and pressure, in units of [m^2/s].
𝑘
𝛼=
𝜌𝐶𝑝
1.1.1.21.67 Examples
alphal
Thermal diffusivity of the liquid phase of the mixture if one exists at its current temperature and pressure,
in units of [m^2/s].
𝑘
𝛼=
𝜌𝐶𝑝
1.1.1.21.68 Examples
alphals
Pure component thermal diffusivities of the chemicals in the mixture in the liquid phase at the current
temperature and pressure, in units of [m^2/s].
𝑘
𝛼=
𝜌𝐶𝑝
1.1.1.21.69 Examples
atom_fractions
Dictionary of atomic fractions for each atom in the mixture.
1.1.1.21.70 Examples
atom_fractionss
List of dictionaries of atomic fractions for all chemicals in the mixture.
1.1.1.21.71 Examples
atomss
List of dictionaries of atom counts for all chemicals in the mixture.
1.1.1.21.72 Examples
calculate(T=None, P=None)
calculate_PH(P, H)
calculate_PS(P, S)
calculate_TH(T, H)
calculate_TS(T, S)
charge_balance
Charge imbalance of the mixture, in units of [faraday]. Mixtures meeting the electroneutrality condition
will have an imbalance of 0.
1.1.1.21.73 Examples
charges
Charges for all chemicals in the mixture, [faraday].
1.1.1.21.74 Examples
[0, 1, -1]
conductivity = None
draw_2d(Hs=False)
Interface for drawing a 2D image of all the molecules in the mixture. Requires an HTML5 browser, and
the libraries RDKit and IPython. An exception is raised if either of these libraries is absent.
Parameters
Hs [bool] Whether or not to show hydrogen
1.1.1.21.75 Examples
Mixture([‘natural gas’]).draw_2d()
economic_statuses
List of dictionaries of the economic status for all chemicals in the mixture.
1.1.1.21.76 Examples
eos
Equation of state object held by the mixture. See : obj:thermo.eos_mix for a full listing.
eos_in_a_box = []
formulas
Chemical formulas for all chemicals in the mixture.
1.1.1.21.77 Examples
isentropic_exponent
Gas-phase ideal-gas isentropic exponent of the mixture at its current temperature, [dimensionless]. Does
not include pressure-compensation from an equation of state.
1.1.1.21.78 Examples
isentropic_exponents
Gas-phase pure component ideal-gas isentropic exponent of the chemicals in the mixture at its current
temperature, [dimensionless].
Does not include pressure-compensation from an equation of state.
1.1.1.21.79 Examples
isobaric_expansion
Isobaric (constant-pressure) expansion of the mixture at its current phase, temperature, and pressure in
units of [1/K]. Available only if single phase.
(︂ )︂
1 𝜕𝑉
𝛽=
𝑉 𝜕𝑇 𝑃
1.1.1.21.80 Examples
isobaric_expansion_g = None
isobaric_expansion_gs
Pure component isobaric (constant-pressure) expansions of the chemicals in the mixture in the gas phase
at its current temperature and pressure, in units of [1/K].
(︂ )︂
1 𝜕𝑉
𝛽=
𝑉 𝜕𝑇 𝑃
1.1.1.21.81 Examples
[0.0038091518363900499, 0.0043556759306508453]
isobaric_expansion_l = None
isobaric_expansion_ls
Pure component isobaric (constant-pressure) expansions of the chemicals in the mixture in the liquid phase
at its current temperature and pressure, in units of [1/K].
(︂ )︂
1 𝜕𝑉
𝛽=
𝑉 𝜕𝑇 𝑃
1.1.1.21.82 Examples
[0.0012736035771253886, 0.0011234157437069571]
k
Thermal conductivity of the mixture at its current phase, temperature, and pressure in units of [W/m/K].
Available only if single phase.
1.1.1.21.83 Examples
kg
Thermal conductivity of the mixture in the gas phase at its current temperature, pressure, and composition
in units of [Pa*s].
For calculation of this property at other temperatures and pressures, or specifying manually the method
used to calculate it, and more - see the object oriented interface thermo.thermal_conductivity.
ThermalConductivityGasMixture; each Mixture instance creates one to actually perform the
calculations.
1.1.1.21.84 Examples
kgs
Pure component thermal conductivies of the chemicals in the mixture in the gas phase at its current tem-
perature and pressure, in units of [W/m/K].
1.1.1.21.85 Examples
kl
Thermal conductivity of the mixture in the liquid phase at its current temperature, pressure, and composi-
tion in units of [Pa*s].
For calculation of this property at other temperatures and pressures, or specifying manually the method
used to calculate it, and more - see the object oriented interface thermo.thermal_conductivity.
ThermalConductivityLiquidMixture; each Mixture instance creates one to actually perform the
calculations.
1.1.1.21.86 Examples
kls
Pure component thermal conductivities of the chemicals in the mixture in the liquid phase at its current
temperature and pressure, in units of [W/m/K].
1.1.1.21.87 Examples
ks = None
legal_statuses
List of dictionaries of the legal status for all chemicals in the mixture.
1.1.1.21.88 Examples
mass_fractions
Dictionary of mass fractions for each atom in the mixture.
1.1.1.21.89 Examples
mass_fractionss
List of dictionaries of mass fractions for all chemicals in the mixture.
1.1.1.21.90 Examples
mu
Viscosity of the mixture at its current phase, temperature, and pressure in units of [Pa*s]. Available only
if single phase.
1.1.1.21.91 Examples
mug
Viscosity of the mixture in the gas phase at its current temperature, pressure, and composition in units of
[Pa*s].
For calculation of this property at other temperatures and pressures, or specifying manually the
method used to calculate it, and more - see the object oriented interface thermo.viscosity.
ViscosityGasMixture; each Mixture instance creates one to actually perform the calculations.
1.1.1.21.92 Examples
mugs
Pure component viscosities of the chemicals in the mixture in the gas phase at its current temperature and
pressure, in units of [Pa*s].
1.1.1.21.93 Examples
mul
Viscosity of the mixture in the liquid phase at its current temperature, pressure, and composition in units
of [Pa*s].
For calculation of this property at other temperatures and pressures, or specifying manually the
method used to calculate it, and more - see the object oriented interface thermo.viscosity.
ViscosityLiquidMixture; each Mixture instance creates one to actually perform the calculations.
1.1.1.21.94 Examples
muls
Pure component viscosities of the chemicals in the mixture in the liquid phase at its current temperature
and pressure, in units of [Pa*s].
1.1.1.21.95 Examples
nu
Kinematic viscosity of the the mixture at its current temperature, pressure, and phase in units of [m^2/s].
Available only if single phase.
𝜇
𝜈=
𝜌
1.1.1.21.96 Examples
nug
Kinematic viscosity of the gas phase of the mixture if one exists at its current temperature and pressure, in
units of [m^2/s].
𝜇
𝜈=
𝜌
1.1.1.21.97 Examples
nugs
Pure component kinematic viscosities of the gas phase of the chemicals in the mixture at its current tem-
perature and pressure, in units of [m^2/s].
𝜇
𝜈=
𝜌
1.1.1.21.98 Examples
nul
Kinematic viscosity of the liquid phase of the mixture if one exists at its current temperature and pressure,
in units of [m^2/s].
𝜇
𝜈=
𝜌
1.1.1.21.99 Examples
nuls
Pure component kinematic viscosities of the liquid phase of the chemicals in the mixture at its current
temperature and pressure, in units of [m^2/s].
𝜇
𝜈=
𝜌
1.1.1.21.100 Examples
permittivites
Pure component relative permittivities of the chemicals in the mixture at its current temperature, [dimen-
sionless].
1.1.1.21.101 Examples
phase = None
rho
Mass density of the mixture at its current phase and temperature and pressure, in units of [kg/m^3]. Avail-
able only if single phase.
1.1.1.21.102 Examples
rhog
Gas-phase mass density of the mixture at its current temperature, pressure, and composition in units of
[kg/m^3]. For calculation of this property at other temperatures, pressures, or compositions or specifying
manually the method used to calculate it, and more - see the object oriented interface thermo.volume.
VolumeGasMixture; each Mixture instance creates one to actually perform the calculations. Note that
that interface provides output in molar units.
1.1.1.21.103 Examples
rhog_STP
Gas-phase mass density of the mixture at 298.15 K and 101.325 kPa, and the current composition in units
of [kg/m^3].
1.1.1.21.104 Examples
rhogm
Molar density of the mixture in the gas phase at the current temperature, pressure, and composition in units
of [mol/m^3].
Utilizes the object oriented interface and thermo.volume.VolumeGasMixture to perform the ac-
tual calculation of molar volume.
1.1.1.21.105 Examples
rhogm_STP
Molar density of the mixture in the gas phase at 298.15 K and 101.325 kPa, and the current composition,
in units of [mol/m^3].
1.1.1.21.106 Examples
rhogms
Pure component molar densities of the chemicals in the gas phase at the current temperature and pressure,
in units of [mol/m^3].
1.1.1.21.107 Examples
rhogs
Pure-component gas-phase mass densities of the chemicals in the mixture at its current temperature and
pressure, in units of [kg/m^3].
1.1.1.21.108 Examples
rhol
Liquid-phase mass density of the mixture at its current temperature, pressure, and composition in units
of [kg/m^3]. For calculation of this property at other temperatures, pressures, compositions or specifying
manually the method used to calculate it, and more - see the object oriented interface thermo.volume.
VolumeLiquidMixture; each Mixture instance creates one to actually perform the calculations. Note
that that interface provides output in molar units.
1.1.1.21.109 Examples
rhol_STP
Liquid-phase mass density of the mixture at 298.15 K and 101.325 kPa, and the current composition in
units of [kg/m^3].
1.1.1.21.110 Examples
rholm
Molar density of the mixture in the liquid phase at the current temperature, pressure, and composition in
units of [mol/m^3].
Utilizes the object oriented interface and thermo.volume.VolumeLiquidMixture to perform the
actual calculation of molar volume.
1.1.1.21.111 Examples
rholm_STP
Molar density of the mixture in the liquid phase at 298.15 K and 101.325 kPa, and the current composition,
in units of [mol/m^3].
1.1.1.21.112 Examples
rholms
Pure component molar densities of the chemicals in the mixture in the liquid phase at the current temper-
ature and pressure, in units of [mol/m^3].
1.1.1.21.113 Examples
rhols
Pure-component liquid-phase mass density of the chemicals in the mixture at its current temperature and
pressure, in units of [kg/m^3].
1.1.1.21.114 Examples
rhom
Molar density of the mixture at its current phase and temperature and pressure, in units of [mol/m^3].
Available only if single phase.
1.1.1.21.115 Examples
rhos = None
rhosms
Pure component molar densities of the chemicals in the solid phase at the current temperature and pressure,
in units of [mol/m^3].
1.1.1.21.116 Examples
rhoss
Pure component solid-phase mass density of the chemicals in the mixture at its current temperature, in
units of [kg/m^3].
1.1.1.21.117 Examples
ringss
List of ring counts for all chemicals in the mixture.
1.1.1.21.118 Examples
set_Chemical_property_objects()
set_TP(T=None, P=None)
set_TP_sources()
set_chemical_TP()
set_chemical_constants()
set_constant_sources()
set_constants()
set_eos(T, P, eos=<class ’thermo.eos_mix.PRMIX’>)
set_phase()
sigma
Surface tension of the mixture at its current temperature and composition, in units of [N/m].
For calculation of this property at other temperatures, or specifying manually the method used to calculate
it, and more - see the object oriented interface thermo.interface.SurfaceTensionMixture;
each Mixture instance creates one to actually perform the calculations.
1.1.1.21.119 Examples
sigmas
Pure component surface tensions of the chemicals in the mixture at its current temperature, in units of
[N/m].
1.1.1.21.120 Examples
similarity_variables
Similarity variables for all chemicals in the mixture, see thermo.elements.
similarity_variable for the definition, [mol/g]
1.1.1.21.121 Examples
smiless
SMILES strings for all chemicals in the mixture.
1.1.1.21.122 Examples
solubility_parameters
Pure component solubility parameters of the chemicals in the mixture at its current temperature and pres-
sure, in units of [Pa^0.5].
√︂
∆𝐻𝑣𝑎𝑝 − 𝑅𝑇
𝛿=
𝑉𝑚
1.1.1.21.123 Examples
synonymss
Lists of synonyms for all chemicals in the mixture.
1.1.1.21.124 Examples
xs = None
ys = None
thermo.permittivity.permittivity_IAPWS(T, rho)
Calculate the relative permittivity of pure water as a function of. temperature and density. Assumes the 1997
IAPWS [1] formulation.
Parameters
T [float] Temperature of water [K]
rho [float] Mass density of water at T and P [kg/m^3]
Returns
epsilon [float] Relative permittivity of water at T and rho, [-]
1.1.1.22.1 Notes
Validity:
273.15 < T < 323.15 K for 0 < P < iceVI melting pressure at T or 1000 MPa, whichever is smaller.
323.15 < T < 873.15 K 0 < p < 600 MPa.
Coefficients:
ih = [1, 1, 1, 2, 3, 3, 4, 5, 6, 7, 10]; jh = [0.25, 1, 2.5, 1.5, 1.5, 2.5, 2, 2, 5, 0.5, 10]; Nh = [0.978224486826,
-0.957771379375, 0.237511794148, 0.714692244396,
-0.298217036956, -0.108863472196, 0.949327488264E-1, -.980469816509E-2, 0.165167634970E-
4, 0.937359795772E-4, -0.12317921872E-9];
polarizability = 1.636E-40 dipole = 6.138E-30
1.1.1.22.2 References
[1]
1.1.1.22.3 Examples
class thermo.permittivity.Permittivity(CASRN=”)
Bases: thermo.utils.TDependentProperty
Class for dealing with liquid permittivity as a function of temperature. Consists of one temperature-dependent
simple expression and one constant value source.
Parameters
CASRN [str, optional] The CAS number of the chemical
1.1.1.22.4 Notes
𝜖𝑟 = 𝐴 + 𝐵𝑇 + 𝐶𝑇 2 + 𝐷𝑇 3
Not all chemicals use all terms; in fact, few do. Data is available for 759 liquids, from [1].
CRC_CONSTANT: Constant permittivity values at specified temperatures only. Data is from [1], and is
available for 1303 liquids.
1.1.1.22.5 References
[1]
Attributes
T_cached
interpolation_T
interpolation_property
interpolation_property_inv
method
1.1.1.22.6 Methods
extrapolate_tabular
Tmax = None
Maximum temperature at which no method can calculate the permittivity above.
Tmin = None
Minimum temperature at which no method can calculate the permittivity under.
all_methods = None
Set of all methods available for a given CASRN and properties; filled by load_all_methods.
calculate(T, method)
Method to calculate permittivity of a liquid at temperature T with a given method.
This method has no exception handling; see T_dependent_property for that.
Parameters
1.1.1.23.1 Notes
A total of four methods are available for this function. They are:
• ‘CRC_ORG’, a compillation of data on organics as published in [1].
• ‘CRC_INORG’, a compillation of data on inorganic as published in [1].
• ‘YAWS’, a large compillation of data from a variety of sources; no data points are sourced in the work of
[2].
• ‘PSAT_DEFINITION’, calculation of boiling point from a vapor pressure calculation. This is normally
off by a fraction of a degree even in the best cases. Listed in IgnoreMethods by default for performance
reasons.
1.1.1.23.2 References
[1], [2]
1.1.1.23.3 Examples
>>> Tb('7732-18-5')
373.124
1.1.1.23.4 Notes
A total of three sources are available for this function. They are:
• ‘OPEN_NTBKM, a compillation of data on organics as published in [1] as Open Notebook Melting Points;
Averaged (median) values were used when multiple points were available. For more information on this
invaluable and excellent collection, see http://onswebservices.wikispaces.com/meltingpoint.
• ‘CRC_ORG’, a compillation of data on organics as published in [2].
• ‘CRC_INORG’, a compillation of data on inorganic as published in [2].
1.1.1.23.5 References
[1], [2]
1.1.1.23.6 Examples
>>> Tm(CASRN='7732-18-5')
273.15
1.1.1.23.7 Notes
No original source is available for this equation. [1] claims this equation overpredicts enthalpy by several
percent. Under Tr = 0.8, dZ = 1 is a reasonable assumption. This equation is most accurate at the normal boiling
point.
Internal units are bar.
WARNING: I believe it possible that the adjustment for pressure may be incorrect
1.1.1.23.8 References
[1]
1.1.1.23.9 Examples
Parameters
T [float] Temperature of fluid [K]
Tc [float] Critical temperature of fluid [K]
omega [float] Acentric factor [-]
Returns
Hvap [float] Enthalpy of vaporization, [J/mol]
1.1.1.23.10 Notes
This equation is listed in [3], page 2-487 as method #2 for estimating Hvap. This cites [2].
The recommended range is 0.6 to 1 Tr. Users should expect up to 5% error. T must be under Tc, or an exception
is raised.
The original article has been reviewed and found to have a set of tabulated values which could be used instead
of the fit function to provide additional accuracy.
1.1.1.23.11 References
1.1.1.23.12 Examples
Parameters
T [float] Temperature of fluid [K]
Tc [float] Critical temperature of fluid [K]
omega [float] Acentric factor [-]
Returns
1.1.1.23.13 Notes
The original article has been reviewed and found to have coefficients with slightly more precision. Additionally,
the form of the equation is slightly different, but numerically equivalent.
The refence fluids are:
𝜔0 = benzene = 0.212
𝜔1 = carbazole = 0.461
A sample problem in the article has been verified. The numerical result presented by the author requires high
numerical accuracy to obtain.
1.1.1.23.14 References
[1]
1.1.1.23.15 Examples
Problem in [1]:
>>> SMK(553.15, 751.35, 0.302)
39866.17647797959
(𝑖)
∆𝐻𝑣𝑎𝑝 (𝑗) (𝑗) (𝑗) (𝑗) (𝑗)
= 𝑏(𝑗) 𝜏 1/3 + 𝑏2 𝜏 5/6 + 𝑏3 𝜏 1.2083 + 𝑏4 𝜏 + 𝑏5 𝜏 2 + 𝑏6 𝜏 3
𝑅𝑇𝑐
𝜏 = 1 − 𝑇 /𝑇𝑐
Parameters
T [float] Temperature of fluid [K]
Tc [float] Critical temperature of fluid [K]
omega [float] Acentric factor [-]
Returns
Hvap [float] Enthalpy of vaporization, [J/mol]
1.1.1.23.16 Notes
The original article has been reviewed. A total of 18 coefficients are used:
WARNING: The correlation has been implemented as described in the article, but its results seem different and
with some error. Its results match with other functions however.
1.1.1.23.17 References
[1]
1.1.1.23.18 Examples
Parameters
T [float] Temperature of fluid [K]
Tc [float] Critical temperature of fluid [K]
omega [float] Acentric factor [-]
Returns
Hvap [float] Enthalpy of vaporization, [J/mol]
1.1.1.23.19 Notes
The original article has been reviewed. It is regressed from enthalpy of vaporization values at 0.7Tr, from 121
fluids in REFPROP 9.1. A value in the article was read to be similar, but slightly too low from that calculated
here.
1.1.1.23.20 References
[1]
1.1.1.23.21 Examples
1.1.1.23.22 Notes
This equation has no example calculation in any source. The source has not been verified. It is equation 4-144
in Perry’s. Perry’s also claims that errors seldom surpass 5%.
[2] is the source of example work here, showing a calculation at 0.0% error.
Internal units of pressure are bar.
1.1.1.23.23 References
1.1.1.23.24 Examples
Pyridine, 0.0% err vs. exp: 35090 J/mol; from Poling [2].
>>> Riedel(388.4, 620.0, 56.3E5)
35089.78989646058
1.1.1.23.25 Notes
The formulation presented in the original article is similar, but uses units of atm and calorie instead. The form
in [2] has adjusted for this. A method for estimating enthalpy of vaporization at other conditions has also been
developed, but the article is unclear on its implementation. Based on the Pitzer correlation.
Internal units: bar and K
1.1.1.23.26 References
[1], [2]
1.1.1.23.27 Examples
Parameters
Tb [float] Boiling temperature of the fluid [K]
Tc [float] Critical temperature of fluid [K]
Pc [float] Critical pressure of fluid [Pa]
Returns
Hvap [float] Enthalpy of vaporization, [J/mol]
1.1.1.23.28 Notes
This formulation can be adjusted for lower boiling points, due to the use of a rationalized pressure relationship.
The formulation is taken from the original article.
A correction for alcohols and organic acids based on carbon number, which only modifies the boiling point, is
available but not implemented.
No sample calculations are available in the article.
Internal units: Pa and K
1.1.1.23.29 References
[1]
1.1.1.23.30 Examples
Parameters
Tb [float] Boiling temperature of fluid [K]
Tc [float] Critical temperature of fluid [K]
Pc [float] Critical pressure of fluid [Pa]
F [float, optional] Constant for a fluid, [-]
Returns
Hvap [float] Enthalpy of vaporization at the boiling point, [J/mol]
1.1.1.23.31 Notes
The equation cannot be found in the original source. It is believed that a second article is its source, or that
DIPPR staff have altered the formulation.
Internal units of pressure are bar.
1.1.1.23.32 References
[1], [2]
1.1.1.23.33 Examples
1.1.1.23.34 Notes
CRC_HVAP_298: The constant value available in [4] at 298.15 K. This is adusted with the Watson equation
unless Tc is not available. Data is available for 633 chemicals.
GHARAGHEIZI_HVAP_298: The constant value available in [5] at 298.15 K. This is adusted with the
Watson equation unless Tc is not available. Data is available for 2730 chemicals.
COOLPROP: CoolProp external library; with select fluids from its library. Range is limited to that of the
equations of state it uses, as described in [3]. Very slow but accurate.
VDI_TABULAR: Tabular data in [4] along the saturation curve; interpolation is as set by the user or the
default.
VDI_PPDS: Coefficients for a equation form developed by the PPDS, published openly in [3]. Extrapolates
poorly at low temperatures.
DIPPR_PERRY_8E: A collection of 344 coefficient sets from the DIPPR database published openly in [6].
Provides temperature limits for all its fluids. thermo.dippr.EQ106 is used for its fluids.
ALIBAKHSHI: One-constant limited temperature range regression method presented in [7], with constants
for ~2000 chemicals from the DIPPR database. Valid up to 100 K below the critical point, and 50 K under
the boiling point.
1.1.1.23.35 References
1.1.1.23.36 Methods
extrapolate_tabular
interpolation_property = None
No interpolation transformation by default.
interpolation_property_inv = None
No interpolation transformation by default.
load_all_methods()
Method which picks out coefficients for the specified chemical from the various dictionaries and
DataFrames storing it. All data is stored as attributes. This method also sets Tmin, Tmax, and
all_methods as a set of methods for which the data exists for.
Called on initialization only. See the source code for the variables at which the coefficients are stored. The
coefficients can safely be altered once the class is initialized. This method can be called again to reset the
parameters.
name = 'Enthalpy of vaporization'
property_max = 1000000.0
Maximum valid of heat of vaporization. Set to twice the value in the available data.
property_min = 0
Mimimum valid value of heat of vaporization. This occurs at the critical point exactly.
ranked_methods = ['COOLPROP', 'DIPPR_PERRY_8E', 'VDI_PPDS', 'MORGAN_KOBAYASHI', 'SIVARA
Default rankings of the available methods.
sorted_valid_methods = None
sorted_valid_methods, list: Stored methods which were found valid at a specific temperature; set by
T_dependent_property.
tabular_data = None
tabular_data, dict: Stored (Ts, properties) for any tabular data; indexed by provided or autogenerated name.
tabular_data_interpolators = None
tabular_data_interpolators, dict: Stored (extrapolator, spline) tuples which are interp1d instances for
each set of tabular data; indexed by tuple of (name, interpolation_T, interpolation_property, interpola-
tion_property_inv) to ensure that if an interpolation transform is altered, the old interpolator which had
been created is no longer used.
tabular_extrapolation_permitted = True
Allow tabular extrapolation by default; values below 0 will be obtained at high temperatures.
test_method_validity(T, method)
Method to check the validity of a method. For CSP methods, the models are considered valid
from 0 K to the critical point. For tabular data, extrapolation outside of the range is used if
tabular_extrapolation_permitted is set; if it is, the extrapolation is considered valid for all
temperatures.
It is not guaranteed that a method will work or give an accurate prediction simply because this method
considers the method valid.
The constant methods CRC_HVAP_TB, CRC_HVAP_298, and GHARAGHEIZI_HVAP are adjusted
for temperature dependence according to the Watson equation, with a temperature exponent as set in
Watson_exponent, usually regarded as 0.38. However, if Tc is not set, then the adjustment cannot be
made. In that case the methods are considered valid for within 5 K of their boiling point or 298.15 K as
appropriate.
Parameters
T [float] Temperature at which to test the method, [K]
method [str] Name of the method to test
Returns
validity [bool] Whether or not a method is valid
units = 'J/mol'
user_methods = None
user_methods, list: Stored methods which were specified by the user in a ranked order of preference; set
by T_dependent_property.
thermo.phase_change.Hfus(T=298.15, P=101325, MW=None, AvailableMethods=False,
Method=None, CASRN=”)
This function handles the calculation of a chemical’s enthalpy of fusion. Generally this, is used by the chemical
class, as all parameters are passed. Calling the function directly works okay.
Enthalpy of fusion is a weak function of pressure, and its effects are neglected.
This API is considered experimental, and is expected to be removed in a future release in favor of a more
complete object-oriented interface.
thermo.phase_change.Hsub(T=298.15, P=101325, MW=None, AvailableMethods=False,
Method=None, CASRN=”)
This function handles the calculation of a chemical’s enthalpy of sublimation. Generally this, is used by the
chemical class, as all parameters are passed.
This API is considered experimental, and is expected to be removed in a future release in favor of a more
complete object-oriented interface.
thermo.phase_change.Tliquidus(Tms=None, ws=None, xs=None, CASRNs=None, AvailableMeth-
ods=False, Method=None)
This function handles the retrival of a mixtures’s liquidus point.
This API is considered experimental, and is expected to be removed in a future release in favor of a more
complete object-oriented interface.
Method [string, optional] A string for the method name to use, as defined by constants in
Hf_methods
AvailableMethods [bool, optional] If True, function will determine which methods can be used
to obtain Hf for the desired chemical, and will return methods instead of Hf
1.1.1.24.1 Notes
1.1.1.24.2 References
[1]
1.1.1.24.3 Examples
>>> Hf(CASRN='7732-18-5')
-241820.0
1.1.1.24.4 Notes
1.1.1.24.5 References
[1]
1.1.1.24.6 Examples
>>> Hf_l('67-56-1')
-238400.0
1.1.1.24.7 Notes
Sources are:
• ‘ATCT_G’, the Active Thermochemical Tables version 1.112.
• ‘TRC’, from a 1994 compilation.
1.1.1.24.8 References
[1], [2]
1.1.1.24.9 Examples
>>> Hf_g('67-56-1')
-200700.0
1.1.1.25.1 Notes
1.1.1.25.2 References
[1]
1.1.1.25.3 Examples
>>> refractive_index(CASRN='64-17-5')
(1.3611, 293.15)
thermo.refractivity.polarizability_from_RI(RI, Vm)
Returns the polarizability of a fluid given its molar volume and refractive index.
(︂ )︂ (︂ 2 )︂
3 𝑛 −1
𝛼= 𝑉𝑚
4𝜋𝑁𝐴 𝑛2 + 2
Parameters
RI [float] Refractive Index on Na D line, [-]
1.1.1.25.4 Notes
This Lorentz-Lorentz-expression is most correct when van der Waals interactions dominate. Alternate conver-
sions have been suggested. This is often expressed in units of cm^3 or Angstrom^3. To convert to these units,
multiply by 1E9 or 1E30 respectively.
1.1.1.25.5 References
[1]
1.1.1.25.6 Examples
thermo.refractivity.molar_refractivity_from_RI(RI, Vm)
Returns the molar refractivity of a fluid given its molar volume and refractive index.
(︂ 2 )︂
𝑛 −1
𝑅𝑚 = 𝑉𝑚
𝑛2 + 2
Parameters
RI [float] Refractive Index on Na D line, [-]
Vm [float] Molar volume of fluid, [m^3/mol]
Returns
Rm [float] Molar refractivity [m^3/mol]
1.1.1.25.7 References
[1]
1.1.1.25.8 Examples
thermo.refractivity.RI_from_molar_refractivity(Rm, Vm)
Returns the refractive index of a fluid given its molar volume and molar refractivity.
√︂
−2𝑅𝑚 − 𝑉𝑚
𝑅𝐼 =
𝑅𝑚 − 𝑉𝑚
Parameters
1.1.1.25.9 References
[1]
1.1.1.25.10 Examples
1.1.1.26.1 Notes
The term P/(RT)/1000 converts to 0.040874 at STP. Its inverse is reported as 24.45 in [1].
1.1.1.26.2 References
[1]
1.1.1.26.3 Examples
1.1.1.26.4 Notes
The term P/(RT)/1000 converts to 0.040874 at STP. Its inverse is reported as 24.45 in [1].
1.1.1.26.5 References
[1]
1.1.1.26.6 Examples
>>> STEL('55720-99-5')
(2.0, 'mg/m^3')
>>> STEL('86290-81-5', AvailableMethods=True)
['Ontario Limits', 'None']
>>> Ceiling('75-07-0')
(25.0, 'ppm')
>>> Ceiling('1395-21-7')
(6e-05, 'mg/m^3')
>>> Ceiling('7572-29-4', AvailableMethods=True)
['Ontario Limits', 'None']
>>> Skin('108-94-1')
True
>>> Skin('1395-21-7')
False
>>> Skin('7572-29-4', AvailableMethods=True)
['Ontario Limits', 'None']
1.1.1.26.7 Notes
• IARC: International Agency for Research on Cancer, [1]. As extracted with a last update of February 22,
2016. Has listing information of 843 chemicals with CAS numbers. Chemicals without CAS numbers not
included here. If two listings for the same CAS were available, that closest to the CAS number was used.
If two listings were available published at different times, the latest value was used. All else equal, the
most pessimistic value was used.
• NTP: National Toxicology Program, [2]. Has data on 226 chemicals.
1.1.1.26.8 References
[1], [2]
1.1.1.26.9 Examples
>>> Carcinogen('61-82-5')
{'National Toxicology Program 13th Report on Carcinogens': 'Reasonably Anticipated
˓→', 'International Agency for Research on Cancer': 'Not classifiable as to its
1.1.1.26.10 Notes
The predicted values from the DIPPR databank are also available in the supporting material in [3], but are not
included.
1.1.1.26.11 References
1.1.1.26.12 Examples
>>> Tflash(CASRN='64-17-5')
285.15
1.1.1.26.13 References
[1], [2]
1.1.1.26.14 Examples
>>> Tautoignition(CASRN='71-43-2')
771.15
Returns
LFL [float] Lower flammability limit of the gas in an atmosphere at STP, [mole fraction]
methods [list, only returned if AvailableMethods == True] List of methods which can be used
to obtain LFL with the given inputs
Other Parameters
Method [string, optional] A string for the method name to use, as defined by constants in
LFL_methods
AvailableMethods [bool, optional] If True, function will determine which methods can be used
to obtain the Lower Flammability Limit for the desired chemical, and will return methods
instead of Lower Flammability Limit.
1.1.1.26.15 References
[1], [2]
1.1.1.26.16 Examples
>>> LFL(CASRN='71-43-2')
0.012
1.1.1.26.17 References
[1], [2]
1.1.1.26.18 Examples
>>> UFL(CASRN='71-43-2')
0.086
thermo.safety.fire_mixing(ys=None, FLs=None)
Crowl, Daniel A., and Joseph F. Louvar. Chemical Process Safety: Fundamentals with Applications. 2E. Upper
Saddle River, N.J: Prentice Hall, 2001.
˓→ 0.05, 0.05, 0.05, 0.05, 0.05, 0.05, 0.05, 0.10, 0.05, 0.05, 0.05, 0.05, 0.05,
0.023964903630937385
˓→ 0.05, 0.05, 0.05, 0.05, 0.05, 0.05, 0.10, 0.05, 0.05, 0.05, 0.05, 0.05, 0.05,
0.14550641757359664
thermo.safety.Suzuki_LFL(Hc=None)
Calculates lower flammability limit, using the Suzuki [1] correlation. Uses heat of combustion only.
1.1.1.26.19 Notes
Fit performed with 112 compounds, r^2 was 0.977. LFL in percent volume in air. Hc is at standard conditions,
in MJ/mol. 11 compounds left out as they were outliers. Equation does not apply for molecules with halogen
atoms, only hydrocarbons with oxygen or nitrogen or sulfur. No sample calculation provided with the article.
However, the equation is straightforward.
Limits of equations’s validity are -6135596 J where it predicts a LFL of 0, and -48322129 J where it predicts a
LFL of 1.
1.1.1.26.20 References
[1]
1.1.1.26.21 Examples
thermo.safety.Suzuki_UFL(Hc=None)
Calculates upper flammability limit, using the Suzuki [1] correlation. Uses heat of combustion only.
The upper flammability limit of a gas is air is:
Parameters
Hc [float] Heat of combustion of gas [J/mol]
Returns
UFL [float] Upper flammability limit, mole fraction
1.1.1.26.22 Notes
UFL in percent volume in air according to original equation. Hc is at standard conditions in the equation, in
units of MJ/mol. AAPD = 1.2% for 95 compounds used in fit. Somewhat better results than the High and
Danner method. 4.9% < UFL < 23.0% -890.3 kJ/mol < dHc < -6380 kJ/mol r^2 = 0.989 Sample calculations
provided for all chemicals, both this method and High and Danner. Examples are from the article.
Predicts a UFL of 1 at 7320190 J and a UFL of 0 at -5554160 J.
1.1.1.26.23 References
[1]
1.1.1.26.24 Examples
thermo.safety.Crowl_Louvar_LFL(atoms)
Calculates lower flammability limit, using the Crowl-Louvar [1] correlation. Uses molecular formula only.
The lower flammability limit of a gas is air is:
𝑥
𝐶𝑚 𝐻𝑥 𝑂𝑦 + 𝑧𝑂2 → 𝑚𝐶𝑂2 + 𝐻2 𝑂
2
0.55
LFL =
4.76𝑚 + 1.19𝑥 − 2.38𝑦 + 1
Parameters
atoms [dict] Dictionary of atoms and atom counts
Returns
LFL [float] Lower flammability limit, mole fraction
1.1.1.26.25 Notes
1.1.1.26.26 References
[1], [2]
1.1.1.26.27 Examples
thermo.safety.Crowl_Louvar_UFL(atoms)
Calculates upper flammability limit, using the Crowl-Louvar [1] correlation. Uses molecular formula only.
The upper flammability limit of a gas is air is:
𝑥
𝐶𝑚 𝐻𝑥 𝑂𝑦 + 𝑧𝑂2 → 𝑚𝐶𝑂2 + 𝐻2 𝑂
2
3.5
UFL =
4.76𝑚 + 1.19𝑥 − 2.38𝑦 + 1
Parameters
1.1.1.26.28 Notes
1.1.1.26.29 References
[1], [2]
1.1.1.26.30 Examples
AvailableMethods [bool, optional] If True, function will determine which methods can be used
to obtain the solubility parameter for the desired chemical, and will return methods instead
of the solubility parameter
1.1.1.27.1 Notes
Undefined past the critical point. For convenience, if Hvap is not defined, an error is not raised; None is returned
instead. Also for convenience, if Hvapm is less than RT, None is returned to avoid taking the root of a negative
number.
This parameter is often given in units of cal/ml, which is 2045.48 times smaller than the value returned here.
1.1.1.27.2 References
[1]
1.1.1.27.3 Examples
Pentane at STP
>>> solubility_parameter(T=298.2, Hvapm=26403.3, Vml=0.000116055)
14357.681538173534
1.1.1.27.4 Notes
1.1.1.27.5 References
[1]
1.1.1.27.6 Examples
1.1.1.27.7 Notes
1.1.1.27.8 References
[1]
1.1.1.27.9 Examples
Streams have five variables. The flow rate, composition, and components are mandatory; temperature and
pressure have defaults of 298.15 K and 101325 Pa.
• The components
• The composition
• The flow rate
• The temperature
• The pressure
The composition and flow rate may be specified together or separately. The options for specifying them are:
• Mole fractions zs
• Mass fractions ws
• Liquid standard volume fractions Vfls
• Gas standard volume fractions Vfgs
• Mole flow rates ns
• Mass flow rates ms
• Liquid flow rates Qls (based on pure component volumes at the T and P specified by V_TP)
• Gas flow rates Qgs (based on pure component volumes at the T and P specified by V_TP)
If only the composition is specified by providing any of zs, ws, Vfls or Vfgs, the flow rate must be specified by
providing one of these:
• Mole flow rate n
• Mass flow rate m
• Volumetric flow rate Q at the provided T and P
Parameters
IDs [list] List of chemical identifiers - names, CAS numbers, SMILES or InChi strings can all
be recognized and may be mixed [-]
zs [list, optional] Mole fractions of all components in the stream [-]
ws [list, optional] Mass fractions of all components in the stream [-]
Vfls [list, optional] Volume fractions of all components as a hypothetical liquid phase based on
pure component densities [-]
Vfgs [list, optional] Volume fractions of all components as a hypothetical gas phase based on
pure component densities [-]
ns [list, optional] Mole flow rates of each component [mol/s]
ms [list, optional] Mass flow rates of each component [kg/s]
Qls [list, optional] Liquid flow rates of all components as a hypothetical liquid phase based on
pure component densities [m^3/s]
Qgs [list, optional] Gas flow rates of all components as a hypothetical gas phase based on pure
component densities [m^3/s]
n [float, optional] Total mole flow rate of all components in the stream [mol/s]
m [float, optional] Total mass flow rate of all components in the stream [kg/s]
Q [float, optional] Total volumetric flow rate of all components in the stream based on the
temperature and pressure specified by T and P [m^3/s]
T [float, optional] Temperature of the chemical (default 298.15 K), [K]
P [float, optional] Pressure of the chemical (default 101325 Pa) [Pa]
Vf_TP [tuple(2, float), optional] The (T, P) at which the volume fractions are specified to be at,
[K] and [Pa]
1.1.1.28.1 Examples
Instead of specifying the composition and flow rate separately, they can be specified as a list of flow rates in the
appropriate units.
80 kg/s of furfuryl alcohol/water solution:
>>> Stream(['furfuryl alcohol', 'water'], ms=[50, 30])
<Stream, components=['furfuryl alcohol', 'water'], mole fractions=[0.2343, 0.
˓→7657], mole flow=2174.93735951 mol/s, T=298.15 K, P=101325 Pa>
˓→Pa>
Attributes
API API gravity of the hypothetical liquid phase of the mixture, [degrees].
Bvirial Second virial coefficient of the gas phase of the mixture at its current temperature,
pressure, and composition in units of [mol/m^3].
Cp Mass heat capacity of the mixture at its current phase and temperature, in units of [J/kg/K].
Cpg Gas-phase heat capacity of the mixture at its current temperature , and composition in units
of [J/kg/K].
Cpgm Gas-phase heat capacity of the mixture at its current temperature and composition, in
units of [J/mol/K].
Cpgms Gas-phase ideal gas heat capacity of the chemicals at its current temperature, in units
of [J/mol/K].
Cpgs Gas-phase pure component heat capacity of the chemicals in the mixture at its current
temperature, in units of [J/kg/K].
Cpl Liquid-phase heat capacity of the mixture at its current temperature and composition, in
units of [J/kg/K].
Cplm Liquid-phase heat capacity of the mixture at its current temperature and composition, in
units of [J/mol/K].
Cplms Liquid-phase pure component heat capacity of the chemicals in the mixture at its current
temperature, in units of [J/mol/K].
Cpls Liquid-phase pure component heat capacity of the chemicals in the mixture at its current
temperature, in units of [J/kg/K].
Cpm Molar heat capacity of the mixture at its current phase and temperature, in units of
[J/mol/K].
Cps Solid-phase heat capacity of the mixture at its current temperature and composition, in
units of [J/kg/K].
Cpsm Solid-phase heat capacity of the mixture at its current temperature and composition, in
units of [J/mol/K].
Cpsms Solid-phase pure component heat capacity of the chemicals in the mixture at its current
temperature, in units of [J/mol/K].
Cpss Solid-phase pure component heat capacity of the chemicals in the mixture at its current
temperature, in units of [J/kg/K].
Cvg Gas-phase ideal-gas contant-volume heat capacity of the mixture at its current temperature,
in units of [J/kg/K].
Cvgm Gas-phase ideal-gas contant-volume heat capacity of the mixture at its current tempera-
ture and composition, in units of [J/mol/K].
Cvgms Gas-phase pure component ideal-gas contant-volume heat capacities of the chemicals
in the mixture at its current temperature, in units of [J/mol/K].
Cvgs Gas-phase pure component ideal-gas contant-volume heat capacities of the chemicals in
the mixture at its current temperature, in units of [J/kg/K].
H
Hm
Hvapms Pure component enthalpies of vaporization of the chemicals in the mixture at its cur-
rent temperature, in units of [J/mol].
Hvaps Enthalpy of vaporization of the chemicals in the mixture at its current temperature, in
units of [J/kg].
IUPAC_names IUPAC names for all chemicals in the mixture.
InChI_Keys InChI keys for all chemicals in the mixture.
InChIs InChI strings for all chemicals in the mixture.
JT Joule Thomson coefficient of the mixture at its current phase, temperature, and pressure in
units of [K/Pa].
JTg Joule Thomson coefficient of the gas phase of the mixture if one exists at its current tem-
perature and pressure, in units of [K/Pa].
JTgs Pure component Joule Thomson coefficients of the chemicals in the mixture in the gas
phase at its current temperature and pressure, in units of [K/Pa].
JTl Joule Thomson coefficient of the liquid phase of the mixture if one exists at its current
temperature and pressure, in units of [K/Pa].
JTls Pure component Joule Thomson coefficients of the chemicals in the mixture in the liquid
phase at its current temperature and pressure, in units of [K/Pa].
PSRK_groups List of dictionaries of PSRK subgroup: count groups for each chemical in the
mixture.
Pr Prandtl number of the mixture at its current temperature, pressure, and phase; [dimension-
less].
Prg Prandtl number of the gas phase of the mixture if one exists at its current temperature and
pressure, [dimensionless].
Prgs Pure component Prandtl numbers of the gas phase of the chemicals in the mixture at its
current temperature and pressure, [dimensionless].
Prl Prandtl number of the liquid phase of the mixture if one exists at its current temperature
and pressure, [dimensionless].
Prls Pure component Prandtl numbers of the liquid phase of the chemicals in the mixture at
its current temperature and pressure, [dimensionless].
Psats Pure component vapor pressures of the chemicals in the mixture at its current tempera-
ture, in units of [Pa].
PubChems PubChem Component ID numbers for all chemicals in the mixture.
R_specific Specific gas constant of the mixture, in units of [J/kg/K].
SG Specific gravity of the mixture, [dimensionless].
alpha Thermal diffusivity of the mixture at its current temperature, pressure, and phase in
units of [m^2/s].
alphag Thermal diffusivity of the gas phase of the mixture if one exists at its current temper-
ature and pressure, in units of [m^2/s].
alphags Pure component thermal diffusivities of the chemicals in the mixture in the gas phase
at the current temperature and pressure, in units of [m^2/s].
alphal Thermal diffusivity of the liquid phase of the mixture if one exists at its current tem-
perature and pressure, in units of [m^2/s].
alphals Pure component thermal diffusivities of the chemicals in the mixture in the liquid
phase at the current temperature and pressure, in units of [m^2/s].
atom_fractions Dictionary of atomic fractions for each atom in the mixture.
atom_fractionss List of dictionaries of atomic fractions for all chemicals in the mixture.
atomss List of dictionaries of atom counts for all chemicals in the mixture.
charge_balance Charge imbalance of the mixture, in units of [faraday].
charges Charges for all chemicals in the mixture, [faraday].
conductivity
economic_statuses List of dictionaries of the economic status for all chemicals in the
mixture.
eos Equation of state object held by the mixture.
formulas Chemical formulas for all chemicals in the mixture.
isentropic_exponent Gas-phase ideal-gas isentropic exponent of the mixture at its cur-
rent temperature, [dimensionless].
isentropic_exponents Gas-phase pure component ideal-gas isentropic exponent of the
chemicals in the mixture at its current temperature, [dimensionless].
isobaric_expansion Isobaric (constant-pressure) expansion of the mixture at its current
phase, temperature, and pressure in units of [1/K].
isobaric_expansion_g
isobaric_expansion_gs Pure component isobaric (constant-pressure) expansions of the
chemicals in the mixture in the gas phase at its current temperature and pressure, in units of
[1/K].
isobaric_expansion_l
isobaric_expansion_ls Pure component isobaric (constant-pressure) expansions of the
chemicals in the mixture in the liquid phase at its current temperature and pressure, in units
of [1/K].
k Thermal conductivity of the mixture at its current phase, temperature, and pressure in units of
[W/m/K].
kg Thermal conductivity of the mixture in the gas phase at its current temperature, pressure,
and composition in units of [Pa*s].
kgs Pure component thermal conductivies of the chemicals in the mixture in the gas phase at
its current temperature and pressure, in units of [W/m/K].
kl Thermal conductivity of the mixture in the liquid phase at its current temperature, pressure,
and composition in units of [Pa*s].
kls Pure component thermal conductivities of the chemicals in the mixture in the liquid phase
at its current temperature and pressure, in units of [W/m/K].
ks
legal_statuses List of dictionaries of the legal status for all chemicals in the mixture.
mass_fractions Dictionary of mass fractions for each atom in the mixture.
mass_fractionss List of dictionaries of mass fractions for all chemicals in the mixture.
mu Viscosity of the mixture at its current phase, temperature, and pressure in units of [Pa*s].
mug Viscosity of the mixture in the gas phase at its current temperature, pressure, and compo-
sition in units of [Pa*s].
mugs Pure component viscosities of the chemicals in the mixture in the gas phase at its current
temperature and pressure, in units of [Pa*s].
mul Viscosity of the mixture in the liquid phase at its current temperature, pressure, and com-
position in units of [Pa*s].
muls Pure component viscosities of the chemicals in the mixture in the liquid phase at its
current temperature and pressure, in units of [Pa*s].
nu Kinematic viscosity of the the mixture at its current temperature, pressure, and phase in
units of [m^2/s].
nug Kinematic viscosity of the gas phase of the mixture if one exists at its current temperature
and pressure, in units of [m^2/s].
nugs Pure component kinematic viscosities of the gas phase of the chemicals in the mixture at
its current temperature and pressure, in units of [m^2/s].
nul Kinematic viscosity of the liquid phase of the mixture if one exists at its current tempera-
ture and pressure, in units of [m^2/s].
nuls Pure component kinematic viscosities of the liquid phase of the chemicals in the mixture
at its current temperature and pressure, in units of [m^2/s].
permittivites Pure component relative permittivities of the chemicals in the mixture at its
current temperature, [dimensionless].
phase
rho Mass density of the mixture at its current phase and temperature and pressure, in units of
[kg/m^3].
rhog Gas-phase mass density of the mixture at its current temperature, pressure, and composi-
tion in units of [kg/m^3].
rhog_STP Gas-phase mass density of the mixture at 298.15 K and 101.325 kPa, and the cur-
rent composition in units of [kg/m^3].
rhogm Molar density of the mixture in the gas phase at the current temperature, pressure, and
composition in units of [mol/m^3].
rhogm_STP Molar density of the mixture in the gas phase at 298.15 K and 101.325 kPa, and
the current composition, in units of [mol/m^3].
rhogms Pure component molar densities of the chemicals in the gas phase at the current tem-
perature and pressure, in units of [mol/m^3].
rhogs Pure-component gas-phase mass densities of the chemicals in the mixture at its current
temperature and pressure, in units of [kg/m^3].
rhol Liquid-phase mass density of the mixture at its current temperature, pressure, and com-
position in units of [kg/m^3].
rhol_STP Liquid-phase mass density of the mixture at 298.15 K and 101.325 kPa, and the
current composition in units of [kg/m^3].
rholm Molar density of the mixture in the liquid phase at the current temperature, pressure,
and composition in units of [mol/m^3].
rholm_STP Molar density of the mixture in the liquid phase at 298.15 K and 101.325 kPa,
and the current composition, in units of [mol/m^3].
rholms Pure component molar densities of the chemicals in the mixture in the liquid phase at
the current temperature and pressure, in units of [mol/m^3].
rhols Pure-component liquid-phase mass density of the chemicals in the mixture at its current
temperature and pressure, in units of [kg/m^3].
rhom Molar density of the mixture at its current phase and temperature and pressure, in units
of [mol/m^3].
rhos
rhosms Pure component molar densities of the chemicals in the solid phase at the current
temperature and pressure, in units of [mol/m^3].
rhoss Pure component solid-phase mass density of the chemicals in the mixture at its current
temperature, in units of [kg/m^3].
ringss List of ring counts for all chemicals in the mixture.
sigma Surface tension of the mixture at its current temperature and composition, in units of
[N/m].
sigmas Pure component surface tensions of the chemicals in the mixture at its current temper-
ature, in units of [N/m].
similarity_variables Similarity variables for all chemicals in the mixture, see
smiless SMILES strings for all chemicals in the mixture.
solubility_parameters Pure component solubility parameters of the chemicals in the
mixture at its current temperature and pressure, in units of [Pa^0.5].
synonymss Lists of synonyms for all chemicals in the mixture.
xs
ys
1.1.1.28.2 Methods
Bond
Capillary
Grashof
Jakob
Peclet_heat
Reynolds
Weber
calculate
calculate_PH
calculate_PS
calculate_TH
calculate_TS
set_Chemical_property_objects
set_TP
set_TP_sources
set_chemical_TP
set_chemical_constants
set_constant_sources
set_constants
set_eos
set_extensive_flow
set_extensive_properties
set_phase
calculate(T=None, P=None)
set_extensive_flow(n=None)
set_extensive_properties()
1.1.1.29.1 Notes
Because the conversion is performed by spline functions, a re-conversion of a value will not yield exactly the
original value. However, it is quite close.
The use of splines is quite quick (20 micro seconds/calculation). While just a spline for one-way conversion
could be used, a numerical solver would have to be used to obtain an exact result for the reverse conversion.
This was found to take approximately 1 ms/calculation, depending on the region.
1.1.1.29.2 References
[1], [2]
1.1.1.29.3 Examples
thermo.temperature.ITS90_68_difference(T)
Calculates the difference between ITS-90 and ITS-68 scales using a series of models listed in [1], [2], and [3].
The temperature difference is given by the following equations:
From 13.8 K to 73.15 K:
12
∑︁
𝑇90 − 𝑇68 = 𝑎0 + 𝑎𝑖 [(𝑇90 /𝐾 − 40)/40]𝑖
𝑖=1
Above 1337.33 K:
(︂ )︂2
𝑇90
𝑇90 − 𝑇68 = −1.398 · 10−7
𝐾
Parameters
T [float] Temperature, ITS-90, or approximately ITS-68 [K]
Returns
dT [float] Temperature, difference between ITS-90 and ITS-68 at T [K]
1.1.1.29.4 Notes
The conversion is straightforward when T90 is known. Theoretically, the model should be solved numerically
to convert the reverse way. However, according to [4], the difference is under 0.05 mK from 73.15 K to 903.15
K, and under 0.26 mK up to 1337.33 K.
For temperatures under 13.8 K, no conversion is performed.
The first set of coefficients are: -0.005903, 0.008174, -0.061924, -0.193388, 1.490793, 1.252347, -9.835868,
1.411912, 25.277595, -19.183815, -18.437089, 27.000895, -8.716324.
The second set of coefficients are: 0, -0.148759, -0.267408, 1.08076, 1.269056, -4.089591, -1.871251,
7.438081, -3.536296.
The third set of coefficients are: 7.8687209E1, -4.7135991E-1, 1.0954715E-3, -1.2357884E-6, 6.7736583E-10,
-1.4458081E-13. These last coefficients use the temperature in degrees Celcius. A slightly older model used
the following coefficients but a different equation over the same range: -0.00317, -0.97737, 1.2559, 2.03295,
-5.91887, -3.23561, 7.23364, 5.04151. The model for these coefficients was:
7
∑︁
𝑇90 − 𝑇68 = 𝑐0 + 𝑐𝑖 [(𝑇90 /𝐾 − 1173.15)/300]𝑖
𝑖=1
For temperatures larger than several thousand K, the differences have no meaning and grows quadratically.
1.1.1.29.5 References
1.1.1.29.6 Examples
>>> ITS90_68_difference(1000.)
0.01231818956580355
thermo.thermal_conductivity.Sheffy_Johnson(T, M, Tm)
Calculate the thermal conductivity of a liquid as a function of temperature using the Sheffy-Johnson (1961)
method. Requires Temperature, molecular weight, and melting point.
1 − 0.00126(𝑇 − 𝑇𝑚 )
𝑘 = 1.951 0.216 𝑀 𝑊 0.3
𝑇𝑚
Parameters
T [float] Temperature of the fluid [K]
M [float] Molecular weight of the fluid [g/mol]
Tm [float] Melting point of the fluid [K]
Returns
kl [float] Thermal conductivity of the fluid, W/m/k
1.1.1.30.1 Notes
The origin of this equation has been challenging to trace. It is presently unknown, and untested.
1.1.1.30.2 References
[1]
1.1.1.30.3 Examples
1.1.1.30.4 Notes
This equation has a complicated history. It is proposed by Reid [3]. Limited accuracy should be expected.
Uncheecked.
1.1.1.30.5 References
1.1.1.30.6 Examples
thermo.thermal_conductivity.Lakshmi_Prasad(T, M)
Estimates thermal conductivity of pure liquids as a function of temperature using a reference fluid approach.
Low accuracy but quick. Developed using several organic fluids.
1.3855 − 0.00197𝑇
𝜆 = 0.0655 − 0.0005𝑇 +
𝑀 0.5
Parameters
T [float] Temperature of the fluid [K]
M [float] Molecular weight of the fluid [g/mol]
Returns
kl [float] Estimated liquid thermal conductivity [W/m/k]
1.1.1.30.7 Notes
This equation returns negative numbers at high T sometimes. This equation is one of those implemented by
DDBST. If this results in a negative thermal conductivity, no value is returned.
1.1.1.30.8 References
[1]
1.1.1.30.9 Examples
1.1.1.30.10 Notes
1.1.1.30.11 References
[1]
1.1.1.30.12 Examples
Parameters
T [float] Temperature of the fluid [K]
M [float] Molecular weight of the fluid [g/mol]
Tc [float] Critical temperature of the fluid [K]
omega [float] Acentric factor of the fluid [-]
Hfus [float] Heat of fusion of the fluid [J/mol]
Returns
kl [float] Estimated liquid thermal conductivity [W/m/k]
1.1.1.30.13 Notes
A weird statistical correlation. Recent and yet to be reviewed. This correlation has been superceded by the
author’s later work. Hfus is internally converted to be in J/kmol.
1.1.1.30.14 References
[1]
1.1.1.30.15 Examples
Requires temperature, molecular weight, critical temperature and pressure, and acentric factor.
(︂ )︂−0.2999
𝜆 0.0017𝑃 𝑐 1
= −0.2537𝑇𝑟 + + 0.1501𝜔 +
0.5147𝑊/𝑚/𝐾 bar 𝑀𝑊
Parameters
T [float] Temperature of the fluid [K]
M [float] Molecular weight of the fluid [g/mol]
Tc [float] Critical temperature of the fluid [K]
Pc [float] Critical pressure of the fluid [Pa]
omega [float] Acentric factor of the fluid [-]
Returns
kl [float] Estimated liquid thermal conductivity [W/m/k]
1.1.1.30.16 Notes
1.1.1.30.17 References
[1]
1.1.1.30.18 Examples
thermo.thermal_conductivity.Bahadori_liquid(T, M)
Estimates the thermal conductivity of parafin liquid hydrocarbons. Fits their data well, and is useful as only
MW is required. X is the Molecular weight, and Y the temperature.
𝐾 = 𝑎 + 𝑏𝑌 + 𝐶𝑌 2 + 𝑑𝑌 3
𝑎 = 𝐴1 + 𝐵1 𝑋 + 𝐶1 𝑋 2 + 𝐷1 𝑋 3
𝑏 = 𝐴2 + 𝐵2 𝑋 + 𝐶2 𝑋 2 + 𝐷2 𝑋 3
𝑐 = 𝐴3 + 𝐵3 𝑋 + 𝐶3 𝑋 2 + 𝐷3 𝑋 3
𝑑 = 𝐴4 + 𝐵4 𝑋 + 𝐶4 𝑋 2 + 𝐷4 𝑋 3
Parameters
T [float] Temperature of the fluid [K]
M [float] Molecular weight of the fluid [g/mol]
Returns
kl [float] Estimated liquid thermal conductivity [W/m/k]
1.1.1.30.19 Notes
1.1.1.30.20 References
[1]
1.1.1.30.21 Examples
thermo.thermal_conductivity.Mersmann_Kind_thermal_conductivity_liquid(T,
MW,
Tc,
Vc,
atoms)
Estimates the thermal conductivity of organic liquid substances according to the method of [1].
2/3
𝜆 · 𝑉𝑐 · 𝑇𝑐 · MW0.5
𝜆* = 7/6
(𝑘 · 𝑇𝑐 )1.5 · 𝑁𝐴
2 (︁ √︀ )︁
𝜆* = 𝑛𝑎 + 40 1 − 𝑇𝑟
3
Parameters
T [float] Temperature of the fluid [K]
M [float] Molecular weight of the fluid [g/mol]
Tc [float] Critical temperature of the fluid [K]
Vc [float] Critical volume of the fluid [m^3/mol]
atoms [dict] Dictionary of atoms and their counts, [-]
Returns
kl [float] Estimated liquid thermal conductivity [W/m/k]
1.1.1.30.22 Notes
In the equation, all quantities must be in SI units but N_A is in a kmol basis and Vc is in units of (m^3/kmol);
this is converted internally.
1.1.1.30.23 References
[1]
1.1.1.30.24 Examples
Dodecane at 400 K:
1.1.1.30.25 Notes
To iterate over all methods, use the lists stored in thermal_conductivity_liquid_methods and
thermal_conductivity_liquid_methods_P for low and high pressure methods respectively.
Low pressure methods:
GHARAGHEIZI_L: CSP method, described in Gharagheizi_liquid.
1.1.1.30.26 References
1.1.1.30.27 Methods
TP_or_T_dependent_property
extrapolate_tabular
Tmax = None
Maximum temperature at which no method can calculate the liquid thermal conductivity above.
Tmin = None
Minimum temperature at which no method can calculate the liquid thermal conductivity under.
all_methods = None
Set of all low-pressure methods available for a given CASRN and properties; filled by
load_all_methods.
all_methods_P = None
Set of all high-pressure methods available for a given CASRN and properties; filled by
load_all_methods.
calculate(T, method)
Method to calculate low-pressure liquid thermal conductivity at tempearture T with a given method.
This method has no exception handling; see T_dependent_property for that.
Parameters
T [float] Temperature of the liquid, [K]
method [str] Name of the method to use
Returns
tabular_data_P = None
tabular_data_P, dict: Stored (Ts, Ps, properties) for any tabular data; indexed by provided or autogenerated
name.
tabular_data_interpolators = None
tabular_data_interpolators, dict: Stored (extrapolator, spline) tuples which are interp1d instances for
each set of tabular data; indexed by tuple of (name, interpolation_T, interpolation_property, interpola-
tion_property_inv) to ensure that if an interpolation transform is altered, the old interpolator which had
been created is no longer used.
tabular_data_interpolators_P = None
tabular_data_interpolators_P, dict: Stored (extrapolator, spline) tuples which are interp2d instances
for each set of tabular data; indexed by tuple of (name, interpolation_T, interpolation_P, interpola-
tion_property, interpolation_property_inv) to ensure that if an interpolation transform is altered, the old
interpolator which had been created is no longer used.
tabular_extrapolation_permitted = True
Allow tabular extrapolation by default.
test_method_validity(T, method)
Method to check the validity of a temperature-dependent low-pressure method. For CSP methods, the
models BAHADORI_L, LAKSHMI_PRASAD, and SHEFFY_JOHNSON are considered valid for all
temperatures. For methods GHARAGHEIZI_L, NICOLA, and NICOLA_ORIGINAL, the methods are
considered valid up to 1.5Tc and down to 0 K. Method SATO_RIEDEL does not work above the critical
point, so it is valid from 0 K to the critical point.
For tabular data, extrapolation outside of the range is used if
tabular_extrapolation_permitted is set; if it is, the extrapolation is considered valid
for all temperatures.
It is not guaranteed that a method will work or give an accurate prediction simply because this method
considers the method valid.
Parameters
T [float] Temperature at which to test the method, [K]
method [str] Name of the method to test
Returns
validity [bool] Whether or not a method is valid
test_method_validity_P(T, P, method)
Method to check the validity of a high-pressure method. For COOLPROP, the fluid must be both a liquid
and under the maximum pressure of the fluid’s EOS. MISSENARD has defined limits; between 0.5Tc
and 0.8Tc, and below 200Pc. The CSP method DIPPR_9G is considered valid for all temperatures and
pressures.
For tabular data, extrapolation outside of the range is used if
tabular_extrapolation_permitted is set; if it is, the extrapolation is considered valid
for all temperatures and pressures.
It is not guaranteed that a method will work or give an accurate prediction simply because this method
considers the method valid.
Parameters
T [float] Temperature at which to test the method, [K]
P [float] Pressure at which to test the method, [Pa]
method [str] Name of the method to test
Returns
validity [bool] Whether or not a method is valid
units = 'W/m/K'
user_methods = None
user_methods, list: Stored methods which were specified by the user in a ranked order of preference; set
by T_dependent_property.
user_methods_P = None
user_methods_P, list: Stored methods which were specified by the user in a ranked order of preference; set
by TP_dependent_property.
thermo.thermal_conductivity.DIPPR9G(T, P, Tc, Pc, kl)
Adjustes for pressure the thermal conductivity of a liquid using an emperical formula based on [1], but as given
in [2].
[︂ (︂ )︂]︂
𝑃𝑟
𝑘 = 𝑘 * 0.98 + 0.0079𝑃𝑟 𝑇𝑟1.4 + 0.63𝑇𝑟1.2
30 + 𝑃𝑟
Parameters
T [float] Temperature of fluid [K]
P [float] Pressure of fluid [Pa]
Tc: float Critical point of fluid [K]
Pc [float] Critical pressure of the fluid [Pa]
kl [float] Thermal conductivity of liquid at 1 atm or saturation, [W/m/K]
Returns
kl_dense [float] Thermal conductivity of liquid at P, [W/m/K]
1.1.1.30.28 Notes
This equation is entrely dimensionless; all dimensions cancel. The original source has not been reviewed.
This is DIPPR Procedure 9G: Method for the Thermal Conductivity of Pure Nonhydrocarbon Liquids at High
Pressures
1.1.1.30.29 References
[1], [2]
1.1.1.30.30 Examples
1.1.1.30.31 Notes
This equation is entirely dimensionless; all dimensions cancel. An interpolation routine is used here from
tabulated values of Q. The original source has not been reviewed.
1.1.1.30.32 References
[1], [2]
1.1.1.30.33 Examples
thermo.thermal_conductivity.DIPPR9H(ws, ks)
Calculates thermal conductivity of a liquid mixture according to mixing rules in [1] and also in [2].
(︃ )︃−1/2
∑︁
𝜆𝑚 = 𝑤𝑖 𝜆−2
𝑖
𝑖
Parameters
ws [float] Mass fractions of components
ks [float] Liquid thermal conductivites of all components, [W/m/K]
Returns
kl [float] Thermal conductivity of liquid mixture, [W/m/K]
1.1.1.30.34 Notes
This equation is entirely dimensionless; all dimensions cancel. The example is from [2]; all results agree. The
original source has not been reviewed.
DIPPR Procedure 9H: Method for the Thermal Conductivity of Nonaqueous Liquid Mixtures
Average deviations of 3%. for 118 nonaqueous systems with 817 data points. Max deviation 20%. According
to DIPPR.
1.1.1.30.35 References
[1], [2]
1.1.1.30.36 Examples
thermo.thermal_conductivity.Filippov(ws, ks)
Calculates thermal conductivity of a binary liquid mixture according to mixing rules in [2] as found in [1].
𝜆𝑚 = 𝑤1 𝜆1 + 𝑤2 𝜆2 − 0.72𝑤1 𝑤2 (𝜆2 − 𝜆1 )
Parameters
ws [float] Mass fractions of components
ks [float] Liquid thermal conductivites of all components, [W/m/K]
Returns
kl [float] Thermal conductivity of liquid mixture, [W/m/K]
1.1.1.30.37 Notes
This equation is entirely dimensionless; all dimensions cancel. The original source has not been reviewed. Only
useful for binary mixtures.
1.1.1.30.38 References
[1], [2]
1.1.1.30.39 Examples
Parameters
MW [float] Molecular weight of the gas [g/mol]
Cvm [float] Molar contant volume heat capacity of the gas [J/mol/K]
mu [float] Gas viscosity [Pa*S]
Returns
kg [float] Estimated gas thermal conductivity [W/m/k]
1.1.1.30.40 Notes
Temperature dependence is introduced via heat capacity and viscosity. A theoretical equation. No original
author located. MW internally converted to kg/g-mol.
1.1.1.30.41 References
[1]
1.1.1.30.42 Examples
Parameters
MW [float] Molecular weight of the gas [g/mol]
Cvm [float] Molar contant volume heat capacity of the gas [J/mol/K]
mu [float] Gas viscosity [Pa*S]
Returns
kg [float] Estimated gas thermal conductivity [W/m/k]
1.1.1.30.43 Notes
Temperature dependence is introduced via heat capacity and viscosity. A theoretical equation. No original
author located. MW internally converted to kg/g-mol.
1.1.1.30.44 References
[1]
1.1.1.30.45 Examples
1.1.1.30.46 Notes
1.1.1.30.47 References
1.1.1.30.48 Examples
CO:
𝜆𝑀 3.75Ψ
=
𝜂𝐶𝑣 𝐶𝑣 /𝑅
Ψ = 1 + 𝛼 {[0.215 + 0.28288𝛼 − 1.061𝛽 + 0.26665𝑍]/[0.6366 + 𝛽𝑍 + 1.061𝛼𝛽]}
𝐶𝑣
𝛼= − 1.5
𝑅
𝛽 = 0.7862 − 0.7109𝜔 + 1.3168𝜔 2
𝑍 = 2 + 10.5𝑇𝑟2
Parameters
T [float] Temperature of the gas [K]
MW [float] Molecular weight of the gas [g/mol]
Tc [float] Critical temperature of the gas [K]
omega [float] Acentric factor of the gas [-]
Cvm [float] Molar contant volume heat capacity of the gas [J/mol/K]
mu [float] Gas viscosity [Pa*S]
Returns
kg [float] Estimated gas thermal conductivity [W/m/k]
1.1.1.30.49 Notes
1.1.1.30.50 References
[1], [2]
1.1.1.30.51 Examples
𝜂*
(︂ )︂
* 3𝑅
𝜆=𝜆 + (1.32) 𝐶𝑣 −
𝑀𝑊 2
𝑇 𝑟 = min(𝑇 𝑟, 2)
(︂ )︂
0.69852
𝜃 = 1 + (𝜔 − 0.011) 0.56553 − 0.86276 ln 𝑇 𝑟 −
𝑇𝑟
0.288
𝜓 = [1 + (𝜔 − 0.011)(0.38560 − 1.1617 ln 𝑇 𝑟)]
𝑍𝑐
𝑇𝑐
𝑓= 𝜃
190.4
𝑉𝑐
ℎ= 𝜓
9.92𝐸 − 5
𝑇0 = 𝑇 /𝑓
9
(𝑛−4)/3
∑︁
𝜂0* (𝑇0 ) = 𝐶𝑛 𝑇0
𝑛=1
𝜃0 = 1944𝜂0
𝜆* = 𝜆0 𝐻
𝑀𝑊
𝜂 * = 𝜂0* 𝐻
16.04
(︂ )︂0.5
16.04
𝐻= 𝑓 0.5 /ℎ2/3
𝑀𝑊
Parameters
T [float] Temperature of the gas [K]
MW [float] Molecular weight of the gas [g/mol]
Tc [float] Critical temperature of the gas [K]
Vc [float] Critical volume of the gas [m^3/mol]
Zc [float] Critical compressibility of the gas []
omega [float] Acentric factor of the gas [-]
Cvm [float] Molar contant volume heat capacity of the gas [J/mol/K]
Returns
kg [float] Estimated gas thermal conductivity [W/m/k]
1.1.1.30.52 Notes
1.1.1.30.53 References
[1], [2]
1.1.1.30.54 Examples
1.1.1.30.55 Notes
Pressure is internally converted into 10*kPa but author used correlation with kPa; overall, errors have been
corrected in the presentation of the formula.
This equation was derived with 15927 points and 1574 compounds. Example value from [1] is the first point in
the supportinf info, for CH4.
1.1.1.30.56 References
[1]
1.1.1.30.57 Examples
thermo.thermal_conductivity.Bahadori_gas(T, MW)
Estimates the thermal conductivity of hydrocarbons gases at low P. Fits their data well, and is useful as only
MW is required. Y is the Molecular weight, and X the temperature.
𝐾 = 𝑎 + 𝑏𝑌 + 𝐶𝑌 2 + 𝑑𝑌 3
𝑎 = 𝐴1 + 𝐵 1 𝑋 + 𝐶 1 𝑋 2 + 𝐷 1 𝑋 3
𝑏 = 𝐴2 + 𝐵2 𝑋 + 𝐶2 𝑋 2 + 𝐷2 𝑋 3
𝑐 = 𝐴3 + 𝐵3 𝑋 + 𝐶3 𝑋 2 + 𝐷3 𝑋 3
𝑑 = 𝐴4 + 𝐵4 𝑋 + 𝐶4 𝑋 2 + 𝐷4 𝑋 3
Parameters
T [float] Temperature of the gas [K]
MW [float] Molecular weight of the gas [g/mol]
Returns
kg [float] Estimated gas thermal conductivity [W/m/k]
1.1.1.30.58 Notes
1.1.1.30.59 References
[1]
1.1.1.30.60 Examples
For gases under the fluid’s boiling point (at sub-atmospheric pressures), and high-pressure gases above the
boiling point, there are three corresponding-states estimators, and the external library CoolProp.
Parameters
CASs [list[str], optional] The CAS numbers of all species in the mixture
MW [float, optional] Molecular weight, [g/mol]
Tb [float, optional] Boiling point, [K]
Tc [float, optional] Critical temperature, [K]
Pc [float, optional] Critical pressure, [Pa]
Vc [float, optional] Critical volume, [m^3/mol]
Zc [float, optional] Critical compressibility, [-]
omega [float, optional] Acentric factor, [-]
dipole [float, optional] Dipole moment of the fluid, [debye]
Vmg [float or callable, optional] Molar volume of the fluid at a pressure and temperature or
callable for the same, [m^3/mol]
Cvgm [float or callable, optional] Molar heat capacity of the fluid at a pressure and temperature
or or callable for the same, [J/mol/K]
mug [float or callable, optional] Gas viscosity of the fluid at a pressure and temperature or
callable for the same, [Pa*S]
See also:
Bahadori_gas, Gharagheizi_gas, eli_hanley, Chung, DIPPR9B, Eucken_modified,
Eucken, stiel_thodos_dense, eli_hanley_dense, chung_dense
1.1.1.30.61 Notes
To iterate over all methods, use the lists stored in thermal_conductivity_gas_methods and
thermal_conductivity_gas_methods_P for low and high pressure methods respectively.
Low pressure methods:
GHARAGHEIZI_G: CSP method, described in Gharagheizi_gas.
DIPPR_9B: CSP method, described in DIPPR9B.
CHUNG: CSP method, described in Chung.
ELI_HANLEY: CSP method, described in eli_hanley.
EUCKEN_MOD: CSP method, described in Eucken_modified.
EUCKEN: CSP method, described in Eucken.
BAHADORI_G: CSP method, described in Bahadori_gas.
DIPPR_PERRY_8E: A collection of 345 coefficient sets from the DIPPR database published openly in [3].
Provides temperature limits for all its fluids. thermo.dippr.EQ102 is used for its fluids.
VDI_PPDS: Coefficients for a equation form developed by the PPDS, published openly in [2]. Covers a large
temperature range, but does not extrapolate well at very high or very low temperatures. 275 compounds.
COOLPROP: CoolProp external library; with select fluids from its library. Range is limited to that of the
equations of state it uses, as described in [1]. Very slow.
VDI_TABULAR: Tabular data in [2] along the saturation curve; interpolation is as set by the user or the
default.
High pressure methods:
STIEL_THODOS_DENSE: CSP method, described in stiel_thodos_dense. Calculates a low-pressure
thermal conductivity first, using T_dependent_property.
ELI_HANLEY_DENSE: CSP method, described in eli_hanley_dense. Calculates a low-pressure ther-
mal conductivity first, using T_dependent_property.
CHUNG_DENSE: CSP method, described in chung_dense. Calculates a low-pressure thermal conductiv-
ity first, using T_dependent_property.
COOLPROP: CoolProp external library; with select fluids from its library. Range is limited to that of the
equations of state it uses, as described in [1]. Very slow, but unparalled in accuracy for pressure depen-
dence.
1.1.1.30.62 References
1.1.1.30.63 Methods
TP_or_T_dependent_property
extrapolate_tabular
Tmax = None
Maximum temperature at which no method can calculate the gas thermal conductivity above.
Tmin = None
Minimum temperature at which no method can calculate the gas thermal conductivity under.
all_methods = None
Set of all low-pressure methods available for a given CASRN and properties; filled by
load_all_methods.
all_methods_P = None
Set of all high-pressure methods available for a given CASRN and properties; filled by
load_all_methods.
calculate(T, method)
Method to calculate low-pressure gas thermal conductivity at tempearture T with a given method.
This method has no exception handling; see T_dependent_property for that.
Parameters
T [float] Temperature of the gas, [K]
method [str] Name of the method to use
Returns
kg [float] Thermal conductivity of the gas at T and a low pressure, [W/m/K]
calculate_P(T, P, method)
Method to calculate pressure-dependent gas thermal conductivity at temperature T and pressure P with a
given method.
This method has no exception handling; see TP_dependent_property for that.
Parameters
T [float] Temperature at which to calculate gas thermal conductivity, [K]
P [float] Pressure at which to calculate gas thermal conductivity, [K]
method [str] Name of the method to use
Returns
kg [float] Thermal conductivity of the gas at T and P, [W/m/K]
interpolation_P = None
No interpolation transformation by default.
interpolation_T = None
No interpolation transformation by default.
interpolation_property = None
No interpolation transformation by default.
interpolation_property_inv = None
No interpolation transformation by default.
load_all_methods()
Method which picks out coefficients for the specified chemical from the various dictionaries and
DataFrames storing it. All data is stored as attributes. This method also sets Tmin, Tmax, all_methods
and obj:all_methods_P as a set of methods for which the data exists for.
Called on initialization only. See the source code for the variables at which the coefficients are stored. The
coefficients can safely be altered once the class is initialized. This method can be called again to reset the
parameters.
name = 'gas thermal conductivity'
property_max = 10
Maximum valid value of gas thermal conductivity. Generous limit.
property_min = 0
Mimimum valid value of gas thermal conductivity.
ranked_methods = ['COOLPROP', 'VDI_PPDS', 'DIPPR_PERRY_8E', 'VDI_TABULAR', 'GHARAGHEIZI
Default rankings of the low-pressure methods.
ranked_methods_P = ['COOLPROP', 'ELI_HANLEY_DENSE', 'CHUNG_DENSE', 'STIEL_THODOS_DENSE'
Default rankings of the high-pressure methods.
sorted_valid_methods = None
sorted_valid_methods, list: Stored methods which were found valid at a specific temperature; set by
T_dependent_property.
sorted_valid_methods_P = None
sorted_valid_methods_P, list: Stored methods which were found valid at a specific temperature; set by
TP_dependent_property.
tabular_data = None
tabular_data, dict: Stored (Ts, properties) for any tabular data; indexed by provided or autogenerated name.
tabular_data_P = None
tabular_data_P, dict: Stored (Ts, Ps, properties) for any tabular data; indexed by provided or autogenerated
name.
tabular_data_interpolators = None
tabular_data_interpolators, dict: Stored (extrapolator, spline) tuples which are interp1d instances for
each set of tabular data; indexed by tuple of (name, interpolation_T, interpolation_property, interpola-
tion_property_inv) to ensure that if an interpolation transform is altered, the old interpolator which had
been created is no longer used.
tabular_data_interpolators_P = None
tabular_data_interpolators_P, dict: Stored (extrapolator, spline) tuples which are interp2d instances
for each set of tabular data; indexed by tuple of (name, interpolation_T, interpolation_P, interpola-
tion_property, interpolation_property_inv) to ensure that if an interpolation transform is altered, the old
interpolator which had been created is no longer used.
tabular_extrapolation_permitted = True
Allow tabular extrapolation by default.
test_method_validity(T, method)
Method to check the validity of a temperature-dependent low-pressure method. For CSP methods, the all
methods are considered valid from 0 K and up.
For tabular data, extrapolation outside of the range is used if
tabular_extrapolation_permitted is set; if it is, the extrapolation is considered valid
for all temperatures.
It is not guaranteed that a method will work or give an accurate prediction simply because this method
considers the method valid. GHARAGHEIZI_G and BAHADORI_G are known to sometimes produce
negative results.
Parameters
T [float] Temperature at which to test the method, [K]
method [str] Name of the method to test
Returns
validity [bool] Whether or not a method is valid
test_method_validity_P(T, P, method)
Method to check the validity of a high-pressure method. For COOLPROP, the fluid must be both a
gas and under the maximum pressure of the fluid’s EOS. The CSP method ELI_HANLEY_DENSE,
CHUNG_DENSE, and STIEL_THODOS_DENSE are considered valid for all temperatures and pres-
sures.
For tabular data, extrapolation outside of the range is used if
tabular_extrapolation_permitted is set; if it is, the extrapolation is considered valid
for all temperatures and pressures.
It is not guaranteed that a method will work or give an accurate prediction simply because this method
considers the method valid.
Parameters
T [float] Temperature at which to test the method, [K]
P [float] Pressure at which to test the method, [Pa]
method [str] Name of the method to test
Returns
validity [bool] Whether or not a method is valid
units = 'W/m/K'
user_methods = None
user_methods, list: Stored methods which were specified by the user in a ranked order of preference; set
by T_dependent_property.
user_methods_P = None
user_methods_P, list: Stored methods which were specified by the user in a ranked order of preference; set
by TP_dependent_property.
thermo.thermal_conductivity.stiel_thodos_dense(T, MW, Tc, Pc, Vc, Zc, Vm, kg)
Estimates the thermal conductivity of a gas at high pressure as a function of temperature using difference method
of Stiel and Thodos [1] as shown in [2].
Parameters
T [float] Temperature of the gas [K]
MW [float] Molecular weight of the gas [g/mol]
Tc [float] Critical temperature of the gas [K]
Pc [float] Critical pressure of the gas [Pa]
Vc [float] Critical volume of the gas [m^3/mol]
Zc [float] Critical compressibility of the gas [-]
Vm [float] Molar volume of the gas at T and P [m^3/mol]
kg [float] Low-pressure gas thermal conductivity [W/m/k]
Returns
kg [float] Estimated dense gas thermal conductivity [W/m/k]
1.1.1.30.64 Notes
1.1.1.30.65 References
[1], [2]
1.1.1.30.66 Examples
𝑇 𝑟 = 𝑚𝑖𝑛(𝑇 𝑟, 2)
𝑉 𝑟 = 𝑚𝑖𝑛(𝑉 𝑟, 2)
𝑇𝑐
𝑓= 𝜃
190.4
𝑉𝑐
ℎ= 𝜓
9.92𝐸 − 5
𝑇0 = 𝑇 /𝑓
16.04
𝜌0 = ℎ
(︂ (︂ )︂ 𝑉 )︂
0.46568
𝜃 = 1 + (𝜔 − 0.011) 0.09057 − 0.86276 ln 𝑇 𝑟 + 0.31664 − (𝑉𝑟 − 0.5)
𝑇𝑟
0.288
𝜓 = [1 + (𝜔 − 0.011)(0.39490(𝑉𝑟 − 1.02355) − 0.93281(𝑉𝑟 − 0.75464) ln 𝑇𝑟 ]
𝑍𝑐
𝜆1 = 1944𝜂0
{︃ [︂ (︂ )︂]︂2 }︃
𝑇0
𝜆2 = 𝑏1 + 𝑏2 𝑏3 − ln 𝜌0
𝑏4
(︂ )︂ {︂ }︂
𝑎2 𝑎4 0.1 𝜌0 0.5 𝑎6 𝑎7
𝜆3 = exp 𝑎1 + exp[(𝑎3 + 1.5 )𝜌0 + ( − 1)𝜌0 (𝑎5 + + 2 )] − 1
𝑇0 𝑇0 0.1617 𝑇0 𝑇0
𝜆** = [𝜆1 + 𝜆2 + 𝜆3 ]𝐻
(︂ )︂0.5
16.04
𝐻= 𝑓 0.5 /ℎ2/3
𝑀𝑊
{︂[︂ (︂ )︂ ]︂ }︂1.5
𝑇 𝑑𝑓 0.288
𝑋= 1−
𝑓 𝑑𝑇 𝑣 𝑍𝑐
(︂ )︂ (︂ )︂
𝑑𝑓 𝑇𝑐 𝑑𝜃
=
𝑑𝑇 𝑣 190.4 𝑑𝑇 𝑣
(︂ )︂ [︂ ]︂
𝑑𝜃 −0.86276 0.46568𝑇𝑐
= (𝜔 − 0.011) + (𝑉𝑟 − 0.5)
𝑑𝑇 𝑣 𝑇 𝑇2
Parameters
T [float] Temperature of the gas [K]
MW [float] Molecular weight of the gas [g/mol]
Tc [float] Critical temperature of the gas [K]
Vc [float] Critical volume of the gas [m^3/mol]
Zc [float] Critical compressibility of the gas []
omega [float] Acentric factor of the gas [-]
Cvm [float] Molar contant volume heat capacity of the gas [J/mol/K]
Vm [float] Volume of the gas at T and P [m^3/mol]
Returns
kg [float] Estimated dense gas thermal conductivity [W/m/k]
1.1.1.30.67 Notes
1.1.1.30.68 References
[1], [2]
1.1.1.30.69 Examples
thermo.thermal_conductivity.chung_dense(T, MW, Tc, Vc, omega, Cvm, Vm, mu, dipole, asso-
ciation=0)
Estimates the thermal conductivity of a gas at high pressure as a function of temperature using the reference
fluid method of Chung [1] as shown in [2].
31.2𝜂 ∘ Ψ −1
𝜆= (𝐺2 + 𝐵6 𝑦) + 𝑞𝐵7 𝑦 2 𝑇𝑟1/2 𝐺2
𝑀′
Ψ = 1 + 𝛼 {[0.215 + 0.28288𝛼 − 1.061𝛽 + 0.26665𝑍]/[0.6366 + 𝛽𝑍 + 1.061𝛼𝛽]}
𝐶𝑣
𝛼= − 1.5
𝑅
𝛽 = 0.7862 − 0.7109𝜔 + 1.3168𝜔 2
𝑍 = 2 + 10.5𝑇𝑟2
𝑞 = 3.586 × 10−3 (𝑇𝑐 /𝑀 ′ )1/2 /𝑉𝑐2/3
𝑉𝑐
𝑦=
6𝑉
1 − 0.5𝑦
𝐺1 =
(1 − 𝑦)3
(𝐵1 /𝑦)[1 − exp(−𝐵4 𝑦)] + 𝐵2 𝐺1 exp(𝐵5 𝑦) + 𝐵3 𝐺1
𝐺2 =
𝐵1 𝐵4 + 𝐵2 + 𝐵3
𝐵𝑖 = 𝑎𝑖 + 𝑏𝑖 𝜔 + 𝑐𝑖 𝜇4𝑟 + 𝑑𝑖 𝜅
Parameters
T [float] Temperature of the gas [K]
MW [float] Molecular weight of the gas [g/mol]
Tc [float] Critical temperature of the gas [K]
Vc [float] Critical volume of the gas [m^3/mol]
omega [float] Acentric factor of the gas [-]
Cvm [float] Molar contant volume heat capacity of the gas [J/mol/K]
Vm [float] Molar volume of the gas at T and P [m^3/mol]
mu [float] Low-pressure gas viscosity [Pa*S]
dipole [float] Dipole moment [debye]
1.1.1.30.70 Notes
MW internally converted to kg/g-mol. Vm internally converted to mL/mol. [1] is not the latest form as presented
in [1]. Association factor is assumed 0. Relates to the polarity of the gas.
Coefficients as follows: ais = [2.4166E+0, -5.0924E-1, 6.6107E+0, 1.4543E+1, 7.9274E-1, -5.8634E+0,
9.1089E+1]
bis = [7.4824E-1, -1.5094E+0, 5.6207E+0, -8.9139E+0, 8.2019E-1, 1.2801E+1, 1.2811E+2]
cis = [-9.1858E-1, -4.9991E+1, 6.4760E+1, -5.6379E+0, -6.9369E-1, 9.5893E+0, -5.4217E+1]
dis = [1.2172E+2, 6.9983E+1, 2.7039E+1, 7.4344E+1, 6.3173E+0, 6.5529E+1, 5.2381E+2]
1.1.1.30.71 References
[1], [2]
1.1.1.30.72 Examples
𝑦𝑘
∑︀ 𝑖 𝑖
∑︁
𝑘=
𝑦𝑖 𝐴𝑖𝑗
)︂]︃0.5 ⎬2 (︂
⎧ [︃ ⎫
(︂ )︂0.75 (︂ )︂
1⎨ 𝜂𝑖 𝑀 𝑊𝑗 𝑇 + 𝑆𝑖 𝑇 + 𝑆𝑖𝑗
𝐴𝑖𝑗 = 1+
4⎩ 𝜂𝑗 𝑀 𝑊𝑖 𝑇 + 𝑆𝑗 ⎭ 𝑇 + 𝑆𝑖
Parameters
T [float] Temperature of gas [K]
ys [float] Mole fractions of gas components
ks [float] Liquid thermal conductivites of all components, [W/m/K]
mus [float] Gas viscosities of all components, [Pa*S]
Tbs [float] Boiling points of all components, [K]
MWs [float] Molecular weights of all components, [g/mol]
Returns
kg [float] Thermal conductivity of gas mixture, [W/m/K]
1.1.1.30.73 Notes
This equation is entirely dimensionless; all dimensions cancel. The example is from [2]; all results agree. The
original source has not been reviewed.
DIPPR Procedure 9D: Method for the Thermal Conductivity of Gas Mixtures
Average deviations of 4-5% for 77 binary mixtures reviewed in [2], from 1342 points; also six ternary mixtures
(70 points); max deviation observed was 40%. (DIPPR)
TODO: Finish documenting this.
1.1.1.30.74 References
[1], [2]
1.1.1.30.75 Examples
0.01390264417969313
class thermo.thermal_conductivity.ThermalConductivityGasMixture(MWs=[],
Tbs=[],
CASs=[],
Thermal-
Conductivi-
tyGases=[],
Viscosity-
Gases=[])
Bases: thermo.utils.MixtureProperty
Class for dealing with thermal conductivity of a gas mixture as a function of temperature, pressure, and compo-
sition. Consists of one mixing rule specific to gas thremal conductivity, and mole weighted averaging.
Prefered method is Lindsay_Bromley which requires mole fractions, pure component viscosities and ther-
mal conductivities, and the boiling point and molecular weight of each pure component. This is substantially
better than the ideal mixing rule based on mole fractions, SIMPLE which is also available.
Parameters
MWs [list[float], optional] Molecular weights of all species in the mixture, [g/mol]
Tbs [list[float], optional] Boiling points of all species in the mixture, [K]
CASs [str, optional] The CAS numbers of all species in the mixture
ThermalConductivityGases [list[ThermalConductivityGas], optional] ThermalConductivity-
Gas objects created for all species in the mixture, normally created by thermo.
chemical.Chemical.
ViscosityGases [list[ViscosityGas], optional] ViscosityGas objects created for all species in the
mixture, normally created by thermo.chemical.Chemical.
See also:
Lindsay_Bromley
1.1.1.30.76 Notes
1.1.1.30.77 References
[1]
Attributes
method
prop_cached
1.1.1.30.78 Methods
Tmax = None
Maximum temperature at which no method can calculate the gas thermal conductivity above.
Tmin = None
Minimum temperature at which no method can calculate the gas thermal conductivity under.
all_methods = None
Set of all methods available for a given set of information; filled by load_all_methods.
calculate(T, P, zs, ws, method)
Method to calculate thermal conductivity of a gas mixture at temperature T, pressure P, mole fractions zs
and weight fractions ws with a given method.
This method has no exception handling; see mixture_property for that.
Parameters
T [float] Temperature at which to calculate the property, [K]
P [float] Pressure at which to calculate the property, [Pa]
zs [list[float]] Mole fractions of all species in the mixture, [-]
ws [list[float]] Weight fractions of all species in the mixture, [-]
method [str] Name of the method to use
Returns
kg [float] Thermal conductivity of gas mixture, [W/m/K]
load_all_methods()
Method to initialize the object by precomputing any values which may be used repeatedly and by retrieving
mixture-specific variables. All data are stored as attributes. This method also sets Tmin, Tmax, and
all_methods as a set of methods which should work to calculate the property.
Called on initialization only. See the source code for the variables at which the coefficients are stored. The
coefficients can safely be altered once the class is initialized. This method can be called again to reset the
parameters.
name = 'gas thermal conductivity'
property_max = 10.0
Maximum valid value of gas thermal conductivity. Generous limit.
property_min = 0.0
Mimimum valid value of gas thermal conductivity.
ranked_methods = ['LINDSAY_BROMLEY', 'SIMPLE']
sorted_valid_methods = None
sorted_valid_methods, list: Stored methods which were found valid at a specific temperature; set by mix-
ture_property.
test_method_validity(T, P, zs, ws, method)
Method to test the validity of a specified method for the given conditions. No methods have implemented
checks or strict ranges of validity.
Parameters
T [float] Temperature at which to check method validity, [K]
P [float] Pressure at which to check method validity, [Pa]
zs [list[float]] Mole fractions of all species in the mixture, [-]
ws [list[float]] Weight fractions of all species in the mixture, [-]
method [str] Method name to use
Returns
validity [bool] Whether or not a specifid method is valid
units = 'W/m/K'
user_methods = None
user_methods, list: Stored methods which were specified by the user in a ranked order of preference; set
by mixture_property.
1.1.1.31.1 Notes
Median difference between melting points and triple points is 0.02 K. Accordingly, this should be more than
good enough for engineering applications.
Temperatures are on the ITS-68 scale.
1.1.1.31.2 References
[1]
1.1.1.31.3 Examples
Ammonia
>>> Tt('7664-41-7')
195.47999999999999
1.1.1.31.4 References
[1]
1.1.1.31.5 Examples
Ammonia
>>> Pt('7664-41-7')
6079.5
Parameters
T [float] Temperature of the system, [K]
xs [list[float]] Mole fractions of all species in the system in the liquid phase, [-]
chemgroups [list[dict]] List of dictionaries of subgroup IDs and their counts for all species in
the mixture, [-]
subgroup_data [dict[UNIFAC_subgroup]] UNIFAC subgroup data; available dictionaries in
this module are UFSG (original), DOUFSG (Dortmund), or NISTUFSG ([4]).
interaction_data [dict[dict[tuple(a_mn, b_mn, c_mn)]]] UNIFAC interaction parameter data;
available dictionaries in this module are UFIP (original), DOUFIP2006 (Dortmund param-
eters as published by 2006), DOUFIP2016 (Dortmund parameters as published by 2016),
and NISTUFIP ([4]).
modified [bool] True if using the modified form and temperature dependence, otherwise False.
Returns
gammas [list[float]] Activity coefficients of all species in the mixture, [-]
1.1.1.32.1 Notes
The actual implementation of UNIFAC is formulated slightly different than the formulas above for computa-
tional efficiency. DDBST switched to using the more efficient forms in their publication, but the numerical
results are identical.
The model is as follows:
ln 𝛾𝑖 = ln 𝛾𝑖𝑐 + ln 𝛾𝑖𝑟
Combinatorial component
𝑛
𝜑𝑖 𝑧 𝜃𝑖 𝜑𝑖 ∑︁
ln 𝛾𝑖𝑐 = ln + 𝑞𝑖 ln + 𝐿𝑖 − 𝑥𝑗 𝐿𝑗
𝑥𝑖 2 𝜑𝑖 𝑥𝑖 𝑗=1
𝑥𝑖 𝑞 𝑖
𝜃𝑖 = ∑︀𝑛
𝑗=1 𝑥𝑗 𝑞𝑗
𝑥𝑖 𝑟𝑖
𝜑𝑖 = ∑︀𝑛
𝑗=1 𝑥𝑗 𝑟𝑗
𝐿𝑖 = 5(𝑟𝑖 − 𝑞𝑖 ) − (𝑟𝑖 − 1)
Residual component
𝑛 [︁ ]︁
(𝑖) (𝑖)
∑︁
ln 𝛾𝑖𝑟 = 𝜈𝑘 ln Γ𝑘 − ln Γ𝑘
𝑘
[︃ ]︃
Θ Ψ
∑︀ 𝑚 𝑘𝑚
∑︁ ∑︁
ln Γ𝑘 = 𝑄𝑘 1 − ln Θ𝑚 Ψ𝑚𝑘 −
𝑚 𝑚 𝑛 Θ𝑛 Ψ𝑛𝑚
𝑄𝑚 𝑋𝑚
Θ𝑚 = ∑︀
𝑄𝑛 𝑋𝑛
∑︀ 𝑛 𝑗
𝑗 𝑚 𝑥𝑗
𝜈
𝑋𝑚 = ∑︀ ∑︀ 𝑗
𝑗 𝑛 𝜈𝑛 𝑥𝑗
R and Q
𝑛
∑︁
𝑟𝑖 = 𝜈𝑘 𝑅𝑘
𝑘=1
𝑛
∑︁
𝑞𝑖 = 𝜈𝑘 𝑄𝑘
𝑘=1
The newer forms of UNIFAC (Dortmund, NIST) calculate the combinatorial part slightly differently:
(︂ (︂ )︂)︂
𝑉𝑖 𝑉𝑖
ln 𝛾𝑖𝑐 = 1 − 𝑉 ′ 𝑖 + ln(𝑉 ′ 𝑖 ) − 5𝑞𝑖 1 − + ln
𝐹𝑖 𝐹𝑖
3/4
𝑟𝑖
𝑉𝑖′ = ∑︀ 3/4
𝑗 𝑟𝑗 𝑥𝑗
This is more clear when looking at the full rearranged form as in [3].
1.1.1.32.2 References
1.1.1.32.3 Examples
Parameters
T [float] Temperature of the system, [K]
subgroup1 [int] First UNIFAC subgroup for identifier, [-]
subgroup2 [int] Second UNIFAC subgroup for identifier, [-]
1.1.1.32.4 Notes
UNIFAC interaction parameters are asymmetric. No warning is raised if an interaction parameter is missing.
1.1.1.32.5 References
[1], [2]
1.1.1.32.6 Examples
thermo.unifac.UNIFAC_RQ(groups, subgroup_data=None)
Calculates UNIFAC parameters R and Q for a chemical, given a dictionary of its groups, as shown in [1]. Most
UNIFAC methods use the same subgroup values; however, a dictionary of UNIFAC_subgroup instances may be
specified as an optional second parameter.
𝑛
∑︁
𝑟𝑖 = 𝜈𝑘 𝑅𝑘
𝑘=1
𝑛
∑︁
𝑞𝑖 = 𝜈𝑘 𝑄𝑘
𝑘=1
Parameters
groups [dict[count]] Dictionary of numeric subgroup IDs : their counts
subgroup_data [None or dict[UNIFAC_subgroup]] Optional replacement for standard sub-
groups; leave as None to use the original UNIFAC subgroup r and q values.
Returns
R [float] R UNIFAC parameter (normalized Van der Waals Volume) [-]
Q [float] Q UNIFAC parameter (normalized Van der Waals Area) [-]
1.1.1.32.7 Notes
These parameters have some predictive value for other chemical properties.
1.1.1.32.8 References
[1]
1.1.1.32.9 Examples
Hexane
>>> UNIFAC_RQ({1:2, 2:4})
(4.4998000000000005, 3.856)
thermo.unifac.Van_der_Waals_volume(R)
Calculates a species Van der Waals molar volume with the UNIFAC method, given a species’s R parameter.
𝑉𝑤𝑘 = 15.17𝑅𝑘
Parameters
R [float] R UNIFAC parameter (normalized Van der Waals Volume) [-]
Returns
V_vdw [float] Unnormalized Van der Waals volume, [m^3/mol]
1.1.1.32.10 Notes
1.1.1.32.11 References
[1]
1.1.1.32.12 Examples
>>> Van_der_Waals_volume(4.4998)
6.826196599999999e-05
thermo.unifac.Van_der_Waals_area(Q)
Calculates a species Van der Waals molar surface area with the UNIFAC method, given a species’s Q parameter.
Parameters
Q [float] Q UNIFAC parameter (normalized Van der Waals Area) [-]
Returns
A_vdw [float] Unnormalized Van der Waals surface area, [m^2/mol]
1.1.1.32.13 Notes
1.1.1.32.14 References
[1]
1.1.1.32.15 Examples
>>> Van_der_Waals_area(3.856)
964000.0
thermo.unifac.load_group_assignments_DDBST()
Data is stored in the format InChI key bool bool bool subgroup count . . . subgroup count subgroup count. . .
where the bools refer to whether or not the original UNIFAC, modified UNIFAC, and PSRK group assignments
were completed correctly. The subgroups and their count have an indefinite length.
thermo.utils.isobaric_expansion(V, dV_dT)
Calculate the isobaric coefficient of a thermal expansion, given its molar volume at a certain T and P, and its
derivative of molar volume with respect to T.
(︂ )︂
1 𝜕𝑉
𝛽=
𝑉 𝜕𝑇 𝑃
Parameters
V [float] Molar volume at T and P, [m^3/mol]
dV_dT [float] Derivative of molar volume with respect to T, [m^3/mol/K]
Returns
beta [float] Isobaric coefficient of a thermal expansion, [1/K]
1.1.1.33.1 Notes
1.1.1.33.2 References
[1]
1.1.1.33.3 Examples
Calculated for hexane from the PR EOS at 299 K and 1 MPa (liquid):
thermo.utils.isothermal_compressibility(V, dV_dP)
Calculate the isothermal coefficient of a compressibility, given its molar volume at a certain T and P, and its
derivative of molar volume with respect to P.
(︂ )︂
1 𝜕𝑉
𝜅=−
𝑉 𝜕𝑃 𝑇
Parameters
V [float] Molar volume at T and P, [m^3/mol]
dV_dP [float] Derivative of molar volume with respect to P, [m^3/mol/Pa]
Returns
kappa [float] Isothermal coefficient of a compressibility, [1/Pa]
1.1.1.33.4 Notes
1.1.1.33.5 References
[1]
1.1.1.33.6 Examples
Calculated for hexane from the PR EOS at 299 K and 1 MPa (liquid):
Parameters
T [float] Temperature of fluid [K]
dP_dT [float] Derivative of P with respect to T, [Pa/K]
dP_dV [float] Derivative of P with respect to V, [Pa*mol/m^3]
Returns
Cp_minus_Cv [float] Cp - Cv for a real gas, [J/mol/K]
1.1.1.33.7 Notes
1.1.1.33.8 References
1.1.1.33.9 Examples
Calculated for hexane from the PR EOS at 299 K and 1 MPa (liquid):
>>> Cp_minus_Cv(299, 582232.475794113, -3665180614672.253)
27.654681381642394
1.1.1.33.10 Notes
1.1.1.33.11 References
[1], [2]
1.1.1.33.12 Examples
179.5868138460819
Parameters
T [float] Temperature of fluid, [K]
V [float] Molar volume of fluid, [m^3/mol]
Cp [float] Real fluid heat capacity at constant pressure, [J/mol/K]
dV_dT [float, optional] Derivative of V with respect to T, [m^3/mol/K]
beta [float, optional] Isobaric coefficient of a thermal expansion, [1/K]
Returns
mu_JT [float] Joule-Thomson coefficient [K/Pa]
1.1.1.33.13 References
[1], [2]
1.1.1.33.14 Examples
Parameters
V [float] Molar volume at T and P, [m^3/mol]
dP_dT [float] Derivative of P with respect to T, [Pa/K]
dP_dV [float] Derivative of P with respect to V, [Pa*mol/m^3]
d2P_dV2 [float] Second derivative of P with respect to V, [Pa*mol^2/m^6]
d2P_dVdT [float] Second derivative of P with respect to both V and T, [Pa*mol/m^3/K]
Returns
PIP [float] Phase Identification Parameter, [-]
1.1.1.33.15 Notes
Heuristics were used by process simulators before the invent of this parameter.
The criteria for liquid is Pi > 1; for vapor, Pi <= 1.
There is also a solid phase mechanism available. For solids, the Solid Phase Identification Parameter is greater
than 1, like liquids; however, unlike liquids, d2P_dVdT is always >0; it is < 0 for liquids and gases.
1.1.1.33.16 References
[1], [2]
1.1.1.33.17 Examples
Calculated for hexane from the PR EOS at 299 K and 1 MPa (liquid):
1.1.1.33.18 Notes
The criteria for being a solid phase is checked first, which only requires d2P_dVdT. All other inputs are optional
for this reason. However, an exception will be raised if the other inputs become needed to determine if a species
is a liquid or a gas.
1.1.1.33.19 References
[1], [2]
1.1.1.33.20 Examples
Calculated for hexane from the PR EOS at 299 K and 1 MPa (liquid):
thermo.utils.isentropic_exponent(Cp, Cv)
Calculate the isentropic coefficient of a gas, given its constant- pressure and constant-volume heat capacity.
𝐶𝑝
𝑘=
𝐶𝑣
Parameters
Cp [float] Gas heat capacity at constant pressure, [J/mol/K]
Cv [float] Gas heat capacity at constant volume, [J/mol/K]
Returns
k [float] Isentropic exponent, [-]
1.1.1.33.21 References
[1]
1.1.1.33.22 Examples
thermo.utils.Vm_to_rho(Vm, MW)
Calculate the density of a chemical, given its molar volume and molecular weight.
𝑀𝑊
𝜌=
1000 · 𝑉 𝑀
Parameters
Vm [float] Molar volume, [m^3/mol]
MW [float] Molecular weight, [g/mol]
Returns
rho [float] Density, [kg/m^3]
1.1.1.33.23 References
[1]
1.1.1.33.24 Examples
thermo.utils.rho_to_Vm(rho, MW)
Calculate the molar volume of a chemical, given its density and molecular weight.
(︂ )︂−1
1000𝜌
𝑉𝑚 =
𝑀𝑊
Parameters
rho [float] Density, [kg/m^3]
MW [float] Molecular weight, [g/mol]
Returns
Vm [float] Molar volume, [m^3/mol]
1.1.1.33.25 References
[1]
1.1.1.33.26 Examples
thermo.utils.Z(T, P, V)
Calculates the compressibility factor of a gas, given its temperature, pressure, and molar volume.
𝑃𝑉
𝑍=
𝑅𝑇
Parameters
T [float] Temperature, [K]
P [float] Pressure [Pa]
V [float] Molar volume, [m^3/mol]
Returns
Z [float] Compressibility factor, [-]
1.1.1.33.27 References
[1]
1.1.1.33.28 Examples
thermo.utils.B_to_Z(B, T, P)
Calculates the compressibility factor of a gas, given its second virial coefficient.
𝐵𝑃
𝑍 =1+
𝑅𝑇
Parameters
B [float] Second virial coefficient, [m^3/mol]
T [float] Temperature, [K]
P [float] Pressure [Pa]
Returns
Z [float] Compressibility factor, [-]
1.1.1.33.29 Notes
1.1.1.33.30 References
[1]
1.1.1.33.31 Examples
thermo.utils.B_from_Z(Z, T, P)
Calculates the second virial coefficient of a pure species, given the compressibility factor of the gas.
𝑅𝑇 (𝑍 − 1)
𝐵=
𝑃
Parameters
Z [float] Compressibility factor, [-]
T [float] Temperature, [K]
P [float] Pressure [Pa]
Returns
B [float] Second virial coefficient, [m^3/mol]
1.1.1.33.32 Notes
1.1.1.33.33 References
[1]
1.1.1.33.34 Examples
thermo.utils.Z_from_virial_density_form(T, P, *args)
Calculates the compressibility factor of a gas given its temperature, pressure, and molar density-form virial
coefficients. Any number of coefficients is supported.
𝑃𝑉 𝐵 𝐶 𝐷 𝐸
𝑍= = 1 + + 2 + 3 + 4 ...
𝑅𝑇 𝑉 𝑉 𝑉 𝑉
Parameters
T [float] Temperature, [K]
P [float] Pressure, [Pa]
B to Z [float, optional] Virial coefficients, [various]
Returns
Z [float] Compressibility factor at T, P, and with given virial coefficients, [-]
1.1.1.33.35 Notes
For use with B or with B and C or with B and C and D, optimized equations are used to obtain the compressibility
factor directly. If more coefficients are provided, uses numpy’s roots function to solve this equation. This takes
substantially longer as the solution is numerical.
If no virial coefficients are given, returns 1, as per the ideal gas law.
The units of each virial coefficient are as follows, where for B, n=1, and C, n=2, and so on.
(︂ 3 )︂𝑛
m
mol
1.1.1.33.36 References
[1], [2]
1.1.1.33.37 Examples
thermo.utils.Z_from_virial_pressure_form(P, *args)
Calculates the compressibility factor of a gas given its pressure, and pressure-form virial coefficients. Any
number of coefficients is supported.
𝑃𝑣
𝑍= = 1 + 𝐵 ′ 𝑃 + 𝐶 ′ 𝑃 2 + 𝐷′ 𝑃 3 + 𝐸 ′ 𝑃 4 . . .
𝑅𝑇
Parameters
P [float] Pressure, [Pa]
B to Z [float, optional] Pressure form Virial coefficients, [various]
Returns
Z [float] Compressibility factor at P, and with given virial coefficients, [-]
1.1.1.33.38 Notes
Note that although this function does not require a temperature input, it is still dependent on it because the
coefficients themselves normally are regressed in terms of temperature.
The use of this form is less common than the density form. Its coefficients are normally indicated with the “’”
suffix.
If no virial coefficients are given, returns 1, as per the ideal gas law.
The units of each virial coefficient are as follows, where for B, n=1, and C, n=2, and so on.
(︂ )︂𝑛
1
Pa
1.1.1.33.39 References
[1], [2]
1.1.1.33.40 Examples
1.00283753944
thermo.utils.zs_to_ws(zs, MWs)
Converts a list of mole fractions to mass fractions. Requires molecular weights for all species.
𝑧𝑖 𝑀 𝑊𝑖
𝑤𝑖 =
𝑀 𝑊𝑎𝑣𝑔
∑︁
𝑀 𝑊𝑎𝑣𝑔 = 𝑧𝑖 𝑀 𝑊𝑖
𝑖
Parameters
zs [iterable] Mole fractions [-]
MWs [iterable] Molecular weights [g/mol]
Returns
ws [iterable] Mass fractions [-]
1.1.1.33.41 Notes
Does not check that the sums add to one. Does not check that inputs are of the same length.
1.1.1.33.42 Examples
thermo.utils.ws_to_zs(ws, MWs)
Converts a list of mass fractions to mole fractions. Requires molecular weights for all species.
𝑤𝑖
𝑧𝑖 = ∑︀𝑀 𝑊𝑤𝑖𝑖
𝑖 𝑀 𝑊𝑖
Parameters
ws [iterable] Mass fractions [-]
MWs [iterable] Molecular weights [g/mol]
Returns
zs [iterable] Mole fractions [-]
1.1.1.33.43 Notes
Does not check that the sums add to one. Does not check that inputs are of the same length.
1.1.1.33.44 Examples
thermo.utils.zs_to_Vfs(zs, Vms)
Converts a list of mole fractions to volume fractions. Requires molar volumes for all species.
𝑧𝑖 𝑉𝑚,𝑖
Vf𝑖 = ∑︀
𝑖 𝑧𝑖 𝑉𝑚,𝑖
Parameters
zs [iterable] Mole fractions [-]
VMs [iterable] Molar volumes of species [m^3/mol]
Returns
Vfs [list] Molar volume fractions [-]
1.1.1.33.45 Notes
Does not check that the sums add to one. Does not check that inputs are of the same length.
Molar volumes are specified in terms of pure components only. Function works with any phase.
1.1.1.33.46 Examples
thermo.utils.Vfs_to_zs(Vfs, Vms)
Converts a list of mass fractions to mole fractions. Requires molecular weights for all species.
Vf𝑖
𝑉𝑚,𝑖
𝑧𝑖 = ∑︀ Vf𝑖
𝑖 𝑉𝑚,𝑖
Parameters
Vfs [iterable] Molar volume fractions [-]
VMs [iterable] Molar volumes of species [m^3/mol]
Returns
zs [list] Mole fractions [-]
1.1.1.33.47 Notes
Does not check that the sums add to one. Does not check that inputs are of the same length.
Molar volumes are specified in terms of pure components only. Function works with any phase.
1.1.1.33.48 Examples
thermo.utils.none_and_length_check(all_inputs, length=None)
Checks inputs for suitability of use by a mixing rule which requires all inputs to be of the same length and
non-None. A number of variations were attempted for this function; this was found to be the quickest.
Parameters
all_inputs [array-like of array-like] list of all the lists of inputs, [-]
length [int, optional] Length of the desired inputs, [-]
Returns
False/True [bool] Returns True only if all inputs are the same length (or length length) and
none of the inputs contain None [-]
1.1.1.33.49 Notes
1.1.1.33.50 Examples
thermo.utils.normalize(values)
Simple function which normalizes a series of values to be from 0 to 1, and for their sum to add to 1.
𝑥
𝑥=
𝑠𝑢𝑚𝑖 𝑥𝑖
Parameters
values [array-like] array of values
Returns
fractions [array-like] Array of values from 0 to 1
1.1.1.33.51 Notes
1.1.1.33.52 Examples
thermo.utils.mixing_simple(fracs, props)
Simple function calculates a property based on weighted averages of properties. Weights could be mole frac-
tions, volume fractions, mass fractions, or anything else.
∑︁
𝑦= frac𝑖 · prop𝑖
𝑖
Parameters
fracs [array-like] Fractions of a mixture
props: array-like Properties
Returns
prop [value] Calculated property
1.1.1.33.53 Notes
Returns None if any fractions or properties are missing or are not of the same length.
1.1.1.33.54 Examples
thermo.utils.mixing_logarithmic(fracs, props)
Simple function calculates a property based on weighted averages of logarithmic properties.
∑︁
𝑦= frac𝑖 · log(prop𝑖 )
𝑖
Parameters
fracs [array-like] Fractions of a mixture
props: array-like Properties
Returns
prop [value] Calculated property
1.1.1.33.55 Notes
Does not work on negative values. Returns None if any fractions or properties are missing or are not of the same
length.
1.1.1.33.56 Examples
thermo.utils.to_num(values)
Legacy function to turn a list of strings into either floats (if numeric), stripped strings (if not) or None if the
string is empty. Accepts any numeric formatting the float function does.
Parameters
values [list] list of strings
Returns
values [list] list of floats, strings, and None values [-]
1.1.1.33.57 Examples
thermo.utils.CAS2int(i)
Converts CAS number of a compounds from a string to an int. This is helpful when storing large amounts of
CAS numbers, as their strings take up more memory than their numerical representational. All CAS numbers fit
into 64 bit ints.
Parameters
CASRN [string] CASRN [-]
Returns
CASRN [int] CASRN [-]
1.1.1.33.58 Notes
Accomplishes conversion by removing dashes only, and then converting to an int. An incorrect CAS number
will change without exception.
1.1.1.33.59 Examples
>>> CAS2int('7704-34-9')
7704349
thermo.utils.int2CAS(i)
Converts CAS number of a compounds from an int to an string. This is helpful when dealing with int CAS
numbers.
Parameters
CASRN [int] CASRN [-]
Returns
CASRN [string] CASRN [-]
1.1.1.33.60 Notes
Handles CAS numbers with an unspecified number of digits. Does not work on floats.
1.1.1.33.61 Examples
>>> int2CAS(7704349)
'7704-34-9'
𝜎 0.25 𝑀 𝑊
𝑃 =
𝜌𝐿 − 𝜌𝑉
Parameters
MW [float] Molecular weight, [g/mol]
rhol [float] Liquid density [kg/m^3]
rhog [float] Gas density [kg/m^3]
sigma [float] Surface tension, [N/m]
Returns
P [float] Parachor, [N^0.25*m^2.75/mol]
1.1.1.33.62 Notes
1.1.1.33.63 References
1.1.1.33.64 Examples
Calculating Parachor from a known surface tension for methyl isobutyl ketone at 293.15 K
>>> 5623413*5.088443542210164e-05
286.14419565030687
thermo.utils.SG_to_API(SG)
Calculates specific gravity of a liquid given its API, as shown in [1].
141.5
API gravity = − 131.5
SG
Parameters
SG [float] Specific gravity of the fluid at 60 degrees Farenheight [-]
Returns
API [float] API of the fluid [-]
1.1.1.33.65 Notes
1.1.1.33.66 References
1.1.1.33.67 Examples
>>> SG_to_API(0.7365)
60.62491513917175
thermo.utils.API_to_SG(API)
Calculates API of a liquid given its specific gravity, as shown in [1].
141.5
SG at 60∘ F =
API gravity + 131.5
Parameters
API [float] API of the fluid [-]
Returns
SG [float] Specific gravity of the fluid at 60 degrees Farenheight [-]
1.1.1.33.68 Notes
1.1.1.33.69 References
1.1.1.33.70 Examples
>>> API_to_SG(60.62)
0.7365188423901728
thermo.utils.SG(rho, rho_ref=999.0170824078306)
Calculates the specific gravity of a substance with respect to another substance; by default, this is water at 15.6
°C (60 °F). For gases, normally the reference density is 1.2 kg/m^3, that of dry air. However, in general specific
gravity should always be specified with respect to the temperature and pressure of its reference fluid. This can
vary widely.
𝜌
𝑆𝐺 =
𝜌𝑟𝑒𝑓
Parameters
rho [float] Density of the substance, [kg/m^3]
rho_ref [float, optional] Density of the reference substance, [kg/m^3]
Returns
SG [float] Specific gravity of the substance with respect to the reference density, [-]
1.1.1.33.71 Notes
Another common reference point is water at 4°C (rho_ref=999.9748691393087). Specific gravity is often used
by consumers instead of density. The reference for solids is normally the same as for liquids - water.
1.1.1.33.72 Examples
>>> SG(860)
0.8608461408159591
1.1.1.33.73 Notes
Could calculate mole-fraction weighted properties for the two phase regime. Could also implement equilibria
with solid phases.
1.1.1.33.74 Examples
class thermo.utils.TDependentProperty(CASRN=”)
Bases: object
Class for calculating temperature-dependent chemical properties. Should load all data about a given chemical
on creation. As data is often stored in pandas DataFrames, this means that creation is slow. However, the
calculation of a property at a given temperature is very fast. As coefficients are stored in every instance, a user
could alter them from those loaded by default.
Designed to intelligently select which method to use at a given temperature, according to (1) selections made by
the user specifying a list of ordered method preferences and (2) by using a default list of prefered methods.
All methods should have defined criteria for determining if they are valid before calculation, i.e. a mini-
mum and maximum temperature for coefficients to be valid. For constant property values used due to lack
of temperature-dependent data, a short range is normally specified as valid. It is not assumed that any given
method will succeed; for example many expressions are not mathematically valid past the critical point. If
the method raises an exception, the next method is tried until either one method works or all the supposedly
valid have been exhausted. Furthermore, all properties returned by the method are checked by a sanity function
test_property_validity, which has sanity checks for all properties.
Works nicely with tabular data, which is interpolated from if specified. Interpolation is cubic-spline based
if 5 or more points are given, and linearly interpolated with if few points are given. Extrapolation is per-
mitted if tabular_extrapolation_permitted is set to True. For both interpolation and extrap-
olation, a transform may be applied so that a property such as vapor pressure can be interpolated non-
linearly. These are functions or lambda expressions which must be set for the variables interpolation_T,
interpolation_property, and interpolation_property_inv.
Attributes
name [str] The name of the property being calculated
units [str] The units of the property
method [str] The method was which was last used successfully to calculate a property; set only
after the first property calculation.
forced [bool] If True, only user specified methods will be considered; otherwise all methods
will be considered if none of the user specified methods succeed
interpolation_T [function] A function or lambda expression to transform the temperatures of
tabular data for interpolation; e.g. ‘lambda self, T: 1./T’
interpolation_property [function] A function or lambda expression to transform tabular prop-
erty values prior to interpolation; e.g. ‘lambda self, P: log(P)’
interpolation_property_inv [function] A function or property expression to transform interpo-
lated property values from the transform performed by interpolation_property back to their
actual form, e.g. ‘lambda self, P: exp(P)’
1.1.1.33.75 Methods
extrapolate_tabular
T_cached = None
T_dependent_property(T)
Method to calculate the property with sanity checking and without specifying a specific method. se-
lect_valid_methods is used to obtain a sorted list of methods to try. Methods are then tried in order until
one succeeds. The methods are allowed to fail, and their results are checked with test_property_validity.
On success, the used method is stored in the variable method.
If method is set, this method is first checked for validity with test_method_validity for the specified tem-
perature, and if it is valid, it is then used to calculate the property. The result is checked for validity, and
returned if it is valid. If either of the checks fail, the function retrieves a full list of valid methods with
select_valid_methods and attempts them as described above.
If no methods are found which succeed, returns None.
Parameters
T [float] Temperature at which to calculate the property, [K]
Returns
prop [float] Calculated property, [units]
T_dependent_property_derivative(T, order=1)
Method to obtain a derivative of a property with respect to temperature, of a given order. Methods found
valid by select_valid_methods are attempted until a method succeeds. If no methods are valid and succeed,
None is returned.
Calls calculate_derivative internally to perform the actual calculation.
𝑑(property)
derivative =
𝑑𝑇
Parameters
Parameters
T1 [float] Lower limit of integration, [K]
T2 [float] Upper limit of integration, [K]
method [str] Method for which to find the integral
Returns
integral [float] Calculated integral of the property over the given range, [units*K]
T_dependent_property_integral_over_T(T1, T2)
Method to calculate the integral of a property over temperature with respect to temperature, using a spec-
ified method. Methods found valid by select_valid_methods are attempted until a method succeeds. If no
methods are valid and succeed, None is returned.
Calls calculate_integral_over_T internally to perform the actual calculation.
∫︁ 𝑇2
property
integral = 𝑑𝑇
𝑇1 𝑇
Parameters
T1 [float] Lower limit of integration, [K]
T2 [float] Upper limit of integration, [K]
method [str] Method for which to find the integral
Returns
integral [float] Calculated integral of the property over the given range, [units]
calculate(T, method)
Method to calculate a property with a specified method, with no validity checking or error handling. Demo
function for testing only; must be implemented according to the methods available for each individual
method. Include the interpolation call here.
Parameters
T [float] Temperature at which to calculate the property, [K]
method [str] Method name to use
Returns
prop [float] Calculated property, [units]
interpolate(T, name)
Method to perform interpolation on a given tabular data set previously added via set_tabular_data.
This method will create the interpolators the first time it is used on a property set, and store them for quick
future use.
Interpolation is cubic-spline based if 5 or more points are available, and linearly interpolated if not. Ex-
trapolation is always performed linearly. This function uses the transforms interpolation_T, interpola-
tion_property, and interpolation_property_inv if set. If any of these are changed after the interpolators
were first created, new interpolators are created with the new transforms. All interpolation is performed
via the interp1d function.
Parameters
T [float] Temperature at which to interpolate the property, [K]
name [str] The name assigned to the tabular data set
Returns
prop [float] Calculated property, [units]
interpolation_T = None
interpolation_property = None
interpolation_property_inv = None
load_all_methods()
Method to load all data, and set all_methods based on the available data and properties. Demo function for
testing only; must be implemented according to the methods available for each individual method.
method = None
name = 'Property name'
plot_T_dependent_property(Tmin=None, Tmax=None, methods=[], pts=50, only_valid=True,
order=0)
Method to create a plot of the property vs temperature according to either a specified list of methods,
or user methods (if set), or all methods. User-selectable number of points, and temperature range. If
only_valid is set,‘test_method_validity‘ will be used to check if each temperature in the specified range is
valid, and test_property_validity will be used to test the answer, and the method is allowed to fail; only
the valid points will be plotted. Otherwise, the result will be calculated and displayed as-is. This will not
suceed if the method fails.
Parameters
Tmin [float] Minimum temperature, to begin calculating the property, [K]
Tmax [float] Maximum temperature, to stop calculating the property, [K]
methods [list, optional] List of methods to consider
pts [int, optional] A list of points to calculate the property at; if Tmin to Tmax covers a wide
range of method validities, only a few points may end up calculated for a given method so
this may need to be large
only_valid [bool] If True, only plot successful methods and calculated properties, and han-
dle errors; if False, attempt calculation without any checking and use methods outside their
bounds
property_max = 10000.0
property_min = 0
ranked_methods = []
select_valid_methods(T)
Method to obtain a sorted list of methods which are valid at T according to test_method_validity. Con-
siders either only user methods if forced is True, or all methods. User methods are first tested according
to their listed order, and unless forced is True, then all methods are tested and sorted by their order in
ranked_methods.
Parameters
T [float] Temperature at which to test methods, [K]
Returns
sorted_valid_methods [list] Sorted lists of methods valid at T according to
test_method_validity
set_tabular_data(Ts, properties, name=None, check_properties=True)
Method to set tabular data to be used for interpolation. Ts must be in increasing order. If no name is given,
data will be assigned the name ‘Tabular data series #x’, where x is the number of previously added tabular
data series. The name is added to all methods and iserted at the start of user methods,
Parameters
Ts [array-like] Increasing array of temperatures at which properties are specified, [K]
properties [array-like] List of properties at Ts, [units]
name [str, optional] Name assigned to the data
check_properties [bool] If True, the properties will be checked for validity with
test_property_validity and raise an exception if any are not valid
set_user_methods(user_methods, forced=False)
Method used to select certain property methods as having a higher priority than were set by default. If
forced is true, then methods which were not specified are excluded from consideration.
As a side effect, method is removed to ensure than the new methods will be used in calculations afterwards.
An exception is raised if any of the methods specified aren’t available for the chemical. An exception is
raised if no methods are provided.
Parameters
user_methods [str or list] Methods by name to be considered or prefered
forced [bool, optional] If True, only the user specified methods will ever be considered; if
False other methods will be considered if no user methods suceed
solve_prop(goal, reset_method=True)
Method to solve for the temperature at which a property is at a specified value. T_dependent_property is
used to calculate the value of the property as a function of temperature; if reset_method is True, the best
method is used at each temperature as the solver seeks a solution. This slows the solution moderately.
Checks the given property value with test_property_validity first and raises an exception if it is not valid.
Requires that Tmin and Tmax have been set to know what range to search within.
Search is performed with the brenth solver from SciPy.
Parameters
goal [float] Propoerty value desired, [units]
reset_method [bool] Whether or not to reset the method as the solver searches
Returns
T [float] Temperature at which the property is the specified value [K]
tabular_extrapolation_permitted = True
test_method_validity(T, method)
Method to test the validity of a specified method for a given temperature. Demo function for testing
only; must be implemented according to the methods available for each individual method. Include the
interpolation check here.
Parameters
T [float] Temperature at which to determine the validity of the method, [K]
method [str] Method name to use
Returns
validity [bool] Whether or not a specifid method is valid
classmethod test_property_validity(prop)
Method to test the validity of a calculated property. Normally, this method is used by a given property
class, and has maximum and minimum limits controlled by the variables property_min and property_max.
Parameters
prop [float] property to be tested, [units]
Returns
validity [bool] Whether or not a specifid method is valid
units = 'Property units'
class thermo.utils.TPDependentProperty(CASRN=”)
Bases: thermo.utils.TDependentProperty
Class for calculating temperature and pressure dependent chemical properties.
Attributes
TP_cached
T_cached
interpolation_P
interpolation_T
interpolation_property
interpolation_property_inv
method
method_P
1.1.1.33.76 Methods
TP_or_T_dependent_property
extrapolate_tabular
TP_cached = None
TP_dependent_property(T, P)
Method to calculate the property with sanity checking and without specifying a specific method. se-
lect_valid_methods_P is used to obtain a sorted list of methods to try. Methods are then tried in order until
one succeeds. The methods are allowed to fail, and their results are checked with test_property_validity.
On success, the used method is stored in the variable method_P.
If method_P is set, this method is first checked for validity with test_method_validity_P for the specified
temperature, and if it is valid, it is then used to calculate the property. The result is checked for validity,
and returned if it is valid. If either of the checks fail, the function retrieves a full list of valid methods with
select_valid_methods_P and attempts them as described above.
If no methods are found which succeed, returns None.
Parameters
T [float] Temperature at which to calculate the property, [K]
P [float] Pressure at which to calculate the property, [Pa]
Returns
prop [float] Calculated property, [units]
TP_dependent_property_derivative_P(T, P, order=1)
Method to calculate a derivative of a temperature and pressure dependent property with respect to pressure
at constant temperature, of a given order. Methods found valid by select_valid_methods_P are attempted
until a method succeeds. If no methods are valid and succeed, None is returned.
Calls calculate_derivative_P internally to perform the actual calculation.
𝑑(property)
derivative = |𝑇
𝑑𝑃
Parameters
T [float] Temperature at which to calculate the derivative, [K]
𝑑(property)
derivative = |𝑃
𝑑𝑇
Parameters
T [float] Temperature at which to calculate the derivative, [K]
P [float] Pressure at which to calculate the derivative, [Pa]
order [int] Order of the derivative, >= 1
Returns
d_prop_d_T_at_P [float] Calculated derivative property, [units/K^order]
TP_or_T_dependent_property(T, P)
calculate_derivative_P(P, T, method, order=1)
Method to calculate a derivative of a temperature and pressure dependent property with respect to pressure
at constant temperature, of a given order using a specified method. Uses SciPy’s derivative function, with
a delta of 0.01 Pa and a number of points equal to 2*order + 1.
This method can be overwritten by subclasses who may perfer to add analytical methods for some or all
methods as this is much faster.
If the calculation does not succeed, returns the actual error encountered.
Parameters
P [float] Pressure at which to calculate the derivative, [Pa]
T [float] Temperature at which to calculate the derivative, [K]
method [str] Method for which to find the derivative
order [int] Order of the derivative, >= 1
Returns
d_prop_d_P_at_T [float] Calculated derivative property at constant temperature,
[units/Pa^order]
calculate_derivative_T(T, P, method, order=1)
Method to calculate a derivative of a temperature and pressure dependent property with respect to tem-
perature at constant pressure, of a given order using a specified method. Uses SciPy’s derivative function,
with a delta of 1E-6 K and a number of points equal to 2*order + 1.
This method can be overwritten by subclasses who may perfer to add analytical methods for some or all
methods as this is much faster.
If the calculation does not succeed, returns the actual error encountered.
Parameters
T [float] Temperature at which to calculate the derivative, [K]
P [float] Pressure at which to calculate the derivative, [Pa]
method [str] Method for which to find the derivative
order [int] Order of the derivative, >= 1
Returns
d_prop_d_T_at_P [float] Calculated derivative property at constant pressure,
[units/K^order]
forced_P = False
interpolate_P(T, P, name)
Method to perform interpolation on a given tabular data set previously added via set_tabular_data_P. This
method will create the interpolators the first time it is used on a property set, and store them for quick
future use.
Interpolation is cubic-spline based if 5 or more points are available, and linearly interpolated if not. Extrap-
olation is always performed linearly. This function uses the transforms interpolation_T, interpolation_P,
interpolation_property, and interpolation_property_inv if set. If any of these are changed after the in-
terpolators were first created, new interpolators are created with the new transforms. All interpolation is
performed via the interp2d function.
Parameters
T [float] Temperature at which to interpolate the property, [K]
T [float] Pressure at which to interpolate the property, [Pa]
name [str] The name assigned to the tabular data set
Returns
prop [float] Calculated property, [units]
interpolation_P = None
method_P = None
plot_TP_dependent_property(Tmin=None, Tmax=None, Pmin=None, Pmax=None, meth-
ods_P=[], pts=15, only_valid=True)
Method to create a plot of the property vs temperature and pressure according to either a specified list of
methods, or user methods (if set), or all methods. User-selectable number of points for each variable. If
only_valid is set,‘test_method_validity_P‘ will be used to check if each condition in the specified range is
valid, and test_property_validity will be used to test the answer, and the method is allowed to fail; only
the valid points will be plotted. Otherwise, the result will be calculated and displayed as-is. This will not
suceed if the any method fails for any point.
Parameters
Tmin [float] Minimum temperature, to begin calculating the property, [K]
Tmax [float] Maximum temperature, to stop calculating the property, [K]
Pmin [float] Minimum pressure, to begin calculating the property, [Pa]
Pmax [float] Maximum pressure, to stop calculating the property, [Pa]
methods_P [list, optional] List of methods to consider
pts [int, optional] A list of points to calculate the property at for both temperature and pres-
sure; pts^2 points will be calculated.
only_valid [bool] If True, only plot successful methods and calculated properties, and han-
dle errors; if False, attempt calculation without any checking and use methods outside their
bounds
plot_isobar(P, Tmin=None, Tmax=None, methods_P=[], pts=50, only_valid=True)
Method to create a plot of the property vs temperature at a specific pressure according to either a specified
list of methods, or user methods (if set), or all methods. User-selectable number of points, and temperature
range. If only_valid is set,‘test_method_validity_P‘ will be used to check if each condition in the specified
range is valid, and test_property_validity will be used to test the answer, and the method is allowed to fail;
only the valid points will be plotted. Otherwise, the result will be calculated and displayed as-is. This will
not suceed if the method fails.
Parameters
P [float] Pressure for the isobar, [Pa]
Tmin [float] Minimum temperature, to begin calculating the property, [K]
Tmax [float] Maximum temperature, to stop calculating the property, [K]
methods_P [list, optional] List of methods to consider
pts [int, optional] A list of points to calculate the property at; if Tmin to Tmax covers a wide
range of method validities, only a few points may end up calculated for a given method so
this may need to be large
only_valid [bool] If True, only plot successful methods and calculated properties, and han-
dle errors; if False, attempt calculation without any checking and use methods outside their
bounds
plot_isotherm(T, Pmin=None, Pmax=None, methods_P=[], pts=50, only_valid=True)
Method to create a plot of the property vs pressure at a specified temperature according to either a specified
list of methods, or the user methods (if set), or all methods. User-selectable number of points, and pressure
range. If only_valid is set, test_method_validity_P will be used to check if each condition in the specified
range is valid, and test_property_validity will be used to test the answer, and the method is allowed to fail;
only the valid points will be plotted. Otherwise, the result will be calculated and displayed as-is. This will
not suceed if the method fails.
Parameters
T [float] Temperature at which to create the plot, [K]
Pmin [float] Minimum pressure, to begin calculating the property, [Pa]
Pmax [float] Maximum pressure, to stop calculating the property, [Pa]
methods_P [list, optional] List of methods to consider
pts [int, optional] A list of points to calculate the property at; if Pmin to Pmax covers a wide
range of method validities, only a few points may end up calculated for a given method so
this may need to be large
only_valid [bool] If True, only plot successful methods and calculated properties, and han-
dle errors; if False, attempt calculation without any checking and use methods outside their
bounds
select_valid_methods_P(T, P)
Method to obtain a sorted list methods which are valid at T according to test_method_validity. Consid-
ers either only user methods if forced is True, or all methods. User methods are first tested according
to their listed order, and unless forced is True, then all methods are tested and sorted by their order in
ranked_methods.
Parameters
1.1.1.33.77 Methods
composition of a given order using a specified method. Uses SciPy’s derivative function, with a delta of
1E-6 K and a number of points equal to 2*order + 1.
This method can be overwritten by subclasses who may perfer to add analytical methods for some or all
methods as this is much faster.
If the calculation does not succeed, returns the actual error encountered.
Parameters
T [float] Temperature at which to calculate the derivative, [K]
P [float] Pressure at which to calculate the derivative, [Pa]
zs [list[float]] Mole fractions of all species in the mixture, [-]
ws [list[float]] Weight fractions of all species in the mixture, [-]
method [str] Method for which to find the derivative
order [int] Order of the derivative, >= 1
Returns
d_prop_d_T_at_P [float] Calculated derivative property at constant pressure,
[units/K^order]
forced = False
method = None
mixture_property(T, P, zs, ws)
Method to calculate the property with sanity checking and without specifying a specific method. se-
lect_valid_methods is used to obtain a sorted list of methods to try. Methods are then tried in order until
one succeeds. The methods are allowed to fail, and their results are checked with test_property_validity.
On success, the used method is stored in the variable method.
If method is set, this method is first checked for validity with test_method_validity for the specified tem-
perature, and if it is valid, it is then used to calculate the property. The result is checked for validity, and
returned if it is valid. If either of the checks fail, the function retrieves a full list of valid methods with
select_valid_methods and attempts them as described above.
If no methods are found which succeed, returns None.
Parameters
T [float] Temperature at which to calculate the property, [K]
P [float] Pressure at which to calculate the property, [Pa]
zs [list[float]] Mole fractions of all species in the mixture, [-]
ws [list[float]] Weight fractions of all species in the mixture, [-]
Returns
prop [float] Calculated property, [units]
name = 'Test'
plot_isobar(P, zs, ws, Tmin=None, Tmax=None, methods=[], pts=50, only_valid=True)
Method to create a plot of the property vs temperature at a specific pressure and composition according
to either a specified list of methods, or user methods (if set), or all methods. User-selectable number of
points, and temperature range. If only_valid is set,‘test_method_validity‘ will be used to check if each
condition in the specified range is valid, and test_property_validity will be used to test the answer, and the
method is allowed to fail; only the valid points will be plotted. Otherwise, the result will be calculated and
displayed as-is. This will not suceed if the method fails.
Parameters
P [float] Pressure for the isobar, [Pa]
zs [list[float]] Mole fractions of all species in the mixture, [-]
ws [list[float]] Weight fractions of all species in the mixture, [-]
Tmin [float] Minimum temperature, to begin calculating the property, [K]
Tmax [float] Maximum temperature, to stop calculating the property, [K]
methods [list, optional] List of methods to consider
pts [int, optional] A list of points to calculate the property at; if Tmin to Tmax covers a wide
range of method validities, only a few points may end up calculated for a given method so
this may need to be large
only_valid [bool] If True, only plot successful methods and calculated properties, and han-
dle errors; if False, attempt calculation without any checking and use methods outside their
bounds
plot_isotherm(T, zs, ws, Pmin=None, Pmax=None, methods=[], pts=50, only_valid=True)
Method to create a plot of the property vs pressure at a specified temperature and composition according
to either a specified list of methods, or the user methods (if set), or all methods. User-selectable
number of points, and pressure range. If only_valid is set,
test_method_validity will be used to check if each condition in the specified range is valid, and
test_property_validity will be used to test the answer, and the method is allowed to fail; only the valid
points will be plotted. Otherwise, the result will be calculated and displayed as-is. This will not suceed if
the method fails.
Parameters
T [float] Temperature at which to create the plot, [K]
zs [list[float]] Mole fractions of all species in the mixture, [-]
ws [list[float]] Weight fractions of all species in the mixture, [-]
Pmin [float] Minimum pressure, to begin calculating the property, [Pa]
Pmax [float] Maximum pressure, to stop calculating the property, [Pa]
methods [list, optional] List of methods to consider
pts [int, optional] A list of points to calculate the property at; if Pmin to Pmax covers a wide
range of method validities, only a few points may end up calculated for a given method so
this may need to be large
only_valid [bool] If True, only plot successful methods and calculated properties, and han-
dle errors; if False, attempt calculation without any checking and use methods outside their
bounds
plot_property(zs, ws, Tmin=None, Tmax=None, Pmin=100000.0, Pmax=1000000.0, methods=[],
pts=15, only_valid=True)
Method to create a plot of the property vs temperature and pressure according to either a specified list of
methods, or user methods (if set), or all methods. User-selectable number of points for each variable. If
only_valid is set,‘test_method_validity‘ will be used to check if each condition in the specified range is
valid, and test_property_validity will be used to test the answer, and the method is allowed to fail; only
the valid points will be plotted. Otherwise, the result will be calculated and displayed as-is. This will not
suceed if the any method fails for any point.
Parameters
Tmin [float] Minimum temperature, to begin calculating the property, [K]
Tmax [float] Maximum temperature, to stop calculating the property, [K]
Pmin [float] Minimum pressure, to begin calculating the property, [Pa]
Pmax [float] Maximum pressure, to stop calculating the property, [Pa]
methods [list, optional] List of methods to consider
pts [int, optional] A list of points to calculate the property at for both temperature and pres-
sure; pts^2 points will be calculated.
only_valid [bool] If True, only plot successful methods and calculated properties, and han-
dle errors; if False, attempt calculation without any checking and use methods outside their
bounds
prop_cached = None
property_derivative_P(T, P, zs, ws, order=1)
Method to calculate a derivative of a mixture property with respect to pressure at constant temperature and
composition, of a given order. Methods found valid by select_valid_methods are attempted until a method
succeeds. If no methods are valid and succeed, None is returned.
Calls calculate_derivative_P internally to perform the actual calculation.
𝑑(property)
derivative = |𝑇,𝑧
𝑑𝑃
Parameters
T [float] Temperature at which to calculate the derivative, [K]
P [float] Pressure at which to calculate the derivative, [Pa]
zs [list[float]] Mole fractions of all species in the mixture, [-]
ws [list[float]] Weight fractions of all species in the mixture, [-]
order [int] Order of the derivative, >= 1
Returns
d_prop_d_P_at_T [float] Calculated derivative property, [units/Pa^order]
property_derivative_T(T, P, zs, ws, order=1)
Method to calculate a derivative of a mixture property with respect to temperature at constant pressure and
composition, of a given order. Methods found valid by select_valid_methods are attempted until a method
succeeds. If no methods are valid and succeed, None is returned.
Calls calculate_derivative_T internally to perform the actual calculation.
𝑑(property)
derivative = |𝑃,𝑧
𝑑𝑇
Parameters
T [float] Temperature at which to calculate the derivative, [K]
P [float] Pressure at which to calculate the derivative, [Pa]
zs [list[float]] Mole fractions of all species in the mixture, [-]
1.1.1.33.78 Examples
10 random similar variables, all of them matching to within 1E-5, allowing up to half to match up to 1E-6.
˓→0103707421519949e-10]
˓→010374130526363e-10]
thermo.utils.horner(coeffs, x)
Simple function to calculate the value of a polynomial at a specific value of x, using the Horner evaluation
scheme
Parameters
coeffs [array-like] Coefficients, where coeffs[0] is multiplied by the largest power of x, and
coeffs[-1] is added to the sum with no multiplication.
x [float] Value to evaluate the polynomial at
Returns
y [float] Evaluated result
1.1.1.33.79 Notes
1.1.1.33.80 Examples
>>> horner([1,2,3], 3)
18
thermo.utils.polylog2(x)
Simple function to calculate PolyLog(2, x) from ranges 0 <= x <= 1, with relative error guaranteed to be < 1E-7
from 0 to 0.99999. This is a Pade approximation, with three coefficient sets with splits at 0.7 and 0.99. An
exception is raised if x is under 0 or above 1.
Parameters
x [float] Value to evaluate PolyLog(2, x) T
Returns
y [float] Evaluated result
1.1.1.33.81 Notes
Efficient (2-4 microseconds). No implementation of this function exists in SciPy. Derived with
mpmath’s pade approximation. Required for the entropy integral of thermo.heat_capacity.
Zabransky_quasi_polynomial.
1.1.1.33.82 Examples
>>> polylog2(0.5)
0.5822405264516294
thermo.utils.acos(x)
Return the arc cosine (measured in radians) of x.
thermo.utils.acosh(x)
Return the inverse hyperbolic cosine of x.
thermo.utils.asin(x)
Return the arc sine (measured in radians) of x.
thermo.utils.asinh(x)
Return the inverse hyperbolic sine of x.
thermo.utils.atan(x)
Return the arc tangent (measured in radians) of x.
thermo.utils.atan2(y, x)
Return the arc tangent (measured in radians) of y/x. Unlike atan(y/x), the signs of both x and y are considered.
thermo.utils.atanh(x)
Return the inverse hyperbolic tangent of x.
thermo.utils.ceil(x)
Return the ceiling of x as an Integral. This is the smallest integer >= x.
thermo.utils.copysign(x, y)
Return a float with the magnitude (absolute value) of x but the sign of y. On platforms that support signed zeros,
copysign(1.0, -0.0) returns -1.0.
thermo.utils.cos(x)
Return the cosine of x (measured in radians).
thermo.utils.cosh(x)
Return the hyperbolic cosine of x.
thermo.utils.degrees(x)
Convert angle x from radians to degrees.
thermo.utils.exp(x)
Return e raised to the power of x.
thermo.utils.fabs(x)
Return the absolute value of the float x.
thermo.utils.factorial(x) → Integral
Find x!. Raise a ValueError if x is negative or non-integral.
thermo.utils.floor(x)
Return the floor of x as an Integral. This is the largest integer <= x.
thermo.utils.fmod(x, y)
Return fmod(x, y), according to platform C. x % y may differ.
thermo.utils.frexp(x)
Return the mantissa and exponent of x, as pair (m, e). m is a float and e is an int, such that x = m * 2.**e. If x is
0, m and e are both 0. Else 0.5 <= abs(m) < 1.0.
thermo.utils.fsum(iterable)
Return an accurate floating point sum of values in the iterable. Assumes IEEE-754 floating point arithmetic.
thermo.utils.hypot(x, y)
Return the Euclidean distance, sqrt(x*x + y*y).
thermo.utils.isinf(x) → bool
Return True if x is a positive or negative infinity, and False otherwise.
thermo.utils.isnan(x) → bool
Return True if x is a NaN (not a number), and False otherwise.
thermo.utils.ldexp(x, i)
Return x * (2**i).
thermo.utils.log(x[, base ])
Return the logarithm of x to the given base. If the base not specified, returns the natural logarithm (base e) of x.
thermo.utils.log10(x)
Return the base 10 logarithm of x.
thermo.utils.log1p(x)
Return the natural logarithm of 1+x (base e). The result is computed in a way which is accurate for x near zero.
thermo.utils.modf(x)
Return the fractional and integer parts of x. Both results carry the sign of x and are floats.
thermo.utils.pow(x, y)
Return x**y (x to the power of y).
thermo.utils.radians(x)
Convert angle x from degrees to radians.
thermo.utils.sin(x)
Return the sine of x (measured in radians).
thermo.utils.sinh(x)
Return the hyperbolic sine of x.
thermo.utils.sqrt(x)
Return the square root of x.
thermo.utils.tan(x)
Return the tangent of x (measured in radians).
thermo.utils.tanh(x)
Return the hyperbolic tangent of x.
thermo.utils.trunc(x:Real) → Integral
Truncates x to the nearest Integral toward 0. Uses the __trunc__ magic method.
thermo.vapor_pressure.Antoine(T, A, B, C, base=10.0)
Calculates vapor pressure of a chemical using the Antoine equation. Parameters A, B, and C are chemical-
dependent. Parameters can be found in numerous sources; however units of the coefficients used vary. Originally
proposed by Antoine (1888) [2].
𝐵
logbase 𝑃 sat = 𝐴 −
𝑇 +𝐶
Parameters
T [float] Temperature of fluid, [K]
A, B, C [floats] Regressed coefficients for Antoine equation for a chemical
Returns
Psat [float] Vapor pressure calculated with coefficients [Pa]
Other Parameters
Base [float] Optional base of logarithm; 10 by default
1.1.1.34.1 Notes
Assumes coefficients are for calculating vapor pressure in Pascal. Coefficients should be consistent with input
temperatures in Kelvin; however, if both the given temperature and units are specific to degrees Celcius, the
result will still be correct.
Converting units in input coefficients:
• ln to log10: Divide A and B by ln(10)=2.302585 to change parameters for a ln equation to a log10 equation.
• log10 to ln: Multiply A and B by ln(10)=2.302585 to change parameters for a log equation to a ln equation.
• mmHg to Pa: Add log10(101325/760)= 2.1249 to A.
• kPa to Pa: Add log_{base}(1000)= 6.908 to A for log(base)
• °C to K: Subtract 273.15 from C only!
1.1.1.34.2 References
1.1.1.34.3 Examples
Oxygen at 94.91 K, with coefficients from [3] in units of °C, mmHg, log10, showing the conversion of coeffi-
cients A (mmHg to Pa) and C (°C to K)
𝑎𝜏 + 𝑏𝜏 1.5 + 𝑐𝜏 3 + 𝑑𝜏 6
ln 𝑃 𝑠𝑎𝑡 = ln 𝑃𝑐 +
𝑇𝑟
𝑇
𝜏 =1−
𝑇𝑐
Parameters
T [float] Temperature of fluid, [K]
Tc [float] Critical temperature, [K]
Pc [float] Critical pressure, [Pa]
a, b, c, d [floats] Parameters for wagner equation. Specific to each chemical. [-]
Returns
Psat [float] Vapor pressure at T [Pa]
1.1.1.34.4 Notes
1.1.1.34.5 References
[1], [2]
1.1.1.34.6 Examples
𝑎𝜏 + 𝑏𝜏 1.5 + 𝑐𝜏 2.5 + 𝑑𝜏 5
ln 𝑃 𝑠𝑎𝑡 = ln 𝑃𝑐 +
𝑇𝑟
𝑇
𝜏 =1−
𝑇𝑐
Parameters
T [float] Temperature of fluid, [K]
Tc [float] Critical temperature, [K]
Pc [float] Critical pressure, [Pa]
a, b, c, d [floats] Parameters for wagner equation. Specific to each chemical. [-]
Returns
Psat [float] Vapor pressure at T [Pa]
1.1.1.34.7 Notes
1.1.1.34.8 References
[1], [2]
1.1.1.34.9 Examples
Parameters
T [float] Temperature of fluid, [K]
A, B, C, n, E, F [floats] Regressed coefficients for the Antoine Extended (TRC) equation, spe-
cific for each chemical, [-]
Returns
Psat [float] Vapor pressure calculated with coefficients [Pa]
1.1.1.34.10 Notes
Assumes coefficients are for calculating vapor pressure in Pascal. Coefficients should be consistent with input
temperatures in Kelvin;
1.1.1.34.11 References
[1]
1.1.1.34.12 Examples
1.1.1.34.13 Notes
1.1.1.34.14 References
1.1.1.34.15 Methods
extrapolate_tabular
interpolation_T
interpolation_property
interpolation_property_inv
Tmax = None
Maximum temperature at which no method can calculate vapor pressure above; by definition the critical
point.
Tmin = None
Minimum temperature at which no method can calculate vapor pressure under.
all_methods = None
Set of all methods available for a given CASRN and properties; filled by load_all_methods.
calculate(T, method)
Method to calculate vapor pressure of a fluid at temperature T with a given method.
This method has no exception handling; see T_dependent_property for that.
Parameters
It is not guaranteed that a method will work or give an accurate prediction simply because this method
considers the method valid.
Parameters
T [float] Temperature at which to test the method, [K]
method [str] Name of the method to test
Returns
validity [bool] Whether or not a method is valid
units = 'Pa'
user_methods = None
user_methods, list: Stored methods which were specified by the user in a ranked order of preference; set
by T_dependent_property.
thermo.vapor_pressure.boiling_critical_relation(T, Tb, Tc, Pc)
Calculates vapor pressure of a fluid at arbitrary temperatures using a CSP relationship as in [1]; requires a
chemical’s critical temperature and pressure as well as boiling point.
The vapor pressure is given by:
(︂ )︂
1
ln 𝑃𝑟𝑠𝑎𝑡 = ℎ 1 −
𝑇𝑟
ln(𝑃𝑐 /101325)
ℎ = 𝑇𝑏𝑟
1 − 𝑇𝑏𝑟
Parameters
T [float] Temperature of fluid [K]
Tb [float] Boiling temperature of fluid [K]
Tc [float] Critical temperature of fluid [K]
Pc [float] Critical pressure of fluid [Pa]
Returns
Psat [float] Vapor pressure at T [Pa]
1.1.1.34.16 Notes
Units are Pa. Formulation makes intuitive sense; a logarithmic form of interpolation.
1.1.1.34.17 References
[1]
1.1.1.34.18 Examples
1.1.1.34.19 Notes
This equation appears in [1] in expanded form. The reduced pressure form of the equation ensures predicted
vapor pressure cannot surpass the critical pressure.
1.1.1.34.20 References
[1], [2]
1.1.1.34.21 Examples
Parameters
T [float] Temperature of fluid [K]
Tc [float] Critical temperature of fluid [K]
Pc [float] Critical pressure of fluid [Pa]
omega [float] Acentric factor [-]
Returns
Psat [float] Vapor pressure at T [Pa]
1.1.1.34.22 Notes
1.1.1.34.23 References
[1], [2]
1.1.1.34.24 Examples
𝑎𝜏 + 𝑏𝜏 1.5 + 𝑐𝜏 3 + 𝑑𝜏 6
ln(𝑃 𝑠𝑎𝑡 /𝑃𝑐 ) =
1−𝜏
𝑎 = −6.1559 − 4.0855𝜔
𝑏 = 1.5737 − 1.0540𝜔 − 4.4365 × 10−3 𝑑
𝑐 = −0.8747 − 7.8874𝜔
1
𝑑=
−0.4893 − 0.9912𝜔 + 3.1551𝜔 2
𝑇
𝜏 =1−
𝑇𝑐
Parameters
T [float] Temperature of fluid [K]
Tc [float] Critical temperature of fluid [K]
Pc [float] Critical pressure of fluid [Pa]
omega [float] Acentric factor [-]
Returns
1.1.1.34.25 Notes
[1] found an average error of 6.06% on 94 compounds and 1106 data points.
1.1.1.34.26 References
[1]
1.1.1.34.27 Examples
1.1.1.34.28 Notes
a[1-12] are as follows: 6.83377, -5.76051, 0.90654, -1.16906, 5.32034, -28.1460, -58.0352, 23.57466,
18.19967, 16.33839, 65.6995, -35.9739.
For a claimed fluid not included in the regression, R128, the claimed AARD was 0.428%. A re-calculation using
200 data points from 125.45 K to 343.90225 K evenly spaced by 1.09775 K as generated by NIST Webbook
April 2016 produced an AARD of 0.644%. It is likely that the author’s regression used more precision in its
coefficients than was shown here. Nevertheless, the function is reproduced as shown in [1].
For Tc=808 K, Pc=1100000 Pa, omega=1.1571, this function actually declines after 770 K.
1.1.1.34.29 References
[1]
1.1.1.34.30 Examples
1.1.1.35.1 Notes
Analytical models for derivatives and integrals are available for orders -2, -1, 1, 2, and 3, all obtained with
SymPy.
For first temperature derivative of B:
𝑑𝐵 (0) 33𝑇 𝑐 277𝑇 𝑐2 363𝑇 𝑐3
= 2
+ 3
+
𝑑𝑇 100𝑇 1000𝑇 10000𝑇 4
(1) 2 3
𝑑𝐵 23𝑇 𝑐 𝑇 𝑐 291𝑇 𝑐 73𝑇 𝑐8
=− + + +
𝑑𝑇 50𝑇 2 𝑇3 1000𝑇 4 1250𝑇 9
For the second temperature derivative of B:
𝑑2 𝐵 (0) 1385𝑇 𝑐 242𝑇 𝑐2
(︂ )︂
3𝑇 𝑐
=− 1100 + +
𝑑𝑇 2 5000𝑇 3 𝑇 𝑇2
𝑑2 𝐵 (1) 𝑇 𝑐 23 3𝑇 𝑐 291𝑇 𝑐2 657𝑇 𝑐7
(︂ )︂
= − − −
𝑑𝑇 2 𝑇 3 25 𝑇 250𝑇 2 1250𝑇 7
1.1.1.35.2 References
[1]
1.1.1.35.3 Examples
𝐵𝑟 = 𝐵 (0) + 𝜔𝐵 (1)
0.422
𝐵 (0) = 0.083 + 1.6
𝑇𝑟
(1) 0.172
𝐵 = 0.139 − 4.2
𝑇𝑟
Parameters
T [float] Temperature of fluid [K]
Tc [float] Critical temperature of fluid [K]
Pc [float] Critical pressure of the fluid [Pa]
omega [float] Acentric factor for fluid, [-]
order [int, optional] Order of the calculation. 0 for the calculation of B itself; for 1/2/3, the
first/second/third derivative of B with respect to temperature; and for -1/-2, the first/second
indefinite integral of B with respect to temperature. No other integrals or derivatives are
implemented, and an exception will be raised if any other order is given.
Returns
B [float] Second virial coefficient in density form or its integral/derivative if specified, [m^3/mol
or m^3/mol/K^order]
1.1.1.35.4 Notes
Analytical models for derivatives and integrals are available for orders -2, -1, 1, 2, and 3, all obtained with
SymPy.
For first temperature derivative of B:
𝑑𝐵 (0) 0.6752
= (︀ )︀1.6
𝑑𝑇 𝑇 𝑇𝑇𝑐
𝑑𝐵 (1) 0.7224
= (︀ )︀4.2
𝑑𝑇 𝑇 𝑇𝑇𝑐
𝑑2 𝐵 (0) 1.75552
2
= − (︀ )︀1.6
𝑑𝑇 𝑇2 𝑇 𝑇𝑐
2 (1)
𝑑 𝐵 3.75648
=− (︀ 𝑇 )︀4.2
𝑑𝑇 2 𝑇2 𝑇𝑐
𝑑3 𝐵 (0) 6.319872
3
= (︀ )︀1.6
𝑑𝑇 𝑇 3 𝑇𝑇𝑐
𝑑3 𝐵 (1) 23.290176
= (︀ )︀4.2
𝑑𝑇 3 𝑇 3 𝑇𝑇𝑐
1.1.1.35.5 References
[1]
1.1.1.35.6 Examples
Example is from [1], p. 93, and matches the result exactly, for isobutane.
𝐵𝑟 = 𝐵 (0) + 𝜔𝐵 (1)
𝐵 (0) = 0.1445 − 0.330/𝑇𝑟 − 0.1385/𝑇𝑟2 − 0.0121/𝑇𝑟3 − 0.000607/𝑇𝑟8
𝐵 (1) = 0.0637 + 0.331/𝑇𝑟2 − 0.423/𝑇𝑟3 − 0.423/𝑇𝑟3 − 0.008/𝑇𝑟8
Parameters
T [float] Temperature of fluid [K]
Tc [float] Critical temperature of fluid [K]
Pc [float] Critical pressure of the fluid [Pa]
omega [float] Acentric factor for fluid, [-]
order [int, optional] Order of the calculation. 0 for the calculation of B itself; for 1/2/3, the
first/second/third derivative of B with respect to temperature; and for -1/-2, the first/second
indefinite integral of B with respect to temperature. No other integrals or derivatives are
implemented, and an exception will be raised if any other order is given.
Returns
B [float] Second virial coefficient in density form or its integral/derivative if specified, [m^3/mol
or m^3/mol/K^order]
1.1.1.35.7 Notes
289𝑇 2 277𝑇 𝑐2
∫︁ ∫︁
33𝑇 33𝑇 1
𝐵 (0) 𝑑𝑇 𝑑𝑇 = 254100𝑇 5 𝑇 𝑐3 + 607𝑇 𝑐8
(︀ )︀
− 𝑇 𝑐 log (𝑇 ) + 𝑇𝑐 + log (𝑇 ) − 6
4000 100 100 2000 42000000𝑇
∫︁ ∫︁ 2 2
637𝑇 331𝑇 𝑐 1
𝐵 (1) 𝑑𝑇 𝑑𝑇 = 44415𝑇 5 𝑇 𝑐3 + 40𝑇 𝑐8
(︀ )︀
− log (𝑇 ) − 6
20000 1000 210000𝑇
1.1.1.35.8 References
[1]
1.1.1.35.9 Examples
Parameters
T [float] Temperature of fluid [K]
Tc [float] Critical temperature of fluid [K]
Pc [float] Critical pressure of the fluid [Pa]
omega [float] Acentric factor for fluid, [-]
a [float, optional] Fit parameter, calculated based on species_type if a is not given and
species_type matches on of the supported chemical classes.
b [float, optional] Fit parameter, calculated based on species_type if a is not given and
species_type matches on of the supported chemical classes.
species_type [str, optional] One of .
dipole [float] dipole moment, optional, [Debye]
order [int, optional] Order of the calculation. 0 for the calculation of B itself; for 1/2/3, the
first/second/third derivative of B with respect to temperature; and for -1/-2, the first/second
indefinite integral of B with respect to temperature. No other integrals or derivatives are
implemented, and an exception will be raised if any other order is given.
Returns
B [float] Second virial coefficient in density form or its integral/derivative if specified, [m^3/mol
or m^3/mol/K^order]
1.1.1.35.10 Notes
Analytical models for derivatives and integrals are available for orders -2, -1, 1, 2, and 3, all obtained with
SymPy.
To calculate a or b, the following rules are used:
For ‘simple’ or ‘normal’ fluids:
𝑎=0
𝑏=0
For ‘ketone’, ‘aldehyde’, ‘alkyl nitrile’, ‘ether’, ‘carboxylic acid’, or ‘ester’ types of chemicals:
1.1.1.35.11 References
[1], [2]
1.1.1.35.12 Examples
-9.679715056695323e-05
thermo.viscosity.ViswanathNatarajan2(T, A, B)
This function is known to produce values 10 times too low. The author’s data must have an error. I have adjusted
it to fix this.
# DDBST has 0.0004580 as a value at this temperature >>> ViswanathNatarajan2(348.15, -5.9719, 1007.0)
0.00045983686956829517
thermo.viscosity.ViswanathNatarajan2Exponential(T, C, D)
This function is genuinely bad at what it does.
thermo.viscosity.ViswanathNatarajan3(T, A, B, C)
Calculate the viscosity of a liquid using the 3-term Antoine form representation developed in [1]. Requires
input coefficients. The A coefficient is assumed to yield coefficients in centipoise, as all coefficients found so
far have been.
log10 𝜇 = 𝐴 + 𝐵/(𝑇 + 𝐶)
Parameters
T [float] Temperature of fluid [K]
Returns
mu [float] Liquid viscosity, [Pa*s]
1.1.1.36.1 Notes
1.1.1.36.2 References
[1]
1.1.1.36.3 Examples
Parameters
T [float] Temperature of fluid [K]
MW [float] Molwcular weight of fluid [g/mol]
Tc [float] Critical temperature of the fluid [K]
Pc [float] Critical pressure of the fluid [Pa]
omega [float] Acentric factor of compound
Returns
mu_l [float] Viscosity of liquid, [Pa*S]
1.1.1.36.4 Notes
The form of this equation is a polynomial fit to tabulated data. The fitting was performed by the DIPPR. This is
DIPPR Procedure 8G: Method for the viscosity of pure, nonhydrocarbon liquids at high temperatures internal
units are SI standard. [1]’s units were different. DIPPR test value for ethanol is used.
Average error 34%. Range of applicability is 0.76 < Tr < 0.98.
1.1.1.36.5 References
[1]
1.1.1.36.6 Examples
Parameters
T [float] Temperature of the fluid [K]
Tm [float] Melting point of fluid [K]
Tc [float] Critical temperature of the fluid [K]
Pc [float] Critical pressure of the fluid [Pa]
Vc [float] Critical volume of the fluid [m^3/mol]
Vm [float] Molar volume of the fluid at temperature [K]
omega [float] Acentric factor of compound
MW [float] Molwcular weight of fluid [g/mol]
Returns
mu_l [float] Viscosity of liquid, [Pa*S]
1.1.1.36.7 Notes
A test by Reid (1983) is used, but only mostly correct. This function is not recommended. Its use has been
removed from the Liquid Viscosity function. Internal units are bar and mL/mol. TODO: Test again with data
from 5th ed table.
1.1.1.36.8 References
[1]
1.1.1.36.9 Examples
Class for dealing with liquid viscosity as a function of temperature and pressure.
For low-pressure (at 1 atm while under the vapor pressure; along the saturation line otherwise) liquids, there are
six coefficient-based methods from three data sources, one source of tabular information, two corresponding-
states estimators, and the external library CoolProp.
For high-pressure liquids (also, <1 atm liquids), there is one corresponding-states estimator, and the external
library CoolProp.
Parameters
CASRN [str, optional] The CAS number of the chemical
MW [float, optional] Molecular weight, [g/mol]
Tm [float, optional] Melting point, [K]
Tc [float, optional] Critical temperature, [K]
Pc [float, optional] Critical pressure, [Pa]
Vc [float, optional] Critical volume, [m^3/mol]
omega [float, optional] Acentric factor, [-]
Psat [float or callable, optional] Vapor pressure at a given temperature or callable for the same,
[Pa]
Vml [float or callable, optional] Liquid molar volume at a given temperature and pressure or
callable for the same, [m^3/mol]
See also:
ViswanathNatarajan3, ViswanathNatarajan2, ViswanathNatarajan2Exponential,
Letsou_Stiel, Przedziecki_Sridhar, Lucas
1.1.1.36.10 Notes
To iterate over all methods, use the lists stored in viscosity_liquid_methods and
viscosity_liquid_methods_P for low and high pressure methods respectively.
Low pressure methods:
DUTT_PRASAD: A simple function as expressed in [1], with data available for 100 fluids. Temperature limits
are available for all fluids. See ViswanathNatarajan3 for details.
VISWANATH_NATARAJAN_3: A simple function as expressed in [1], with data available for 432 fluids.
Temperature limits are available for all fluids. See ViswanathNatarajan3 for details.
VN2_data: A simple function as expressed in [1], with data available for 135 fluids. Temperature limits are
available for all fluids. See ViswanathNatarajan2 for details.
VISWANATH_NATARAJAN_2E: A simple function as expressed in [1], with data available for 14 fluids.
Temperature limits are available for all fluids. See ViswanathNatarajan2Exponential for details.
DIPPR_PERRY_8E: A collection of 337 coefficient sets from the DIPPR database published openly in [4].
Provides temperature limits for all its fluids. thermo.dippr.EQ101 is used for its fluids.
LETSOU_STIEL: CSP method, described in Letsou_Stiel.
PRZEDZIECKI_SRIDHAR: CSP method, described in Przedziecki_Sridhar.
COOLPROP: CoolProp external library; with select fluids from its library. Range is limited to that of the
equations of state it uses, as described in [2]. Very slow.
VDI_TABULAR: Tabular data in [3] along the saturation curve; interpolation is as set by the user or the
default.
VDI_PPDS: Coefficients for a equation form developed by the PPDS, published openly in [3]. Provides no
temperature limits, but has been designed for extrapolation. Extrapolated to low temperatures it provides
a smooth exponential increase. However, for some chemicals such as glycerol, extrapolated to higher
temperatures viscosity is predicted to increase above a certain point.
High pressure methods:
LUCAS: CSP method, described in Lucas. Calculates a low-pressure liquid viscosity first, using
T_dependent_property.
COOLPROP: CoolProp external library; with select fluids from its library. Range is limited to that of the
equations of state it uses, as described in [5]_. Very slow, but unparalled in accuracy for pressure depen-
dence.
1.1.1.36.11 References
1.1.1.36.12 Methods
TP_or_T_dependent_property
extrapolate_tabular
Tmax = None
Maximum temperature at which no method can calculate the liquid viscosity above.
Tmin = None
Minimum temperature at which no method can calculate the liquid viscosity under.
all_methods = None
Set of all low-pressure methods available for a given CASRN and properties; filled by
load_all_methods.
all_methods_P = None
Set of all high-pressure methods available for a given CASRN and properties; filled by
load_all_methods.
calculate(T, method)
Method to calculate low-pressure liquid viscosity at tempearture T with a given method.
This method has no exception handling; see T_dependent_property for that.
Parameters
T [float] Temperature at which to calculate viscosity, [K]
method [str] Name of the method to use
Returns
mu [float] Viscosity of the liquid at T and a low pressure, [Pa*S]
calculate_P(T, P, method)
Method to calculate pressure-dependent liquid viscosity at temperature T and pressure P with a given
method.
This method has no exception handling; see TP_dependent_property for that.
Parameters
T [float] Temperature at which to calculate viscosity, [K]
P [float] Pressure at which to calculate viscosity, [K]
method [str] Name of the method to use
Returns
mu [float] Viscosity of the liquid at T and P, [Pa*S]
interpolation_P = None
No interpolation transformation by default.
interpolation_T = None
No interpolation transformation by default.
interpolation_property = None
No interpolation transformation by default.
interpolation_property_inv = None
No interpolation transformation by default.
load_all_methods()
Method which picks out coefficients for the specified chemical from the various dictionaries and
DataFrames storing it. All data is stored as attributes. This method also sets Tmin, Tmax, all_methods
and obj:all_methods_P as a set of methods for which the data exists for.
Called on initialization only. See the source code for the variables at which the coefficients are stored. The
coefficients can safely be altered once the class is initialized. This method can be called again to reset the
parameters.
name = 'liquid viscosity'
property_max = 200000000.0
Maximum valid value of liquid viscosity. Generous limit, as the value is that of bitumen in a Pitch drop
experiment.
property_min = 0
Mimimum valid value of liquid viscosity.
ranked_methods = ['COOLPROP', 'DIPPR_PERRY_8E', 'VDI_PPDS', 'DUTT_PRASAD', 'VISWANATH_N
Default rankings of the low-pressure methods.
ranked_methods_P = ['COOLPROP', 'LUCAS']
Default rankings of the high-pressure methods.
sorted_valid_methods = None
sorted_valid_methods, list: Stored methods which were found valid at a specific temperature; set by
T_dependent_property.
sorted_valid_methods_P = None
sorted_valid_methods_P, list: Stored methods which were found valid at a specific temperature; set by
TP_dependent_property.
tabular_data = None
tabular_data, dict: Stored (Ts, properties) for any tabular data; indexed by provided or autogenerated name.
tabular_data_P = None
tabular_data_P, dict: Stored (Ts, Ps, properties) for any tabular data; indexed by provided or autogenerated
name.
tabular_data_interpolators = None
tabular_data_interpolators, dict: Stored (extrapolator, spline) tuples which are interp1d instances for
each set of tabular data; indexed by tuple of (name, interpolation_T, interpolation_property, interpola-
tion_property_inv) to ensure that if an interpolation transform is altered, the old interpolator which had
been created is no longer used.
tabular_data_interpolators_P = None
tabular_data_interpolators_P, dict: Stored (extrapolator, spline) tuples which are interp2d instances
for each set of tabular data; indexed by tuple of (name, interpolation_T, interpolation_P, interpola-
tion_property, interpolation_property_inv) to ensure that if an interpolation transform is altered, the old
interpolator which had been created is no longer used.
tabular_extrapolation_permitted = True
Allow tabular extrapolation by default.
test_method_validity(T, method)
Method to check the validity of a method. Follows the given ranges for all coefficient-based methods. For
CSP methods, the models are considered valid from 0 K to the critical point. For tabular data, extrapolation
outside of the range is used if tabular_extrapolation_permitted is set; if it is, the extrapolation
is considered valid for all temperatures.
It is not guaranteed that a method will work or give an accurate prediction simply because this method
considers the method valid.
Parameters
T [float] Temperature at which to test the method, [K]
method [str] Name of the method to test
Returns
validity [bool] Whether or not a method is valid
test_method_validity_P(T, P, method)
Method to check the validity of a high-pressure method. For COOLPROP, the fluid must be both a liquid
and under the maximum pressure of the fluid’s EOS. LUCAS doesn’t work on some occasions, due to
something related to Tr and negative powers - but is otherwise considered correct for all circumstances.
For tabular data, extrapolation outside of the range is used if
tabular_extrapolation_permitted is set; if it is, the extrapolation is considered valid
for all temperatures and pressures.
Parameters
T [float] Temperature at which to test the method, [K]
P [float] Pressure at which to test the method, [Pa]
method [str] Name of the method to test
Returns
validity [bool] Whether or not a method is valid
units = 'Pa*s'
user_methods = None
user_methods, list: Stored methods which were specified by the user in a ranked order of preference; set
by T_dependent_property.
user_methods_P = None
user_methods_P, list: Stored methods which were specified by the user in a ranked order of preference; set
by TP_dependent_property.
class thermo.viscosity.ViscosityGas(CASRN=”, MW=None, Tc=None, Pc=None, Zc=None,
dipole=None, Vmg=None)
Bases: thermo.utils.TPDependentProperty
Class for dealing with gas viscosity as a function of temperature and pressure.
For gases at atmospheric pressure, there are 4 corresponding-states estimators, two sources of coefficient-based
models, one source of tabular information, and the external library CoolProp.
For gases under the fluid’s boiling point (at sub-atmospheric pressures), and high-pressure gases above the
boiling point, there are zero corresponding-states estimators, and the external library CoolProp.
Parameters
1.1.1.36.13 Notes
A string holding each method’s name is assigned to the following variables in this module, intended
as the most convenient way to refer to a method. To iterate over all methods, use the lists stored in
viscosity_gas_methods and viscosity_gas_methods_P for low and high pressure methods re-
spectively.
Low pressure methods:
GHARAGHEIZI: CSP method, described in Gharagheizi_gas_viscosity.
YOON_THODOS: CSP method, described in Yoon_Thodos.
STIEL_THODOS: CSP method, described in Stiel_Thodos.
LUCAS_GAS: CSP method, described in lucas_gas.
DIPPR_PERRY_8E: A collection of 345 coefficient sets from the DIPPR database published openly in [3].
Provides temperature limits for all its fluids. thermo.dippr.EQ102 is used for its fluids.
VDI_PPDS: Coefficients for a equation form developed by the PPDS, published openly in [2]. Provides no
temperature limits, but provides reasonable values at fairly high and very low temperatures.
COOLPROP: CoolProp external library; with select fluids from its library. Range is limited to that of the
equations of state it uses, as described in [1]. Very slow.
VDI_TABULAR: Tabular data in [2] along the saturation curve; interpolation is as set by the user or the
default.
High pressure methods:
COOLPROP: CoolProp external library; with select fluids from its library. Range is limited to that of the
equations of state it uses, as described in [1]. Very slow, but unparalled in accuracy for pressure depen-
dence.
1.1.1.36.14 References
interpolation_P
interpolation_T
interpolation_property
interpolation_property_inv
method
method_P
1.1.1.36.15 Methods
TP_or_T_dependent_property
extrapolate_tabular
Tmax = None
Maximum temperature at which no method can calculate the gas viscosity above.
Tmin = None
Minimum temperature at which no method can calculate the gas viscosity under.
all_methods = None
Set of all low-pressure methods available for a given CASRN and properties; filled by
load_all_methods.
all_methods_P = None
Set of all high-pressure methods available for a given CASRN and properties; filled by
load_all_methods.
calculate(T, method)
Method to calculate low-pressure gas viscosity at tempearture T with a given method.
This method has no exception handling; see T_dependent_property for that.
Parameters
T [float] Temperature of the gas, [K]
method [str] Name of the method to use
Returns
mu [float] Viscosity of the gas at T and a low pressure, [Pa*S]
calculate_P(T, P, method)
Method to calculate pressure-dependent gas viscosity at temperature T and pressure P with a given method.
This method has no exception handling; see TP_dependent_property for that.
Parameters
T [float] Temperature at which to calculate gas viscosity, [K]
P [float] Pressure at which to calculate gas viscosity, [K]
method [str] Name of the method to use
Returns
mu [float] Viscosity of the gas at T and P, [Pa*]
interpolation_P = None
No interpolation transformation by default.
interpolation_T = None
No interpolation transformation by default.
interpolation_property = None
No interpolation transformation by default.
interpolation_property_inv = None
No interpolation transformation by default.
load_all_methods()
Method which picks out coefficients for the specified chemical from the various dictionaries and
DataFrames storing it. All data is stored as attributes. This method also sets Tmin, Tmax, all_methods
and obj:all_methods_P as a set of methods for which the data exists for.
Called on initialization only. See the source code for the variables at which the coefficients are stored. The
coefficients can safely be altered once the class is initialized. This method can be called again to reset the
parameters.
name = 'Gas viscosity'
property_max = 0.001
Maximum valid value of gas viscosity. Might be too high, or too low.
property_min = 0
Mimimum valid value of gas viscosity; limiting condition at low pressure is 0.
ranked_methods = ['COOLPROP', 'DIPPR_PERRY_8E', 'VDI_PPDS', 'VDI_TABULAR', 'GHARAGHEIZI
Default rankings of the low-pressure methods.
ranked_methods_P = ['COOLPROP']
Default rankings of the high-pressure methods.
sorted_valid_methods = None
sorted_valid_methods, list: Stored methods which were found valid at a specific temperature; set by
T_dependent_property.
sorted_valid_methods_P = None
sorted_valid_methods_P, list: Stored methods which were found valid at a specific temperature; set by
TP_dependent_property.
tabular_data = None
tabular_data, dict: Stored (Ts, properties) for any tabular data; indexed by provided or autogenerated name.
tabular_data_P = None
tabular_data_P, dict: Stored (Ts, Ps, properties) for any tabular data; indexed by provided or autogenerated
name.
tabular_data_interpolators = None
tabular_data_interpolators, dict: Stored (extrapolator, spline) tuples which are interp1d instances for
each set of tabular data; indexed by tuple of (name, interpolation_T, interpolation_property, interpola-
tion_property_inv) to ensure that if an interpolation transform is altered, the old interpolator which had
been created is no longer used.
tabular_data_interpolators_P = None
tabular_data_interpolators_P, dict: Stored (extrapolator, spline) tuples which are interp2d instances
for each set of tabular data; indexed by tuple of (name, interpolation_T, interpolation_P, interpola-
tion_property, interpolation_property_inv) to ensure that if an interpolation transform is altered, the old
interpolator which had been created is no longer used.
tabular_extrapolation_permitted = True
Allow tabular extrapolation by default.
test_method_validity(T, method)
Method to check the validity of a temperature-dependent low-pressure method. For CSP most methods,
the all methods are considered valid from 0 K up to 5000 K. For method GHARAGHEIZI, the method is
considered valud from 20 K to 2000 K.
For tabular data, extrapolation outside of the range is used if
tabular_extrapolation_permitted is set; if it is, the extrapolation is considered valid
for all temperatures.
It is not guaranteed that a method will work or give an accurate prediction simply because this method
considers the method valid.
Parameters
T [float] Temperature at which to test the method, [K]
method [str] Name of the method to test
Returns
validity [bool] Whether or not a method is valid
test_method_validity_P(T, P, method)
Method to check the validity of a high-pressure method. For COOLPROP, the fluid must be both a gas
and under the maximum pressure of the fluid’s EOS. No other methods are implemented.
For tabular data, extrapolation outside of the range is used if
tabular_extrapolation_permitted is set; if it is, the extrapolation is considered valid
for all temperatures and pressures.
It is not guaranteed that a method will work or give an accurate prediction simply because this method
considers the method valid.
Parameters
T [float] Temperature at which to test the method, [K]
P [float] Pressure at which to test the method, [Pa]
method [str] Name of the method to test
Returns
validity [bool] Whether or not a method is valid
units = 'Pa*s'
user_methods = None
user_methods, list: Stored methods which were specified by the user in a ranked order of preference; set
by T_dependent_property.
user_methods_P = None
user_methods_P, list: Stored methods which were specified by the user in a ranked order of preference; set
by TP_dependent_property.
thermo.viscosity.Lucas(T, P, Tc, Pc, omega, P_sat, mu_l)
Adjustes for pressure the viscosity of a liquid using an emperical formula developed in [1], but as discussed in
[2] as the original source is in German.
𝜇 1 + 𝐷(∆𝑃𝑟 /2.118)𝐴
=
𝜇𝑠𝑎𝑡 1 + 𝐶𝜔∆𝑃𝑟
𝑃 − 𝑃 𝑠𝑎𝑡
∆𝑃𝑟 =
𝑃𝑐
4.674 × 10−4
𝐴 = 0.9991 −
1.0523𝑇𝑟−0.03877 − 1.0513
0.3257
𝐷= − 0.2086
(1.0039 − 𝑇𝑟2.573 )0.2906
𝐶 = −0.07921 + 2.1616𝑇𝑟 − 13.4040𝑇𝑟2 + 44.1706𝑇𝑟3 − 84.8291𝑇𝑟4 + 96.1209𝑇𝑟5 − 59.8127𝑇𝑟6 + 15.6719𝑇𝑟7
Parameters
T [float] Temperature of fluid [K]
P [float] Pressure of fluid [Pa]
Tc: float Critical point of fluid [K]
Pc [float] Critical pressure of the fluid [Pa]
omega [float] Acentric factor of compound
P_sat [float] Saturation pressure of the fluid [Pa]
mu_l [float] Viscosity of liquid at 1 atm or saturation, [Pa*S]
Returns
mu_l_dense [float] Viscosity of liquid, [Pa*s]
1.1.1.36.16 Notes
This equation is entirely dimensionless; all dimensions cancel. The example is from Reid (1987); all results
agree. Above several thousand bar, this equation does not represent true behavior. If Psat is larger than P, the
fluid may not be liquid; dPr is set to 0.
1.1.1.36.17 References
[1], [2]
1.1.1.36.18 Examples
Parameters
T [float] Temperature of the fluid [K]
Tc [float] Critical temperature of the fluid [K]
Pc [float] Critical pressure of the fluid [Pa]
MW [float] Molwcular weight of fluid [g/mol]
Returns
mu_g [float] Viscosity of gas, [Pa*S]
1.1.1.36.19 Notes
This equation has been tested. The equation uses SI units only internally. The constant 2173.424 is an adjustment
factor for units. Average deviation within 3% for most compounds. Greatest accuracy with dipole moments close
to 0. Hydrogen and helium have different coefficients, not implemented. This is DIPPR Procedure 8B: Method
for the Viscosity of Pure, non hydrocarbon, nonpolar gases at low pressures
1.1.1.36.20 References
[1]
1.1.1.36.21 Examples
𝑇 𝑂𝐷𝑂
Parameters
T [float] Temperature of the fluid [K]
1.1.1.36.22 Notes
Untested. Claimed applicability from 0.2 to 5 atm. Developed with data from 52 nonpolar, and 53 polar gases.
internal units are poise and atm. Seems to give reasonable results.
1.1.1.36.23 References
[1]
1.1.1.36.24 Examples
1.1.1.36.25 Notes
The example is from [1]; all results agree. Viscosity is calculated in micropoise, and converted to SI internally
(1E-7). Q for He = 1.38; Q for H2 = 0.76; Q for D2 = 0.52.
1.1.1.36.26 References
[1]
1.1.1.36.27 Examples
8𝑀 2
(︂ )︂ (︂ )︂ (︂ )︂
0.477 10.7639 4.1929
𝜇 = 10−7 |10−5 𝑃𝑐 𝑇𝑟 + 0.091 − 𝑇 + 𝑀 10−5 𝑃𝑐 − 2 − |
𝑀 𝑇 𝑇𝑐 𝑇
Parameters
T [float] Temperature of the fluid [K]
Tc [float] Critical temperature of the fluid [K]
Pc [float] Critical pressure of the fluid [Pa]
MW [float] Molwcular weight of fluid [g/mol]
Returns
mu_g [float] Viscosity of gas, [Pa*S]
1.1.1.36.28 Notes
Example is first point in supporting information of article, for methane. This is the prefered function for gas
viscosity. 7% average relative deviation. Deviation should never be above 30%. Developed with the DIPPR
database. It is believed theoretically predicted values are included in the correlation.
1.1.1.36.29 References
[1]
1.1.1.36.30 Examples
thermo.viscosity.viscosity_gas_methods_P = ['COOLPROP']
Holds all high-pressure methods available for the ViscosityGas class, for use in iterating over them.
thermo.viscosity.Herning_Zipperer(zs, mus, MWs)
Calculates viscosity of a gas mixture according to mixing rules in [1].
𝑇 𝑂𝐷𝑂
Parameters
zs [float] Mole fractions of components
mus [float] Gas viscosities of all components, [Pa*S]
MWs [float] Molecular weights of all components, [g/mol]
Returns
mug [float] Viscosity of gas mixture, Pa*S]
1.1.1.36.31 Notes
This equation is entirely dimensionless; all dimensions cancel. The original source has not been reviewed.
1.1.1.36.32 References
[1]
thermo.viscosity.Wilke(ys, mus, MWs)
Calculates viscosity of a gas mixture according to mixing rules in [1].
𝑛
∑︁ 𝑦𝑖 𝜂𝑖
𝜂𝑚𝑖𝑥 = ∑︀𝑛
𝑖=1 𝑗=1 𝑦𝑗 𝜑𝑖𝑗
√︀
(1 + 𝜂𝑖 /𝜂𝑗 (𝑀 𝑊𝑗 /𝑀 𝑊𝑖 )0.25 )2
𝜑𝑖𝑗 = √︀
8(1 + 𝑀 𝑊𝑖 /𝑀 𝑊𝑗 )
Parameters
ys [float] Mole fractions of gas components
mus [float] Gas viscosities of all components, [Pa*S]
MWs [float] Molecular weights of all components, [g/mol]
Returns
mug [float] Viscosity of gas mixture, Pa*S]
1.1.1.36.33 Notes
This equation is entirely dimensionless; all dimensions cancel. The original source has not been reviewed or
found.
1.1.1.36.34 References
[1]
1.1.1.36.35 Examples
Parameters
T [float] Temperature of fluid, [K]
ys [float] Mole fractions of gas components
mus [float] Gas viscosities of all components, [Pa*S]
MWs [float] Molecular weights of all components, [g/mol]
molecular_diameters [float] L-J molecular diameter of all components, [angstroms]
Stockmayers [float] L-J Stockmayer energy parameters of all components, []
Returns
mug [float] Viscosity of gas mixture, [Pa*S]
1.1.1.36.36 Notes
This equation is entirely dimensionless; all dimensions cancel. The original source has not been reviewed.
This is DIPPR Procedure 8D: Method for the Viscosity of Nonhydrocarbon Vapor Mixtures at Low Pressure
(Polar and Nonpolar)
1.1.1.36.37 References
1.1.1.36.38 Examples
9.699085099801568e-06
𝐿, 𝐻 = 𝑖𝑛𝑡𝑒𝑟𝑝(𝑛𝑢1 00)
else:
2
𝐿 = 0.8353𝜈100 + 14.67𝜈100 − 216
2
𝐻 = 0.1684𝜈100 + 11.85𝜈100 − 97
if nu_40 > H:
𝐿 − 𝑛𝑢40
𝑉𝐼 = · 100
𝐿−𝐻
else:
log(𝐻) − log(𝜈40 )
𝑁=
log(𝜈100 )
10𝑁 − 1
𝑉𝐼 = + 100
0.00715
Parameters
nu_40 [float] Dynamic viscosity of fluid at 40°C, [m^2/s]
nu_100 [float] Dynamic viscosity of fluid at 100°C, [m^2/s]
rounding [bool, optional] Whether to round the value or not.
Returns
VI: float Viscosity index [-]
1.1.1.36.39 Notes
VI is undefined for nu_100 under 2 mm^2/s. None is returned if this is the case. Internal units are mm^2/s.
Higher values of viscosity index suggest a lesser decrease in kinematic viscosity as temperature increases.
Note that viscosity is a pressure-dependent property, and that the viscosity index is defined for a fluid at whatever
pressure it is at. The viscosity index is thus also a function of pressure.
1.1.1.36.40 References
[1]
1.1.1.36.41 Examples
1.1.1.36.42 Notes
The valid scales for this function are any of the following:
[‘a&w b’, ‘a&w crucible’, ‘american can’, ‘astm 0.07’, ‘astm 0.10’, ‘astm 0.15’, ‘astm 0.20’, ‘astm 0.25’,
‘barbey’, ‘caspers tin plate’, ‘continental can’, ‘crown cork and seal’, ‘demmier #1’, ‘demmier #10’, ‘engler’,
‘ford cup #3’, ‘ford cup #4’, ‘kinematic viscosity’, ‘mac michael’, ‘murphy varnish’, ‘parlin cup #10’, ‘parlin
cup #15’, ‘parlin cup #20’, ‘parlin cup #25’, ‘parlin cup #30’, ‘parlin cup #7’, ‘pratt lambert a’, ‘pratt lambert
b’, ‘pratt lambert c’, ‘pratt lambert d’, ‘pratt lambert e’, ‘pratt lambert f’, ‘pratt lambert g’, ‘pratt lambert h’,
‘pratt lambert i’, ‘redwood admiralty’, ‘redwood standard’, ‘saybolt furol’, ‘saybolt universal’, ‘scott’, ‘stormer
100g load’, ‘westinghouse’, ‘zahn cup #1’, ‘zahn cup #2’, ‘zahn cup #3’, ‘zahn cup #4’, ‘zahn cup #5’]
Some of those scales are converted linearly; the rest use tabulated data and splines.
Because the conversion is performed by spline functions, a re-conversion of a value will not yield exactly the
original value. However, it is quite close.
The method ‘Saybolt universal’ has a special formula implemented for its conversion, from [4]. It is designed
for maximum backwards compatibility with prior experimental data. It is solved by newton’s method when
kinematic viscosity is desired as an output.
[1.0 + 0.03264𝜈𝑡 ]
𝑆𝑈 𝑆𝑒𝑞 = 4.6324𝜈𝑡 +
[(3930.2 + 262.7𝜈𝑡 + 23.97𝜈𝑡2 + 1.646𝜈𝑡3 ) × 10−5 )]
1.1.1.36.43 References
1.1.1.36.44 Examples
1.1.1.36.45 Notes
1.1.1.36.46 References
[1]
Attributes
method
prop_cached
1.1.1.36.47 Methods
Tmax = None
Maximum temperature at which no method can calculate the liquid viscosity above.
Tmin = None
Minimum temperature at which no method can calculate the liquid viscosity under.
all_methods = None
Set of all methods available for a given set of information; filled by load_all_methods.
calculate(T, P, zs, ws, method)
Method to calculate viscosity of a liquid mixture at temperature T, pressure P, mole fractions zs and weight
fractions ws with a given method.
This method has no exception handling; see mixture_property for that.
Parameters
T [float] Temperature at which to calculate the property, [K]
P [float] Pressure at which to calculate the property, [Pa]
zs [list[float]] Mole fractions of all species in the mixture, [-]
ws [list[float]] Weight fractions of all species in the mixture, [-]
method [str] Name of the method to use
Returns
mu [float] Viscosity of the liquid mixture, [Pa*s]
load_all_methods()
Method to initialize the object by precomputing any values which may be used repeatedly and by retrieving
mixture-specific variables. All data are stored as attributes. This method also sets Tmin, Tmax, and
all_methods as a set of methods which should work to calculate the property.
Called on initialization only. See the source code for the variables at which the coefficients are stored. The
coefficients can safely be altered once the class is initialized. This method can be called again to reset the
parameters.
name = 'liquid viscosity'
property_max = 200000000.0
Maximum valid value of liquid viscosity. Generous limit, as the value is that of bitumen in a Pitch drop
experiment.
property_min = 0
Mimimum valid value of liquid viscosity.
ranked_methods = ['Laliberte', 'Logarithmic mixing, molar', 'Logarithmic mixing, mass']
sorted_valid_methods = None
sorted_valid_methods, list: Stored methods which were found valid at a specific temperature; set by mix-
ture_property.
test_method_validity(T, P, zs, ws, method)
Method to test the validity of a specified method for the given conditions. If Laliberte is applicable, all
other methods are returned as inapplicable. Otherwise, there are no checks or strict ranges of validity.
Parameters
T [float] Temperature at which to check method validity, [K]
P [float] Pressure at which to check method validity, [Pa]
zs [list[float]] Mole fractions of all species in the mixture, [-]
ws [list[float]] Weight fractions of all species in the mixture, [-]
method [str] Method name to use
Returns
validity [bool] Whether or not a specifid method is valid
units = 'Pa*s'
user_methods = None
user_methods, list: Stored methods which were specified by the user in a ranked order of preference; set
by mixture_property.
1.1.1.36.48 Notes
1.1.1.36.49 References
[1]
Attributes
method
prop_cached
1.1.1.36.50 Methods
Tmax = None
Maximum temperature at which no method can calculate the gas viscosity above.
Tmin = None
Minimum temperature at which no method can calculate the gas viscosity under.
all_methods = None
Set of all methods available for a given set of information; filled by load_all_methods.
calculate(T, P, zs, ws, method)
Method to calculate viscosity of a gas mixture at temperature T, pressure P, mole fractions zs and weight
fractions ws with a given method.
This method has no exception handling; see mixture_property for that.
Parameters
T [float] Temperature at which to calculate the property, [K]
Parameters
T [float] Temperature of fluid [K]
Tc [float] Critical temperature of fluid [K]
Vc [float] Critical volume of fluid [m^3/mol]
Zc [float] Critical compressibility of fluid, [-]
Returns
Vs [float] Saturation liquid volume, [m^3/mol]
1.1.1.37.1 Notes
1.1.1.37.2 References
[1]
1.1.1.37.3 Examples
1.1.1.37.4 Notes
Units are dependent on gas constant R, imported from scipy According to Reid et. al, underpredicts volume for
compounds with Zc < 0.22
1.1.1.37.5 References
[1]
1.1.1.37.6 Examples
1.1.1.37.7 Notes
This equation is an improvement on the Rackett equation. This is often presented as the Rackett equation. The
acentric factor is used here, instead of the critical compressibility A variant using a reference fluid also exists
1.1.1.37.8 References
[1], [2]
1.1.1.37.9 Examples
Parameters
T [float] Temperature of fluid [K]
Tc [float] Critical temperature of fluid [K]
Vc [float] Critical volume of fluid [m^3/mol]
omega [float] Acentric factor for fluid, [-]
Returns
Vs [float] Saturation liquid volume, [m^3/mol]
1.1.1.37.10 Notes
The requirement for critical volume and acentric factor requires all data.
1.1.1.37.11 References
[1]
1.1.1.37.12 Examples
Parameters
T [float] Temperature of fluid [K]
Tc [float] Critical temperature of fluid [K]
Pc [float] Critical pressure of fluid [Pa]
omega [float] Acentric factor for fluid, [-]
Returns
Vm [float] Saturated liquid molar volume, [mol/m^3]
1.1.1.37.13 Notes
1.1.1.37.14 References
[1]
1.1.1.37.15 Examples
Pentane
>>> Bhirud_normal(280.0, 469.7, 33.7E5, 0.252)
0.00011249654029488583
1.1.1.37.16 Notes
196 constants are fit to this function in [1]. Range: 0.25 < Tr < 0.95, often said to be to 1.0
This function has been checked with the API handbook example problem.
1.1.1.37.17 References
[1]
1.1.1.37.18 Examples
𝜃 = 𝑃𝑐 𝜇2 /𝑇𝑐2
𝛼 = 0.3883 − 0.0179𝑠 − 130540𝜃2.41
𝛽 = 0.00318𝑠 − 0.0211 + 0.625Λ1.35 + 9.74 × 106 𝜃3.38
5.79 × 10−10
[︂ ]︂
𝛼 = 0.690𝑇𝑏𝑟 − 0.3342 + 32.75 𝑃𝑐0.145
𝑇𝑏𝑟
𝛽 = 0.00318𝑠 − 0.0211 + 0.625Λ1.35 + 5.90Θ0.835
Parameters
T [float] Temperature of fluid [K]
Tb [float] Boiling temperature of the fluid [K]
Tc [float] Critical temperature of fluid [K]
1.1.1.37.19 Notes
If a dipole is provided, the polar chemical method is used. The paper is an excellent read. Pc is internally
converted to atm.
1.1.1.37.20 References
[1]
1.1.1.37.21 Examples
7.347363635885525e-05
Parameters
T [float] Temperature of fluid [K]
Tc [float] Critical temperature of fluid [K]
Vc [float] Critical volume of fluid [m^3/mol]
omega [float] Acentric factor for fluid, [-]
delta_SRK [float, optional] Fitting parameter [-]
Returns
Vs [float] Saturation liquid volume, [m^3/mol]
1.1.1.37.22 Notes
1.1.1.37.23 References
[1]
1.1.1.37.24 Examples
Argon, without the fit parameter and with it. Tabulated result in Perry’s is 3.4613e-05. The fit increases the error
on this occasion.
𝜌 = 𝜌0 − 𝑘(𝑇 − 𝑇𝑚 )
Parameters
T [float] Temperature of the liquid, [K]
rho0 [float] Mass density of the liquid at Tm, [kg/m^3]
k [float] Linear temperature dependence of the mass density, [kg/m^3/K]
Tm [float] The normal melting point, used in the correlation [K]
Returns
rho [float] Mass density of molten metal or salt, [kg/m^3]
1.1.1.37.25 Notes
[1] has units of g/mL. While the individual densities could have been converted to molar units, the temperature
coefficient could only be converted by refitting to calculated data. To maintain compatibility with the form of
the equations, this was not performed.
This linear form is useful only in small temperature ranges. Coefficients for one compound could be used to
predict the temperature dependence of density of a similar compound.
1.1.1.37.26 References
[1]
1.1.1.37.27 Examples
1.1.1.37.28 Notes
A string holding each method’s name is assigned to the following variables in this module, intended
as the most convenient way to refer to a method. To iterate over all methods, use the lists stored in
surface_tension_methods and volume_liquid_methods_P for low and high pressure methods
respectively.
Low pressure methods:
PERRYDIPPR: A simple polynomial as expressed in [1], with data available for 344 fluids. Temperature
limits are available for all fluids. Believed very accurate.
VDI_PPDS: Coefficients for a equation form developed by the PPDS, published openly in [3]. Valid up to the
critical temperature, and extrapolates to very low temperatures well.
MMSNM0FIT: Uses a fit coefficient for better accuracy in the SNM0 method, Coefficients available for 73
fluids from [2]. Valid to the critical point.
HTCOSTALDFIT: A method with two fit coefficients to the COSTALD method. Coefficients available for
192 fluids, from [3]. Valid to the critical point.
RACKETTFIT: The Racket method, with a fit coefficient Z_RA. Data is available for 186 fluids, from [3].
Valid to the critical point.
CRC_INORG_L: Single-temperature coefficient linear model in terms of mass density for the density of in-
organic liquids; converted to molar units internally. Data is available for 177 fluids normally valid over a
narrow range above the melting point, from [4]; described in CRC_inorganic.
MMSNM0: CSP method, described in SNM0.
HTCOSTALD: CSP method, described in COSTALD.
YEN_WOODS_SAT: CSP method, described in Yen_Woods_saturation.
RACKETT: CSP method, described in Rackett.
YAMADA_GUNN: CSP method, described in Yamada_Gunn.
BHIRUD_NORMAL: CSP method, described in Bhirud_normal.
TOWNSEND_HALES: CSP method, described in Townsend_Hales.
CAMPBELL_THODOS: CSP method, described in Campbell_Thodos.
COOLPROP: CoolProp external library; with select fluids from its library. Range is limited to that of the
equations of state it uses, as described in [5]. Very slow.
CRC_INORG_L_CONST: Constant inorganic liquid densities, in [4].
VDI_TABULAR: Tabular data in [6] along the saturation curve; interpolation is as set by the user or the
default.
High pressure methods:
COSTALD_COMPRESSED: CSP method, described in COSTALD_compressed. Calculates a low-
pressure molar volume first, using T_dependent_property.
COOLPROP: CoolProp external library; with select fluids from its library. Range is limited to that of the
equations of state it uses, as described in [5]. Very slow, but unparalled in accuracy for pressure depen-
dence.
EOS: Equation of state provided by user.
1.1.1.37.29 References
interpolation_T
interpolation_property
interpolation_property_inv
method
method_P
1.1.1.37.30 Methods
TP_or_T_dependent_property
extrapolate_tabular
Tmax = None
Maximum temperature at which no method can calculate the liquid molar volume above.
Tmin = None
Minimum temperature at which no method can calculate the liquid molar volume under.
all_methods = None
Set of all low-pressure methods available for a given CASRN and properties; filled by
load_all_methods.
all_methods_P = None
Set of all high-pressure methods available for a given CASRN and properties; filled by
load_all_methods.
calculate(T, method)
Method to calculate low-pressure liquid molar volume at tempearture T with a given method.
This method has no exception handling; see T_dependent_property for that.
Parameters
T [float] Temperature at which to calculate molar volume, [K]
method [str] Name of the method to use
Returns
Vm [float] Molar volume of the liquid at T and a low pressure, [m^3/mol]
calculate_P(T, P, method)
Method to calculate pressure-dependent liquid molar volume at temperature T and pressure P with a given
method.
This method has no exception handling; see TP_dependent_property for that.
Parameters
T [float] Temperature at which to calculate molar volume, [K]
P [float] Pressure at which to calculate molar volume, [K]
method [str] Name of the method to use
Returns
Vm [float] Molar volume of the liquid at T and P, [m^3/mol]
interpolation_P = None
No interpolation transformation by default.
interpolation_T = None
No interpolation transformation by default.
interpolation_property = None
No interpolation transformation by default.
interpolation_property_inv = None
No interpolation transformation by default.
load_all_methods()
Method which picks out coefficients for the specified chemical from the various dictionaries and
DataFrames storing it. All data is stored as attributes. This method also sets Tmin, Tmax, all_methods
and obj:all_methods_P as a set of methods for which the data exists for.
Called on initialization only. See the source code for the variables at which the coefficients are stored. The
coefficients can safely be altered once the class is initialized. This method can be called again to reset the
parameters.
name = 'Liquid molar volume'
property_max = 0.002
Maximum valid value of liquid molar volume. Generous limit.
property_min = 0
Mimimum valid value of liquid molar volume. It should normally occur at the triple point, and be well
above this.
ranked_methods = ['PERRYDIPPR', 'VDI_PPDS', 'COOLPROP', 'MMSNM0FIT', 'VDI_TABULAR', 'HT
Default rankings of the low-pressure methods.
Parameters
T [float] Temperature of fluid [K]
P [float] Pressure of fluid [Pa]
Psat [float] Saturation pressure of the fluid [Pa]
Tc [float] Critical temperature of fluid [K]
Pc [float] Critical pressure of fluid [Pa]
omega [float] (ideally SRK) Acentric factor for fluid, [-] This parameter is alternatively a fit
parameter.
Vs [float] Saturation liquid volume, [m^3/mol]
Returns
V_dense [float] High-pressure liquid volume, [m^3/mol]
1.1.1.37.31 Notes
1.1.1.37.32 References
[1]
1.1.1.37.33 Examples
thermo.volume.Amgat(xs, Vms)
Calculate mixture liquid density using the Amgat mixing rule. Highly inacurate, but easy to use. Assumes idea
liquids with no excess volume. Average molecular weight should be used with it to obtain density.
∑︁
𝑉𝑚𝑖𝑥 = 𝑥𝑖 𝑉𝑖
𝑖
or in terms of density:
∑︁ 𝑥𝑖
𝜌𝑚𝑖𝑥 =
𝜌𝑖
Parameters
xs [array] Mole fractions of each component, []
Vms [array] Molar volumes of each fluids at conditions [m^3/mol]
Returns
Vm [float] Mixture liquid volume [m^3/mol]
1.1.1.37.34 Notes
Units are that of the given volumes. It has been suggested to use this equation with weight fractions, but the
results have been less accurate.
1.1.1.37.35 Examples
Parameters
T [float] Temperature of liquid [K]
xs: list Mole fractions of each component, []
MWs [list] Molecular weights of each component [g/mol]
Tcs [list] Critical temperatures of each component [K]
Pcs [list] Critical pressures of each component [Pa]
Zrs [list] Rackett parameters of each component []
Returns
Vm [float] Mixture liquid volume [m^3/mol]
1.1.1.37.36 Notes
Model for pure compounds in [1] forms the basis for this model, shown in [2]. Molecular weights are used
as weighing by such has been found to provide higher accuracy in [2]. The model can also be used without
molecular weights, but results are somewhat different.
As with the Rackett model, critical compressibilities may be used if Rackett parameters have not been regressed.
Critical mixture temperature, and compressibility are all obtained with simple mixing rules.
1.1.1.37.37 References
[1], [2]
1.1.1.37.38 Examples
Calculation in [2] for methanol and water mixture. Result matches example.
>>> Rackett_mixture(T=298., xs=[0.4576, 0.5424], MWs=[32.04, 18.01], Tcs=[512.58,
˓→647.29], Pcs=[8.096E6, 2.209E7], Zrs=[0.2332, 0.2374])
2.625288603174508e-05
Parameters
1.1.1.37.39 Notes
Range: 0.25 < Tr < 0.95, often said to be to 1.0 No example has been found. Units are that of critical or fit
constant volume.
1.1.1.37.40 References
[1]
1.1.1.37.41 Examples
2.706588773271354e-05
thermo.volume.ideal_gas(T, P)
Calculates ideal gas molar volume. The molar volume of an ideal gas is given by:
𝑅𝑇
𝑉 =
𝑃
Parameters
T [float] Temperature of fluid [K]
P [float] Pressure of fluid [Pa]
Returns
V [float] Gas volume, [m^3/mol]
1.1.1.37.42 Examples
1.1.1.37.43 Notes
A string holding each method’s name is assigned to the following variables in this module, intended as the most
convenient way to refer to a method. To iterate over all methods, use the list stored in volume_gas_methods.
PR: Peng-Robinson Equation of State. See the appropriate module for more information.
CRC_VIRIAL: Short polynomials, for 105 fluids from [1]. The full expression is:
4
∑︁ 𝑖−1
𝐵= 𝑎𝑖 [𝑇0 /298.15 − 1]
1
1.1.1.37.44 References
[1], [2]
Attributes
TP_cached
T_cached
interpolation_P
interpolation_T
interpolation_property
interpolation_property_inv
method
method_P
1.1.1.37.45 Methods
TP_or_T_dependent_property
extrapolate_tabular
Pmax = 1000000000.0
Maximum pressure at which no method can calculate gas molar volume above.
Pmin = 0
Minimum pressure at which no method can calculate gas molar volume under.
Tmax = None
Maximum temperature at which no method can calculate the gas molar volume above.
Tmin = None
Minimum temperature at which no method can calculate the gas molar volume under.
all_methods_P = None
Set of all high-pressure methods available for a given CASRN and properties; filled by
load_all_methods.
calculate_P(T, P, method)
Method to calculate pressure-dependent gas molar volume at temperature T and pressure P with a given
method.
This method has no exception handling; see TP_dependent_property for that.
Parameters
T [float] Temperature at which to calculate molar volume, [K]
P [float] Pressure at which to calculate molar volume, [K]
method [str] Name of the method to use
Returns
Vm [float] Molar volume of the gas at T and P, [m^3/mol]
interpolation_P = None
No interpolation transformation by default.
interpolation_T = None
No interpolation transformation by default.
interpolation_property = None
No interpolation transformation by default.
interpolation_property_inv = None
No interpolation transformation by default.
load_all_methods()
Method which picks out coefficients for the specified chemical from the various dictionaries and
DataFrames storing it. All data is stored as attributes. This method also sets obj:all_methods_P as a
set of methods for which the data exists for.
Called on initialization only. See the source code for the variables at which the coefficients are stored. The
coefficients can safely be altered once the class is initialized. This method can be called again to reset the
parameters.
name = 'Gas molar volume'
property_max = 10000000000.0
Maximum valid value of gas molar volume. Set roughly at an ideal gas at 1 Pa and 2 billion K.
property_min = 0
Mimimum valid value of gas molar volume. It should normally be well above this.
ranked_methods = []
Default rankings of the low-pressure methods.
ranked_methods_P = ['COOLPROP', 'EOS', 'TSONOPOULOS_EXTENDED', 'TSONOPOULOS', 'ABBOTT',
Default rankings of the pressure-dependent methods.
sorted_valid_methods_P = None
sorted_valid_methods_P, list: Stored methods which were found valid at a specific temperature; set by
TP_dependent_property.
tabular_data = None
tabular_data, dict: Stored (Ts, properties) for any tabular data; indexed by provided or autogenerated name.
tabular_data_P = None
tabular_data_P, dict: Stored (Ts, Ps, properties) for any tabular data; indexed by provided or autogenerated
name.
tabular_data_interpolators = None
tabular_data_interpolators, dict: Stored (extrapolator, spline) tuples which are interp1d instances for
each set of tabular data; indexed by tuple of (name, interpolation_T, interpolation_property, interpola-
tion_property_inv) to ensure that if an interpolation transform is altered, the old interpolator which had
been created is no longer used.
tabular_data_interpolators_P = None
tabular_data_interpolators_P, dict: Stored (extrapolator, spline) tuples which are interp2d instances
for each set of tabular data; indexed by tuple of (name, interpolation_T, interpolation_P, interpola-
tion_property, interpolation_property_inv) to ensure that if an interpolation transform is altered, the old
interpolator which had been created is no longer used.
tabular_extrapolation_permitted = True
Allow tabular extrapolation by default.
test_method_validity_P(T, P, method)
Method to check the validity of a pressure and temperature dependent gas molar volume method. For the
four CSP methods that calculate second virial coefficient, the method is considered valid for all tempera-
tures and pressures, with validity checking based on the result only. For CRC_VIRIAL, there is no limit
but there should be one; at some conditions, a negative volume will result! For COOLPROP, the fluid
must be both a gas at the given conditions and under the maximum pressure of the fluid’s EOS.
For the equation of state PR, the determined phase must be a gas. For IDEAL, there are no limits.
For tabular data, extrapolation outside of the range is used if
tabular_extrapolation_permitted is set; if it is, the extrapolation is considered valid
for all temperatures and pressures.
It is not guaranteed that a method will work or give an accurate prediction simply because this method
considers the method valid.
Parameters
T [float] Temperature at which to test the method, [K]
P [float] Pressure at which to test the method, [Pa]
method [str] Name of the method to test
Returns
validity [bool] Whether or not a method is valid
units = 'mol/m^3'
user_methods_P = None
user_methods_P, list: Stored methods which were specified by the user in a ranked order of preference; set
by TP_dependent_property.
thermo.volume.Goodman(T, Tt, rhol)
Calculates solid density at T using the simple relationship by a member of the DIPPR.
1.1.1.37.46 Notes
1.1.1.37.47 References
[1]
1.1.1.37.48 Examples
1.1.1.37.49 Notes
A string holding each method’s name is assigned to the following variables in this module, intended
as the most convenient way to refer to a method. To iterate over all methods, use the list stored in
volume_solid_methods.
1.1.1.37.50 References
[1]
Attributes
T_cached
interpolation_T
interpolation_property
interpolation_property_inv
method
1.1.1.37.51 Methods
extrapolate_tabular
Tmax = None
Maximum temperature at which no method can calculate the solid molar volume above; assumed 10 000
K even under ultra-high pressure.
Tmin = None
Minimum temperature at which no method can calculate the solid molar volume under.
all_methods = None
Set of all methods available for a given CASRN and properties; filled by load_all_methods.
calculate(T, method)
Method to calculate the molar volume of a solid at tempearture T with a given method.
This method has no exception handling; see T_dependent_property for that.
Parameters
T [float] Temperature at which to calculate molar volume, [K]
method [str] Name of the method to use
Returns
Vms [float] Molar volume of the solid at T, [m^3/mol]
interpolation_T = None
No interpolation transformation by default.
interpolation_property = None
No interpolation transformation by default.
interpolation_property_inv = None
No interpolation transformation by default.
load_all_methods()
Method which picks out coefficients for the specified chemical from the various dictionaries and
DataFrames storing it. All data is stored as attributes. This method also sets Tmin, Tmax, and
all_methods as a set of methods for which the data exists for.
Called on initialization only. See the source code for the variables at which the coefficients are stored. The
coefficients can safely be altered once the class is initialized. This method can be called again to reset the
parameters.
name = 'Solid molar volume'
property_max = 0.002
Maximum value of Heat capacity; arbitrarily set to 0.002, as the largest in the data is 0.00136.
property_min = 0
Molar volume cannot be under 0.
ranked_methods = ['CRC_INORG_S']
Default rankings of the available methods.
sorted_valid_methods = None
sorted_valid_methods, list: Stored methods which were found valid at a specific temperature; set by
T_dependent_property.
tabular_data = None
tabular_data, dict: Stored (Ts, properties) for any tabular data; indexed by provided or autogenerated name.
tabular_data_interpolators = None
tabular_data_interpolators, dict: Stored (extrapolator, spline) tuples which are interp1d instances for
each set of tabular data; indexed by tuple of (name, interpolation_T, interpolation_property, interpola-
tion_property_inv) to ensure that if an interpolation transform is altered, the old interpolator which had
been created is no longer used.
tabular_extrapolation_permitted = True
Allow tabular extrapolation by default.
test_method_validity(T, method)
Method to check the validity of a method. Follows the given ranges for all coefficient-based methods. For
tabular data, extrapolation outside of the range is used if tabular_extrapolation_permitted is
set; if it is, the extrapolation is considered valid for all temperatures.
It is not guaranteed that a method will work or give an accurate prediction simply because this method
considers the method valid.
Parameters
T [float] Temperature at which to test the method, [K]
method [str] Name of the method to test
Returns
validity [bool] Whether or not a method is valid
units = 'mol/m^3'
user_methods = None
user_methods, list: Stored methods which were specified by the user in a ranked order of preference; set
by T_dependent_property.
class thermo.volume.VolumeLiquidMixture(MWs=[], Tcs=[], Pcs=[], Vcs=[], Zcs=[],
omegas=[], CASs=[], VolumeLiquids=[])
Bases: thermo.utils.MixtureProperty
Class for dealing with the molar volume of a liquid mixture as a function of temperature, pressure, and com-
position. Consists of one electrolyte-specific method, four corresponding states methods which do not use
pure-component volumes, and one mole-weighted averaging method.
Prefered method is SIMPLE, or Laliberte if the mixture is aqueous and has electrolytes.
Parameters
MWs [list[float], optional] Molecular weights of all species in the mixture, [g/mol]
Tcs [list[float], optional] Critical temperatures of all species in the mixture, [K]
Pcs [list[float], optional] Critical pressures of all species in the mixture, [Pa]
Vcs [list[float], optional] Critical molar volumes of all species in the mixture, [m^3/mol]
Zcs [list[float], optional] Critical compressibility factors of all species in the mixture, [Pa]
omegas [list[float], optional] Accentric factors of all species in the mixture, [-]
CASs [list[str], optional] The CAS numbers of all species in the mixture
VolumeLiquids [list[VolumeLiquid], optional] VolumeLiquid objects created for all species in
the mixture, normally created by thermo.chemical.Chemical.
1.1.1.37.52 Notes
1.1.1.37.53 References
[1]
Attributes
method
prop_cached
1.1.1.37.54 Methods
Tmax = None
Maximum temperature at which no method can calculate the liquid molar volume above.
Tmin = None
Minimum temperature at which no method can calculate the liquid molar volume under.
all_methods = None
Set of all methods available for a given set of information; filled by load_all_methods.
calculate(T, P, zs, ws, method)
Method to calculate molar volume of a liquid mixture at temperature T, pressure P, mole fractions zs and
weight fractions ws with a given method.
This method has no exception handling; see mixture_property for that.
Parameters
T [float] Temperature at which to calculate the property, [K]
P [float] Pressure at which to calculate the property, [Pa]
zs [list[float]] Mole fractions of all species in the mixture, [-]
ws [list[float]] Weight fractions of all species in the mixture, [-]
method [str] Name of the method to use
Returns
Vm [float] Molar volume of the liquid mixture at the given conditions, [m^3/mol]
load_all_methods()
Method to initialize the object by precomputing any values which may be used repeatedly and by retrieving
mixture-specific variables. All data are stored as attributes. This method also sets Tmin, Tmax, and
all_methods as a set of methods which should work to calculate the property.
Called on initialization only. See the source code for the variables at which the coefficients are stored. The
coefficients can safely be altered once the class is initialized. This method can be called again to reset the
parameters.
name = 'Liquid volume'
property_max = 0.002
Maximum valid value of liquid molar volume. Generous limit.
property_min = 0
Mimimum valid value of liquid molar volume. It should normally occur at the triple point, and be well
above this.
ranked_methods = ['Laliberte', 'SIMPLE', 'COSTALD mixture parameters', 'RACKETT Paramet
sorted_valid_methods = None
sorted_valid_methods, list: Stored methods which were found valid at a specific temperature; set by mix-
ture_property.
test_method_validity(T, P, zs, ws, method)
Method to test the validity of a specified method for the given conditions. No methods have implemented
checks or strict ranges of validity.
Parameters
T [float] Temperature at which to check method validity, [K]
P [float] Pressure at which to check method validity, [Pa]
zs [list[float]] Mole fractions of all species in the mixture, [-]
ws [list[float]] Weight fractions of all species in the mixture, [-]
method [str] Method name to use
Returns
validity [bool] Whether or not a specifid method is valid
units = 'm^3/mol'
user_methods = None
user_methods, list: Stored methods which were specified by the user in a ranked order of preference; set
by mixture_property.
class thermo.volume.VolumeGasMixture(eos=None, CASs=[], VolumeGases=[])
Bases: thermo.utils.MixtureProperty
Class for dealing with the molar volume of a gas mixture as a function of temperature, pressure, and composition.
Consists of an equation of state, the ideal gas law, and one mole-weighted averaging method.
Prefered method is EOS, or IDEAL if critical properties of components are unavailable.
Parameters
CASs [list[str], optional] The CAS numbers of all species in the mixture
VolumeGases [list[VolumeGas], optional] VolumeGas objects created for all species in the mix-
ture, normally created by thermo.chemical.Chemical.
eos [container[EOS Object], optional] Equation of state object, normally created by thermo.
chemical.Mixture.
See also:
ideal_gas, thermo.eos_mix
1.1.1.37.55 Notes
1.1.1.37.56 References
[1]
Attributes
method
prop_cached
1.1.1.37.57 Methods
Tmax = None
Maximum temperature at which no method can calculate the gas molar volume above.
Tmin = None
Minimum temperature at which no method can calculate the gas molar volume under.
all_methods = None
Set of all methods available for a given set of information; filled by load_all_methods.
calculate(T, P, zs, ws, method)
Method to calculate molar volume of a gas mixture at temperature T, pressure P, mole fractions zs and
weight fractions ws with a given method.
This method has no exception handling; see mixture_property for that.
Parameters
T [float] Temperature at which to calculate the property, [K]
P [float] Pressure at which to calculate the property, [Pa]
zs [list[float]] Mole fractions of all species in the mixture, [-]
ws [list[float]] Weight fractions of all species in the mixture, [-]
method [str] Name of the method to use
Returns
Vm [float] Molar volume of the gas mixture at the given conditions, [m^3/mol]
load_all_methods()
Method to initialize the object by precomputing any values which may be used repeatedly and by retrieving
mixture-specific variables. All data are stored as attributes. This method also sets Tmin, Tmax, and
all_methods as a set of methods which should work to calculate the property.
Called on initialization only. See the source code for the variables at which the coefficients are stored. The
coefficients can safely be altered once the class is initialized. This method can be called again to reset the
parameters.
name = 'Gas volume'
property_max = 10000000000.0
Maximum valid value of gas molar volume. Set roughly at an ideal gas at 1 Pa and 2 billion K.
property_min = 0
Mimimum valid value of gas molar volume. It should normally be well above this.
ranked_methods = ['EOS', 'SIMPLE', 'IDEAL']
sorted_valid_methods = None
sorted_valid_methods, list: Stored methods which were found valid at a specific temperature; set by mix-
ture_property.
test_method_validity(T, P, zs, ws, method)
Method to test the validity of a specified method for the given conditions. No methods have implemented
checks or strict ranges of validity.
Parameters
T [float] Temperature at which to check method validity, [K]
P [float] Pressure at which to check method validity, [Pa]
zs [list[float]] Mole fractions of all species in the mixture, [-]
ws [list[float]] Weight fractions of all species in the mixture, [-]
method [str] Method name to use
Returns
validity [bool] Whether or not a specifid method is valid
units = 'm^3/mol'
user_methods = None
user_methods, list: Stored methods which were specified by the user in a ranked order of preference; set
by mixture_property.
class thermo.volume.VolumeSolidMixture(CASs=[], VolumeSolids=[])
Bases: thermo.utils.MixtureProperty
Class for dealing with the molar volume of a solid mixture as a function of temperature, pressure, and composi-
tion. Consists of only mole-weighted averaging.
Parameters
CASs [list[str], optional] The CAS numbers of all species in the mixture
VolumeSolids [list[VolumeSolid], optional] VolumeSolid objects created for all species in the
mixture, normally created by thermo.chemical.Chemical.
1.1.1.37.58 Notes
Attributes
method
prop_cached
1.1.1.37.59 Methods
Tmax = None
Maximum temperature at which no method can calculate the solid molar volume above; assumed 10 000
K even under ultra-high pressure.
Tmin = None
Minimum temperature at which no method can calculate the solid molar volume under.
all_methods = None
Set of all methods available for a given set of information; filled by load_all_methods.
user_methods = None
user_methods, list: Stored methods which were specified by the user in a ranked order of preference; set
by mixture_property.
• genindex
• modindex
• search
477
thermo Documentation, Release 0.1
[1] Pitzer, K. S., D. Z. Lippmann, R. F. Curl, C. M. Huggins, and D. E. Petersen: The Volumetric and Thermodynamic
Properties of Fluids. II. Compressibility Factor, Vapor Pressure and Entropy of Vaporization. J. Am. Chem. Soc.,
77: 3433 (1955).
[2] Horstmann, Sven, Anna Jabłoniec, Jörg Krafczyk, Kai Fischer, and Jürgen Gmehling. “PSRK Group Con-
tribution Equation of State: Comprehensive Revision and Extension IV, Including Critical Constants and A-
Function Parameters for 1000 Components.” Fluid Phase Equilibria 227, no. 2 (January 25, 2005): 157-64.
doi:10.1016/j.fluid.2004.11.002.
[3] Passut, Charles A., and Ronald P. Danner. “Acentric Factor. A Valuable Correlating Parameter for the Properties
of Hydrocarbons.” Industrial & Engineering Chemistry Process Design and Development 12, no. 3 (July 1, 1973):
365-68. doi:10.1021/i260047a026.
[4] Yaws, Carl L. Thermophysical Properties of Chemicals and Hydrocarbons, Second Edition. Amsterdam Boston:
Gulf Professional Publishing, 2014.
[1] Lee, Byung Ik, and Michael G. Kesler. “A Generalized Thermodynamic Correlation Based on Three-Parameter
Corresponding States.” AIChE Journal 21, no. 3 (1975): 510-527. doi:10.1002/aic.690210313.
[1] Poling, Bruce E. The Properties of Gases and Liquids. 5th edition. New York: McGraw-Hill Professional, 2000.
[1] Halm, Roland L., and Leonard I. Stiel. “A Fourth Parameter for the Vapor Pressure and Entropy of Vaporization
of Polar Fluids.” AIChE Journal 13, no. 2 (1967): 351-355. doi:10.1002/aic.690130228.
[2] D, Kukoljac Miloš, and Grozdanić Dušan K. “New Values of the Polarity Factor.” Journal of the Serbian Chemical
Society 65, no. 12 (January 1, 2000). http://www.shd.org.rs/JSCS/Vol65/No12-Pdf/JSCS12-07.pdf
[1] Gmehling, Jurgen, Barbel Kolbe, Michael Kleiber, and Jurgen Rarey. Chemical Thermodynamics for Process
Simulation. 1st edition. Weinheim: Wiley-VCH, 2012.
[2] Skogestad, Sigurd. Chemical and Energy Process Engineering. 1st edition. Boca Raton, FL: CRC Press, 2008.
[1] Rachford, H. H. Jr, and J. D. Rice. “Procedure for Use of Electronic Digital Computers in Calculating Flash
Vaporization Hydrocarbon Equilibrium.” Journal of Petroleum Technology 4, no. 10 (October 1, 1952): 19-3.
doi:10.2118/952327-G.
[1] Rachford, H. H. Jr, and J. D. Rice. “Procedure for Use of Electronic Digital Computers in Calculating Flash
Vaporization Hydrocarbon Equilibrium.” Journal of Petroleum Technology 4, no. 10 (October 1, 1952): 19-3.
doi:10.2118/952327-G.
479
thermo Documentation, Release 0.1
[2] Li, Yinghui, Russell T. Johns, and Kaveh Ahmadi. “A Rapid and Robust Alternative to Rachford-Rice in Flash
Calculations.” Fluid Phase Equilibria 316 (February 25, 2012): 85-97. doi:10.1016/j.fluid.2011.12.005.
[3] Whitson, Curtis H., and Michael L. Michelsen. “The Negative Flash.” Fluid Phase Equilibria, Proceedings of the
Fifth International Conference, 53 (December 1, 1989): 51-71. doi:10.1016/0378-3812(89)80072-X.
[1] Li, Yinghui, Russell T. Johns, and Kaveh Ahmadi. “A Rapid and Robust Alternative to Rachford-Rice in Flash
Calculations.” Fluid Phase Equilibria 316 (February 25, 2012): 85-97. doi:10.1016/j.fluid.2011.12.005.
[1] Renon, Henri, and J. M. Prausnitz. “Local Compositions in Thermodynamic Excess Functions for Liquid Mix-
tures.” AIChE Journal 14, no. 1 (1968): 135-144. doi:10.1002/aic.690140124.
[2] Gmehling, Jurgen, Barbel Kolbe, Michael Kleiber, and Jurgen Rarey. Chemical Thermodynamics for Process
Simulation. 1st edition. Weinheim: Wiley-VCH, 2012.
[1] Wilson, Grant M. “Vapor-Liquid Equilibrium. XI. A New Expression for the Excess Free Energy of Mixing.”
Journal of the American Chemical Society 86, no. 2 (January 1, 1964): 127-130. doi:10.1021/ja01056a002.
[2] Gmehling, Jurgen, Barbel Kolbe, Michael Kleiber, and Jurgen Rarey. Chemical Thermodynamics for Process
Simulation. 1st edition. Weinheim: Wiley-VCH, 2012.
[1] Abrams, Denis S., and John M. Prausnitz. “Statistical Thermodynamics of Liquid Mixtures: A New Expression
for the Excess Gibbs Energy of Partly or Completely Miscible Systems.” AIChE Journal 21, no. 1 (January 1,
1975): 116-28. doi:10.1002/aic.690210115.
[2] Gmehling, Jurgen, Barbel Kolbe, Michael Kleiber, and Jurgen Rarey. Chemical Thermodynamics for Process
Simulation. 1st edition. Weinheim: Wiley-VCH, 2012.
[3] Maurer, G., and J. M. Prausnitz. “On the Derivation and Extension of the Uniquac Equation.” Fluid Phase Equi-
libria 2, no. 2 (January 1, 1978): 91-99. doi:10.1016/0378-3812(78)85002-X.
[1] Ambrose, Douglas, and Colin L. Young. “Vapor-Liquid Critical Properties of Elements and Compounds. 1.
An Introductory Survey.” Journal of Chemical & Engineering Data 41, no. 1 (January 1, 1996): 154-154.
doi:10.1021/je950378q.
[2] Ambrose, Douglas, and Constantine Tsonopoulos. “Vapor-Liquid Critical Properties of Elements and Com-
pounds. 2. Normal Alkanes.” Journal of Chemical & Engineering Data 40, no. 3 (May 1, 1995): 531-46.
doi:10.1021/je00019a001.
[3] Tsonopoulos, Constantine, and Douglas Ambrose. “Vapor-Liquid Critical Properties of Elements and Com-
pounds. 3. Aromatic Hydrocarbons.” Journal of Chemical & Engineering Data 40, no. 3 (May 1, 1995): 547-58.
doi:10.1021/je00019a002.
[4] Gude, Michael, and Amyn S. Teja. “Vapor-Liquid Critical Properties of Elements and Compounds. 4.
Aliphatic Alkanols.” Journal of Chemical & Engineering Data 40, no. 5 (September 1, 1995): 1025-36.
doi:10.1021/je00021a001.
[5] Daubert, Thomas E. “Vapor-Liquid Critical Properties of Elements and Compounds. 5. Branched Alkanes and Cy-
cloalkanes.” Journal of Chemical & Engineering Data 41, no. 3 (January 1, 1996): 365-72. doi:10.1021/je9501548.
[6] Tsonopoulos, Constantine, and Douglas Ambrose. “Vapor-Liquid Critical Properties of Elements and Compounds.
6. Unsaturated Aliphatic Hydrocarbons.” Journal of Chemical & Engineering Data 41, no. 4 (January 1, 1996):
645-56. doi:10.1021/je9501999.
[7] Kudchadker, Arvind P., Douglas Ambrose, and Constantine Tsonopoulos. “Vapor-Liquid Critical Properties of
Elements and Compounds. 7. Oxygen Compounds Other Than Alkanols and Cycloalkanols.” Journal of Chemical
& Engineering Data 46, no. 3 (May 1, 2001): 457-79. doi:10.1021/je0001680.
[8] Tsonopoulos, Constantine, and Douglas Ambrose. “Vapor-Liquid Critical Properties of Elements and Compounds.
8. Organic Sulfur, Silicon, and Tin Compounds (C + H + S, Si, and Sn).” Journal of Chemical & Engineering Data
46, no. 3 (May 1, 2001): 480-85. doi:10.1021/je000210r.
480 Bibliography
thermo Documentation, Release 0.1
[9] Marsh, Kenneth N., Colin L. Young, David W. Morton, Douglas Ambrose, and Constantine Tsonopoulos. “Vapor-
Liquid Critical Properties of Elements and Compounds. 9. Organic Compounds Containing Nitrogen.” Journal of
Chemical & Engineering Data 51, no. 2 (March 1, 2006): 305-14. doi:10.1021/je050221q.
[10] Marsh, Kenneth N., Alan Abramson, Douglas Ambrose, David W. Morton, Eugene Nikitin, Constantine
Tsonopoulos, and Colin L. Young. “Vapor-Liquid Critical Properties of Elements and Compounds. 10. Organic
Compounds Containing Halogens.” Journal of Chemical & Engineering Data 52, no. 5 (September 1, 2007):
1509-38. doi:10.1021/je700336g.
[11] Ambrose, Douglas, Constantine Tsonopoulos, and Eugene D. Nikitin. “Vapor-Liquid Critical Properties of El-
ements and Compounds. 11. Organic Compounds Containing B + O; Halogens + N, + O, + O + S, + S, +
Si; N + O; and O + S, + Si.” Journal of Chemical & Engineering Data 54, no. 3 (March 12, 2009): 669-89.
doi:10.1021/je800580z.
[12] Ambrose, Douglas, Constantine Tsonopoulos, Eugene D. Nikitin, David W. Morton, and Kenneth N. Marsh.
“Vapor-Liquid Critical Properties of Elements and Compounds. 12. Review of Recent Data for Hydrocar-
bons and Non-Hydrocarbons.” Journal of Chemical & Engineering Data, October 5, 2015, 151005081500002.
doi:10.1021/acs.jced.5b00571.
[13] Mathews, Joseph F. “Critical Constants of Inorganic Substances.” Chemical Reviews 72, no. 1 (February 1,
1972): 71-100. doi:10.1021/cr60275a004.
[14] Haynes, W.M., Thomas J. Bruno, and David R. Lide. CRC Handbook of Chemistry and Physics, 95E. Boca
Raton, FL: CRC press, 2014.
[15] Horstmann, Sven, Anna Jabłoniec, Jörg Krafczyk, Kai Fischer, and Jürgen Gmehling. “PSRK Group Con-
tribution Equation of State: Comprehensive Revision and Extension IV, Including Critical Constants and A-
Function Parameters for 1000 Components.” Fluid Phase Equilibria 227, no. 2 (January 25, 2005): 157-64.
doi:10.1016/j.fluid.2004.11.002.
[16] Passut, Charles A., and Ronald P. Danner. “Acentric Factor. A Valuable Correlating Parameter for the Properties
of Hydrocarbons.” Industrial & Engineering Chemistry Process Design and Development 12, no. 3 (July 1, 1973):
365–68. doi:10.1021/i260047a026.
[17] Yaws, Carl L. Thermophysical Properties of Chemicals and Hydrocarbons, Second Edition. Amsterdam Boston:
Gulf Professional Publishing, 2014.
[1] Ambrose, Douglas, and Colin L. Young. “Vapor-Liquid Critical Properties of Elements and Compounds. 1.
An Introductory Survey.” Journal of Chemical & Engineering Data 41, no. 1 (January 1, 1996): 154-154.
doi:10.1021/je950378q.
[2] Ambrose, Douglas, and Constantine Tsonopoulos. “Vapor-Liquid Critical Properties of Elements and Com-
pounds. 2. Normal Alkanes.” Journal of Chemical & Engineering Data 40, no. 3 (May 1, 1995): 531-46.
doi:10.1021/je00019a001.
[3] Tsonopoulos, Constantine, and Douglas Ambrose. “Vapor-Liquid Critical Properties of Elements and Com-
pounds. 3. Aromatic Hydrocarbons.” Journal of Chemical & Engineering Data 40, no. 3 (May 1, 1995): 547-58.
doi:10.1021/je00019a002.
[4] Gude, Michael, and Amyn S. Teja. “Vapor-Liquid Critical Properties of Elements and Compounds. 4.
Aliphatic Alkanols.” Journal of Chemical & Engineering Data 40, no. 5 (September 1, 1995): 1025-36.
doi:10.1021/je00021a001.
[5] Daubert, Thomas E. “Vapor-Liquid Critical Properties of Elements and Compounds. 5. Branched Alkanes and Cy-
cloalkanes.” Journal of Chemical & Engineering Data 41, no. 3 (January 1, 1996): 365-72. doi:10.1021/je9501548.
[6] Tsonopoulos, Constantine, and Douglas Ambrose. “Vapor-Liquid Critical Properties of Elements and Compounds.
6. Unsaturated Aliphatic Hydrocarbons.” Journal of Chemical & Engineering Data 41, no. 4 (January 1, 1996):
645-56. doi:10.1021/je9501999.
Bibliography 481
thermo Documentation, Release 0.1
[7] Kudchadker, Arvind P., Douglas Ambrose, and Constantine Tsonopoulos. “Vapor-Liquid Critical Properties of
Elements and Compounds. 7. Oxygen Compounds Other Than Alkanols and Cycloalkanols.” Journal of Chemical
& Engineering Data 46, no. 3 (May 1, 2001): 457-79. doi:10.1021/je0001680.
[8] Tsonopoulos, Constantine, and Douglas Ambrose. “Vapor-Liquid Critical Properties of Elements and Compounds.
8. Organic Sulfur, Silicon, and Tin Compounds (C + H + S, Si, and Sn).” Journal of Chemical & Engineering Data
46, no. 3 (May 1, 2001): 480-85. doi:10.1021/je000210r.
[9] Marsh, Kenneth N., Colin L. Young, David W. Morton, Douglas Ambrose, and Constantine Tsonopoulos. “Vapor-
Liquid Critical Properties of Elements and Compounds. 9. Organic Compounds Containing Nitrogen.” Journal of
Chemical & Engineering Data 51, no. 2 (March 1, 2006): 305-14. doi:10.1021/je050221q.
[10] Marsh, Kenneth N., Alan Abramson, Douglas Ambrose, David W. Morton, Eugene Nikitin, Constantine
Tsonopoulos, and Colin L. Young. “Vapor-Liquid Critical Properties of Elements and Compounds. 10. Organic
Compounds Containing Halogens.” Journal of Chemical & Engineering Data 52, no. 5 (September 1, 2007):
1509-38. doi:10.1021/je700336g.
[11] Ambrose, Douglas, Constantine Tsonopoulos, and Eugene D. Nikitin. “Vapor-Liquid Critical Properties of El-
ements and Compounds. 11. Organic Compounds Containing B + O; Halogens + N, + O, + O + S, + S, +
Si; N + O; and O + S, + Si.” Journal of Chemical & Engineering Data 54, no. 3 (March 12, 2009): 669-89.
doi:10.1021/je800580z.
[12] Ambrose, Douglas, Constantine Tsonopoulos, Eugene D. Nikitin, David W. Morton, and Kenneth N. Marsh.
“Vapor-Liquid Critical Properties of Elements and Compounds. 12. Review of Recent Data for Hydrocar-
bons and Non-Hydrocarbons.” Journal of Chemical & Engineering Data, October 5, 2015, 151005081500002.
doi:10.1021/acs.jced.5b00571.
[13] Mathews, Joseph F. “Critical Constants of Inorganic Substances.” Chemical Reviews 72, no. 1 (February 1,
1972): 71-100. doi:10.1021/cr60275a004.
[14] Haynes, W.M., Thomas J. Bruno, and David R. Lide. CRC Handbook of Chemistry and Physics, 95E. Boca
Raton, FL: CRC press, 2014.
[15] Horstmann, Sven, Anna Jabłoniec, Jörg Krafczyk, Kai Fischer, and Jürgen Gmehling. “PSRK Group Con-
tribution Equation of State: Comprehensive Revision and Extension IV, Including Critical Constants and A-
Function Parameters for 1000 Components.” Fluid Phase Equilibria 227, no. 2 (January 25, 2005): 157-64.
doi:10.1016/j.fluid.2004.11.002.
[16] Passut, Charles A., and Ronald P. Danner. “Acentric Factor. A Valuable Correlating Parameter for the Properties
of Hydrocarbons.” Industrial & Engineering Chemistry Process Design and Development 12, no. 3 (July 1, 1973):
365–68. doi:10.1021/i260047a026.
[17] Yaws, Carl L. Thermophysical Properties of Chemicals and Hydrocarbons, Second Edition. Amsterdam Boston:
Gulf Professional Publishing, 2014.
[1] Ambrose, Douglas, and Colin L. Young. “Vapor-Liquid Critical Properties of Elements and Compounds. 1.
An Introductory Survey.” Journal of Chemical & Engineering Data 41, no. 1 (January 1, 1996): 154-154.
doi:10.1021/je950378q.
[2] Ambrose, Douglas, and Constantine Tsonopoulos. “Vapor-Liquid Critical Properties of Elements and Com-
pounds. 2. Normal Alkanes.” Journal of Chemical & Engineering Data 40, no. 3 (May 1, 1995): 531-46.
doi:10.1021/je00019a001.
[3] Tsonopoulos, Constantine, and Douglas Ambrose. “Vapor-Liquid Critical Properties of Elements and Com-
pounds. 3. Aromatic Hydrocarbons.” Journal of Chemical & Engineering Data 40, no. 3 (May 1, 1995): 547-58.
doi:10.1021/je00019a002.
[4] Gude, Michael, and Amyn S. Teja. “Vapor-Liquid Critical Properties of Elements and Compounds. 4.
Aliphatic Alkanols.” Journal of Chemical & Engineering Data 40, no. 5 (September 1, 1995): 1025-36.
doi:10.1021/je00021a001.
482 Bibliography
thermo Documentation, Release 0.1
[5] Daubert, Thomas E. “Vapor-Liquid Critical Properties of Elements and Compounds. 5. Branched Alkanes and Cy-
cloalkanes.” Journal of Chemical & Engineering Data 41, no. 3 (January 1, 1996): 365-72. doi:10.1021/je9501548.
[6] Tsonopoulos, Constantine, and Douglas Ambrose. “Vapor-Liquid Critical Properties of Elements and Compounds.
6. Unsaturated Aliphatic Hydrocarbons.” Journal of Chemical & Engineering Data 41, no. 4 (January 1, 1996):
645-56. doi:10.1021/je9501999.
[7] Kudchadker, Arvind P., Douglas Ambrose, and Constantine Tsonopoulos. “Vapor-Liquid Critical Properties of
Elements and Compounds. 7. Oxygen Compounds Other Than Alkanols and Cycloalkanols.” Journal of Chemical
& Engineering Data 46, no. 3 (May 1, 2001): 457-79. doi:10.1021/je0001680.
[8] Tsonopoulos, Constantine, and Douglas Ambrose. “Vapor-Liquid Critical Properties of Elements and Compounds.
8. Organic Sulfur, Silicon, and Tin Compounds (C + H + S, Si, and Sn).” Journal of Chemical & Engineering Data
46, no. 3 (May 1, 2001): 480-85. doi:10.1021/je000210r.
[9] Marsh, Kenneth N., Colin L. Young, David W. Morton, Douglas Ambrose, and Constantine Tsonopoulos. “Vapor-
Liquid Critical Properties of Elements and Compounds. 9. Organic Compounds Containing Nitrogen.” Journal of
Chemical & Engineering Data 51, no. 2 (March 1, 2006): 305-14. doi:10.1021/je050221q.
[10] Marsh, Kenneth N., Alan Abramson, Douglas Ambrose, David W. Morton, Eugene Nikitin, Constantine
Tsonopoulos, and Colin L. Young. “Vapor-Liquid Critical Properties of Elements and Compounds. 10. Organic
Compounds Containing Halogens.” Journal of Chemical & Engineering Data 52, no. 5 (September 1, 2007):
1509-38. doi:10.1021/je700336g.
[11] Ambrose, Douglas, Constantine Tsonopoulos, and Eugene D. Nikitin. “Vapor-Liquid Critical Properties of El-
ements and Compounds. 11. Organic Compounds Containing B + O; Halogens + N, + O, + O + S, + S, +
Si; N + O; and O + S, + Si.” Journal of Chemical & Engineering Data 54, no. 3 (March 12, 2009): 669-89.
doi:10.1021/je800580z.
[12] Ambrose, Douglas, Constantine Tsonopoulos, Eugene D. Nikitin, David W. Morton, and Kenneth N. Marsh.
“Vapor-Liquid Critical Properties of Elements and Compounds. 12. Review of Recent Data for Hydrocar-
bons and Non-Hydrocarbons.” Journal of Chemical & Engineering Data, October 5, 2015, 151005081500002.
doi:10.1021/acs.jced.5b00571.
[13] Mathews, Joseph F. “Critical Constants of Inorganic Substances.” Chemical Reviews 72, no. 1 (February 1,
1972): 71-100. doi:10.1021/cr60275a004.
[14] Haynes, W.M., Thomas J. Bruno, and David R. Lide. CRC Handbook of Chemistry and Physics, 95E. Boca
Raton, FL: CRC press, 2014.
[15] Horstmann, Sven, Anna Jabłoniec, Jörg Krafczyk, Kai Fischer, and Jürgen Gmehling. “PSRK Group Con-
tribution Equation of State: Comprehensive Revision and Extension IV, Including Critical Constants and A-
Function Parameters for 1000 Components.” Fluid Phase Equilibria 227, no. 2 (January 25, 2005): 157-64.
doi:10.1016/j.fluid.2004.11.002.
[16] Yaws, Carl L. Thermophysical Properties of Chemicals and Hydrocarbons, Second Edition. Amsterdam Boston:
Gulf Professional Publishing, 2014.
[1] Ambrose, Douglas, and Colin L. Young. “Vapor-Liquid Critical Properties of Elements and Compounds. 1.
An Introductory Survey.” Journal of Chemical & Engineering Data 41, no. 1 (January 1, 1996): 154-154.
doi:10.1021/je950378q.
[2] Ambrose, Douglas, and Constantine Tsonopoulos. “Vapor-Liquid Critical Properties of Elements and Com-
pounds. 2. Normal Alkanes.” Journal of Chemical & Engineering Data 40, no. 3 (May 1, 1995): 531-46.
doi:10.1021/je00019a001.
[3] Tsonopoulos, Constantine, and Douglas Ambrose. “Vapor-Liquid Critical Properties of Elements and Com-
pounds. 3. Aromatic Hydrocarbons.” Journal of Chemical & Engineering Data 40, no. 3 (May 1, 1995): 547-58.
doi:10.1021/je00019a002.
Bibliography 483
thermo Documentation, Release 0.1
[4] Gude, Michael, and Amyn S. Teja. “Vapor-Liquid Critical Properties of Elements and Compounds. 4.
Aliphatic Alkanols.” Journal of Chemical & Engineering Data 40, no. 5 (September 1, 1995): 1025-36.
doi:10.1021/je00021a001.
[5] Daubert, Thomas E. “Vapor-Liquid Critical Properties of Elements and Compounds. 5. Branched Alkanes and Cy-
cloalkanes.” Journal of Chemical & Engineering Data 41, no. 3 (January 1, 1996): 365-72. doi:10.1021/je9501548.
[6] Tsonopoulos, Constantine, and Douglas Ambrose. “Vapor-Liquid Critical Properties of Elements and Compounds.
6. Unsaturated Aliphatic Hydrocarbons.” Journal of Chemical & Engineering Data 41, no. 4 (January 1, 1996):
645-56. doi:10.1021/je9501999.
[7] Kudchadker, Arvind P., Douglas Ambrose, and Constantine Tsonopoulos. “Vapor-Liquid Critical Properties of
Elements and Compounds. 7. Oxygen Compounds Other Than Alkanols and Cycloalkanols.” Journal of Chemical
& Engineering Data 46, no. 3 (May 1, 2001): 457-79. doi:10.1021/je0001680.
[8] Tsonopoulos, Constantine, and Douglas Ambrose. “Vapor-Liquid Critical Properties of Elements and Compounds.
8. Organic Sulfur, Silicon, and Tin Compounds (C + H + S, Si, and Sn).” Journal of Chemical & Engineering Data
46, no. 3 (May 1, 2001): 480-85. doi:10.1021/je000210r.
[9] Marsh, Kenneth N., Colin L. Young, David W. Morton, Douglas Ambrose, and Constantine Tsonopoulos. “Vapor-
Liquid Critical Properties of Elements and Compounds. 9. Organic Compounds Containing Nitrogen.” Journal of
Chemical & Engineering Data 51, no. 2 (March 1, 2006): 305-14. doi:10.1021/je050221q.
[10] Marsh, Kenneth N., Alan Abramson, Douglas Ambrose, David W. Morton, Eugene Nikitin, Constantine
Tsonopoulos, and Colin L. Young. “Vapor-Liquid Critical Properties of Elements and Compounds. 10. Organic
Compounds Containing Halogens.” Journal of Chemical & Engineering Data 52, no. 5 (September 1, 2007):
1509-38. doi:10.1021/je700336g.
[11] Ambrose, Douglas, Constantine Tsonopoulos, and Eugene D. Nikitin. “Vapor-Liquid Critical Properties of El-
ements and Compounds. 11. Organic Compounds Containing B + O; Halogens + N, + O, + O + S, + S, +
Si; N + O; and O + S, + Si.” Journal of Chemical & Engineering Data 54, no. 3 (March 12, 2009): 669-89.
doi:10.1021/je800580z.
[12] Ambrose, Douglas, Constantine Tsonopoulos, Eugene D. Nikitin, David W. Morton, and Kenneth N. Marsh.
“Vapor-Liquid Critical Properties of Elements and Compounds. 12. Review of Recent Data for Hydrocar-
bons and Non-Hydrocarbons.” Journal of Chemical & Engineering Data, October 5, 2015, 151005081500002.
doi:10.1021/acs.jced.5b00571.
[13] Mathews, Joseph F. “Critical Constants of Inorganic Substances.” Chemical Reviews 72, no. 1 (February 1,
1972): 71-100. doi:10.1021/cr60275a004.
[14] Haynes, W.M., Thomas J. Bruno, and David R. Lide. CRC Handbook of Chemistry and Physics, 95E. Boca
Raton, FL: CRC press, 2014.
[15] Horstmann, Sven, Anna Jabłoniec, Jörg Krafczyk, Kai Fischer, and Jürgen Gmehling. “PSRK Group Con-
tribution Equation of State: Comprehensive Revision and Extension IV, Including Critical Constants and A-
Function Parameters for 1000 Components.” Fluid Phase Equilibria 227, no. 2 (January 25, 2005): 157-64.
doi:10.1016/j.fluid.2004.11.002.
[16] Yaws, Carl L. Thermophysical Properties of Chemicals and Hydrocarbons, Second Edition. Amsterdam Boston:
Gulf Professional Publishing, 2014.
[1] Mersmann, Alfons, and Matthias Kind. “Correlation for the Prediction of Critical Molar Volume.” Industrial &
Engineering Chemistry Research, October 16, 2017. https://doi.org/10.1021/acs.iecr.7b03171.
[2] Mersmann, Alfons, and Matthias Kind. “Prediction of Mechanical and Thermal Properties of Pure Liquids, of
Critical Data, and of Vapor Pressure.” Industrial & Engineering Chemistry Research, January 31, 2017. https:
//doi.org/10.1021/acs.iecr.6b04323.
[1] Ihmels, E. Christian. “The Critical Surface.” Journal of Chemical & Engineering Data 55, no. 9 (September 9,
2010): 3474-80. doi:10.1021/je100167w.
484 Bibliography
thermo Documentation, Release 0.1
[1] Meissner, H. P., and E. M. Redding. “Prediction of Critical Constants.” Industrial & Engineering Chemistry 34,
no. 5 (May 1, 1942): 521-26. doi:10.1021/ie50389a003.
[1] Grigoras, Stelian. “A Structural Approach to Calculate Physical Properties of Pure Organic Substances: The
Critical Temperature, Critical Volume and Related Properties.” Journal of Computational Chemistry 11, no. 4
(May 1, 1990): 493-510. doi:10.1002/jcc.540110408
[1] Li, C. C. “Critical Temperature Estimation for Simple Mixtures.” The Canadian Journal of Chemical Engineering
49, no. 5 (October 1, 1971): 709-10. doi:10.1002/cjce.5450490529.
[1] Chueh, P. L., and J. M. Prausnitz. “Vapor-Liquid Equilibria at High Pressures: Calculation of Critical Tempera-
tures, Volumes, and Pressures of Nonpolar Mixtures.” AIChE Journal 13, no. 6 (November 1, 1967): 1107-13.
doi:10.1002/aic.690130613.
[2] Najafi, Hamidreza, Babak Maghbooli, and Mohammad Amin Sobati. “Prediction of True Critical Temperature of
Multi-Component Mixtures: Extending Fast Estimation Methods.” Fluid Phase Equilibria 392 (April 25, 2015):
104-26. doi:10.1016/j.fluid.2015.02.001.
[1] Grieves, Robert B., and George Thodos. “The Critical Temperatures of Multicomponent Hydrocarbon Systems.”
AIChE Journal 8, no. 4 (September 1, 1962): 550-53. doi:10.1002/aic.690080426.
[2] Najafi, Hamidreza, Babak Maghbooli, and Mohammad Amin Sobati. “Prediction of True Critical Temperature of
Multi-Component Mixtures: Extending Fast Estimation Methods.” Fluid Phase Equilibria 392 (April 25, 2015):
104-26. doi:10.1016/j.fluid.2015.02.001.
[1] Teja, Amyn S., Kul B. Garg, and Richard L. Smith. “A Method for the Calculation of Gas-Liquid Critical Tem-
peratures and Pressures of Multicomponent Mixtures.” Industrial & Engineering Chemistry Process Design and
Development 22, no. 4 (1983): 672-76.
[2] Najafi, Hamidreza, Babak Maghbooli, and Mohammad Amin Sobati. “Prediction of True Critical Temperature of
Multi-Component Mixtures: Extending Fast Estimation Methods.” Fluid Phase Equilibria 392 (April 25, 2015):
104-26. doi:10.1016/j.fluid.2015.02.001.
[1] Chueh, P. L., and J. M. Prausnitz. “Vapor-Liquid Equilibria at High Pressures: Calculation of Critical Tempera-
tures, Volumes, and Pressures of Nonpolar Mixtures.” AIChE Journal 13, no. 6 (November 1, 1967): 1107-13.
doi:10.1002/aic.690130613.
[2] Najafi, Hamidreza, Babak Maghbooli, and Mohammad Amin Sobati. “Prediction of True Critical Volume of
Multi-Component Mixtures: Extending Fast Estimation Methods.” Fluid Phase Equilibria 386 (January 25, 2015):
13-29. doi:10.1016/j.fluid.2014.11.008.
[1] Teja, Amyn S., Kul B. Garg, and Richard L. Smith. “A Method for the Calculation of Gas-Liquid Critical Tem-
peratures and Pressures of Multicomponent Mixtures.” Industrial & Engineering Chemistry Process Design and
Development 22, no. 4 (1983): 672-76.
[2] Najafi, Hamidreza, Babak Maghbooli, and Mohammad Amin Sobati. “Prediction of True Critical Temperature of
Multi-Component Mixtures: Extending Fast Estimation Methods.” Fluid Phase Equilibria 392 (April 25, 2015):
104-26. doi:10.1016/j.fluid.2015.02.001.
[1] NIST Computational Chemistry Comparison and Benchmark Database NIST Standard Reference Database Num-
ber 101 Release 17b, September 2015, Editor: Russell D. Johnson III http://cccbdb.nist.gov/
[2] Muller, Karsten, Liudmila Mokrushina, and Wolfgang Arlt. “Second- Order Group Contribution Method for the
Determination of the Dipole Moment.” Journal of Chemical & Engineering Data 57, no. 4 (April 12, 2012):
1231-36. doi:10.1021/je2013395.
[3] Poling, Bruce E. The Properties of Gases and Liquids. 5th edition. New York: McGraw-Hill Professional, 2000.
[1] Design Institute for Physical Properties, 1996. DIPPR Project 801 DIPPR/AIChE
[1] Design Institute for Physical Properties, 1996. DIPPR Project 801 DIPPR/AIChE
[1] Design Institute for Physical Properties, 1996. DIPPR Project 801 DIPPR/AIChE
Bibliography 485
thermo Documentation, Release 0.1
[1] Design Institute for Physical Properties, 1996. DIPPR Project 801 DIPPR/AIChE
[1] Design Institute for Physical Properties, 1996. DIPPR Project 801 DIPPR/AIChE
[1] Design Institute for Physical Properties, 1996. DIPPR Project 801 DIPPR/AIChE
[1] Design Institute for Physical Properties, 1996. DIPPR Project 801 DIPPR/AIChE
[2] Aly, Fouad A., and Lloyd L. Lee. “Self-Consistent Equations for Calculating the Ideal Gas Heat Capacity, En-
thalpy, and Entropy.” Fluid Phase Equilibria 6, no. 3 (January 1, 1981): 169-79. doi:10.1016/0378-3812(81)85002-
9.
[1] Design Institute for Physical Properties, 1996. DIPPR Project 801 DIPPR/AIChE
[1] Design Institute for Physical Properties, 1996. DIPPR Project 801 DIPPR/AIChE
[1] Design Institute for Physical Properties, 1996. DIPPR Project 801 DIPPR/AIChE
[1] Design Institute for Physical Properties, 1996. DIPPR Project 801 DIPPR/AIChE
[1] Speight, James. Lange’s Handbook of Chemistry. 16 edition. McGraw-Hill Professional, 2005.
[1] Laliberte, Marc. “A Model for Calculating the Heat Capacity of Aqueous Solutions, with Updated Density and Vis-
cosity Data.” Journal of Chemical & Engineering Data 54, no. 6 (June 11, 2009): 1725-60. doi:10.1021/je8008123
[1] Laliberte, Marc. “A Model for Calculating the Heat Capacity of Aqueous Solutions, with Updated Density and Vis-
cosity Data.” Journal of Chemical & Engineering Data 54, no. 6 (June 11, 2009): 1725-60. doi:10.1021/je8008123
[1] Laliberte, Marc. “A Model for Calculating the Heat Capacity of Aqueous Solutions, with Updated Density and Vis-
cosity Data.” Journal of Chemical & Engineering Data 54, no. 6 (June 11, 2009): 1725-60. doi:10.1021/je8008123
[1] Laliberte, Marc. “A Model for Calculating the Heat Capacity of Aqueous Solutions, with Updated Density and Vis-
cosity Data.” Journal of Chemical & Engineering Data 54, no. 6 (June 11, 2009): 1725-60. doi:10.1021/je8008123
[1] Laliberte, Marc. “A Model for Calculating the Heat Capacity of Aqueous Solutions, with Updated Density and Vis-
cosity Data.” Journal of Chemical & Engineering Data 54, no. 6 (June 11, 2009): 1725-60. doi:10.1021/je8008123
[1] Laliberte, Marc. “A Model for Calculating the Heat Capacity of Aqueous Solutions, with Updated Density and Vis-
cosity Data.” Journal of Chemical & Engineering Data 54, no. 6 (June 11, 2009): 1725-60. doi:10.1021/je8008123
[1] Laliberte, Marc. “A Model for Calculating the Heat Capacity of Aqueous Solutions, with Updated Density and Vis-
cosity Data.” Journal of Chemical & Engineering Data 54, no. 6 (June 11, 2009): 1725-60. doi:10.1021/je8008123
[1] Laliberte, Marc. “A Model for Calculating the Heat Capacity of Aqueous Solutions, with Updated Density and Vis-
cosity Data.” Journal of Chemical & Engineering Data 54, no. 6 (June 11, 2009): 1725-60. doi:10.1021/je8008123
[1] Laliberte, Marc. “A Model for Calculating the Heat Capacity of Aqueous Solutions, with Updated Density and Vis-
cosity Data.” Journal of Chemical & Engineering Data 54, no. 6 (June 11, 2009): 1725-60. doi:10.1021/je8008123
[1] Haynes, W.M., Thomas J. Bruno, and David R. Lide. CRC Handbook of Chemistry and Physics, 95E. Boca Raton,
FL: CRC press, 2014.
[1] McCleskey, R. Blaine. “Electrical Conductivity of Electrolytes Found In Natural Waters from (5 to 90) °C.” Journal
of Chemical & Engineering Data 56, no. 2 (February 10, 2011): 317-27. doi:10.1021/je101012n.
[1] Magomedov, U. B. “The Thermal Conductivity of Binary and Multicomponent Aqueous Solutions of In-
organic Substances at High Parameters of State.” High Temperature 39, no. 2 (March 1, 2001): 221-26.
doi:10.1023/A:1017518731726.
[1] Chen, Chau-Chyun, H. I. Britt, J. F. Boston, and L. B. Evans. “Local Composition Model for Excess Gibbs
Energy of Electrolyte Systems. Part I: Single Solvent, Single Completely Dissociated Electrolyte Systems.” AIChE
Journal 28, no. 4 (July 1, 1982): 588-96. doi:10.1002/aic.690280410
[2] Gmehling, Jurgen. Chemical Thermodynamics: For Process Simulation. Weinheim, Germany: Wiley-VCH, 2012.
486 Bibliography
thermo Documentation, Release 0.1
[1] Marshall, William L., and E. U. Franck. “Ion Product of Water Substance, 0-1000 degree C, 1010,000 Bars New
International Formulation and Its Background.” Journal of Physical and Chemical Reference Data 10, no. 2 (April
1, 1981): 295-304. doi:10.1063/1.555643.
[1] Bandura, Andrei V., and Serguei N. Lvov. “The Ionization Constant of Water over Wide Ranges of Tem-
perature and Density.” Journal of Physical and Chemical Reference Data 35, no. 1 (March 1, 2006): 15-30.
doi:10.1063/1.1928231
[1] Bandura, Andrei V., and Serguei N. Lvov. “The Ionization Constant of Water over Wide Ranges of Tem-
perature and Density.” Journal of Physical and Chemical Reference Data 35, no. 1 (March 1, 2006): 15-30.
doi:10.1063/1.1928231
[1] N M O’Boyle, M Banck, C A James, C Morley, T Vandermeersch, and G R Hutchison. “Open Babel: An open
chemical toolbox.” J. Cheminf. (2011), 3, 33. DOI:10.1186/1758-2946-3-33
[1] RDKit: Open-source cheminformatics; http://www.rdkit.org
[1] RDKit: Open-source cheminformatics; http://www.rdkit.org
[1] RDKit: Open-source cheminformatics; http://www.rdkit.org
[1] Laštovka, Václav, Nasser Sallamie, and John M. Shaw. “A Similarity Variable for Estimating the Heat Capacity
of Solid Organic Compounds: Part I. Fundamentals.” Fluid Phase Equilibria 268, no. 1-2 (June 25, 2008): 51-60.
doi:10.1016/j.fluid.2008.03.019.
[1] Hill, Edwin A.”“ON A SYSTEM OF INDEXING CHEMICAL LITERATURE; ADOPTED BY THE CLASSI-
FICATION DIVISION OF THE U. S. PATENT OFFICE.1.” Journal of the American Chemical Society 22, no. 8
(August 1, 1900): 478-94. doi:10.1021/ja02046a005.
[1] Walas, Stanley M. Phase Equilibria in Chemical Engineering. Butterworth-Heinemann, 1985.
[1] Soave, G. “Direct Calculation of Pure-Compound Vapour Pressures through Cubic Equations of State.” Fluid
Phase Equilibria 31, no. 2 (January 1, 1986): 203-7. doi:10.1016/0378-3812(86)90013-0.
[1] Thorade, Matthis, and Ali Saadat. “Partial Derivatives of Thermodynamic State Properties for Dynamic Simula-
tion.” Environmental Earth Sciences 70, no. 8 (April 10, 2013): 3497-3503. doi:10.1007/s12665-013-2394-z.
[2] Poling, Bruce E. The Properties of Gases and Liquids. 5th edition. New York: McGraw-Hill Professional, 2000.
[3] Walas, Stanley M. Phase Equilibria in Chemical Engineering. Butterworth-Heinemann, 1985.
[1] Peng, Ding-Yu, and Donald B. Robinson. “A New Two-Constant Equation of State.” Industrial & Engineering
Chemistry Fundamentals 15, no. 1 (February 1, 1976): 59-64. doi:10.1021/i160057a011.
[2] Robinson, Donald B., Ding-Yu Peng, and Samuel Y-K Chung. “The Development of the Peng - Robinson Equation
and Its Application to Phase Equilibrium in a System Containing Methanol.” Fluid Phase Equilibria 24, no. 1
(January 1, 1985): 25-41. doi:10.1016/0378-3812(85)87035-7.
[3] Privat, R., and J.-N. Jaubert. “PPR78, a Thermodynamic Model for the Prediction of Petroleum Fluid-Phase
Behaviour,” 11. EDP Sciences, 2011. doi:10.1051/jeep/201100011.
[1] Soave, Giorgio. “Equilibrium Constants from a Modified Redlich-Kwong Equation of State.” Chemical Engineer-
ing Science 27, no. 6 (June 1972): 1197-1203. doi:10.1016/0009-2509(72)80096-4.
[2] Poling, Bruce E. The Properties of Gases and Liquids. 5th edition. New York: McGraw-Hill Professional, 2000.
[3] Walas, Stanley M. Phase Equilibria in Chemical Engineering. Butterworth-Heinemann, 1985.
[1] Robinson, Donald B, and Ding-Yu Peng. The Characterization of the Heptanes and Heavier Fractions for the GPA
Peng-Robinson Programs. Tulsa, Okla.: Gas Processors Association, 1978.
[2] Robinson, Donald B., Ding-Yu Peng, and Samuel Y-K Chung. “The Development of the Peng - Robinson Equation
and Its Application to Phase Equilibrium in a System Containing Methanol.” Fluid Phase Equilibria 24, no. 1
(January 1, 1985): 25-41. doi:10.1016/0378-3812(85)87035-7.
Bibliography 487
thermo Documentation, Release 0.1
[1] Stryjek, R., and J. H. Vera. “PRSV: An Improved Peng-Robinson Equation of State for Pure Com-
pounds and Mixtures.” The Canadian Journal of Chemical Engineering 64, no. 2 (April 1, 1986): 323-33.
doi:10.1002/cjce.5450640224.
[2] Stryjek, R., and J. H. Vera. “PRSV - An Improved Peng-Robinson Equation of State with New Mixing Rules for
Strongly Nonideal Mixtures.” The Canadian Journal of Chemical Engineering 64, no. 2 (April 1, 1986): 334-40.
doi:10.1002/cjce.5450640225.
[3] Stryjek, R., and J. H. Vera. “Vapor-liquid Equilibrium of Hydrochloric Acid Solutions with the PRSV Equation of
State.” Fluid Phase Equilibria 25, no. 3 (January 1, 1986): 279-90. doi:10.1016/0378-3812(86)80004-8.
[4] Proust, P., and J. H. Vera. “PRSV: The Stryjek-Vera Modification of the Peng-Robinson Equation of State. Param-
eters for Other Pure Compounds of Industrial Interest.” The Canadian Journal of Chemical Engineering 67, no. 1
(February 1, 1989): 170-73. doi:10.1002/cjce.5450670125.
[1] Stryjek, R., and J. H. Vera. “PRSV2: A Cubic Equation of State for Accurate Vapor-liquid Equilib-
ria Calculations.” The Canadian Journal of Chemical Engineering 64, no. 5 (October 1, 1986): 820-26.
doi:10.1002/cjce.5450640516.
[1] Poling, Bruce E. The Properties of Gases and Liquids. 5th edition. New York: McGraw-Hill Professional, 2000.
[2] Walas, Stanley M. Phase Equilibria in Chemical Engineering. Butterworth-Heinemann, 1985.
[1] Redlich, Otto., and J. N. S. Kwong. “On the Thermodynamics of Solutions. V. An Equation of State. Fugacities
of Gaseous Solutions.” Chemical Reviews 44, no. 1 (February 1, 1949): 233-44. doi:10.1021/cr60137a013.
[2] Poling, Bruce E. The Properties of Gases and Liquids. 5th edition. New York: McGraw-Hill Professional, 2000.
[3] Walas, Stanley M. Phase Equilibria in Chemical Engineering. Butterworth-Heinemann, 1985.
[1] API Technical Data Book: General Properties & Characterization. American Petroleum Institute, 7E, 2005.
[1] Twu, Chorng H., John E. Coon, and John R. Cunningham. “A New Generalized Alpha Function for a Cubic
Equation of State Part 1. Peng-Robinson Equation.” Fluid Phase Equilibria 105, no. 1 (March 15, 1995): 49-59.
doi:10.1016/0378-3812(94)02601-V.
[1] Twu, Chorng H., John E. Coon, and John R. Cunningham. “A New Generalized Alpha Function for a Cubic
Equation of State Part 2. Redlich-Kwong Equation.” Fluid Phase Equilibria 105, no. 1 (March 15, 1995): 61-69.
doi:10.1016/0378-3812(94)02602-W.
[1] Young, André F., Fernando L. P. Pessoa, and Victor R. R. Ahón. “Comparison of 20 Alpha Functions Applied
in the Peng–Robinson Equation of State for Vapor Pressure Estimation.” Industrial & Engineering Chemistry
Research 55, no. 22 (June 8, 2016): 6506-16. doi:10.1021/acs.iecr.6b00721.
[1] Almeida, G. S., M. Aznar, and A. S. Telles. “Uma Nova Forma de Dependência Com a Temperatura Do Termo
Atrativo de Equações de Estado Cúbicas.” RBE, Rev. Bras. Eng., Cad. Eng. Quim 8 (1991): 95.
[1] Androulakis, I. P., N. S. Kalospiros, and D. P. Tassios. “Thermophysical Properties of Pure Polar and Nonpolar
Compounds with a Modified VdW-711 Equation of State.” Fluid Phase Equilibria 45, no. 2 (April 1, 1989): 135-
63. doi:10.1016/0378-3812(89)80254-7.
[1] Chen, Zehua, and Daoyong Yang. “Optimization of the Reduced Temperature Associated with Peng–Robinson
Equation of State and Soave-Redlich-Kwong Equation of State To Improve Vapor Pressure Predic-
tion for Heavy Hydrocarbon Compounds.” Journal of Chemical & Engineering Data, August 31, 2017.
doi:10.1021/acs.jced.7b00496.
[1] Coquelet, C., A. Chapoy, and D. Richon. “Development of a New Alpha Function for the Peng–Robinson
Equation of State: Comparative Study of Alpha Function Models for Pure Gases (Natural Gas Compo-
nents) and Water-Gas Systems.” International Journal of Thermophysics 25, no. 1 (January 1, 2004): 133-58.
doi:10.1023/B:IJOT.0000022331.46865.2f.
488 Bibliography
thermo Documentation, Release 0.1
[1] Gasem, K. A. M, W Gao, Z Pan, and R. L Robinson Jr. “A Modified Temperature Dependence for the Peng-
Robinson Equation of State.” Fluid Phase Equilibria 181, no. 1–2 (May 25, 2001): 113-25. doi:10.1016/S0378-
3812(01)00488-5.
[1] Gibbons, Richard M., and Andrew P. Laughton. “An Equation of State for Polar and Non-Polar Substances and
Mixtures” 80, no. 9 (January 1, 1984): 1019-38. doi:10.1039/F29848001019.
[1] Haghtalab, A., M. J. Kamali, S. H. Mazloumi, and P. Mahmoodi. “A New Three-Parameter Cubic Equation of
State for Calculation Physical Properties and Vapor-liquid Equilibria.” Fluid Phase Equilibria 293, no. 2 (June 25,
2010): 209-18. doi:10.1016/j.fluid.2010.03.029.
[1] Harmens, A., and H. Knapp. “Three-Parameter Cubic Equation of State for Normal Substances.” Industrial &
Engineering Chemistry Fundamentals 19, no. 3 (August 1, 1980): 291-94. doi:10.1021/i160075a010.
[1] Heyen, G. Liquid and Vapor Properties from a Cubic Equation of State. In “Proceedings of the 2nd International
Conference on Phase Equilibria and Fluid Properties in the Chemical Industry”. DECHEMA: Frankfurt, 1980; p
9-13.
[1] Mathias, Paul M. “A Versatile Phase Equilibrium Equation of State.” Industrial & Engineering Chemistry Process
Design and Development 22, no. 3 (July 1, 1983): 385-91. doi:10.1021/i200022a008.
[1] Mathias, Paul M., and Thomas W. Copeman. “Extension of the Peng-Robinson Equation of State to Complex
Mixtures: Evaluation of the Various Forms of the Local Composition Concept.” Fluid Phase Equilibria 13 (January
1, 1983): 91-108. doi:10.1016/0378-3812(83)80084-3.
[1] Melhem, Georges A., Riju Saini, and Bernard M. Goodwin. “A Modified Peng-Robinson Equation of State.” Fluid
Phase Equilibria 47, no. 2 (August 1, 1989): 189-237. doi:10.1016/0378-3812(89)80176-1.
[1] Saffari, Hamid, and Alireza Zahedi. “A New Alpha-Function for the Peng-Robinson Equation of State: Ap-
plication to Natural Gas.” Chinese Journal of Chemical Engineering 21, no. 10 (October 1, 2013): 1155-61.
doi:10.1016/S1004-9541(13)60581-9.
[1] J. Schwartzentruber, H. Renon, and S. Watanasiri, “K-values for Non-Ideal Systems:An Easier Way,” Chem. Eng.,
March 1990, 118-124.
[1] Soave, Giorgio. “Equilibrium Constants from a Modified Redlich- Kwong Equation of State.” Chemical Engineer-
ing Science 27, no. 6 (June 1972): 1197-1203. doi:10.1016/0009-2509(72)80096-4.
[1] Soave, G. “Improvement of the Van Der Waals Equation of State.” Chemical Engineering Science 39, no. 2
(January 1, 1984): 357-69. doi:10.1016/0009-2509(84)80034-2.
[1] Soave, G. “Improving the Treatment of Heavy Hydrocarbons by the SRK EOS.” Fluid Phase Equilibria 84 (April
1, 1993): 339-42. doi:10.1016/0378-3812(93)85131-5.
[1] Trebble, M. A., and P. R. Bishnoi. “Development of a New Four- Parameter Cubic Equation of State.” Fluid Phase
Equilibria 35, no. 1 (September 1, 1987): 1-18. doi:10.1016/0378-3812(87)80001-8.
[1] Twu, Chorng H., David Bluck, John R. Cunningham, and John E. Coon. “A Cubic Equation of State with a New Al-
pha Function and a New Mixing Rule.” Fluid Phase Equilibria 69 (December 10, 1991): 33-50. doi:10.1016/0378-
3812(91)90024-2.
[1] Yu, Jin-Min, and Benjamin C. -Y. Lu. “A Three-Parameter Cubic Equation of State for Asymmetric Mixture Den-
sity Calculations.” Fluid Phase Equilibria 34, no. 1 (January 1, 1987): 1-19. doi:10.1016/0378-3812(87)85047-1.
[1] Hu, Jiawen, Rong Wang, and Shide Mao. “Some Useful Expressions for Deriving Component Fugacity Co-
efficients from Mixture Fugacity Coefficient.” Fluid Phase Equilibria 268, no. 1-2 (June 25, 2008): 7-13.
doi:10.1016/j.fluid.2008.03.007.
[2] Walas, Stanley M. Phase Equilibria in Chemical Engineering. Butterworth-Heinemann, 1985.
[1] Peng, Ding-Yu, and Donald B. Robinson. “A New Two-Constant Equation of State.” Industrial & Engineering
Chemistry Fundamentals 15, no. 1 (February 1, 1976): 59-64. doi:10.1021/i160057a011.
Bibliography 489
thermo Documentation, Release 0.1
[2] Robinson, Donald B., Ding-Yu Peng, and Samuel Y-K Chung. “The Development of the Peng - Robinson Equation
and Its Application to Phase Equilibrium in a System Containing Methanol.” Fluid Phase Equilibria 24, no. 1
(January 1, 1985): 25-41. doi:10.1016/0378-3812(85)87035-7.
[1] Peng, Ding-Yu, and Donald B. Robinson. “A New Two-Constant Equation of State.” Industrial & Engineering
Chemistry Fundamentals 15, no. 1 (February 1, 1976): 59-64. doi:10.1021/i160057a011.
[2] Walas, Stanley M. Phase Equilibria in Chemical Engineering. Butterworth-Heinemann, 1985.
[1] Soave, Giorgio. “Equilibrium Constants from a Modified Redlich-Kwong Equation of State.” Chemical Engineer-
ing Science 27, no. 6 (June 1972): 1197-1203. doi:10.1016/0009-2509(72)80096-4.
[2] Poling, Bruce E. The Properties of Gases and Liquids. 5th edition. New York: McGraw-Hill Professional, 2000.
[3] Walas, Stanley M. Phase Equilibria in Chemical Engineering. Butterworth-Heinemann, 1985.
[1] Soave, Giorgio. “Equilibrium Constants from a Modified Redlich-Kwong Equation of State.” Chemical Engineer-
ing Science 27, no. 6 (June 1972): 1197-1203. doi:10.1016/0009-2509(72)80096-4.
[2] Walas, Stanley M. Phase Equilibria in Chemical Engineering. Butterworth-Heinemann, 1985.
[1] Peng, Ding-Yu, and Donald B. Robinson. “A New Two-Constant Equation of State.” Industrial & Engineering
Chemistry Fundamentals 15, no. 1 (February 1, 1976): 59-64. doi:10.1021/i160057a011.
[2] Robinson, Donald B., Ding-Yu Peng, and Samuel Y-K Chung. “The Development of the Peng - Robinson Equation
and Its Application to Phase Equilibrium in a System Containing Methanol.” Fluid Phase Equilibria 24, no. 1
(January 1, 1985): 25-41. doi:10.1016/0378-3812(85)87035-7.
[1] Walas, Stanley M. Phase Equilibria in Chemical Engineering. Butterworth-Heinemann, 1985.
[2] Poling, Bruce E. The Properties of Gases and Liquids. 5th edition. New York: McGraw-Hill Professional, 2000.
[1] Walas, Stanley M. Phase Equilibria in Chemical Engineering. Butterworth-Heinemann, 1985.
[1] Stryjek, R., and J. H. Vera. “PRSV: An Improved Peng-Robinson Equation of State for Pure Com-
pounds and Mixtures.” The Canadian Journal of Chemical Engineering 64, no. 2 (April 1, 1986): 323-33.
doi:10.1002/cjce.5450640224.
[2] Stryjek, R., and J. H. Vera. “PRSV - An Improved Peng-Robinson Equation of State with New Mixing Rules for
Strongly Nonideal Mixtures.” The Canadian Journal of Chemical Engineering 64, no. 2 (April 1, 1986): 334-40.
doi:10.1002/cjce.5450640225.
[3] Stryjek, R., and J. H. Vera. “Vapor-liquid Equilibrium of Hydrochloric Acid Solutions with the PRSV Equation of
State.” Fluid Phase Equilibria 25, no. 3 (January 1, 1986): 279-90. doi:10.1016/0378-3812(86)80004-8.
[4] Proust, P., and J. H. Vera. “PRSV: The Stryjek-Vera Modification of the Peng-Robinson Equation of State. Param-
eters for Other Pure Compounds of Industrial Interest.” The Canadian Journal of Chemical Engineering 67, no. 1
(February 1, 1989): 170-73. doi:10.1002/cjce.5450670125.
[1] Stryjek, R., and J. H. Vera. “PRSV2: A Cubic Equation of State for Accurate Vapor-liquid Equilib-
ria Calculations.” The Canadian Journal of Chemical Engineering 64, no. 5 (October 1, 1986): 820-26.
doi:10.1002/cjce.5450640516.
[1] Twu, Chorng H., John E. Coon, and John R. Cunningham. “A New Generalized Alpha Function for a Cubic
Equation of State Part 1. Peng-Robinson Equation.” Fluid Phase Equilibria 105, no. 1 (March 15, 1995): 49-59.
doi:10.1016/0378-3812(94)02601-V.
[1] Twu, Chorng H., John E. Coon, and John R. Cunningham. “A New Generalized Alpha Function for a Cubic
Equation of State Part 2. Redlich-Kwong Equation.” Fluid Phase Equilibria 105, no. 1 (March 15, 1995): 61-69.
doi:10.1016/0378-3812(94)02602-W.
[1] API Technical Data Book: General Properties & Characterization. American Petroleum Institute, 7E, 2005.
490 Bibliography
thermo Documentation, Release 0.1
[1] IPCC. “2.10.2 Direct Global Warming Potentials - AR4 WGI Chapter 2: Changes in Atmospheric Constituents
and in Radiative Forcing.” 2007. https://www.ipcc.ch/publications_and_data/ar4/wg1/en/ch2s2-10-2.html.
[1] US EPA, OAR. “Ozone-Depleting Substances.” Accessed April 26, 2016. https://www.epa.gov/
ozone-layer-protection/ozone-depleting-substances.
[2] WMO (World Meteorological Organization), 2011: Scientific Assessment of Ozone Depletion: 2010. Global
Ozone Research and Monitoring Project-Report No. 52, Geneva, Switzerland, 516 p. https://www.wmo.int/pages/
prog/arep/gaw/ozone_2010/documents/Ozone-Assessment-2010-complete.pdf
[1] Syrres. 2006. KOWWIN Data, SrcKowData2.zip. http://esc.syrres.com/interkow/Download/SrcKowData2.zip
[2] Haynes, W.M., Thomas J. Bruno, and David R. Lide. CRC Handbook of Chemistry and Physics, 95E. Boca Raton,
FL: CRC press, 2014.
[1] Lastovka, Vaclav, and John M. Shaw. “Predictive Correlations for Ideal Gas Heat Capacities of Pure
Hydrocarbons and Petroleum Fractions.” Fluid Phase Equilibria 356 (October 25, 2013): 338-370.
doi:10.1016/j.fluid.2013.07.023.
[1] Lastovka, Vaclav, and John M. Shaw. “Predictive Correlations for Ideal Gas Heat Capacities of Pure
Hydrocarbons and Petroleum Fractions.” Fluid Phase Equilibria 356 (October 25, 2013): 338-370.
doi:10.1016/j.fluid.2013.07.023.
[1] Lastovka, Vaclav, and John M. Shaw. “Predictive Correlations for Ideal Gas Heat Capacities of Pure
Hydrocarbons and Petroleum Fractions.” Fluid Phase Equilibria 356 (October 25, 2013): 338-370.
doi:10.1016/j.fluid.2013.07.023.
[1] Kabo, G. J., and G. N. Roganov. Thermodynamics of Organic Compounds in the Gas State, Volume II: V. 2.
College Station, Tex: CRC Press, 1994.
[1] Kabo, G. J., and G. N. Roganov. Thermodynamics of Organic Compounds in the Gas State, Volume II: V. 2.
College Station, Tex: CRC Press, 1994.
[1] Kabo, G. J., and G. N. Roganov. Thermodynamics of Organic Compounds in the Gas State, Volume II: V. 2.
College Station, Tex: CRC Press, 1994.
[1] Kabo, G. J., and G. N. Roganov. Thermodynamics of Organic Compounds in the Gas State, Volume II: V. 2.
College Station, Tex: CRC Press, 1994.
[2] Poling, Bruce E. The Properties of Gases and Liquids. 5th edition. New York: McGraw-Hill Professional, 2000.
[3] Bell, Ian H., Jorrit Wronski, Sylvain Quoilin, and Vincent Lemort. “Pure and Pseudo-Pure Fluid Thermophysical
Property Evaluation and the Open-Source Thermophysical Property Library CoolProp.” Industrial & Engineering
Chemistry Research 53, no. 6 (February 12, 2014): 2498-2508. doi:10.1021/ie4033999. http://www.coolprop.org/
[4] Haynes, W.M., Thomas J. Bruno, and David R. Lide. CRC Handbook of Chemistry and Physics. [Boca Raton,
FL]: CRC press, 2014.
[5] Gesellschaft, V. D. I., ed. VDI Heat Atlas. 2nd edition. Berlin; New York:: Springer, 2010.
[1] Poling, Bruce E. The Properties of Gases and Liquids. 5th edition. New York: McGraw-Hill Professional, 2000.
[1] Poling, Bruce E. The Properties of Gases and Liquids. 5th edition. New York: McGraw-Hill Professional, 2000.
[2] Gesellschaft, V. D. I., ed. VDI Heat Atlas. 2nd edition. Berlin; New York:: Springer, 2010.
[3] J.S. Rowlinson, Liquids and Liquid Mixtures, 2nd Ed., Butterworth, London (1969).
[1] Dadgostar, Nafiseh, and John M. Shaw. “A Predictive Correlation for the Constant-Pressure Specific Heat Ca-
pacity of Pure and Ill-Defined Liquid Hydrocarbons.” Fluid Phase Equilibria 313 (January 15, 2012): 211-226.
doi:10.1016/j.fluid.2011.09.015.
[1] Zabransky, M., V. Ruzicka Jr, V. Majer, and Eugene S. Domalski. Heat Capacity of Liquids: Critical Review and
Recommended Values. 2 Volume Set. Washington, D.C.: Amer Inst of Physics, 1996.
Bibliography 491
thermo Documentation, Release 0.1
[1] Zabransky, M., V. Ruzicka Jr, V. Majer, and Eugene S. Domalski. Heat Capacity of Liquids: Critical Review and
Recommended Values. 2 Volume Set. Washington, D.C.: Amer Inst of Physics, 1996.
[1] Zabransky, M., V. Ruzicka Jr, V. Majer, and Eugene S. Domalski. Heat Capacity of Liquids: Critical Review and
Recommended Values. 2 Volume Set. Washington, D.C.: Amer Inst of Physics, 1996.
[1] Zabransky, M., V. Ruzicka Jr, V. Majer, and Eugene S. Domalski. Heat Capacity of Liquids: Critical Review and
Recommended Values. 2 Volume Set. Washington, D.C.: Amer Inst of Physics, 1996.
[1] Zabransky, M., V. Ruzicka Jr, V. Majer, and Eugene S. Domalski. Heat Capacity of Liquids: Critical Review and
Recommended Values. 2 Volume Set. Washington, D.C.: Amer Inst of Physics, 1996.
[1] Zabransky, M., V. Ruzicka Jr, V. Majer, and Eugene S. Domalski. Heat Capacity of Liquids: Critical Review and
Recommended Values. 2 Volume Set. Washington, D.C.: Amer Inst of Physics, 1996.
[1] Zabransky, M., V. Ruzicka Jr, V. Majer, and Eugene S. Domalski. Heat Capacity of Liquids: Critical Review and
Recommended Values. 2 Volume Set. Washington, D.C.: Amer Inst of Physics, 1996.
[1] Zabransky, M., V. Ruzicka Jr, V. Majer, and Eugene S. Domalski. Heat Capacity of Liquids: Critical Review and
Recommended Values. 2 Volume Set. Washington, D.C.: Amer Inst of Physics, 1996.
[1] Zabransky, M., V. Ruzicka Jr, V. Majer, and Eugene S. Domalski. Heat Capacity of Liquids: Critical Review and
Recommended Values. 2 Volume Set. Washington, D.C.: Amer Inst of Physics, 1996.
[2] Poling, Bruce E. The Properties of Gases and Liquids. 5th edition. New York: McGraw-Hill Professional, 2000.
[3] Bell, Ian H., Jorrit Wronski, Sylvain Quoilin, and Vincent Lemort. “Pure and Pseudo-Pure Fluid Thermophysical
Property Evaluation and the Open-Source Thermophysical Property Library CoolProp.” Industrial & Engineering
Chemistry Research 53, no. 6 (February 12, 2014): 2498-2508. doi:10.1021/ie4033999. http://www.coolprop.org/
[4] Haynes, W.M., Thomas J. Bruno, and David R. Lide. CRC Handbook of Chemistry and Physics. [Boca Raton,
FL]: CRC press, 2014.
[5] Gesellschaft, V. D. I., ed. VDI Heat Atlas. 2nd edition. Berlin; New York:: Springer, 2010.
[1] Laštovka, Václav, Michal Fulem, Mildred Becerra, and John M. Shaw. “A Similarity Variable for Estimating
the Heat Capacity of Solid Organic Compounds: Part II. Application: Heat Capacity Calculation for Ill-Defined
Organic Solids.” Fluid Phase Equilibria 268, no. 1-2 (June 25, 2008): 134-41. doi:10.1016/j.fluid.2008.03.018.
[1] Laštovka, Václav, Michal Fulem, Mildred Becerra, and John M. Shaw. “A Similarity Variable for Estimating
the Heat Capacity of Solid Organic Compounds: Part II. Application: Heat Capacity Calculation for Ill-Defined
Organic Solids.” Fluid Phase Equilibria 268, no. 1-2 (June 25, 2008): 134-41. doi:10.1016/j.fluid.2008.03.018.
[1] Laštovka, Václav, Michal Fulem, Mildred Becerra, and John M. Shaw. “A Similarity Variable for Estimating
the Heat Capacity of Solid Organic Compounds: Part II. Application: Heat Capacity Calculation for Ill-Defined
Organic Solids.” Fluid Phase Equilibria 268, no. 1-2 (June 25, 2008): 134-41. doi:10.1016/j.fluid.2008.03.018.
[1] Haynes, W.M., Thomas J. Bruno, and David R. Lide. CRC Handbook of Chemistry and Physics. [Boca Raton,
FL]: CRC press, 2014.
[2] Green, Don, and Robert Perry. Perry’s Chemical Engineers’ Handbook, Eighth Edition. McGraw-Hill Profes-
sional, 2007.
[1] Pubchem.
[1] Pubchem.
[1] Diky, Vladimir, Robert D. Chirico, Chris D. Muzny, Andrei F. Kazakov, Kenneth Kroenlein, Joseph W. Magee,
Ilmutdin Abdulagatov, and Michael Frenkel. “ThermoData Engine (TDE): Software Implementation of the Dy-
namic Data Evaluation Concept.” Journal of Chemical Information and Modeling 53, no. 12 (2013): 3418-30.
doi:10.1021/ci4005699.
[1] Somayajulu, G. R. “A Generalized Equation for Surface Tension from the Triple Point to the Critical Point.”
International Journal of Thermophysics 9, no. 4 (July 1988): 559-66. doi:10.1007/BF00503154.
492 Bibliography
thermo Documentation, Release 0.1
[1] Jasper, Joseph J. “The Surface Tension of Pure Liquid Compounds.” Journal of Physical and Chemical Reference
Data 1, no. 4 (October 1, 1972): 841-1010. doi:10.1063/1.3253106.
[2] Speight, James. Lange’s Handbook of Chemistry. 16 edition. McGraw-Hill Professional, 2005.
[1] Brock, James R., and R. Byron Bird. “Surface Tension and the Principle of Corresponding States.” AIChE Journal
1, no. 2 (June 1, 1955): 174-77. doi:10.1002/aic.690010208
[1] Poling, Bruce E. The Properties of Gases and Liquids. 5th edition. New York: McGraw-Hill Professional, 2000.
[2] Curl, R. F., and Kenneth Pitzer. “Volumetric and Thermodynamic Properties of Fluids-Enthalpy, Free Energy, and
Entropy.” Industrial & Engineering Chemistry 50, no. 2 (February 1, 1958): 265-74. doi:10.1021/ie50578a047
[3] Pitzer, K. S.: Thermodynamics, 3d ed., New York, McGraw-Hill, 1995, p. 521.
[1] Sastri, S. R. S., and K. K. Rao. “A Simple Method to Predict Surface Tension of Organic Liquids.” The
Chemical Engineering Journal and the Biochemical Engineering Journal 59, no. 2 (October 1995): 181-86.
doi:10.1016/0923-0467(94)02946-6.
[1] Zuo, You-Xiang, and Erling H. Stenby. “Corresponding-States and Parachor Models for the Calculation of In-
terfacial Tensions.” The Canadian Journal of Chemical Engineering 75, no. 6 (December 1, 1997): 1130-37.
doi:10.1002/cjce.5450750617
[1] Hakim, D. I., David Steinberg, and L. I. Stiel. “Generalized Relationship for the Surface Tension of Po-
lar Fluids.” Industrial & Engineering Chemistry Fundamentals 10, no. 1 (February 1, 1971): 174-75.
doi:10.1021/i160037a032.
[1] Miqueu, C, D Broseta, J Satherley, B Mendiboure, J Lachaise, and A Graciaa. “An Extended Scaled Equation for
the Temperature Dependence of the Surface Tension of Pure Compounds Inferred from an Analysis of Experi-
mental Data.” Fluid Phase Equilibria 172, no. 2 (July 5, 2000): 169-82. doi:10.1016/S0378-3812(00)00384-8.
[1] Aleem, W., N. Mellon, S. Sufian, M. I. A. Mutalib, and D. Subbarao. “A Model for the Estimation of Surface
Tension of Pure Hydrocarbon Liquids.” Petroleum Science and Technology 33, no. 23-24 (December 17, 2015):
1908-15. doi:10.1080/10916466.2015.1110593.
[1] Somayajulu, G. R. “A Generalized Equation for Surface Tension from the Triple Point to the Critical Point.”
International Journal of Thermophysics 9, no. 4 (July 1988): 559-66. doi:10.1007/BF00503154.
[2] Mulero, A., M. I. Parra, and I. Cachadina. “The Somayajulu Correlation for the Surface Tension Revisited.” Fluid
Phase Equilibria 339 (February 15, 2013): 81-88. doi:10.1016/j.fluid.2012.11.038.
[3] Jasper, Joseph J. “The Surface Tension of Pure Liquid Compounds.” Journal of Physical and Chemical Reference
Data 1, no. 4 (October 1, 1972): 841-1010. doi:10.1063/1.3253106.
[4] Speight, James. Lange’s Handbook of Chemistry. 16 edition. McGraw-Hill Professional, 2005.
[5] Mulero, A., I. Cachadiña, and M. I. Parra. “Recommended Correlations for the Surface Tension of Com-
mon Fluids.” Journal of Physical and Chemical Reference Data 41, no. 4 (December 1, 2012): 043105.
doi:10.1063/1.4768782.
[6] Gesellschaft, V. D. I., ed. VDI Heat Atlas. 2nd edition. Berlin; New York:: Springer, 2010.
[1] Winterfeld, P. H., L. E. Scriven, and H. T. Davis. “An Approximate Theory of Interfacial Tensions of Multicom-
ponent Systems: Applications to Binary Liquid-Vapor Tensions.” AIChE Journal 24, no. 6 (November 1, 1978):
1010-14. doi:10.1002/aic.690240610.
[2] Danner, Ronald P, and Design Institute for Physical Property Data. Manual for Predicting Chemical Process De-
sign Data. New York, N.Y, 1982.
[1] Diguilio, Ralph, and Amyn S. Teja. “Correlation and Prediction of the Surface Tensions of Mixtures.” The Chem-
ical Engineering Journal 38, no. 3 (July 1988): 205-8. doi:10.1016/0300-9467(88)80079-0.
[1] Poling, Bruce E. The Properties of Gases and Liquids. 5th edition. New York: McGraw-Hill Professional, 2000.
Bibliography 493
thermo Documentation, Release 0.1
[1] Joback, Kevin G. “A Unified Approach to Physical Property Estimation Using Multivariate Statistical Techniques.”
Thesis, Massachusetts Institute of Technology, 1984.
[2] Joback, K.G., and R.C. Reid. “Estimation of Pure-Component Properties from Group-Contributions.” Chemical
Engineering Communications 57, no. 1-6 (July 1, 1987): 233-43. doi:10.1080/00986448708960487.
[1] Government of Canada.. “Substances Lists” Feb 11, 2015. https://www.ec.gc.ca/subsnouvelles-newsubs/default.
asp?n=47F768FE-1.
[2] US EPA. “TSCA Chemical Substance Inventory.” Accessed April 2016. https://www.epa.gov/tsca-inventory.
[3] ECHA. “EC Inventory”. Accessed March 2015. http://echa.europa.eu/information-on-chemicals/ec-inventory.
[4] SPIN. “SPIN Substances in Products In Nordic Countries.” Accessed March 2015. http://195.215.202.233/
DotNetNuke/default.aspx.
[1] Bird, R. Byron, Warren E. Stewart, and Edwin N. Lightfoot. Transport Phenomena, Revised 2nd Edition. New
York: John Wiley & Sons, Inc., 2006
[2] Magalhães, Ana L., Patrícia F. Lito, Francisco A. Da Silva, and Carlos M. Silva. “Simple and Accurate Correla-
tions for Diffusion Coefficients of Solutes in Liquids and Supercritical Fluids over Wide Ranges of Temperature
and Density.” The Journal of Supercritical Fluids 76 (April 2013): 94-114. doi:10.1016/j.supflu.2013.02.002.
[1] Bird, R. Byron, Warren E. Stewart, and Edwin N. Lightfoot. Transport Phenomena, Revised 2nd Edition. New
York: John Wiley & Sons, Inc., 2006
[2] Magalhães, Ana L., Patrícia F. Lito, Francisco A. Da Silva, and Carlos M. Silva. “Simple and Accurate Correla-
tions for Diffusion Coefficients of Solutes in Liquids and Supercritical Fluids over Wide Ranges of Temperature
and Density.” The Journal of Supercritical Fluids 76 (April 2013): 94-114. doi:10.1016/j.supflu.2013.02.002.
[1] Flynn, L.W., M.S. thesis, Northwestern Univ., Evanston, Ill. (1960).
[2] Stiel, L. I., and George Thodos. “Lennard-Jones Force Constants Predicted from Critical Properties.” Journal of
Chemical & Engineering Data 7, no. 2 (April 1, 1962): 234-36. doi:10.1021/je60013a023
[1] Bird, R. Byron, Warren E. Stewart, and Edwin N. Lightfoot. Transport Phenomena, Revised 2nd Edition. New
York: John Wiley & Sons, Inc., 2006
[1] Bird, R. Byron, Warren E. Stewart, and Edwin N. Lightfoot. Transport Phenomena, Revised 2nd Edition. New
York: John Wiley & Sons, Inc., 2006
[1] Bird, R. Byron, Warren E. Stewart, and Edwin N. Lightfoot. Transport Phenomena, Revised 2nd Edition. New
York: John Wiley & Sons, Inc., 2006
[1] Bird, R. Byron, Warren E. Stewart, and Edwin N. Lightfoot. Transport Phenomena, Revised 2nd Edition. New
York: John Wiley & Sons, Inc., 2006
[1] Stiel, L. I., and George Thodos. “Lennard-Jones Force Constants Predicted from Critical Properties.” Journal of
Chemical & Engineering Data 7, no. 2 (April 1, 1962): 234-36. doi:10.1021/je60013a023
[1] Tee, L. S., Sukehiro Gotoh, and W. E. Stewart. “Molecular Parameters for Normal Fluids. Lennard-Jones
12-6 Potential.” Industrial & Engineering Chemistry Fundamentals 5, no. 3 (August 1, 1966): 356-63.
doi:10.1021/i160019a011
[1] Tee, L. S., Sukehiro Gotoh, and W. E. Stewart. “Molecular Parameters for Normal Fluids. Lennard-Jones
12-6 Potential.” Industrial & Engineering Chemistry Fundamentals 5, no. 3 (August 1, 1966): 356-63.
doi:10.1021/i160019a011
[1] Silva, Carlos M., Hongqin Liu, and Eugenia A. Macedo. “Models for Self-Diffusion Coefficients of Dense Fluids,
Including Hydrogen-Bonding Substances.” Chemical Engineering Science 53, no. 13 (July 1, 1998): 2423-29.
doi:10.1016/S0009-2509(98)00037-2
[1] Flynn, L.W., M.S. thesis, Northwestern Univ., Evanston, Ill. (1960).
494 Bibliography
thermo Documentation, Release 0.1
[2] Stiel, L. I., and George Thodos. “Lennard-Jones Force Constants Predicted from Critical Properties.” Journal of
Chemical & Engineering Data 7, no. 2 (April 1, 1962): 234-36. doi:10.1021/je60013a023
[1] Bird, R. Byron, Warren E. Stewart, and Edwin N. Lightfoot. Transport Phenomena, Revised 2nd Edition. New
York: John Wiley & Sons, Inc., 2006
[1] Bird, R. Byron, Warren E. Stewart, and Edwin N. Lightfoot. Transport Phenomena, Revised 2nd Edition. New
York: John Wiley & Sons, Inc., 2006
[1] Bird, R. Byron, Warren E. Stewart, and Edwin N. Lightfoot. Transport Phenomena, Revised 2nd Edition. New
York: John Wiley & Sons, Inc., 2006
[1] Stiel, L. I., and George Thodos. “Lennard-Jones Force Constants Predicted from Critical Properties.” Journal of
Chemical & Engineering Data 7, no. 2 (April 1, 1962): 234-36. doi:10.1021/je60013a023
[1] Tee, L. S., Sukehiro Gotoh, and W. E. Stewart. “Molecular Parameters for Normal Fluids. Lennard-Jones
12-6 Potential.” Industrial & Engineering Chemistry Fundamentals 5, no. 3 (August 1, 1966): 356-63.
doi:10.1021/i160019a011
[1] Tee, L. S., Sukehiro Gotoh, and W. E. Stewart. “Molecular Parameters for Normal Fluids. Lennard-Jones
12-6 Potential.” Industrial & Engineering Chemistry Fundamentals 5, no. 3 (August 1, 1966): 356-63.
doi:10.1021/i160019a011
[1] Neufeld, Philip D., A. R. Janzen, and R. A. Aziz. “Empirical Equations to Calculate 16 of the Transport Collision
Integrals Omega(l, S)* for the Lennard-Jones (12-6) Potential.” The Journal of Chemical Physics 57, no. 3 (August
1, 1972): 1100-1102. doi:10.1063/1.1678363
[1] Kim, Sun Ung, and Charles W. Monroe. “High-Accuracy Calculations of Sixteen Collision Integrals for Lennard-
Jones (12-6) Gases and Their Interpolation to Parameterize Neon, Argon, and Krypton.” Journal of Computational
Physics 273 (September 15, 2014): 358-73. doi:10.1016/j.jcp.2014.05.018.
[1] Bird, R. Byron, Warren E. Stewart, and Edwin N. Lightfoot. Transport Phenomena, Revised 2nd Edition. New
York: John Wiley & Sons, Inc., 2006
[1] Gesellschaft, VDI, ed. VDI Heat Atlas. 2E. Berlin: Springer, 2010.
[1] IAPWS. 1997. Release on the Static Dielectric Constant of Ordinary Water Substance for Temperatures from 238
K to 873 K and Pressures up to 1000 MPa.
[1] Haynes, W.M., Thomas J. Bruno, and David R. Lide. CRC Handbook of Chemistry and Physics. [Boca Raton,
FL]: CRC press, 2014.
[1] Haynes, W.M., Thomas J. Bruno, and David R. Lide. CRC Handbook of Chemistry and Physics, 95E. Boca Raton,
FL: CRC press, 2014.
[2] Yaws, Carl L. Thermophysical Properties of Chemicals and Hydrocarbons, Second Edition. Amsterdam Boston:
Gulf Professional Publishing, 2014.
[1] Bradley, Jean-Claude, Antony Williams, and Andrew Lang. “Jean-Claude Bradley Open Melting Point Dataset”,
May 20, 2014. https://figshare.com/articles/Jean_Claude_Bradley_Open_Melting_Point_Datset/1031637.
[2] Haynes, W.M., Thomas J. Bruno, and David R. Lide. CRC Handbook of Chemistry and Physics, 95E. Boca Raton,
FL: CRC press, 2014.
[1] Poling, Bruce E. The Properties of Gases and Liquids. 5th edition. New York: McGraw-Hill Professional, 2000.
[1] Pitzer, Kenneth S. “The Volumetric and Thermodynamic Properties of Fluids. I. Theoretical Basis and Virial Coef-
ficients.” Journal of the American Chemical Society 77, no. 13 (July 1, 1955): 3427-33. doi:10.1021/ja01618a001
[2] Poling, Bruce E. The Properties of Gases and Liquids. 5th edition. New York: McGraw-Hill Professional, 2000.
[3] Green, Don, and Robert Perry. Perry’s Chemical Engineers’ Handbook, Eighth Edition. McGraw-Hill Profes-
sional, 2007.
Bibliography 495
thermo Documentation, Release 0.1
[1] Sivaraman, Alwarappa, Joe W. Magee, and Riki Kobayashi. “Generalized Correlation of Latent Heats of Va-
porization of Coal-Liquid Model Compounds between Their Freezing Points and Critical Points.” Industrial &
Engineering Chemistry Fundamentals 23, no. 1 (February 1, 1984): 97-100. doi:10.1021/i100013a017.
[1] Morgan, David L., and Riki Kobayashi. “Extension of Pitzer CSP Models for Vapor Pressures and Heats of Va-
porization to Long-Chain Hydrocarbons.” Fluid Phase Equilibria 94 (March 15, 1994): 51-87. doi:10.1016/0378-
3812(94)87051-9.
[1] Velasco, S., M. J. Santos, and J. A. White. “Extended Corresponding States Expressions for the Changes in
Enthalpy, Compressibility Factor and Constant-Volume Heat Capacity at Vaporization.” The Journal of Chemical
Thermodynamics 85 (June 2015): 68-76. doi:10.1016/j.jct.2015.01.011.
[1] Riedel, L. “Eine Neue Universelle Dampfdruckformel Untersuchungen Uber Eine Erweiterung Des Theorems
Der Ubereinstimmenden Zustande. Teil I.” Chemie Ingenieur Technik 26, no. 2 (February 1, 1954): 83-89.
doi:10.1002/cite.330260206.
[2] Poling, Bruce E. The Properties of Gases and Liquids. 5th edition. New York: McGraw-Hill Professional, 2000.
[3] Green, Don, and Robert Perry. Perry’s Chemical Engineers’ Handbook, Eighth Edition. McGraw-Hill Profes-
sional, 2007.
[1] Chen, N. H. “Generalized Correlation for Latent Heat of Vaporization.” Journal of Chemical & Engineering Data
10, no. 2 (April 1, 1965): 207-10. doi:10.1021/je60025a047
[2] Poling, Bruce E. The Properties of Gases and Liquids. 5th edition. New York: McGraw-Hill Professional, 2000.
[1] LIU, ZHI-YONG. “Estimation of Heat of Vaporization of Pure Liquid at Its Normal Boiling Temperature.” Chem-
ical Engineering Communications 184, no. 1 (February 1, 2001): 221-28. doi:10.1080/00986440108912849.
[1] Vetere, Alessandro. “Methods to Predict the Vaporization Enthalpies at the Normal Boiling Temperature of
Pure Compounds Revisited.” Fluid Phase Equilibria 106, no. 1-2 (May 1, 1995): 1–10. doi:10.1016/0378-
3812(94)02627-D.
[2] Green, Don, and Robert Perry. Perry’s Chemical Engineers’ Handbook, Eighth Edition. McGraw-Hill Profes-
sional, 2007.
[1] Poling, Bruce E. The Properties of Gases and Liquids. 5th edition. New York: McGraw-Hill Professional, 2000.
[2] Bell, Ian H., Jorrit Wronski, Sylvain Quoilin, and Vincent Lemort. “Pure and Pseudo-Pure Fluid Thermophysical
Property Evaluation and the Open-Source Thermophysical Property Library CoolProp.” Industrial & Engineering
Chemistry Research 53, no. 6 (February 12, 2014): 2498-2508. doi:10.1021/ie4033999. http://www.coolprop.org/
[3] Gesellschaft, V. D. I., ed. VDI Heat Atlas. 2nd edition. Berlin; New York:: Springer, 2010.
[4] Haynes, W.M., Thomas J. Bruno, and David R. Lide. CRC Handbook of Chemistry and Physics. [Boca Raton,
FL]: CRC press, 2014.
[5] Gharagheizi, Farhad, Poorandokht Ilani-Kashkouli, William E. Acree Jr., Amir H. Mohammadi, and Deresh
Ramjugernath. “A Group Contribution Model for Determining the Vaporization Enthalpy of Organic Compounds
at the Standard Reference Temperature of 298 K.” Fluid Phase Equilibria 360 (December 25, 2013): 279-92.
doi:10.1016/j.fluid.2013.09.021.
[6] Green, Don, and Robert Perry. Perry’s Chemical Engineers’ Handbook, Eighth Edition. McGraw-Hill Profes-
sional, 2007.
[7] Alibakhshi, Amin. “Enthalpy of Vaporization, Its Temperature Dependence and Correlation with Surface Tension:
A Theoretical Approach.” Fluid Phase Equilibria 432 (January 25, 2017): 62-69. doi:10.1016/j.fluid.2016.10.013.
[1] Albahri, Tareq A., and Abdulla F. Aljasmi. “SGC Method for Predicting the Standard Enthalpy of Formation
of Pure Compounds from Their Molecular Structures.” Thermochimica Acta 568 (September 20, 2013): 46-60.
doi:10.1016/j.tca.2013.06.020.
496 Bibliography
thermo Documentation, Release 0.1
[1] Ruscic, Branko, Reinhardt E. Pinzon, Gregor von Laszewski, Deepti Kodeboyina, Alexander Burcat, David Leahy,
David Montoy, and Albert F. Wagner. “Active Thermochemical Tables: Thermochemistry for the 21st Century.”
Journal of Physics: Conference Series 16, no. 1 (January 1, 2005): 561. doi:10.1088/1742-6596/16/1/078.
[1] Ruscic, Branko, Reinhardt E. Pinzon, Gregor von Laszewski, Deepti Kodeboyina, Alexander Burcat, David Leahy,
David Montoy, and Albert F. Wagner. “Active Thermochemical Tables: Thermochemistry for the 21st Century.”
Journal of Physics: Conference Series 16, no. 1 (January 1, 2005): 561. doi:10.1088/1742-6596/16/1/078.
[2] Frenkel, M. L, Texas Engineering Experiment Station, and Thermodynamics Research Center. Thermodynamics
of Organic Compounds in the Gas State. College Station, Tex.: Thermodynamics Research Center, 1994.
[1] Haynes, W.M., Thomas J. Bruno, and David R. Lide. CRC Handbook of Chemistry and Physics, 95E. Boca Raton,
FL: CRC press, 2014.
[1] Panuganti, Sai R., Fei Wang, Walter G. Chapman, and Francisco M. Vargas. “A Simple Method for Estimation of
Dielectric Constants and Polarizabilities of Nonpolar and Slightly Polar Hydrocarbons.” International Journal of
Thermophysics 37, no. 7 (June 6, 2016): 1-24. doi:10.1007/s10765-016-2075-8.
[1] Panuganti, Sai R., Fei Wang, Walter G. Chapman, and Francisco M. Vargas. “A Simple Method for Estimation of
Dielectric Constants and Polarizabilities of Nonpolar and Slightly Polar Hydrocarbons.” International Journal of
Thermophysics 37, no. 7 (June 6, 2016): 1-24. doi:10.1007/s10765-016-2075-8.
[1] Panuganti, Sai R., Fei Wang, Walter G. Chapman, and Francisco M. Vargas. “A Simple Method for Estimation of
Dielectric Constants and Polarizabilities of Nonpolar and Slightly Polar Hydrocarbons.” International Journal of
Thermophysics 37, no. 7 (June 6, 2016): 1-24. doi:10.1007/s10765-016-2075-8.
[1] ACGIH. Industrial Ventilation: A Manual of Recommended Practice, 23rd Edition. American Conference of
Governmental and Industrial Hygenists, 2004.
[1] ACGIH. Industrial Ventilation: A Manual of Recommended Practice, 23rd Edition. American Conference of
Governmental and Industrial Hygenists, 2004.
[1] International Agency for Research on Cancer. Agents Classified by the IARC Monographs, Volumes 1-115. Lyon,
France: IARC; 2016 Available from: http://monographs.iarc.fr/ENG/Classification/
[2] NTP (National Toxicology Program). 2014. Report on Carcinogens, Thirteenth Edition. Research Triangle Park,
NC: U.S. Department of Health and Human Services, Public Health Service. http://ntp.niehs.nih.gov/pubhealth/
roc/roc13/
[1] IEC. “IEC 60079-20-1:2010 Explosive atmospheres - Part 20-1: Material characteristics for gas and vapour clas-
sification - Test methods and data.” https://webstore.iec.ch/publication/635. See also https://law.resource.org/pub/
in/bis/S05/is.iec.60079.20.1.2010.pdf
[2] National Fire Protection Association. NFPA 497: Recommended Practice for the Classification of Flammable
Liquids, Gases, or Vapors and of Hazardous. NFPA, 2008.
[3] Serat, Fatima Zohra, Ali Mustapha Benkouider, Ahmed Yahiaoui, and Farid Bagui. “Nonlinear Group Contribu-
tion Model for the Prediction of Flash Points Using Normal Boiling Points.” Fluid Phase Equilibria 449 (October
15, 2017): 52-59. doi:10.1016/j.fluid.2017.06.008.
[1] IEC. “IEC 60079-20-1:2010 Explosive atmospheres - Part 20-1: Material characteristics for gas and vapour clas-
sification - Test methods and data.” https://webstore.iec.ch/publication/635. See also https://law.resource.org/pub/
in/bis/S05/is.iec.60079.20.1.2010.pdf
[2] National Fire Protection Association. NFPA 497: Recommended Practice for the Classification of Flammable
Liquids, Gases, or Vapors and of Hazardous. NFPA, 2008.
[1] IEC. “IEC 60079-20-1:2010 Explosive atmospheres - Part 20-1: Material characteristics for gas and vapour clas-
sification - Test methods and data.” https://webstore.iec.ch/publication/635. See also https://law.resource.org/pub/
in/bis/S05/is.iec.60079.20.1.2010.pdf
Bibliography 497
thermo Documentation, Release 0.1
[2] National Fire Protection Association. NFPA 497: Recommended Practice for the Classification of Flammable
Liquids, Gases, or Vapors and of Hazardous. NFPA, 2008.
[1] IEC. “IEC 60079-20-1:2010 Explosive atmospheres - Part 20-1: Material characteristics for gas and vapour clas-
sification - Test methods and data.” https://webstore.iec.ch/publication/635. See also https://law.resource.org/pub/
in/bis/S05/is.iec.60079.20.1.2010.pdf
[2] National Fire Protection Association. NFPA 497: Recommended Practice for the Classification of Flammable
Liquids, Gases, or Vapors and of Hazardous. NFPA, 2008.
[1] Suzuki, Takahiro. “Note: Empirical Relationship between Lower Flammability Limits and Standard En-
thalpies of Combustion of Organic Compounds.” Fire and Materials 18, no. 5 (September 1, 1994): 333-36.
doi:10.1002/fam.810180509.
[1] Suzuki, Takahiro, and Kozo Koide. “Short Communication: Correlation between Upper Flammability Limits and
Thermochemical Properties of Organic Compounds.” Fire and Materials 18, no. 6 (November 1, 1994): 393-97.
doi:10.1002/fam.810180608.
[1] Crowl, Daniel A., and Joseph F. Louvar. Chemical Process Safety: Fundamentals with Applications. 2E. Upper
Saddle River, N.J: Prentice Hall, 2001.
[2] Jones, G. W. “Inflammation Limits and Their Practical Application in Hazardous Industrial Operations.” Chemical
Reviews 22, no. 1 (February 1, 1938): 1-26. doi:10.1021/cr60071a001
[1] Crowl, Daniel A., and Joseph F. Louvar. Chemical Process Safety: Fundamentals with Applications. 2E. Upper
Saddle River, N.J: Prentice Hall, 2001.
[2] Jones, G. W. “Inflammation Limits and Their Practical Application in Hazardous Industrial Operations.” Chemical
Reviews 22, no. 1 (February 1, 1938): 1-26. doi:10.1021/cr60071a001
[1] Barton, Allan F. M. CRC Handbook of Solubility Parameters and Other Cohesion Parameters, Second Edition.
CRC Press, 1991.
[1] Gmehling, Jurgen. Chemical Thermodynamics: For Process Simulation. Weinheim, Germany: Wiley-VCH, 2012.
[1] Gmehling, Jurgen. Chemical Thermodynamics: For Process Simulation. Weinheim, Germany: Wiley-VCH, 2012.
[1] Wier, Ron D., and Robert N. Goldberg. “On the Conversion of Thermodynamic Properties to the Basis of the
International Temperature Scale of 1990.” The Journal of Chemical Thermodynamics 28, no. 3 (March 1996):
261-76. doi:10.1006/jcht.1996.0026.
[2] Goldberg, Robert N., and R. D. Weir. “Conversion of Temperatures and Thermodynamic Properties to the Basis of
the International Temperature Scale of 1990 (Technical Report).” Pure and Applied Chemistry 64, no. 10 (1992):
1545-1562. doi:10.1351/pac199264101545.
[1] Bedford, R. E., G. Bonnier, H. Maas, and F. Pavese. “Techniques for Approximating the International Temperature
Scale of 1990.” Bureau International Des Poids et Mesures, Sfievres, 1990.
[2] Wier, Ron D., and Robert N. Goldberg. “On the Conversion of Thermodynamic Properties to the Basis of the
International Temperature Scale of 1990.” The Journal of Chemical Thermodynamics 28, no. 3 (March 1996):
261-76. doi:10.1006/jcht.1996.0026.
[3] Goldberg, Robert N., and R. D. Weir. “Conversion of Temperatures and Thermodynamic Properties to the Basis of
the International Temperature Scale of 1990 (Technical Report).” Pure and Applied Chemistry 64, no. 10 (1992):
1545-1562. doi:10.1351/pac199264101545.
[4] Code10.info. “Conversions among International Temperature Scales.” Accessed May 22, 2016.
http://www.code10.info/index.php%3Foption%3Dcom_content%26view%3Darticle%26id%3D83:
conversions-among-international-temperature-scales%26catid%3D60:temperature%26Itemid%3D83.
[1] Scheffy, W. J., and E. F. Johnson. “Thermal Conductivities of Liquids at High Temperatures.” Journal of Chemical
& Engineering Data 6, no. 2 (April 1, 1961): 245-49. doi:10.1021/je60010a019
498 Bibliography
thermo Documentation, Release 0.1
[1] Riedel, L.: Chem. Ing. Tech., 21, 349 (1949); 23: 59, 321, 465 (1951)
[2] Maejima, T., private communication, 1973
[3] Properties of Gases and Liquids”, 3rd Ed., McGraw-Hill, 1977
[1] Lakshmi, D. S., and D. H. L. Prasad. “A Rapid Estimation Method for Thermal Conductivity of Pure Liquids.”
The Chemical Engineering Journal 48, no. 3 (April 1992): 211-14. doi:10.1016/0300-9467(92)80037-B
[1] Gharagheizi, Farhad, Poorandokht Ilani-Kashkouli, Mehdi Sattari, Amir H. Mohammadi, Deresh Ramjuger-
nath, and Dominique Richon. “Development of a General Model for Determination of Thermal Conductivity
of Liquid Chemical Compounds at Atmospheric Pressure.” AIChE Journal 59, no. 5 (May 1, 2013): 1702-8.
doi:10.1002/aic.13938
[1] Nicola, Giovanni Di, Eleonora Ciarrocchi, Mariano Pierantozzi, and Roman Stryjek. “A New Equation for the
Thermal Conductivity of Organic Compounds.” Journal of Thermal Analysis and Calorimetry 116, no. 1 (April 1,
2014): 135-40. doi:10.1007/s10973-013-3422-7
[1] Di Nicola, Giovanni, Eleonora Ciarrocchi, Gianluca Coccia, and Mariano Pierantozzi. “Correlations of Thermal
Conductivity for Liquid Refrigerants at Atmospheric Pressure or near Saturation.” International Journal of Refrig-
eration. 2014. doi:10.1016/j.ijrefrig.2014.06.003
[1] Bahadori, Alireza, and Saeid Mokhatab. “Estimating Thermal Conductivity of Hydrocarbons.” Chemical Engi-
neering 115, no. 13 (December 2008): 52-54
[1] Mersmann, Alfons, and Matthias Kind. “Prediction of Mechanical and Thermal Properties of Pure Liquids, of
Critical Data, and of Vapor Pressure.” Industrial & Engineering Chemistry Research, January 31, 2017. https:
//doi.org/10.1021/acs.iecr.6b04323.
[1] Bell, Ian H., Jorrit Wronski, Sylvain Quoilin, and Vincent Lemort. “Pure and Pseudo-Pure Fluid Thermophysical
Property Evaluation and the Open-Source Thermophysical Property Library CoolProp.” Industrial & Engineering
Chemistry Research 53, no. 6 (February 12, 2014): 2498-2508. doi:10.1021/ie4033999. http://www.coolprop.org/
[2] Gesellschaft, V. D. I., ed. VDI Heat Atlas. 2nd edition. Berlin; New York:: Springer, 2010.
[3] Green, Don, and Robert Perry. Perry’s Chemical Engineers’ Handbook, Eighth Edition. McGraw-Hill Profes-
sional, 2007.
[1] Missenard, F. A., Thermal Conductivity of Organic Liquids of a Series or a Group of Liquids , Rev.
Gen.Thermodyn., 101 649 (1970).
[2] Danner, Ronald P, and Design Institute for Physical Property Data. Manual for Predicting Chemical Process De-
sign Data. New York, N.Y, 1982.
[1] Missenard, F. A., Thermal Conductivity of Organic Liquids of a Series or a Group of Liquids , Rev.
Gen.Thermodyn., 101 649 (1970).
[2] Poling, Bruce E. The Properties of Gases and Liquids. 5th edition. New York: McGraw-Hill Professional, 2000.
[1] Reid, Robert C.; Prausnitz, John M.; Poling, Bruce E. The Properties of Gases and Liquids. McGraw-Hill Com-
panies, 1987.
[2] Danner, Ronald P, and Design Institute for Physical Property Data. Manual for Predicting Chemical Process De-
sign Data. New York, N.Y, 1982.
[1] Reid, Robert C.; Prausnitz, John M.; Poling, Bruce E. The Properties of Gases and Liquids. McGraw-Hill Com-
panies, 1987.
[2] Filippov, L. P.: Vest. Mosk. Univ., Ser. Fiz. Mat. Estestv. Nauk, (8I0E): 67-69A955); Chem. Abstr., 50: 8276
A956). Filippov, L. P., and N. S. Novoselova: Vestn. Mosk. Univ., Ser. F iz. Mat. Estestv.Nauk, CI0B): 37-
40A955); Chem. Abstr., 49: 11366 A955).
[1] Reid, Robert C.; Prausnitz, John M.; Poling, Bruce E. Properties of Gases and Liquids. McGraw-Hill Companies,
1987.
Bibliography 499
thermo Documentation, Release 0.1
[1] Reid, Robert C.; Prausnitz, John M.; Poling, Bruce E. Properties of Gases and Liquids. McGraw-Hill Companies,
1987.
[1] Bromley, LeRoy A., Berkeley. University of California, and U.S. Atomic Energy Commission. Thermal Conduc-
tivity of Gases at Moderate Pressures. UCRL;1852. Berkeley, CA: University of California Radiation Laboratory,
1952.
[2] Stiel, Leonard I., and George Thodos. “The Thermal Conductivity of Nonpolar Substances in the Dense Gaseous
and Liquid Regions.” AIChE Journal 10, no. 1 (January 1, 1964): 26-30. doi:10.1002/aic.690100114
[3] Danner, Ronald P, and Design Institute for Physical Property Data. Manual for Predicting Chemical Process De-
sign Data. New York, N.Y, 1982.
[1] Chung, Ting Horng, Lloyd L. Lee, and Kenneth E. Starling. “Applications of Kinetic Gas Theories and Multipa-
rameter Correlation for Prediction of Dilute Gas Viscosity and Thermal Conductivity.” Industrial & Engineering
Chemistry Fundamentals 23, no. 1 (February 1, 1984): 8-13. doi:10.1021/i100013a002
[2] Reid, Robert C.; Prausnitz, John M.; Poling, Bruce E. Properties of Gases and Liquids. McGraw-Hill Companies,
1987.
[1] Ely, James F., and H. J. M. Hanley. “Prediction of Transport Properties. 2. Thermal Conductivity of Pure Flu-
ids and Mixtures.” Industrial & Engineering Chemistry Fundamentals 22, no. 1 (February 1, 1983): 90-97.
doi:10.1021/i100009a016.
[2] Reid, Robert C.; Prausnitz, John M.; Poling, Bruce E. Properties of Gases and Liquids. McGraw-Hill Companies,
1987.
[1] Gharagheizi, Farhad, Poorandokht Ilani-Kashkouli, Mehdi Sattari, Amir H. Mohammadi, Deresh Ramjuger-
nath, and Dominique Richon. “Development of a General Model for Determination of Thermal Conductivity
of Liquid Chemical Compounds at Atmospheric Pressure.” AIChE Journal 59, no. 5 (May 1, 2013): 1702-8.
doi:10.1002/aic.13938
[1] Bahadori, Alireza, and Saeid Mokhatab. “Estimating Thermal Conductivity of Hydrocarbons.” Chemical Engi-
neering 115, no. 13 (December 2008): 52-54
[1] Bell, Ian H., Jorrit Wronski, Sylvain Quoilin, and Vincent Lemort. “Pure and Pseudo-Pure Fluid Thermophysical
Property Evaluation and the Open-Source Thermophysical Property Library CoolProp.” Industrial & Engineering
Chemistry Research 53, no. 6 (February 12, 2014): 2498-2508. doi:10.1021/ie4033999. http://www.coolprop.org/
[2] Gesellschaft, V. D. I., ed. VDI Heat Atlas. 2nd edition. Berlin; New York:: Springer, 2010.
[3] Green, Don, and Robert Perry. Perry’s Chemical Engineers’ Handbook, Eighth Edition. McGraw-Hill Profes-
sional, 2007.
[1] Stiel, Leonard I., and George Thodos. “The Thermal Conductivity of Nonpolar Substances in the Dense Gaseous
and Liquid Regions.” AIChE Journal 10, no. 1 (January 1, 1964): 26-30. doi:10.1002/aic.690100114.
[2] Reid, Robert C.; Prausnitz, John M.; Poling, Bruce E. Properties of Gases and Liquids. McGraw-Hill Companies,
1987.
[1] Ely, James F., and H. J. M. Hanley. “Prediction of Transport Properties. 2. Thermal Conductivity of Pure Flu-
ids and Mixtures.” Industrial & Engineering Chemistry Fundamentals 22, no. 1 (February 1, 1983): 90-97.
doi:10.1021/i100009a016.
[2] Reid, Robert C.; Prausnitz, John M.; Poling, Bruce E. Properties of Gases and Liquids. McGraw-Hill Companies,
1987.
[1] Chung, Ting Horng, Mohammad Ajlan, Lloyd L. Lee, and Kenneth E. Starling. “Generalized Multiparameter
Correlation for Nonpolar and Polar Fluid Transport Properties.” Industrial & Engineering Chemistry Research 27,
no. 4 (April 1, 1988): 671-79. doi:10.1021/ie00076a024.
[2] Poling, Bruce E. The Properties of Gases and Liquids. 5th edition. New York: McGraw-Hill Professional, 2000.
500 Bibliography
thermo Documentation, Release 0.1
[1] Lindsay, Alexander L., and LeRoy A. Bromley. “Thermal Conductivity of Gas Mixtures.” Industrial & Engineering
Chemistry 42, no. 8 (August 1, 1950): 1508-11. doi:10.1021/ie50488a017.
[2] Danner, Ronald P, and Design Institute for Physical Property Data. Manual for Predicting Chemical Process De-
sign Data. New York, N.Y, 1982.
[1] Poling, Bruce E. The Properties of Gases and Liquids. 5th edition. New York: McGraw-Hill Professional, 2000.
[1] Staveley, L. A. K., L. Q. Lobo, and J. C. G. Calado. “Triple-Points of Low Melting Substances and Their Use in
Cryogenic Work.” Cryogenics 21, no. 3 (March 1981): 131-144. doi:10.1016/0011-2275(81)90264-2.
[1] Staveley, L. A. K., L. Q. Lobo, and J. C. G. Calado. “Triple-Points of Low Melting Substances and Their Use in
Cryogenic Work.” Cryogenics 21, no. 3 (March 1981): 131-144. doi:10.1016/0011-2275(81)90264-2.
[1] Gmehling, Jurgen. Chemical Thermodynamics: For Process Simulation. Weinheim, Germany: Wiley-VCH, 2012.
[2] Fredenslund, Aage, Russell L. Jones, and John M. Prausnitz. “Group Contribution Estimation of Activ-
ity Coefficients in Nonideal Liquid Mixtures.” AIChE Journal 21, no. 6 (November 1, 1975): 1086-99.
doi:10.1002/aic.690210607.
[3] Jakob, Antje, Hans Grensemann, Jürgen Lohmann, and Jürgen Gmehling. “Further Development of Modified
UNIFAC (Dortmund): Revision and Extension 5.” Industrial & Engineering Chemistry Research 45, no. 23
(November 1, 2006): 7924-33. doi:10.1021/ie060355c.
[4] Kang, Jeong Won, Vladimir Diky, and Michael Frenkel. “New Modified UNIFAC Parameters Using Crit-
ically Evaluated Phase Equilibrium Data.” Fluid Phase Equilibria 388 (February 25, 2015): 128-41.
doi:10.1016/j.fluid.2014.12.042.
[1] Gmehling, Jurgen. Chemical Thermodynamics: For Process Simulation. Weinheim, Germany: Wiley-VCH, 2012.
[2] Fredenslund, Aage, Russell L. Jones, and John M. Prausnitz. “Group Contribution Estimation of Activ-
ity Coefficients in Nonideal Liquid Mixtures.” AIChE Journal 21, no. 6 (November 1, 1975): 1086-99.
doi:10.1002/aic.690210607.
[1] Gmehling, Jurgen. Chemical Thermodynamics: For Process Simulation. Weinheim, Germany: Wiley-VCH, 2012.
[1] Wei, James, Morton M. Denn, John H. Seinfeld, Arup Chakraborty, Jackie Ying, Nicholas Peppas, and George
Stephanopoulos. Molecular Modeling and Theory in Chemical Engineering. Academic Press, 2001.
[1] Wei, James, Morton M. Denn, John H. Seinfeld, Arup Chakraborty, Jackie Ying, Nicholas Peppas, and George
Stephanopoulos. Molecular Modeling and Theory in Chemical Engineering. Academic Press, 2001.
[1] Poling, Bruce E. The Properties of Gases and Liquids. 5th edition. New York: McGraw-Hill Professional, 2000.
[1] Poling, Bruce E. The Properties of Gases and Liquids. 5th edition. New York: McGraw-Hill Professional, 2000.
[1] Poling, Bruce E. The Properties of Gases and Liquids. 5th edition. New York: McGraw-Hill Professional, 2000.
[2] Walas, Stanley M. Phase Equilibria in Chemical Engineering. Butterworth-Heinemann, 1985.
[3] Gmehling, Jurgen, Barbel Kolbe, Michael Kleiber, and Jurgen Rarey. Chemical Thermodynamics for Process
Simulation. 1st edition. Weinheim: Wiley-VCH, 2012.
[1] Gmehling, Jurgen, Barbel Kolbe, Michael Kleiber, and Jurgen Rarey. Chemical Thermodynamics for Process
Simulation. 1st edition. Weinheim: Wiley-VCH, 2012.
[2] Pratt, R. M. “Thermodynamic Properties Involving Derivatives: Using the Peng-Robinson Equation of State.”
Chemical Engineering Education 35, no. 2 (March 1, 2001): 112-115.
[1] Walas, Stanley M. Phase Equilibria in Chemical Engineering. Butterworth-Heinemann, 1985.
[2] Pratt, R. M. “Thermodynamic Properties Involving Derivatives: Using the Peng-Robinson Equation of State.”
Chemical Engineering Education 35, no. 2 (March 1, 2001): 112-115.
Bibliography 501
thermo Documentation, Release 0.1
[1] Venkatarathnam, G., and L. R. Oellrich. “Identification of the Phase of a Fluid Using Partial Derivatives of Pres-
sure, Volume, and Temperature without Reference to Saturation Properties: Applications in Phase Equilibria
Calculations.” Fluid Phase Equilibria 301, no. 2 (February 25, 2011): 225-33. doi:10.1016/j.fluid.2010.12.001.
[2] Jayanti, Pranava Chaitanya, and G. Venkatarathnam. “Identification of the Phase of a Substance from the Deriva-
tives of Pressure, Volume and Temperature, without Prior Knowledge of Saturation Properties: Extension to Solid
Phase.” Fluid Phase Equilibria 425 (October 15, 2016): 269-277. doi:10.1016/j.fluid.2016.06.001.
[1] Venkatarathnam, G., and L. R. Oellrich. “Identification of the Phase of a Fluid Using Partial Derivatives of Pres-
sure, Volume, and Temperature without Reference to Saturation Properties: Applications in Phase Equilibria
Calculations.” Fluid Phase Equilibria 301, no. 2 (February 25, 2011): 225-33. doi:10.1016/j.fluid.2010.12.001.
[2] Jayanti, Pranava Chaitanya, and G. Venkatarathnam. “Identification of the Phase of a Substance from the Deriva-
tives of Pressure, Volume and Temperature, without Prior Knowledge of Saturation Properties: Extension to Solid
Phase.” Fluid Phase Equilibria 425 (October 15, 2016): 269-277. doi:10.1016/j.fluid.2016.06.001.
[1] Poling, Bruce E. The Properties of Gases and Liquids. 5th edition. New York: McGraw-Hill Professional, 2000.
[1] Poling, Bruce E. The Properties of Gases and Liquids. 5th edition. New York: McGraw-Hill Professional, 2000.
[1] Poling, Bruce E. The Properties of Gases and Liquids. 5th edition. New York: McGraw-Hill Professional, 2000.
[1] Poling, Bruce E. The Properties of Gases and Liquids. 5th edition. New York: McGraw-Hill Professional, 2000.
[1] Poling, Bruce E. The Properties of Gases and Liquids. 5th edition. New York: McGraw-Hill Professional, 2000.
[1] Poling, Bruce E. The Properties of Gases and Liquids. 5th edition. New York: McGraw-Hill Professional, 2000.
[1] Prausnitz, John M., Rudiger N. Lichtenthaler, and Edmundo Gomes de Azevedo. Molecular Thermodynamics of
Fluid-Phase Equilibria. 3rd edition. Upper Saddle River, N.J: Prentice Hall, 1998.
[2] Walas, Stanley M. Phase Equilibria in Chemical Engineering. Butterworth-Heinemann, 1985.
[1] Prausnitz, John M., Rudiger N. Lichtenthaler, and Edmundo Gomes de Azevedo. Molecular Thermodynamics of
Fluid-Phase Equilibria. 3rd edition. Upper Saddle River, N.J: Prentice Hall, 1998.
[2] Walas, Stanley M. Phase Equilibria in Chemical Engineering. Butterworth-Heinemann, 1985.
[1] Poling, Bruce E. The Properties of Gases and Liquids. 5th edition. New York: McGraw-Hill Professional, 2000.
[2] Green, Don, and Robert Perry. Perry’s Chemical Engineers’ Handbook, 8E. McGraw-Hill Professional, 2007.
[3] Danner, Ronald P, and Design Institute for Physical Property Data. Manual for Predicting Chemical Process De-
sign Data. New York, N.Y, 1982.
[1] API Technical Data Book: General Properties & Characterization.
[1] API Technical Data Book: General Properties & Characterization.
[1] Poling, Bruce E. The Properties of Gases and Liquids. 5th edition. New York: McGraw-Hill Professional, 2000.
[2] Antoine, C. 1888. Tensions des Vapeurs: Nouvelle Relation Entre les Tensions et les Tempé. Compt.Rend.
107:681-684.
[3] Yaws, Carl L. The Yaws Handbook of Vapor Pressure: Antoine Coefficients. 1 edition. Houston, Tex: Gulf Pub-
lishing Company, 2007.
[1] Poling, Bruce E. The Properties of Gases and Liquids. 5th edition. New York: McGraw-Hill Professional, 2000.
[2] McGarry, Jack. “Correlation and Prediction of the Vapor Pressures of Pure Liquids over Large Pressure Ranges.”
Industrial & Engineering Chemistry Process Design and Development 22, no. 2 (April 1, 1983): 313-22.
doi:10.1021/i200021a023.
[1] Wagner, W. “New Vapour Pressure Measurements for Argon and Nitrogen and a New Method for Establish-
ing Rational Vapour Pressure Equations.” Cryogenics 13, no. 8 (August 1973): 470-82. doi:10.1016/0011-
2275(73)90003-9
502 Bibliography
thermo Documentation, Release 0.1
[2] Poling, Bruce E. The Properties of Gases and Liquids. 5th edition. New York: McGraw-Hill Professional, 2000.
[1] Poling, Bruce E. The Properties of Gases and Liquids. 5th edition. New York: McGraw-Hill Professional, 2000.
[1] McGarry, Jack. “Correlation and Prediction of the Vapor Pressures of Pure Liquids over Large Pressure Ranges.”
Industrial & Engineering Chemistry Process Design and Development 22, no. 2 (April 1, 1983): 313-22.
doi:10.1021/i200021a023.
[2] Poling, Bruce E. The Properties of Gases and Liquids. 5th edition. New York: McGraw-Hill Professional, 2000.
[3] Bell, Ian H., Jorrit Wronski, Sylvain Quoilin, and Vincent Lemort. “Pure and Pseudo-Pure Fluid Thermophysical
Property Evaluation and the Open-Source Thermophysical Property Library CoolProp.” Industrial & Engineering
Chemistry Research 53, no. 6 (February 12, 2014): 2498-2508. doi:10.1021/ie4033999. http://www.coolprop.org/
[4] Gesellschaft, V. D. I., ed. VDI Heat Atlas. 2nd edition. Berlin; New York:: Springer, 2010.
[5] Green, Don, and Robert Perry. Perry’s Chemical Engineers’ Handbook, Eighth Edition. McGraw-Hill Profes-
sional, 2007.
[1] Reid, Robert C..; Prausnitz, John M.;; Poling, Bruce E. The Properties of Gases and Liquids. McGraw-Hill Com-
panies, 1987.
[1] Lee, Byung Ik, and Michael G. Kesler. “A Generalized Thermodynamic Correlation Based on Three-Parameter
Corresponding States.” AIChE Journal 21, no. 3 (1975): 510-527. doi:10.1002/aic.690210313.
[2] Reid, Robert C..; Prausnitz, John M.;; Poling, Bruce E. The Properties of Gases and Liquids. McGraw-Hill Com-
panies, 1987.
[1] Ambrose, D., and J. Walton. “Vapour Pressures up to Their Critical Temperatures of Normal Alkanes and 1-
Alkanols.” Pure and Applied Chemistry 61, no. 8 (1989): 1395-1403. doi:10.1351/pac198961081395.
[2] Poling, Bruce E. The Properties of Gases and Liquids. 5th edition. New York: McGraw-Hill Professional, 2000.
[1] Edalat, M., R. B. Bozar-Jomehri, and G. A. Mansoori. “Generalized Equation Predicts Vapor Pressure of Hydro-
carbons.” Oil and Gas Journal; 91:5 (February 1, 1993).
[1] Sanjari, Ehsan, Mehrdad Honarmand, Hamidreza Badihi, and Ali Ghaheri. “An Accurate Generalized Model for
Predict Vapor Pressure of Refrigerants.” International Journal of Refrigeration 36, no. 4 (June 2013): 1327-32.
doi:10.1016/j.ijrefrig.2013.01.007.
[1] Pitzer, Kenneth S., and R. F. Curl. “The Volumetric and Thermodynamic Properties of Fluids. III. Empirical
Equation for the Second Virial Coefficient1.” Journal of the American Chemical Society 79, no. 10 (May 1,
1957): 2369-70. doi:10.1021/ja01567a007.
[1] Smith, H. C. Van Ness Joseph M. Introduction to Chemical Engineering Thermodynamics 4E 1987.
[1] Tsonopoulos, Constantine. “An Empirical Correlation of Second Virial Coefficients.” AIChE Journal 20, no. 2
(March 1, 1974): 263-72. doi:10.1002/aic.690200209.
[1] Tsonopoulos, C., and J. L. Heidman. “From the Virial to the Cubic Equation of State.” Fluid Phase Equilibria 57,
no. 3 (1990): 261-76. doi:10.1016/0378-3812(90)85126-U
[2] Tsonopoulos, Constantine, and John H. Dymond. “Second Virial Coefficients of Normal Alkanes, Linear 1-
Alkanols (and Water), Alkyl Ethers, and Their Mixtures.” Fluid Phase Equilibria, International Workshop on
Vapour-Liquid Equilibria and Related Properties in Binary and Ternary Mixtures of Ethers, Alkanes and Alka-
nols, 133, no. 1-2 (June 1997): 11-34. doi:10.1016/S0378-3812(97)00058-7.
[1] Viswanath, Dabir S., and G. Natarajan. Databook On The Viscosity Of Liquids. New York: Taylor & Francis,
1989
[1] Letsou, Athena, and Leonard I. Stiel. “Viscosity of Saturated Nonpolar Liquids at Elevated Pressures.” AIChE
Journal 19, no. 2 (1973): 409-11. doi:10.1002/aic.690190241.
Bibliography 503
thermo Documentation, Release 0.1
[1] Przedziecki, J. W., and T. Sridhar. “Prediction of Liquid Viscosities.” AIChE Journal 31, no. 2 (February 1, 1985):
333-35. doi:10.1002/aic.690310225.
[1] Viswanath, Dabir S., and G. Natarajan. Databook On The Viscosity Of Liquids. New York: Taylor & Francis,
1989
[2] Bell, Ian H., Jorrit Wronski, Sylvain Quoilin, and Vincent Lemort. “Pure and Pseudo-Pure Fluid Thermophysical
Property Evaluation and the Open-Source Thermophysical Property Library CoolProp.” Industrial & Engineering
Chemistry Research 53, no. 6 (February 12, 2014): 2498-2508. doi:10.1021/ie4033999. http://www.coolprop.org/
[3] Gesellschaft, V. D. I., ed. VDI Heat Atlas. 2nd edition. Berlin; New York:: Springer, 2010.
[4] Green, Don, and Robert Perry. Perry’s Chemical Engineers’ Handbook, Eighth Edition. McGraw-Hill Profes-
sional, 2007.
[1] Bell, Ian H., Jorrit Wronski, Sylvain Quoilin, and Vincent Lemort. “Pure and Pseudo-Pure Fluid Thermophysical
Property Evaluation and the Open-Source Thermophysical Property Library CoolProp.” Industrial & Engineering
Chemistry Research 53, no. 6 (February 12, 2014): 2498-2508. doi:10.1021/ie4033999. http://www.coolprop.org/
[2] Gesellschaft, V. D. I., ed. VDI Heat Atlas. 2nd edition. Berlin; New York:: Springer, 2010.
[3] Green, Don, and Robert Perry. Perry’s Chemical Engineers’ Handbook, Eighth Edition. McGraw-Hill Profes-
sional, 2007.
[1] Lucas, Klaus. “Ein Einfaches Verfahren Zur Berechnung Der Viskositat von Gasen Und Gasgemischen.” Chemie
Ingenieur Technik 46, no. 4 (February 1, 1974): 157-157. doi:10.1002/cite.330460413.
[2] Reid, Robert C.; Prausnitz, John M.; Poling, Bruce E. Properties of Gases and Liquids. McGraw-Hill Companies,
1987.
[1] Yoon, Poong, and George Thodos. “Viscosity of Nonpolar Gaseous Mixtures at Normal Pressures.” AIChE Journal
16, no. 2 (1970): 300-304. doi:10.1002/aic.690160225.
[1] Stiel, Leonard I., and George Thodos. “The Viscosity of Nonpolar Gases at Normal Pressures.” AIChE Journal 7,
no. 4 (1961): 611-15. doi:10.1002/aic.690070416.
[1] Reid, Robert C.; Prausnitz, John M.; Poling, Bruce E. Properties of Gases and Liquids. McGraw-Hill Companies,
1987.
[1] Gharagheizi, Farhad, Ali Eslamimanesh, Mehdi Sattari, Amir H. Mohammadi, and Dominique Richon. “Cor-
responding States Method for Determination of the Viscosity of Gases at Atmospheric Pressure.” Industrial &
Engineering Chemistry Research 51, no. 7 (February 22, 2012): 3179-85. doi:10.1021/ie202591f.
[1] Herning, F. and Zipperer, L,: “Calculation of the Viscosity of Technical Gas Mixtures from the Viscosity of
Individual Gases, german”, Gas u. Wasserfach (1936) 79, No. 49, 69.
[1] TODO
[1] Brokaw, R. S. “Predicting Transport Properties of Dilute Gases.” Industrial & Engineering Chemistry Process
Design and Development 8, no. 2 (April 1, 1969): 240-53. doi:10.1021/i260030a015.
[2] Brokaw, R. S. Viscosity of Gas Mixtures, NASA-TN-D-4496, 1968.
[3] Danner, Ronald P, and Design Institute for Physical Property Data. Manual for Predicting Chemical Process De-
sign Data. New York, N.Y, 1982.
[1] ASTM D2270-10(2016) Standard Practice for Calculating Viscosity Index from Kinematic Viscosity at 40°C and
100°C, ASTM International, West Conshohocken, PA, 2016, http://dx.doi.org/10.1520/D2270-10R16
[1] Hydraulic Institute. Hydraulic Institute Engineering Data Book. Cleveland, Ohio: Hydraulic Institute, 1990.
[2] Gardner/Sward. Paint Testing Manual. Physical and Chemical Examination of Paints, Varnishes, Lacquers, and
Colors. 13th Edition. ASTM, 1972.
[3] Euverard, M. R., The Efflux Type Viscosity Cup. National Paint, Varnish, and Lacquer Association, 1948.
504 Bibliography
thermo Documentation, Release 0.1
[4] API Technical Data Book: General Properties & Characterization. American Petroleum Institute, 7E, 2005.
[5] ASTM. Standard Practice for Conversion of Kinematic Viscosity to Saybolt Universal Viscosity or to Saybolt
Furol Viscosity. D 2161 - 93.
[1] Poling, Bruce E. The Properties of Gases and Liquids. 5th edition. New York: McGraw-Hill Professional, 2000.
[1] Poling, Bruce E. The Properties of Gases and Liquids. 5th edition. New York: McGraw-Hill Professional, 2000.
[1] Yen, Lewis C., and S. S. Woods. “A Generalized Equation for Computer Calculation of Liquid Densities.” AIChE
Journal 12, no. 1 (1966): 95-99. doi:10.1002/aic.690120119
[1] Rackett, Harold G. “Equation of State for Saturated Liquids.” Journal of Chemical & Engineering Data 15, no. 4
(1970): 514-517. doi:10.1021/je60047a012
[1] Gunn, R. D., and Tomoyoshi Yamada. “A Corresponding States Correlation of Saturated Liquid Volumes.” AIChE
Journal 17, no. 6 (1971): 1341-45. doi:10.1002/aic.690170613
[2] Yamada, Tomoyoshi, and Robert D. Gunn. “Saturated Liquid Molar Volumes. Rackett Equation.” Journal of
Chemical & Engineering Data 18, no. 2 (1973): 234-36. doi:10.1021/je60057a006
[1] Hales, J. L, and R Townsend. “Liquid Densities from 293 to 490 K of Nine Aromatic Hydrocarbons.” The Journal
of Chemical Thermodynamics 4, no. 5 (1972): 763-72. doi:10.1016/0021-9614(72)90050-X
[1] Bhirud, Vasant L. “Saturated Liquid Densities of Normal Fluids.” AIChE Journal 24, no. 6 (November 1, 1978):
1127-31. doi:10.1002/aic.690240630
[1] Hankinson, Risdon W., and George H. Thomson. “A New Correlation for Saturated Densities of Liquids and Their
Mixtures.” AIChE Journal 25, no. 4 (1979): 653-663. doi:10.1002/aic.690250412
[1] Campbell, Scott W., and George Thodos. “Prediction of Saturated Liquid Densities and Critical Volumes for
Polar and Nonpolar Substances.” Journal of Chemical & Engineering Data 30, no. 1 (January 1, 1985): 102-11.
doi:10.1021/je00039a032.
[1] Mchaweh, A., A. Alsaygh, Kh. Nasrifar, and M. Moshfeghian. “A Simplified Method for Calculating Saturated
Liquid Densities.” Fluid Phase Equilibria 224, no. 2 (October 1, 2004): 157-67. doi:10.1016/j.fluid.2004.06.054
[1] Haynes, W.M., Thomas J. Bruno, and David R. Lide. CRC Handbook of Chemistry and Physics, 95E. [Boca
Raton, FL]: CRC press, 2014.
[1] Green, Don, and Robert Perry. Perry’s Chemical Engineers’ Handbook, 8E. McGraw-Hill Professional, 2007.
[2] Mchaweh, A., A. Alsaygh, Kh. Nasrifar, and M. Moshfeghian. “A Simplified Method for Calculating Saturated
Liquid Densities.” Fluid Phase Equilibria 224, no. 2 (October 1, 2004): 157-67. doi:10.1016/j.fluid.2004.06.054
[3] Hankinson, Risdon W., and George H. Thomson. “A New Correlation for Saturated Densities of Liquids and Their
Mixtures.” AIChE Journal 25, no. 4 (1979): 653-663. doi:10.1002/aic.690250412
[4] Haynes, W.M., Thomas J. Bruno, and David R. Lide. CRC Handbook of Chemistry and Physics. [Boca Raton,
FL]: CRC press, 2014.
[5] Bell, Ian H., Jorrit Wronski, Sylvain Quoilin, and Vincent Lemort. “Pure and Pseudo-Pure Fluid Thermophysical
Property Evaluation and the Open-Source Thermophysical Property Library CoolProp.” Industrial & Engineering
Chemistry Research 53, no. 6 (February 12, 2014): 2498-2508. doi:10.1021/ie4033999. http://www.coolprop.org/
[6] Gesellschaft, V. D. I., ed. VDI Heat Atlas. 2nd edition. Berlin; New York:: Springer, 2010.
[1] Thomson, G. H., K. R. Brobst, and R. W. Hankinson. “An Improved Correlation for Densities of Compressed
Liquids and Liquid Mixtures.” AIChE Journal 28, no. 4 (July 1, 1982): 671-76. doi:10.1002/aic.690280420
[1] Rackett, Harold G. “Equation of State for Saturated Liquids.” Journal of Chemical & Engineering Data 15, no. 4
(1970): 514-517. doi:10.1021/je60047a012
[2] Danner, Ronald P, and Design Institute for Physical Property Data. Manual for Predicting Chemical Process De-
sign Data. New York, N.Y, 1982.
Bibliography 505
thermo Documentation, Release 0.1
[1] Hankinson, Risdon W., and George H. Thomson. “A New Correlation for Saturated Densities of Liquids and Their
Mixtures.” AIChE Journal 25, no. 4 (1979): 653-663. doi:10.1002/aic.690250412
[1] Haynes, W.M., Thomas J. Bruno, and David R. Lide. CRC Handbook of Chemistry and Physics. [Boca Raton,
FL]: CRC press, 2014.
[2] Bell, Ian H., Jorrit Wronski, Sylvain Quoilin, and Vincent Lemort. “Pure and Pseudo-Pure Fluid Thermophysical
Property Evaluation and the Open-Source Thermophysical Property Library CoolProp.” Industrial & Engineering
Chemistry Research 53, no. 6 (February 12, 2014): 2498-2508. doi:10.1021/ie4033999. http://www.coolprop.org/
[1] Goodman, Benjamin T., W. Vincent Wilding, John L. Oscarson, and Richard L. Rowley. “A Note on the Relation-
ship between Organic Solid Density and Liquid Density at the Triple Point.” Journal of Chemical & Engineering
Data 49, no. 6 (2004): 1512-14. doi:10.1021/je034220e.
[1] Haynes, W.M., Thomas J. Bruno, and David R. Lide. CRC Handbook of Chemistry and Physics. [Boca Raton,
FL]: CRC press, 2014.
[1] Poling, Bruce E. The Properties of Gases and Liquids. 5th edition. New York: McGraw-Hill Professional, 2000.
[1] Poling, Bruce E. The Properties of Gases and Liquids. 5th edition. New York: McGraw-Hill Professional, 2000.
506 Bibliography
Python Module Index
t
thermo.acentric, 3
thermo.activity, 7
thermo.chemical, 17
thermo.combustion, 48
thermo.critical, 49
thermo.datasheet, 62
thermo.dipole, 63
thermo.dippr, 64
thermo.electrochem, 73
thermo.elements, 86
thermo.environment, 156
thermo.eos, 91
thermo.eos_mix, 130
thermo.heat_capacity, 159
thermo.identifiers, 193
thermo.interface, 197
thermo.joback, 213
thermo.law, 222
thermo.lennard_jones, 224
thermo.miscdata, 236
thermo.mixture, 237
thermo.permittivity, 272
thermo.phase_change, 276
thermo.reaction, 289
thermo.refractivity, 292
thermo.safety, 294
thermo.solubility, 303
thermo.stream, 305
thermo.temperature, 314
thermo.thermal_conductivity, 316
thermo.triple, 350
thermo.unifac, 351
thermo.utils, 356
thermo.vapor_pressure, 396
thermo.virial, 407
thermo.viscosity, 414
thermo.volume, 442
507
thermo Documentation, Release 0.1
A add_coeffs() (thermo.heat_capacity.Zabransky_spline
A (thermo.chemical.Chemical attribute), 26 method), 174
a_alpha_and_derivatives() (thermo.eos.APISRK Aleem() (in module thermo.interface), 203
method), 118 all_methods (thermo.heat_capacity.HeatCapacityGas at-
a_alpha_and_derivatives() (thermo.eos.GCEOS method), tribute), 165
94 all_methods (thermo.heat_capacity.HeatCapacityGasMixture
a_alpha_and_derivatives() (thermo.eos.PR method), 101 attribute), 189
a_alpha_and_derivatives() (thermo.eos.PRSV method), all_methods (thermo.heat_capacity.HeatCapacityLiquid
108 attribute), 178
a_alpha_and_derivatives() (thermo.eos.PRSV2 method), all_methods (thermo.heat_capacity.HeatCapacityLiquidMixture
110 attribute), 192
a_alpha_and_derivatives() (thermo.eos.RK method), 115 all_methods (thermo.heat_capacity.HeatCapacitySolid at-
a_alpha_and_derivatives() (thermo.eos.SRK method), tribute), 184
104 all_methods (thermo.heat_capacity.HeatCapacitySolidMixture
a_alpha_and_derivatives() (thermo.eos.TWUPR method), attribute), 187
120 all_methods (thermo.interface.SurfaceTension attribute),
a_alpha_and_derivatives() (thermo.eos.TWUSRK 207
method), 122 all_methods (thermo.interface.SurfaceTensionMixture at-
a_alpha_and_derivatives() (thermo.eos.VDW method), tribute), 211
113 all_methods (thermo.permittivity.Permittivity attribute),
a_alpha_and_derivatives() (thermo.eos_mix.GCEOSMIX 274
method), 131 all_methods (thermo.phase_change.EnthalpyVaporization
a_alpha_mro (thermo.eos_mix.APISRKMIX attribute), attribute), 287
156 all_methods (thermo.thermal_conductivity.ThermalConductivityGas
a_alpha_mro (thermo.eos_mix.PR78MIX attribute), 141 attribute), 340
a_alpha_mro (thermo.eos_mix.PRMIX attribute), 135 all_methods (thermo.thermal_conductivity.ThermalConductivityGasMixture
a_alpha_mro (thermo.eos_mix.PRSV2MIX attribute), attribute), 349
148 all_methods (thermo.thermal_conductivity.ThermalConductivityLiquid
a_alpha_mro (thermo.eos_mix.PRSVMIX attribute), 146 attribute), 325
a_alpha_mro (thermo.eos_mix.SRKMIX attribute), 138 all_methods (thermo.vapor_pressure.VaporPressure at-
a_alpha_mro (thermo.eos_mix.TWUPRMIX attribute), tribute), 401
151 all_methods (thermo.viscosity.ViscosityGas attribute),
a_alpha_mro (thermo.eos_mix.TWUSRKMIX attribute), 425
153 all_methods (thermo.viscosity.ViscosityGasMixture at-
a_alpha_mro (thermo.eos_mix.VDWMIX attribute), 143 tribute), 440
absolute_permittivity (thermo.chemical.Chemical at- all_methods (thermo.viscosity.ViscosityLiquid attribute),
tribute), 38 420
acos() (in module thermo.utils), 394 all_methods (thermo.viscosity.ViscosityLiquidMixture
acosh() (in module thermo.utils), 394 attribute), 437
all_methods (thermo.volume.VolumeGasMixture at-
509
thermo Documentation, Release 0.1
510 Index
thermo Documentation, Release 0.1
Index 511
thermo Documentation, Release 0.1
512 Index
thermo Documentation, Release 0.1
Index 513
thermo Documentation, Release 0.1
514 Index
thermo Documentation, Release 0.1
interpolation_property (thermo.thermal_conductivity.ThermalConductivityLiquid
interpolation_property_inv (thermo.volume.VolumeSolid
attribute), 326 attribute), 466
interpolation_property (thermo.utils.TDependentProperty interpolation_property_inv()
attribute), 379 (thermo.vapor_pressure.VaporPressure
interpolation_property (thermo.viscosity.ViscosityGas at- method), 402
tribute), 426 interpolation_T (thermo.heat_capacity.HeatCapacityGas
interpolation_property (thermo.viscosity.ViscosityLiquid attribute), 165
attribute), 421 interpolation_T (thermo.heat_capacity.HeatCapacityLiquid
interpolation_property (thermo.volume.VolumeGas at- attribute), 179
tribute), 462 interpolation_T (thermo.heat_capacity.HeatCapacitySolid
interpolation_property (thermo.volume.VolumeLiquid at- attribute), 184
tribute), 453 interpolation_T (thermo.interface.SurfaceTension at-
interpolation_property (thermo.volume.VolumeSolid at- tribute), 207
tribute), 466 interpolation_T (thermo.permittivity.Permittivity at-
interpolation_property() (thermo.vapor_pressure.VaporPressure tribute), 275
method), 402 interpolation_T (thermo.phase_change.EnthalpyVaporization
interpolation_property_inv attribute), 287
(thermo.heat_capacity.HeatCapacityGas at- interpolation_T (thermo.thermal_conductivity.ThermalConductivityGas
tribute), 165 attribute), 341
interpolation_property_inv interpolation_T (thermo.thermal_conductivity.ThermalConductivityLiquid
(thermo.heat_capacity.HeatCapacityLiquid attribute), 326
attribute), 179 interpolation_T (thermo.utils.TDependentProperty
interpolation_property_inv attribute), 379
(thermo.heat_capacity.HeatCapacitySolid interpolation_T (thermo.viscosity.ViscosityGas attribute),
attribute), 184 426
interpolation_property_inv interpolation_T (thermo.viscosity.ViscosityLiquid at-
(thermo.interface.SurfaceTension attribute), tribute), 421
207 interpolation_T (thermo.volume.VolumeGas attribute),
interpolation_property_inv 462
(thermo.permittivity.Permittivity attribute), interpolation_T (thermo.volume.VolumeLiquid attribute),
275 453
interpolation_property_inv interpolation_T (thermo.volume.VolumeSolid attribute),
(thermo.phase_change.EnthalpyVaporization 466
attribute), 288 interpolation_T() (thermo.vapor_pressure.VaporPressure
interpolation_property_inv method), 402
(thermo.thermal_conductivity.ThermalConductivityGas
ionic_strength() (in module thermo.electrochem), 82
attribute), 341 isentropic_exponent (thermo.chemical.Chemical at-
interpolation_property_inv tribute), 41
(thermo.thermal_conductivity.ThermalConductivityLiquid
isentropic_exponent (thermo.mixture.Mixture attribute),
attribute), 326 261
interpolation_property_inv isentropic_exponent() (in module thermo.utils), 361
(thermo.utils.TDependentProperty attribute), isentropic_exponents (thermo.mixture.Mixture attribute),
379 261
interpolation_property_inv isinf() (in module thermo.utils), 395
(thermo.viscosity.ViscosityGas attribute), isnan() (in module thermo.utils), 395
426 isobaric_expansion (thermo.chemical.Chemical at-
interpolation_property_inv tribute), 41
(thermo.viscosity.ViscosityLiquid attribute), isobaric_expansion (thermo.mixture.Mixture attribute),
421 262
interpolation_property_inv (thermo.volume.VolumeGas isobaric_expansion() (in module thermo.utils), 356
attribute), 462 isobaric_expansion_g (thermo.chemical.Chemical
interpolation_property_inv attribute), 41
(thermo.volume.VolumeLiquid attribute), isobaric_expansion_g (thermo.mixture.Mixture attribute),
453 262
Index 515
thermo Documentation, Release 0.1
516 Index
thermo Documentation, Release 0.1
load_all_methods() (thermo.phase_change.EnthalpyVaporization
Mathias_Copeman() (thermo.eos.ALPHA_FUNCTIONS
method), 288 static method), 126
load_all_methods() (thermo.thermal_conductivity.ThermalConductivityGas
Meissner() (in module thermo.critical), 56
method), 341 Melhem() (thermo.eos.ALPHA_FUNCTIONS static
load_all_methods() (thermo.thermal_conductivity.ThermalConductivityGasMixture
method), 127
method), 349 Mersmann_Kind_predictor() (in module thermo.critical),
load_all_methods() (thermo.thermal_conductivity.ThermalConductivityLiquid
53
method), 326 Mersmann_Kind_thermal_conductivity_liquid() (in mod-
load_all_methods() (thermo.utils.TDependentProperty ule thermo.thermal_conductivity), 321
method), 379 method (thermo.utils.MixtureProperty attribute), 389
load_all_methods() (thermo.vapor_pressure.VaporPressure method (thermo.utils.TDependentProperty attribute), 379
method), 402 method (thermo.vapor_pressure.VaporPressure attribute),
load_all_methods() (thermo.viscosity.ViscosityGas 402
method), 426 method_P (thermo.utils.TPDependentProperty attribute),
load_all_methods() (thermo.viscosity.ViscosityGasMixture 385
method), 441 mgm3_to_ppmv() (in module thermo.safety), 294
load_all_methods() (thermo.viscosity.ViscosityLiquid Miqueu() (in module thermo.interface), 203
method), 421 Missenard() (in module thermo.thermal_conductivity),
load_all_methods() (thermo.viscosity.ViscosityLiquidMixture 328
method), 438 mixing_logarithmic() (in module thermo.utils), 369
load_all_methods() (thermo.volume.VolumeGas mixing_simple() (in module thermo.utils), 368
method), 462 Mixture (class in thermo.mixture), 237
load_all_methods() (thermo.volume.VolumeGasMixture mixture_from_any() (in module thermo.identifiers), 197
method), 472 mixture_property() (thermo.utils.MixtureProperty
load_all_methods() (thermo.volume.VolumeLiquid method), 389
method), 453 MixtureProperty (class in thermo.utils), 387
load_all_methods() (thermo.volume.VolumeLiquidMixture MK() (in module thermo.phase_change), 280
method), 469 modf() (in module thermo.utils), 395
load_all_methods() (thermo.volume.VolumeSolid modified_Wilson_Tc() (in module thermo.critical), 60
method), 466 modified_Wilson_Vc() (in module thermo.critical), 61
load_all_methods() (thermo.volume.VolumeSolidMixture molar_refractivity_from_RI() (in module
method), 475 thermo.refractivity), 293
load_economic_data() (in module thermo.law), 224 molecular_diameter() (in module thermo.lennard_jones),
load_group_assignments_DDBST() (in module 225
thermo.unifac), 356 molecular_weight() (in module thermo.elements), 86
load_law_data() (in module thermo.law), 224 mu (thermo.chemical.Chemical attribute), 43
log() (in module thermo.utils), 395 mu (thermo.mixture.Mixture attribute), 264
log10() (in module thermo.utils), 395 mug (thermo.chemical.Chemical attribute), 44
log1p() (in module thermo.utils), 395 mug (thermo.mixture.Mixture attribute), 264
logP() (in module thermo.environment), 158 mugs (thermo.mixture.Mixture attribute), 265
Lucas() (in module thermo.viscosity), 428 mul (thermo.chemical.Chemical attribute), 44
lucas_gas() (in module thermo.viscosity), 430 mul (thermo.mixture.Mixture attribute), 265
mul() (thermo.joback.Joback method), 221
M mul_coeffs() (thermo.joback.Joback static method), 221
main_derivatives_and_departures() (thermo.eos.GCEOS muls (thermo.mixture.Mixture attribute), 265
static method), 95 MW() (in module thermo.identifiers), 195
main_derivatives_and_departures() (thermo.eos.VDW
static method), 113 N
mass_fractions (thermo.chemical.Chemical attribute), 43 n (thermo.heat_capacity.Zabransky_spline attribute), 175
mass_fractions (thermo.mixture.Mixture attribute), 264 name (thermo.heat_capacity.HeatCapacityGas attribute),
mass_fractions() (in module thermo.elements), 87 166
mass_fractionss (thermo.mixture.Mixture attribute), 264 name (thermo.heat_capacity.HeatCapacityGasMixture at-
Mathias() (thermo.eos.ALPHA_FUNCTIONS static tribute), 190
method), 126
Index 517
thermo Documentation, Release 0.1
518 Index
thermo Documentation, Release 0.1
Index 519
thermo Documentation, Release 0.1
property_min (thermo.thermal_conductivity.ThermalConductivityLiquid
Rachford_Rice_flash_error() (in module thermo.activity),
attribute), 326 8
property_min (thermo.utils.MixtureProperty attribute), Rachford_Rice_solution() (in module thermo.activity), 9
392 Rackett() (in module thermo.volume), 442
property_min (thermo.utils.TDependentProperty at- Rackett_mixture() (in module thermo.volume), 456
tribute), 379 radians() (in module thermo.utils), 395
property_min (thermo.vapor_pressure.VaporPressure at- ranked_methods (thermo.heat_capacity.HeatCapacityGas
tribute), 402 attribute), 166
property_min (thermo.viscosity.ViscosityGas attribute), ranked_methods (thermo.heat_capacity.HeatCapacityGasMixture
426 attribute), 190
property_min (thermo.viscosity.ViscosityGasMixture at- ranked_methods (thermo.heat_capacity.HeatCapacityLiquid
tribute), 441 attribute), 179
property_min (thermo.viscosity.ViscosityLiquid at- ranked_methods (thermo.heat_capacity.HeatCapacityLiquidMixture
tribute), 421 attribute), 193
property_min (thermo.viscosity.ViscosityLiquidMixture ranked_methods (thermo.heat_capacity.HeatCapacitySolid
attribute), 438 attribute), 185
property_min (thermo.volume.VolumeGas attribute), 462 ranked_methods (thermo.heat_capacity.HeatCapacitySolidMixture
property_min (thermo.volume.VolumeGasMixture attribute), 187
attribute), 473 ranked_methods (thermo.interface.SurfaceTension
property_min (thermo.volume.VolumeLiquid attribute), attribute), 207
453 ranked_methods (thermo.interface.SurfaceTensionMixture
property_min (thermo.volume.VolumeLiquidMixture at- attribute), 212
tribute), 470 ranked_methods (thermo.permittivity.Permittivity at-
property_min (thermo.volume.VolumeSolid attribute), tribute), 275
466 ranked_methods (thermo.phase_change.EnthalpyVaporization
property_min (thermo.volume.VolumeSolidMixture at- attribute), 288
tribute), 475 ranked_methods (thermo.thermal_conductivity.ThermalConductivityGas
property_molar_to_mass() (in module thermo.utils), 371 attribute), 341
PRSV (class in thermo.eos), 106 ranked_methods (thermo.thermal_conductivity.ThermalConductivityGasMi
PRSV2 (class in thermo.eos), 108 attribute), 349
PRSV2MIX (class in thermo.eos_mix), 146 ranked_methods (thermo.thermal_conductivity.ThermalConductivityLiquid
PRSVMIX (class in thermo.eos_mix), 143 attribute), 326
Przedziecki_Sridhar() (in module thermo.viscosity), 415 ranked_methods (thermo.utils.MixtureProperty attribute),
Psat (thermo.chemical.Chemical attribute), 33 392
Psat() (thermo.eos.GCEOS method), 93 ranked_methods (thermo.utils.TDependentProperty at-
Psat_coeffs (thermo.eos.PR attribute), 101 tribute), 379
Psat_coeffs (thermo.eos.RK attribute), 115 ranked_methods (thermo.vapor_pressure.VaporPressure
Psat_coeffs (thermo.eos.SRK attribute), 103 attribute), 402
Psat_coeffs (thermo.eos.VDW attribute), 112 ranked_methods (thermo.viscosity.ViscosityGas at-
Psat_coeffs_limiting (thermo.eos.PR attribute), 101 tribute), 426
Psat_coeffs_limiting (thermo.eos.RK attribute), 115 ranked_methods (thermo.viscosity.ViscosityGasMixture
Psat_coeffs_limiting (thermo.eos.SRK attribute), 104 attribute), 441
Psat_coeffs_limiting (thermo.eos.VDW attribute), 112 ranked_methods (thermo.viscosity.ViscosityLiquid at-
Psats (thermo.mixture.Mixture attribute), 253 tribute), 421
PSRK_groups (thermo.chemical.Chemical attribute), 32 ranked_methods (thermo.viscosity.ViscosityLiquidMixture
PSRK_groups (thermo.mixture.Mixture attribute), 251 attribute), 438
Pt() (in module thermo.triple), 351 ranked_methods (thermo.volume.VolumeGas attribute),
PubChem() (in module thermo.identifiers), 195 462
PubChems (thermo.mixture.Mixture attribute), 253 ranked_methods (thermo.volume.VolumeGasMixture at-
tribute), 473
R ranked_methods (thermo.volume.VolumeLiquid at-
R_specific (thermo.chemical.Chemical attribute), 34 tribute), 453
R_specific (thermo.mixture.Mixture attribute), 253 ranked_methods (thermo.volume.VolumeLiquidMixture
attribute), 470
520 Index
thermo Documentation, Release 0.1
Index 521
thermo Documentation, Release 0.1
522 Index
thermo Documentation, Release 0.1
Index 523
thermo Documentation, Release 0.1
tabular_data_interpolators tabular_data_interpolators_P
(thermo.heat_capacity.HeatCapacityGas at- (thermo.volume.VolumeLiquid attribute),
tribute), 166 454
tabular_data_interpolators tabular_data_P (thermo.thermal_conductivity.ThermalConductivityGas
(thermo.heat_capacity.HeatCapacityLiquid attribute), 341
attribute), 179 tabular_data_P (thermo.thermal_conductivity.ThermalConductivityLiquid
tabular_data_interpolators attribute), 326
(thermo.heat_capacity.HeatCapacitySolid tabular_data_P (thermo.viscosity.ViscosityGas attribute),
attribute), 185 427
tabular_data_interpolators tabular_data_P (thermo.viscosity.ViscosityLiquid at-
(thermo.interface.SurfaceTension attribute), tribute), 421
207 tabular_data_P (thermo.volume.VolumeGas attribute),
tabular_data_interpolators 463
(thermo.permittivity.Permittivity attribute), tabular_data_P (thermo.volume.VolumeLiquid attribute),
275 454
tabular_data_interpolators tabular_extrapolation_permitted
(thermo.phase_change.EnthalpyVaporization (thermo.heat_capacity.HeatCapacityGas at-
attribute), 288 tribute), 166
tabular_data_interpolators tabular_extrapolation_permitted
(thermo.thermal_conductivity.ThermalConductivityGas (thermo.heat_capacity.HeatCapacityLiquid
attribute), 341 attribute), 179
tabular_data_interpolators tabular_extrapolation_permitted
(thermo.thermal_conductivity.ThermalConductivityLiquid (thermo.heat_capacity.HeatCapacitySolid
attribute), 327 attribute), 185
tabular_data_interpolators tabular_extrapolation_permitted
(thermo.vapor_pressure.VaporPressure at- (thermo.interface.SurfaceTension attribute),
tribute), 402 207
tabular_data_interpolators tabular_extrapolation_permitted
(thermo.viscosity.ViscosityGas attribute), (thermo.permittivity.Permittivity attribute),
427 275
tabular_data_interpolators tabular_extrapolation_permitted
(thermo.viscosity.ViscosityLiquid attribute), (thermo.phase_change.EnthalpyVaporization
421 attribute), 288
tabular_data_interpolators (thermo.volume.VolumeGas tabular_extrapolation_permitted
attribute), 463 (thermo.thermal_conductivity.ThermalConductivityGas
tabular_data_interpolators attribute), 341
(thermo.volume.VolumeLiquid attribute), tabular_extrapolation_permitted
454 (thermo.thermal_conductivity.ThermalConductivityLiquid
tabular_data_interpolators (thermo.volume.VolumeSolid attribute), 327
attribute), 467 tabular_extrapolation_permitted
tabular_data_interpolators_P (thermo.utils.TDependentProperty attribute),
(thermo.thermal_conductivity.ThermalConductivityGas 380
attribute), 341 tabular_extrapolation_permitted
tabular_data_interpolators_P (thermo.vapor_pressure.VaporPressure at-
(thermo.thermal_conductivity.ThermalConductivityLiquid tribute), 402
attribute), 327 tabular_extrapolation_permitted
tabular_data_interpolators_P (thermo.viscosity.ViscosityGas attribute),
(thermo.viscosity.ViscosityGas attribute), 427
427 tabular_extrapolation_permitted
tabular_data_interpolators_P (thermo.viscosity.ViscosityLiquid attribute),
(thermo.viscosity.ViscosityLiquid attribute), 421
421 tabular_extrapolation_permitted
tabular_data_interpolators_P (thermo.volume.VolumeGas attribute), 463
(thermo.volume.VolumeGas attribute), 463 tabular_extrapolation_permitted
524 Index
thermo Documentation, Release 0.1
Index 525
thermo Documentation, Release 0.1
526 Index
thermo Documentation, Release 0.1
Index 527
thermo Documentation, Release 0.1
528 Index
thermo Documentation, Release 0.1
X
xs (thermo.mixture.Mixture attribute), 272
Index 529