Skip to content

Commit 1a72830

Browse files
authored
Scale factor smd (#834)
Added calculated frequency scale factors for several levels of theory in solvent, using SMD. Also, since for some LoTs the database includes calculated scale factors with and without solvation, arc will report in the log file where the scaling factor was taken from, and what is its value.
2 parents 0c6e7c5 + bf4b963 commit 1a72830

2 files changed

Lines changed: 18 additions & 1 deletion

File tree

arc/main.py

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -874,7 +874,9 @@ def check_freq_scaling_factor(self):
874874
Check that the harmonic frequencies scaling factor is known,
875875
otherwise, and if ``calc_freq_factor`` is set to ``True``, spawn a calculation for it using Truhlar's method.
876876
"""
877+
factor_source = 'user input'
877878
if self.freq_scale_factor is None:
879+
factor_source = 'database (ARC/data/freq_scale_factors.yml)'
878880
# The user did not specify a scaling factor, see if Arkane has it.
879881
freq_level = self.composite_method if self.composite_method is not None \
880882
else self.freq_level if self.freq_level is not None else None
@@ -883,15 +885,22 @@ def check_freq_scaling_factor(self):
883885
if self.freq_scale_factor is None:
884886
logger.info(f'Could not determine the harmonic frequencies scaling factor for {freq_level}.')
885887
if self.calc_freq_factor:
888+
factor_source = "Truhlar's method"
886889
logger.info("Calculating it using Truhlar's method.")
887890
logger.warning("This procedure normally spawns QM jobs for various small species "
888891
"not directly asked for by the user.\n\n")
889892
self.freq_scale_factor = determine_scaling_factors(levels=[freq_level],
890893
ess_settings=self.ess_settings,
891894
init_log=False)[0]
892895
else:
896+
factor_source = 'fallback default'
893897
logger.info('Not calculating it, assuming a frequencies scaling factor of 1.')
894898
self.freq_scale_factor = 1
899+
else:
900+
factor_source = 'not set (no composite/frequency level provided)'
901+
902+
logger.info(f'Using harmonic frequencies scaling factor: {self.freq_scale_factor} '
903+
f'(source: {factor_source}).')
895904

896905
def delete_leftovers(self):
897906
"""

data/freq_scale_factors.yml

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,7 @@ freq_scale_factors:
1818
'b3lyp/6-311+g(3df,2p), software: gaussian': 0.967 # [2]
1919
'b3lyp/6-311+g(3df,2pd), software: gaussian': 0.970 # [2]
2020
'b3lyp/cc-pvtz, software: gaussian': 0.998 # [2]
21+
'b3lyp/jul-cc-pvtz, solvation_method: smd, solvent: dimethylsulfoxide, software: gaussian': 1.002 # [4] gaussian 16, calculated w/o NH3 since it doesn't converge in solvent
2122
'b3lyp/aug-cc-pvtz, software: gaussian': 0.999 # [2]
2223
'b3lyp/def2tzvp, software: gaussian': 0.999 # [2]
2324
'm062x/6-31g(d,p), software: gaussian': 0.952 # [2]
@@ -31,13 +32,20 @@ freq_scale_factors:
3132
'm062x/def2qzvp, software: gaussian': 0.983 # [3]
3233
'm062x/def2tzvpp, software: gaussian': 0.983 # [1] Table 3, [3]
3334
'm08so/mg3s*, software: gaussian': 0.995 # [1] Table 3, taken as 'M08-SO/MG3S'
35+
'm11/jul-cc-pvtz, solvation_method: smd, solvent: dimethylsulfoxide, software: gaussian': 0.995 # [4] gaussian 16, calculated w/o NH3 since it doesn't converge in solvent
3436
'b97d3/def2msvp, software: gaussian': 1.014 # [4]
3537
'wb97xd/cc-pvtz, software: gaussian': 0.987 # [4]
36-
'wb97xd/aug-cc-pvtz, software: gaussian': 0.988 # [3], taken as 'ωB97X-D/maug-cc-pVTZ'
38+
'wb97xd/cc-pvtz, solvation_method: smd, solvent: dimethylsulfoxide, software: gaussian': 0.991 # [4] gaussian 16, calculated w/o NH3 since it doesn't converge in solvent
39+
'wb97xd/apr-cc-pvtz, solvation_method: smd, solvent: dimethylsulfoxide, software: gaussian': 0.992 # [4] gaussian 16, calculated w/o NH3 since it doesn't converge in solvent
40+
'wb97xd/jul-cc-pvtz, solvation_method: smd, solvent: dimethylsulfoxide, software: gaussian': 0.992 # [4] gaussian 16, calculated w/o NH3 since it doesn't converge in solvent
41+
'wb97xd/aug-cc-pvtz, software: gaussian': 0.988 # [3], taken as 'ωB97X-D/maug-cc-pVTZ', [4] gaussian 16
42+
'wb97xd/aug-cc-pvtz, solvation_method: smd, solvent: dimethylsulfoxide, software: gaussian': 0.992 # [4] gaussian 16, calculated w/o NH3 since it doesn't converge in solvent
3743
'wb97xd/6-311++g(d,p), software: gaussian': 0.988 # [4]
3844
'wb97xd/def2svp, software: gaussian': 0.986 # [4]
3945
'wb97xd/def2tzvp, software: gaussian': 0.988 # [4]
46+
'wb97xd/def2tzvp, solvation_method: smd, solvent: dimethylsulfoxide, software: gaussian': 0.991 # [4] gaussian 16, calculated w/o NH3 since it doesn't converge in solvent
4047
'wb97xd3/def2-tzvp, software: qchem': 0.984 # [4]
48+
'wb97xd3/def2-tzvpd, solvation_method: smd, solvent: dimethylsulfoxide, software: orca': 0.993 # [4] orca 6
4149
'wb97m-v/def2-tzvpd, software: qchem': 1.002 # [4]
4250
'b2plypd3/cc-pvtz, software: gaussian': 0.993 # [4]
4351
'b2plypd3/aug-cc-pvtz, software: gaussian': 0.995 # [4]

0 commit comments

Comments
 (0)