Skip to content

Commit 55bd87f

Browse files
committed
conv_rate = 1/tau
change to timescale tau to match paper
1 parent b208dc9 commit 55bd87f

3 files changed

Lines changed: 13 additions & 13 deletions

File tree

diagrams.jl

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -122,27 +122,27 @@ savefig("results/diagrams/actionPotential.pdf")
122122
# Limit cycles
123123
plotTime = 1.0
124124
# Start - Tracking
125-
params = (g_Na_sf=1.0, g_K_sf=1.0, g_L_sf=1.0, conv_rate=2.5)
125+
params = (g_Na_sf=1.0, g_K_sf=1.0, g_L_sf=1.0, τ=0.4)
126126
prob_de = ODEProblem(Model.ode!, Model.ic, (0.,1000.0), params, reltol=1e-8, abstol=1e-10)
127127
sol = DifferentialEquations.solve(prob_de, Tsit5(), maxiters=1e7, saveat=10.0)
128128
sol = Tools.aligned_sol(sol[end], prob_de, plotTime)
129129
plot(sol, label="Start - Tracking", idxs=(1); plotParams...)
130130

131131
# Start - Standard
132-
params = (g_Na_sf=1.0, g_K_sf=1.0, g_L_sf=1.0, conv_rate=2.5)
132+
params = (g_Na_sf=1.0, g_K_sf=1.0, g_L_sf=1.0, τ=0.4)
133133
prob_de = ODEProblem(Model.ode!, Model.ic, (0.,1000.0), params, reltol=1e-8, abstol=1e-10)
134134
sol = Tools.aligned_sol(Model.ic, prob_de, plotTime)
135135
plot!(sol, label="Start - Standard", idxs=(1); plotParams...)
136136

137137
# End - Small perturbation
138-
params = (g_Na_sf=1.1, g_K_sf=1.0, g_L_sf=1.0, conv_rate=2.5)
138+
params = (g_Na_sf=1.1, g_K_sf=1.0, g_L_sf=1.0, τ=0.4)
139139
prob_de = ODEProblem(Model.ode!, Model.ic, (0.,1000.0), params, reltol=1e-8, abstol=1e-10)
140140
sol = DifferentialEquations.solve(prob_de, Tsit5(), maxiters=1e7, saveat=10.0)
141141
sol = Tools.aligned_sol(sol[end], prob_de, plotTime)
142142
plot!(sol, label="End - Small Perturbation", idxs=(1); plotParams...)
143143

144144
# End - Large perturbation
145-
params = (g_Na_sf=1.5, g_K_sf=1.2, g_L_sf=0.8, conv_rate=2.5)
145+
params = (g_Na_sf=1.5, g_K_sf=1.2, g_L_sf=0.8, τ=0.4)
146146
prob_de = ODEProblem(Model.ode!, Model.ic, (0.,1000.0), params, reltol=1e-8, abstol=1e-10)
147147
sol = DifferentialEquations.solve(prob_de, Tsit5(), maxiters=1e7, saveat=10.0)
148148
sol = Tools.aligned_sol(sol[end], prob_de, plotTime)

model.jl

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -54,8 +54,8 @@ function ode!(dz, z, p, t=0)
5454
dz[2] = alpha_m*(1-m)-beta_m*m
5555
dz[3] = alpha_h*(1-h)-beta_h*h
5656
dz[4] = alpha_n*(1-n)-beta_n*n
57-
dz[5] = 2.5*(-(i_Na)/(1000*F) - (nai-nai_target)/20.0)
58-
dz[6] = 2.5*(-(i_K+i_Leak)/(1000*F) - (ki-ki_target)/20.0)
57+
dz[5] = (1/0.4)*(-(i_Na)/(1000*F) - (nai-nai_target)/20.0)
58+
dz[6] = (1/0.4)*(-(i_K+i_Leak)/(1000*F) - (ki-ki_target)/20.0)
5959

6060
dz
6161
end
@@ -110,8 +110,8 @@ function ode_cont!(dz, z, p, t=0)
110110
dz[2] = alpha_m*(1-m)-beta_m*m
111111
dz[3] = alpha_h*(1-h)-beta_h*h
112112
dz[4] = alpha_n*(1-n)-beta_n*n
113-
dz[5] = 2.5*(-(i_Na)/(1000*F) - (nai-nai_target)/20.0)
114-
dz[6] = 2.5*(-(i_K+i_Leak)/(1000*F) - (ki-ki_target)/20.0)
113+
dz[5] = (1/0.4)*(-(i_Na)/(1000*F) - (nai-nai_target)/20.0)
114+
dz[6] = (1/0.4)*(-(i_K+i_Leak)/(1000*F) - (ki-ki_target)/20.0)
115115

116116
dz
117117
end

noble_conc.jl

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@ function noble_conc!(dz, z, p, t=0)
1313
ko = 3.8
1414

1515
# Parameters
16-
@unpack g_Na_sf, g_K_sf, g_L_sf, conv_rate = p
16+
@unpack g_Na_sf, g_K_sf, g_L_sf, τ = p
1717

1818
# States
1919
V, m, h, n, nai, ki = z
@@ -54,20 +54,20 @@ function noble_conc!(dz, z, p, t=0)
5454
dz[2] = alpha_m*(1-m)-beta_m*m
5555
dz[3] = alpha_h*(1-h)-beta_h*h
5656
dz[4] = alpha_n*(1-n)-beta_n*n
57-
dz[5] = conv_rate*(-(i_Na)/(1000*F) - (nai-nai_target)/20.0)
58-
dz[6] = conv_rate*(-(i_K+i_Leak)/(1000*F) - (ki-ki_target)/20.0)
57+
dz[5] = (1/τ)*(-(i_Na)/(1000*F) - (nai-nai_target)/20.0)
58+
dz[6] = (1/τ)*(-(i_K+i_Leak)/(1000*F) - (ki-ki_target)/20.0)
5959

6060
dz
6161
end
6262

6363
# parameter values
64-
params = (g_Na_sf=1.0, g_K_sf=1.0, g_L_sf=1.0, conv_rate=1.0)
64+
params = (g_Na_sf=1.0, g_K_sf=1.0, g_L_sf=1.0, τ=1.0)
6565

6666
# initial condition
6767
z0 = [-87.0, 0.01, 0.8, 0.01, 30, 160]
6868

6969
# tune the convergence rate
70-
params = @set params.conv_rate=2.5
70+
params = @set params.τ=0.4
7171

7272
# Want to converge in close to 100 seconds
7373
prob_de = ODEProblem(noble_conc!, z0, (0.,200.0), params, reltol=1e-8, abstol=1e-10)

0 commit comments

Comments
 (0)