Skip to content

Commit bf9e6ff

Browse files
committed
improve parameter handling in pramp
1 parent 44a915a commit bf9e6ff

4 files changed

Lines changed: 32 additions & 15 deletions

File tree

notebooks/HalfCellAppliedPotential.jl

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -94,7 +94,7 @@ p1 = let
9494
fig, ax = pyplot.subplots(1, 1)
9595
fig.set_size_inches(600 / 100, 300 / 100)
9696
κ = 10
97-
ax.set_title("Double layer capacitance, κ=$(κ)\n Dashed: without dielectric decrement")
97+
ax.set_title("Double layer capacitance, κ=$(κ)\n Dashed: witghout dielectric decrement")
9898
set_κ!(halfcell, κ)
9999
set_κ!(halfcelldd, κ)
100100
for i in 1:length(molarities)

notebooks/ICMPBP-DD-Draft.jl

Lines changed: 13 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -246,12 +246,13 @@ end;
246246
# ╔═╡ 2ef6b8d7-e5f3-4700-8a40-8feffab3569f
247247
floataside(
248248
md"""
249-
- ``L/nm``: $(@bind L0 PlutoUI.Slider(2:1:10, default=10, show_value=true))
249+
- ``L/nm``: $(@bind L0 PlutoUI.Slider(2:1:10, default=10, show_value=true))
250250
- ``M_{avg}/(mol/dm^3)``: $(@bind M1_avg PlutoUI.Slider(0.1:0.1:2, default=1, show_value=true))
251251
- ``n_e/(e/nm^2)``: $(@bind n1_e PlutoUI.Slider(0:0.5:5, default=1, show_value=true))
252252
- ``κ``: $(@bind kappa1 PlutoUI.Slider(0:1:20, default=10, show_value=true))
253-
``M_{scale}/(mol/dm^3)``: $(@bind Mscale PlutoUI.Slider(5:5:60, default=60, show_value=true))
254-
""", top = 100
253+
- dielectric decrement: $(@bind dd PlutoUI.CheckBox())
254+
-``M_{scale}/(mol/dm^3)``: $(@bind Mscale PlutoUI.Slider(5:5:60, default=60, show_value=true))
255+
""", top = 100
255256
)
256257

257258

@@ -262,7 +263,7 @@ begin
262263
)
263264
set_molarity!(data1, M1_avg)
264265
data1.conserveions = true
265-
data1.χvar = true
266+
data1.χvar = dd
266267
end
267268

268269
# ╔═╡ f8c1c2bd-7466-491e-9132-4f15edcfa4c7
@@ -355,10 +356,10 @@ end
355356
begin
356357
Q = surfcharge(n1_e)
357358
sol1 = inival1
358-
pramp(p=(0,Q)) do q
359+
pramp(; p = (0, Q), h = Q / 2, verbose = true) do q
359360
data1.q .= [-q, q]
360-
global sol1 = solve(sys1; inival = sol1, verbose = "")
361-
end
361+
sol1 = solve(sys1; inival = sol1, damp_initial = 0.1, max_round = 4, verbose = "")
362+
end
362363
end
363364

364365
# ╔═╡ 5f153fe4-4476-401e-8674-b6902213c19e
@@ -372,6 +373,9 @@ plotsol(sol1, sys1; Mscale)
372373
# ╔═╡ 0e4ec7f0-0aa8-4a32-96a3-40f63f32a12d
373374
sol1
374375

376+
# ╔═╡ 8d9d737c-0fbe-4664-afac-afa7d5e5fc4e
377+
Q
378+
375379
# ╔═╡ 7d7ebb45-2fb3-40ea-83f2-62d0a240b2db
376380
@test isa(sol1, AbstractMatrix)
377381

@@ -393,11 +397,12 @@ sol1
393397
# ╠═eacdd772-1869-406a-b601-64cdd6453ec1
394398
# ╟─760e5861-7a6f-41bb-8aec-5e7466c6ec9f
395399
# ╠═f4facb34-1f4a-432d-8a1e-30299e542bcd
396-
# ╟─2ef6b8d7-e5f3-4700-8a40-8feffab3569f
400+
# ╠═2ef6b8d7-e5f3-4700-8a40-8feffab3569f
397401
# ╠═a629e8a1-b1d7-42d8-8c17-43475785218e
398402
# ╠═ae11bded-9f67-4004-8786-ed54e1ccb932
399403
# ╠═8433319f-2f78-494c-9b2e-a5390cf93b00
400404
# ╠═70910bd5-b8ca-4021-9b40-233b50ea5601
405+
# ╠═8d9d737c-0fbe-4664-afac-afa7d5e5fc4e
401406
# ╠═0eb0bbce-6f1c-4b7d-9df7-a375d30f5c99
402407
# ╠═7d7ebb45-2fb3-40ea-83f2-62d0a240b2db
403408
# ╠═f8c1c2bd-7466-491e-9132-4f15edcfa4c7

packages/JuliaMPBSolver/src/cells.jl

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -108,7 +108,8 @@ function dlcapsweep(
108108
hmax = φ_max / steps
109109
for dir in [-1, 1]
110110
sol = sol0
111-
pramp(; p = (0, φ_max), hmax, verbose = true) do φ
111+
pramp(; p = (0, φ_max), h = hmax, hmax, verbose = true) do φ
112+
112113
set_φ!(cell, dir * φ)
113114
sol = solve(cell; inival = sol, damp_initial, kwargs...)
114115
Q = calc_spacecharge(cell.sys, sol)

packages/JuliaMPBSolver/src/pramp.jl

Lines changed: 16 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@ function pramp(
1818
f;
1919
p = [0, 1],
2020
hmin = (p[end] - p[begin]) / 1000,
21-
hmax = (p[end] - p[begin]) / 10,
21+
hmax = p[end] - p[begin],
2222
h = hmax,
2323
hgrow = 1.2,
2424
hdegrow = 0.5,
@@ -36,14 +36,25 @@ function pramp(
3636
end
3737
f(ptrial)
3838
if verbose
39-
println("pramp - success: p=$(pcurrent), h=$(h)")
39+
if first
40+
println("pramp - success: p=$(pcurrent)")
41+
else
42+
println("pramp - success: p=$(pcurrent) + $(h)")
43+
end
4044
end
4145
pcurrent = ptrial
42-
h = min(h * hgrow, hmax)
43-
first = false
46+
if first
47+
first = false
48+
else
49+
h = min(h * hgrow, hmax)
50+
end
4451
catch e
4552
if verbose
46-
println("pramp - error: p=$(pcurrent), h=$(h)")
53+
if first
54+
println("pramp - error: p=$(pcurrent)")
55+
else
56+
println("pramp - error: p=$(pcurrent) + $(h)")
57+
end
4758
end
4859
h = h * hdegrow
4960
if h < hmin || first

0 commit comments

Comments
 (0)