|
56 | 56 | ForbiddenStructureException, UndeterminableKineticsError |
57 | 57 | from rmgpy.kinetics import Arrhenius, SurfaceArrhenius, SurfaceArrheniusBEP, StickingCoefficient, \ |
58 | 58 | StickingCoefficientBEP, ArrheniusBM, SurfaceChargeTransfer, ArrheniusChargeTransfer, \ |
59 | | - ArrheniusChargeTransferBM, KineticsModel |
| 59 | + ArrheniusChargeTransferBM, KineticsModel, Marcus |
60 | 60 | from rmgpy.kinetics.uncertainties import RateUncertainty, rank_accuracy_map |
61 | 61 | from rmgpy.molecule import Bond, GroupBond, Group, Molecule |
62 | 62 | from rmgpy.molecule.atomtype import ATOMTYPES |
@@ -3547,7 +3547,25 @@ def make_bm_rules_from_template_rxn_map(self, template_rxn_map, nprocs=1, Tref=1 |
3547 | 3547 | kinetics_list = kinetics_list[revinds] # fix order |
3548 | 3548 |
|
3549 | 3549 | for i, kinetics in enumerate(kinetics_list): |
3550 | | - if kinetics is not None: |
| 3550 | + if isinstance(kinetics, Marcus): |
| 3551 | + entry = entries[i] |
| 3552 | + st = "Marcus rule fitted to {0} training reactions at node {1}".format(len(rxnlists[i][0]), entry.label) |
| 3553 | + new_entry = Entry( |
| 3554 | + index=index, |
| 3555 | + label=entry.label, |
| 3556 | + item=self.forward_template, |
| 3557 | + data=kinetics, |
| 3558 | + rank=11, |
| 3559 | + reference=None, |
| 3560 | + short_desc=st, |
| 3561 | + long_desc=st, |
| 3562 | + ) |
| 3563 | + new_entry.data.comment = st |
| 3564 | + |
| 3565 | + self.rules.entries[entry.label].append(new_entry) |
| 3566 | + |
| 3567 | + index += 1 |
| 3568 | + elif kinetics is not None: |
3551 | 3569 | entry = entries[i] |
3552 | 3570 | std = kinetics.uncertainty.get_expected_log_uncertainty() / 0.398 # expected uncertainty is std * 0.398 |
3553 | 3571 | st = "BM rule fitted to {0} training reactions at node {1}".format(len(rxnlists[i][0]), entry.label) |
|
0 commit comments