@@ -35,8 +35,16 @@ export StickingCoefficient
35
35
V0:: R = 0.0
36
36
unc:: P = EmptyRateUncertainty ()
37
37
end
38
- @inline (arr:: Arrheniusq )(;T:: Q ,P:: N = 0.0 ,C:: S = 0.0 ,phi= 0.0 ,dGrxn= 0.0 ,d= 0.0 ) where {Q<: Real ,N<: Real ,S<: Real } = @fastmath arr. A* T^ arr. n* exp ((- arr. Ea- arr. q* F* (phi- arr. V0))/ (R* T))
39
- @inline (arr:: Arrheniusq )(T:: Q ;P:: N = 0.0 ,C:: S = 0.0 ,phi= 0.0 ,dGrxn= 0.0 ,d= 0.0 ) where {Q<: Real ,N<: Real ,S<: Real } = @fastmath arr. A* T^ arr. n* exp ((- arr. Ea- arr. q* F* (phi- arr. V0))/ (R* T))
38
+ @inline (arr:: Arrheniusq )(;T:: Q , P:: N = 0.0 , C:: S = 0.0 , phi= 0.0 , dGrxn= 0.0 , d= 0.0 ) where {Q<: Real , N<: Real , S<: Real } = begin
39
+ barrier = arr. Ea+ arr. q* F* (phi- arr. V0)
40
+ corrected_barrier = max (0 , dGrxn, barrier)
41
+ @fastmath arr. A* T^ arr. n* exp (- corrected_barrier/ (R* T))
42
+ end
43
+ @inline (arr:: Arrheniusq )(T:: Q ; P:: N = 0.0 , C:: S = 0.0 , phi= 0.0 , dGrxn= 0.0 , d= 0.0 ) where {Q<: Real , N<: Real , S<: Real } = begin
44
+ barrier = arr. Ea+ arr. q* F* (phi- arr. V0)
45
+ corrected_barrier = max (0 , dGrxn, barrier)
46
+ @fastmath arr. A* T^ arr. n* exp (- corrected_barrier/ (R* T))
47
+ end
40
48
export Arrheniusq
41
49
42
50
@with_kw struct Marcus{N<: Real ,K<: Real ,Q,P<: AbstractRateUncertainty ,B} <: AbstractRate
0 commit comments