Skip to content

Commit

Permalink
Remove charge transfer types from average_kinetics (to be reverted)
Browse files Browse the repository at this point in the history
SurfaceChargeTransfer and ArrheniusChargeTransfer are not yet defined
(on this branch). Revert this commin once they are.
  • Loading branch information
rwest committed Jul 14, 2023
1 parent 0a6c456 commit 2180175
Showing 1 changed file with 3 additions and 30 deletions.
33 changes: 3 additions & 30 deletions rmgpy/data/kinetics/family.py
Original file line number Diff line number Diff line change
Expand Up @@ -4683,16 +4683,6 @@ def average_kinetics(kinetics_list):
logA = 0.0
n = 0.0
Ea = 0.0
alpha = 0.5
electrons = None
if isinstance(kinetics_list[0], SurfaceChargeTransfer) or isinstance(kinetics_list[0], ArrheniusChargeTransfer):
if electrons is None:
electrons = kinetics_list[0].electrons.value_si
if not all(np.abs(k.V0.value_si) < 0.0001 for k in kinetics_list):
raise ValueError(f"Trying to average charge transfer rates with non-zero V0 values: {[k.V0.value_si for k in kinetics_list]}")
if not all(np.abs(k.alpha.value_si - 0.5) < 0.001 for k in kinetics_list):
raise ValueError(f"Trying to average charge transfer rates with alpha values not equal to 0.5: {[k.alpha for k in kinetics_list]}")
V0 = 0.0
count = 0
for kinetics in kinetics_list:
count += 1
Expand All @@ -4702,7 +4692,6 @@ def average_kinetics(kinetics_list):

logA /= count
n /= count
alpha /= count
Ea /= count
Aunits = kinetics_list[0].A.units
if Aunits == 'cm^3/(mol*s)' or Aunits == 'cm^3/(molecule*s)' or Aunits == 'm^3/(molecule*s)':
Expand All @@ -4724,27 +4713,11 @@ def average_kinetics(kinetics_list):
else:
raise Exception('Invalid units {0} for averaging kinetics.'.format(Aunits))

if type(kinetics) not in [Arrhenius,SurfaceChargeTransfer,ArrheniusChargeTransfer]:
if type(kinetics) not in [Arrhenius,]:
raise Exception('Invalid kinetics type {0!r} for {1!r}.'.format(type(kinetics), self))

if isinstance(kinetics, SurfaceChargeTransfer):
averaged_kinetics = SurfaceChargeTransfer(
A=(10 ** logA, Aunits),
n=n,
electrons=electrons,
alpha=alpha,
V0=(V0,'V'),
Ea=(Ea * 0.001, "kJ/mol"),
)
elif isinstance(kinetics, ArrheniusChargeTransfer):
averaged_kinetics = ArrheniusChargeTransfer(
A=(10 ** logA, Aunits),
n=n,
electrons=electrons,
alpha=alpha,
V0=(V0,'V'),
Ea=(Ea * 0.001, "kJ/mol"),
)
if False:
pass
else:
averaged_kinetics = Arrhenius(
A=(10 ** logA, Aunits),
Expand Down

0 comments on commit 2180175

Please sign in to comment.