|
57 | 57 |
|
58 | 58 | from arkane.common import ArkaneSpecies, symbol_by_number, get_principal_moments_of_inertia |
59 | 59 | from arkane.encorr.corr import get_atom_correction, get_bac |
60 | | -from arkane.ess import ESSAdapter, ess_factory, _registered_ess_adapters, GaussianLog, QChemLog |
| 60 | +from arkane.ess import ESSAdapter, ess_factory, _registered_ess_adapters, GaussianLog, QChemLog, XTBLog |
61 | 61 | from arkane.encorr.isodesmic import ErrorCancelingSpecies, IsodesmicRingScheme |
62 | 62 | from arkane.modelchem import LevelOfTheory, CompositeLevelOfTheory, standardize_name |
63 | 63 | from arkane.output import prettify |
@@ -505,11 +505,20 @@ def create_log(log_path, check_for_errors=True): |
505 | 505 | 'and Hessian of {0!r} are defined in the same coordinate system'.format( |
506 | 506 | self.species.label)) |
507 | 507 |
|
508 | | - logging.debug(' Reading molecular degrees of freedom...') |
509 | | - conformer, unscaled_frequencies = statmech_log.load_conformer(symmetry=external_symmetry, |
| 508 | + if isinstance(statmech_log, XTBLog): |
| 509 | + conformer, unscaled_frequencies = geom_log.load_conformer(symmetry=external_symmetry, |
510 | 510 | spin_multiplicity=spin_multiplicity, |
511 | 511 | optical_isomers=optical_isomers, |
512 | 512 | label=self.species.label) |
| 513 | + unscaled_frequencies = statmech_log._load_frequencies() |
| 514 | + if unscaled_frequencies: |
| 515 | + conformer.modes.append(HarmonicOscillator(frequencies=(unscaled_frequencies, "cm^-1"))) |
| 516 | + else: |
| 517 | + |
| 518 | + conformer, unscaled_frequencies = statmech_log.load_conformer(symmetry=external_symmetry, |
| 519 | + spin_multiplicity=spin_multiplicity, |
| 520 | + optical_isomers=optical_isomers, |
| 521 | + label=self.species.label) |
513 | 522 |
|
514 | 523 | for mode in conformer.modes: |
515 | 524 | if isinstance(mode, (Translation, IdealGasTranslation)): |
@@ -695,7 +704,10 @@ def create_log(log_path, check_for_errors=True): |
695 | 704 |
|
696 | 705 | # save supporting information for calculation |
697 | 706 | self.supporting_info = [self.species.label] |
698 | | - optical_isomers_read, symmetry_read, point_group_read = statmech_log.get_symmetry_properties() |
| 707 | + if isinstance(statmech_log, XTBLog): |
| 708 | + optical_isomers_read, symmetry_read, point_group_read = geom_log.get_symmetry_properties() |
| 709 | + else: |
| 710 | + optical_isomers_read, symmetry_read, point_group_read = statmech_log.get_symmetry_properties() |
699 | 711 | self.supporting_info.append(external_symmetry if external_symmetry else symmetry_read) |
700 | 712 | self.supporting_info.append(optical_isomers if optical_isomers else optical_isomers_read) |
701 | 713 | self.supporting_info.append(point_group_read) |
|
0 commit comments