# This cell is deactivated in file, so it is not executed during CI.
begin
    using Pkg
    Pkg.activate(joinpath(@__DIR__, "..", "docs"))
    using Revise
    using CairoMakie
    using GridVisualize
    default_plotter!(CairoMakie)
    using Colors
    set_theme!(theme_dark())

end
begin
    using Test
    using LiquidElectrolytes
    using ExtendableGrids
    using LessUnitful
    using PlutoUI
    using VoronoiFVM
    using LinearAlgebra
end
PlutoUI.TableOfContents()

Implementing IR compensation

General data

Data according to "Simulation of the cyclic voltammetric response of an outer-sphere redox species with inclusion of electrical double layer structure and ohmic potential drop" by Levey et al, PCCP 2023, https://doi.org/10.1039/D3CP00098B.

begin
    scanrate = 1ufac"V/s"
    vmin = -0.5ufac"V"
    vmax = 0.1ufac"V"
    L = 1ufac"mm"
    nperiods = 2
    C_elec = 0.01ufac"mol/dm^3"
    C_O = 1.0e-3 * ufac"mol / dm^3"
    C_R = 1.0e-10 * ufac"mol / dm^3"
    ircompfactor = 0.95
    z = [3, 2, 1, -1]
    f_κ = 2

end;
begin
    const k0::Float64 = 13.5 * ufac"cm / s"
    const α = 0.45
    const E0::Float64 = -0.173ufac"V"
    const k0::Float64 = 13.5 * ufac"cm / s"
    const iO = 1
    const iR = 2
end;
begin
    ε1 = 6.0 * ph"VacuumElectricPermittivity"
    ε2 = 30.0 * ph"VacuumElectricPermittivity"
    x2 = 0.29ufac"nm"
    x3 = 0.59ufac"nm"
    d1 = x2
    d2 = x3 - x2
    const C_gap_robin = 1.0 / (d1 / ε1 + d2 / ε2)
    const C_gap_dirichlet = 1.0e15
    C_gap_robin / ufac"μF/cm^2"
end
15.178607679085715

Dielectric decrement: this is in the moment an experiemental feature due to lack of an implementation of a better model.

function ε_dec(x)
    if x[1] < 1.0e-9
        return 0.01
    else
        return 1.0
    end
end
ε_dec (generic function with 1 method)

Electrolyte data for calculations without IR compensation

edata_unc = ElectrolyteData(;
    nc = 4,
    z,
    c_bulk = [C_O, C_R, C_elec, C_elec + z[1] * C_O + z[2] * C_R],
    κ = [10, 10, 10, 10.0] * f_κ,
    D = [
        7.5e-6,
        10.4e-6,
        2.0e-5,
        1.9e-5,
    ] * ufac"cm^2/s",
    ε = 80.0,
    T = 293.15 * ufac"K",
    # Position of "pseudo reference electrode" for pseudopotentiostat approach
    xref = [10.0 * ufac"nm"],
    # Dielectric decrement
    ε_dec,
    # IR compensation
    ircompensation = NoIRCompensation()
    # alternative activity coefficients
    # actcoeff! = pbi_gamma!,
)
ElectrolyteData(
nc = 4, 
cspecies = [1, 2, 3, 4], 
na = 0, 
sspecies = Int64[], 
iϕ = 5, 
ip = 6, 
iϕ_we = 7, 
iq = 8, 
icc = 9, 
D = [7.5e-10, 1.04e-9, 2.0e-9, 1.9e-9], 
z = [3, 2, 1, -1], 
M0 = 0.018015, 
M = [0.018015, 0.018015, 0.018015, 0.018015], 
v0 = 1.8051e-5, 
v = [1.8051e-5, 1.8051e-5, 1.8051e-5, 1.8051e-5], 
κ = [20.0, 20.0, 20.0, 20.0], 
actcoeff! = DGML_gamma!, 
ircompensation = LiquidElectrolytes.NoIRCompensation(), 
xref = [1.0e-8], 
C_gap = 1.0e15, 
ϕ_pzc = 0.0, 
c_bulk = [1.0, 1.0e-7, 10.0, 13.0], 
Γ_we = 1, 
Γ_bulk = 2, 
ϕ_bulk = 0.0, 
p_bulk = 0.0, 
T = 293.15, 
ε = 80.0, 
ε_dec = ε_dec, 
rexp = exp, 
rlog = log, 
pscale = 1.0e9, 
eneutral = false, 
upwindflux! = μex_flux!, 
weights = [1.8051e-5, 1.8051e-5, 1.8051e-5, 1.8051e-5, 1.0, 0.0, 0.0, 0.0, 0.0], 
solvepressure = true, 
F = 96485.0, 
ε_0 = 8.8542e-12, 
RT = 2437.4, 
Mrel = [21.0, 21.0, 21.0, 21.0], 
vrel = [21.0, 21.0, 21.0, 21.0], 
barv = [0.00037906, 0.00037906, 0.00037906, 0.00037906], 
tildev = [5.421e-20, 5.421e-20, 5.421e-20, 5.421e-20], 
γ_bulk = [1.0, 1.0, 1.0, 1.0], 
γk_cache = DiffCache, 
γl_cache = DiffCache, 
ϕ_we = 0.0, 
edgevelocity = 0.0, 
iref = 0, 
nv = Float64[], 
scheme = :deprecated, 
)
@test iselectroneutral(edata_unc.c_bulk, edata_unc)
�[32m�[1mTest Passed�[22m�[39m

Electrolyte data for calculations with IR compensation by the "pseudopotentionstat" approach.

edata_pts = copy(edata_unc, ircompensation = PseudoPotentiostat())
ElectrolyteData(
nc = 4, 
cspecies = [1, 2, 3, 4], 
na = 0, 
sspecies = Int64[], 
iϕ = 5, 
ip = 6, 
iϕ_we = 7, 
iq = 8, 
icc = 9, 
D = [7.5e-10, 1.04e-9, 2.0e-9, 1.9e-9], 
z = [3, 2, 1, -1], 
M0 = 0.018015, 
M = [0.018015, 0.018015, 0.018015, 0.018015], 
v0 = 1.8051e-5, 
v = [1.8051e-5, 1.8051e-5, 1.8051e-5, 1.8051e-5], 
κ = [20.0, 20.0, 20.0, 20.0], 
actcoeff! = DGML_gamma!, 
ircompensation = LiquidElectrolytes.PseudoPotentiostat(), 
xref = [1.0e-8], 
C_gap = 1.0e15, 
ϕ_pzc = 0.0, 
c_bulk = [1.0, 1.0e-7, 10.0, 13.0], 
Γ_we = 1, 
Γ_bulk = 2, 
ϕ_bulk = 0.0, 
p_bulk = 0.0, 
T = 293.15, 
ε = 80.0, 
ε_dec = ε_dec, 
rexp = exp, 
rlog = log, 
pscale = 1.0e9, 
eneutral = false, 
upwindflux! = μex_flux!, 
weights = [1.8051e-5, 1.8051e-5, 1.8051e-5, 1.8051e-5, 1.0, 0.0, 0.0, 0.0, 0.0], 
solvepressure = true, 
F = 96485.0, 
ε_0 = 8.8542e-12, 
RT = 2437.4, 
Mrel = [21.0, 21.0, 21.0, 21.0], 
vrel = [21.0, 21.0, 21.0, 21.0], 
barv = [0.00037906, 0.00037906, 0.00037906, 0.00037906], 
tildev = [5.421e-20, 5.421e-20, 5.421e-20, 5.421e-20], 
γ_bulk = [1.0, 1.0, 1.0, 1.0], 
γk_cache = DiffCache, 
γl_cache = DiffCache, 
ϕ_we = 0.0, 
edgevelocity = 0.0, 
iref = 0, 
nv = Float64[], 
scheme = :deprecated, 
)

Estimate of uncompensated resistance based on bulk concentrations

Ru = L / LiquidElectrolytes.conductivity(edata_unc, edata_unc.c_bulk)
0.005088808471190595

Electrolyte data for calculations with IR compensation by ohmic drop compensation via the estimate of the uncompensated resistance.

edata_odr = copy(
    edata_unc,
    ircompensation = OhmicDropEstimation(;
        factor = 0.95,
        Ru = Ru,
        species = 1,
        ne = 1,
        # Redox reaction function to be evaluated during ohmic drop compensation
        redoxreaction,
    )
)
ElectrolyteData(
nc = 4, 
cspecies = [1, 2, 3, 4], 
na = 0, 
sspecies = Int64[], 
iϕ = 5, 
ip = 6, 
iϕ_we = 7, 
iq = 8, 
icc = 9, 
D = [7.5e-10, 1.04e-9, 2.0e-9, 1.9e-9], 
z = [3, 2, 1, -1], 
M0 = 0.018015, 
M = [0.018015, 0.018015, 0.018015, 0.018015], 
v0 = 1.8051e-5, 
v = [1.8051e-5, 1.8051e-5, 1.8051e-5, 1.8051e-5], 
κ = [20.0, 20.0, 20.0, 20.0], 
actcoeff! = DGML_gamma!, 
ircompensation = OhmicDropEstimation(Ru=0.005088808471190595, factor=0.95), 
xref = [1.0e-8], 
C_gap = 1.0e15, 
ϕ_pzc = 0.0, 
c_bulk = [1.0, 1.0e-7, 10.0, 13.0], 
Γ_we = 1, 
Γ_bulk = 2, 
ϕ_bulk = 0.0, 
p_bulk = 0.0, 
T = 293.15, 
ε = 80.0, 
ε_dec = ε_dec, 
rexp = exp, 
rlog = log, 
pscale = 1.0e9, 
eneutral = false, 
upwindflux! = μex_flux!, 
weights = [1.8051e-5, 1.8051e-5, 1.8051e-5, 1.8051e-5, 1.0, 0.0, 0.0, 0.0, 0.0], 
solvepressure = true, 
F = 96485.0, 
ε_0 = 8.8542e-12, 
RT = 2437.4, 
Mrel = [21.0, 21.0, 21.0, 21.0], 
vrel = [21.0, 21.0, 21.0, 21.0], 
barv = [0.00037906, 0.00037906, 0.00037906, 0.00037906], 
tildev = [5.421e-20, 5.421e-20, 5.421e-20, 5.421e-20], 
γ_bulk = [1.0, 1.0, 1.0, 1.0], 
γk_cache = DiffCache, 
γl_cache = DiffCache, 
ϕ_we = 0.0, 
edgevelocity = 0.0, 
iref = 0, 
nv = Float64[], 
scheme = :deprecated, 
)

Sawtooth voltage control:

sawtooth = SawTooth(; scanrate, vmin, vmax)
SawTooth(-0.5, 0.1, 1.0, 0.0, 0.0, true)

Boundary Conditions

Redox rection function using the rate expressions according to Landstorfer et al.:

function redoxreaction_dirichlet(f, u, bnode, data)
    (; ip, iϕ, v, v0, F, RT, κ) = data
    c0, barc = c0_barc(u, data)
    μR = chemical_potential(u[iR], barc, u[ip], v[iR] + κ[iR] * v0, data)
    μO = chemical_potential(u[iO], barc, u[ip], v[iO] + κ[iO] * v0, data)
    A = (μR - μO - F * E0) / RT
    j_O = rrate(k0, α, A)
    f[iO] -= j_O
    f[iR] += j_O
    return
end
redoxreaction_dirichlet (generic function with 1 method)
function redoxreaction_robin(y, u, bnode, data)
    (; iϕ, F, RT, ϕ_we, ircompensation, iϕ_we) = data
    ϕ_PET = u[iϕ]
    ϕ_L = 0
    # E is the applied electrode potential (vs. the reference electrode).
    if isactive(ircompensation)
        E = u[iϕ_we]
    else
        E = ϕ_we
    end
    iO = 1
    iR = 2
    η = (E - E0 - (ϕ_PET - ϕ_L)) * F / RT
    k_f = k0 * exp(-α * η)
    k_b = k0 * exp((1 - α) * η)
    j_O = k_b * u[iR] - k_f * u[iO]
    y[iO] -= j_O
    y[iR] += j_O

    return
end
redoxreaction_robin (generic function with 1 method)
function redoxreaction(y, u, bnode, data)
    if data.C_gap < C_gap_dirichlet
        redoxreaction_robin(y, u, bnode, data)
    else
        redoxreaction_dirichlet(y, u, bnode, data)
    end
    return nothing
end
redoxreaction (generic function with 1 method)

Half cell boundary condition. In order to accomodate the different types of IR compensation, we need to be careful when to call evaluate the redox reaction, and when to set the working electrode voltage.

function halfcellbc(f, u, bnode, data)
    (; Γ_we, Γ_bulk, ϕ_we, iϕ, ircompensation) = data
    bulkbcondition(f, u, bnode, data; region = Γ_bulk)
    if bnode.region == Γ_we
        if !isactive(ircompensation)
            potentialbcondition!(f, u, bnode, data, ϕ_we)
        end
        # With IR compensation, working electrode voltage is set by a generic
        # operator which adds the necessary compensation value to ϕ_we

        if !isa(ircompensation, OhmicDropEstimation)
            redoxreaction(f, u, bnode, data)
        end
        # Ohmic drop compensation needs to evaluate the faradaic current, so the
        # reaction expression is invoked in the generic operator

    end
    return nothing
end
halfcellbc (generic function with 1 method)

Grid and simulation function

begin
    hmin = 0.05ufac"nm"
    hmax = L / 10
    X = geomspace(0, L, hmin, hmax)
    grid = simplexgrid(X)
end
ExtendableGrids.ExtendableGrid{Float64, Int32}
      dim =       1
   nnodes =     140
   ncells =     139
  nbfaces =       2
function simulate(
        grid, celldata;
        damp_initial = 0.5,
        tol_round = 1.0e-9,
        max_round = 3,
        C_gap = C_gap_dirichlet,
        kwargs...
    )

    xcelldata = copy(celldata; C_gap)
    pnpcell = PNPSystem(
        grid;
        bcondition = halfcellbc,
        celldata = xcelldata
    )
    cvresult = LiquidElectrolytes.cvsweep(
        pnpcell;
        voltages = sawtooth,
        nperiods,
        store_solutions = true,
        handle_exceptions = true,
        damp_initial,
        tol_round,
        max_round,
        kwargs...
    )
    return pnpcell, cvresult, xcelldata
end
simulate (generic function with 1 method)

Dirichlet boundary conditions

cell_unc_dirichlet, cvresult_unc_dirichlet, celldata_unc_dirichlet = simulate(grid, edata_unc, C_gap = C_gap_dirichlet)
(PNPSystem(VoronoiFVM.System{Float64, Float64, Int32, Int64, Matrix{Int32}}(
  grid = ExtendableGrids.ExtendableGrid{Float64, Int32}(dim=1, nnodes=140, ncells=139,
  nbfaces=2),  
  physics = Physics(data=LiquidElectrolytes.ElectrolyteData{typeof(LiquidElectrolytes.DG
  ML_gamma!), PreallocationTools.DiffCache{Vector{Float64}, Vector{Float64}},
  typeof(exp), typeof(log), typeof(LiquidElectrolytes.μex_flux!),
  typeof(Main.var"workspace#4".ε_dec), LiquidElectrolytes.NoIRCompensation},
  flux=pnpflux!, storage=pnpstorage!, reaction=_pnpreaction!, breaction=halfcellbc,
  bstorage=pnpbstorage!, ),  
  num_species = 6)), CVSweepResult([0.0011999999999999789, 0.0026399999999999757, 0.0043680000000000385, 0.006441600000000047, 0.008929920000000036, 0.011915903999999977, 0.015499084799999951, 0.019798901759999987, 0.02495868211200003, 0.031150418534400037  …  -0.09243897875943838, -0.08043897875943837, -0.06843897875943837, -0.05643897875943836, -0.04443897875943835, -0.033329234069578544, -0.022219489379719178, -0.014812992919812638, -0.007406496459906097, 4.83332600461682e-19], [0.0010506515529460495, 0.0024632426344844533, 0.0041814214457252166, 0.0062485512940273135, 0.008731706640058507, 0.011713308497022424, 0.015292536380526753, 0.0195884081952118, 0.024743640106482882, 0.030929288815082036  …  -0.12074712214707323, -0.10769979692381262, -0.09395435507390258, -0.080092476427526, -0.06646653694000582, -0.053650035982801436, -0.04020016653005502, -0.03116589889780577, -0.022652775206399484, -0.014403502756751735], [0.0011999999999999789, 0.0026399999999999757, 0.0043680000000000385, 0.006441600000000047, 0.008929920000000036, 0.011915903999999977, 0.015499084799999951, 0.019798901759999987, 0.02495868211200003, 0.031150418534400037  …  -0.0924389787594384, -0.0804389787594384, -0.06843897875943838, -0.056438978759438374, -0.04443897875943836, -0.03332923406957855, -0.02221948937971918, -0.01481299291981264, -0.007406496459906098, 0.0], [0.0012, 0.00264, 0.0043679999999999995, 0.006441599999999999, 0.008929919999999997, 0.011915903999999996, 0.015499084799999995, 0.019798901759999994, 0.024958682111999992, 0.03115041853439999  …  2.3075610212405615, 2.3195610212405615, 2.3315610212405615, 2.3435610212405615, 2.3555610212405615, 2.3666707659304214, 2.3777805106202807, 2.3851870070801873, 2.392593503540094, 2.4], Any[[3.8998100334031177e-8, -3.8998100334031177e-8, -0.0, -0.0, -0.0, -0.0], [6.500437693124362e-8, -6.500437693124362e-8, -0.0, -0.0, -0.0, -0.0], [8.402262226980817e-8, -8.402262226980817e-8, -0.0, -0.0, -0.0, -0.0], [9.914240857777924e-8, -9.914240857777924e-8, -0.0, -0.0, -0.0, -0.0], [1.1129898413397843e-7, -1.1129898413397843e-7, -0.0, -0.0, -0.0, -0.0], [1.206925983404661e-7, -1.206925983404661e-7, -0.0, -0.0, -0.0, -0.0], [1.2725642878463894e-7, -1.2725642878463894e-7, -0.0, -0.0, -0.0, -0.0], [1.308423580681506e-7, -1.308423580681506e-7, -0.0, -0.0, -0.0, -0.0], [1.3133224985029114e-7, -1.3133224985029114e-7, -0.0, -0.0, -0.0, -0.0], [1.2872614961967344e-7, -1.2872614961967344e-7, -0.0, -0.0, -0.0, -0.0]  …  [5.616617306796801e-5, -5.616617306796801e-5, -0.0, -0.0, -0.027755575615628914, -0.0], [5.3551286792438704e-5, -5.3551286792438704e-5, -0.0, -0.0, -0.027755575615628914, -0.0], [4.935206345427102e-5, -4.935206345427102e-5, -0.0, -0.0, -0.013877787807814457, -0.0], [4.461180082508454e-5, -4.461180082508454e-5, -0.0, -0.0, -0.013877787807814457, -0.0], [4.017030840909264e-5, -4.017030840909264e-5, -0.0, -0.0, -0.013877787807814457, -0.0], [3.662562231893652e-5, -3.662562231893652e-5, -0.0, -0.0, -0.006938893903907228, -0.0], [3.365664156034731e-5, -3.365664156034731e-5, -0.0, -0.0, -0.003469446951953614, -0.0], [3.1821509897072e-5, -3.1821509897072e-5, -0.0, -0.0, -0.001734723475976807, -0.0], [3.0190881434290496e-5, -3.0190881434290496e-5, -0.0, -0.0, -0.0008673617379884035, -0.0], [2.8748132338523027e-5, -2.8748132338523027e-5, -0.0, -0.0, -0.000483332600461682, -0.0]], Any[[1.2346932491878102e-8, 1.1027115411731494e-9, 1.1955444975527665e-7, -1.4764869362630137e-7, 1.0568450298196056e-10, -2.6503398667598945e-18], [1.4772540328302782e-8, 1.1028306069224723e-9, 1.4111683841929854e-7, -1.7427805381058803e-7, 1.2498684408606986e-10, 7.965596658157217e-18], [1.5629494510650302e-8, 1.1028728870412004e-9, 1.487347171656638e-7, -1.8368606484931122e-7, 1.317973535264827e-10, 1.0170287343459625e-17], [1.6185224550260916e-8, 1.1029004805980295e-9, 1.536748698318799e-7, -1.8978710916556149e-7, 1.3620453684521278e-10, -5.036003660915762e-19], [1.66213655059807e-8, 1.1029222995431197e-9, 1.575519402143676e-7, -1.9457525573558168e-7, 1.3966362063801077e-10, -6.207369970000139e-19], [1.6983918417233007e-8, 1.1029406141769864e-9, 1.607748518667633e-7, -1.9855552165768133e-7, 1.4256661022077756e-10, -1.224710330959397e-18], [1.7303723240934063e-8, 1.1029569562182012e-9, 1.6361775696643256e-7, -2.0206648154077802e-7, 1.4511083667432862e-10, 3.900727067281617e-19], [1.7617652173303878e-8, 1.102973158532843e-9, 1.664084296103632e-7, -2.055129362846905e-7, 1.476049732792423e-10, -3.712157275193772e-20], [1.7979461012639015e-8, 1.102991889659282e-9, 1.6962473155523774e-7, -2.0948503703314972e-7, 1.5050020316886374e-10, 1.523743015695825e-18], [1.8471913711233102e-8, 1.103017253364438e-9, 1.7400239139048406e-7, -2.1489140494266974e-7, 1.543995131475901e-10, -3.0801418379613196e-18]  …  [2.5261817316169254e-6, 1.2180098111222816e-9, 2.2466177204768374e-5, -2.7745564851099077e-5, 2.0098889182092997e-8, 3.489765311633109e-15], [2.4292796355433167e-6, 1.2133106208844266e-9, 2.1604766532261207e-5, -2.668172910935585e-5, 1.932817732031428e-8, 7.430567610971735e-15], [2.2714344710787056e-6, 1.2054439055678693e-9, 2.0201600702568988e-5, -2.4948830529791752e-5, 1.8072818328241858e-8, -2.4645342233023986e-16], [2.1040875464709023e-6, 1.1970961828013153e-9, 1.8713969071728497e-5, -2.311161749722176e-5, 1.6741837339370245e-8, -5.267473677912031e-15], [1.958253936671031e-6, 1.1898685627828485e-9, 1.741758090753348e-5, -2.1510588550765628e-5, 1.5581992568123306e-8, 9.564121686364428e-16], [1.8057359096635132e-6, 1.1822873539041155e-9, 1.606177157901788e-5, -1.983617510910401e-5, 1.4368951489434773e-8, 2.090679276739974e-17], [1.5973771750438865e-6, 1.171870223780199e-9, 1.4209565879719794e-5, -1.7548716553761742e-5, 1.2711823755361842e-8, 4.943641755357007e-17], [1.4526280559737856e-6, 1.164650383662222e-9, 1.2922818503122568e-5, -1.5959594357504278e-5, 1.1560599946705099e-8, 2.9851150777334504e-17], [1.3542376429081992e-6, 1.159790391929329e-9, 1.2048177484773403e-5, -1.4879419952904856e-5, 1.0778036706764867e-8, 5.748745521928939e-18], [1.2793010104679442e-6, 1.156118739035656e-9, 1.1382029090856386e-5, -1.4056732145897947e-5, 1.0182076102156365e-8, -1.7913311002675765e-18]], Any[[-3.899810065298438e-8, 3.8998100474405957e-8, -9.49152086408226e-16, 2.0315387231806297e-15, -3.1019879959968934e-5, 2.6503398512862107e-18], [-6.500437688605798e-8, 6.500437690650034e-8, 4.499045939587758e-16, -5.615384012696499e-16, -7.227276904866076e-5, -7.965596692145537e-18], [-8.40226220887251e-8, 8.402262215507186e-8, -6.738636786330591e-16, -7.811957497119633e-16, -0.00012187268656144664, -1.0170287383585667e-17], [-9.914240885345854e-8, 9.914240881878804e-8, 8.919261963845907e-16, 9.922260675864918e-16, -0.00018091014123988082, 5.036003625914705e-19], [-1.1129898401939612e-7, 1.1129898402793224e-7, -3.7680623294588094e-16, 3.989468271541611e-16, -0.0002512310024313123, 6.207369940582824e-19], [-1.2069259790067989e-7, 1.2069259793857865e-7, 4.062814972026729e-16, -6.974549755821898e-16, -0.00033529833103191633, 1.2247103241930762e-18], [-1.2725642895502597e-7, 1.2725642885262977e-7, -3.535898539550286e-16, -2.9973319629777485e-17, -0.0004364382380422164, -3.90072704961014e-19], [-1.3084235837987734e-7, 1.308423583860888e-7, -3.970466940254533e-20, 6.930698595444747e-16, -0.0005592967585721285, 3.7121572518007884e-20], [-1.3133224944456448e-7, 1.313322495216298e-7, 8.57182519544775e-17, -2.090004828257723e-16, -0.0007106021815591774, -1.5237430056124987e-18], [-1.2872614872849732e-7, 1.2872614869958054e-7, 3.9643788909461426e-17, -2.285678968194123e-16, -0.0009004533194634922, 3.080141825663798e-18]  …  [-5.616617306792189e-5, 5.616617306790636e-5, 5.548065804515667e-17, 4.0369590266139954e-17, 0.025409752613337704, -3.4897652904003516e-15], [-5.355128679242343e-5, 5.355128679243011e-5, 2.485533480423019e-17, -1.9827686042507564e-16, 0.023064610568271218, -7.430567565602452e-15], [-4.93520634544614e-5, 4.935206345445723e-5, 9.570117051257987e-17, 2.2199378294819605e-16, 0.020036807068807207, 2.4645342072415604e-16], [-4.461180082526649e-5, 4.461180082527697e-5, -8.927727264060326e-18, -3.2949581648192283e-17, 0.01595149295447137, 5.267473646072025e-15], [-4.017030840897926e-5, 4.017030840896826e-5, -2.2012692233244757e-17, 1.5439038936193583e-16, 0.010584976935273218, -9.564121628142417e-16], [-3.662562231924551e-5, 3.662562231925739e-5, 1.926932192367753e-16, -1.728014975034553e-16, 0.005555605517980901, -2.0906792639191707e-17], [-3.365664156046635e-5, 3.365664156045476e-5, -4.539927190693599e-17, -2.6810286846493114e-17, 0.0024511809145094576, -4.9436417244882093e-17], [-3.1821509897441875e-5, 3.182150989744738e-5, -6.745262172164895e-17, 6.228402667750321e-17, 0.0014356262986577651, -2.9851150600464173e-17], [-3.0190881434788928e-5, 3.019088143478826e-5, 1.2676356275428957e-16, -2.547976749294606e-16, 0.0008626829457705763, -5.7487454827434715e-18], [-2.8748132338121496e-5, 2.8748132338125047e-5, -9.647874675815932e-17, 2.246975121158318e-16, 0.00048333260046473593, 1.791331090432309e-18]], Any[3.101977427546592e-5, 7.227264406181663e-5, 0.00012187255476409304, 0.00018091000503534408, 0.00025123086276769156, 0.00033529818846530634, 0.0004364380929313796, 0.0005592966109671557, 0.0007106020310589735, 0.0009004531650639788  …  -0.025409772712226886, -0.023064629896448575, -0.02003682514162552, -0.015951509696308697, -0.010584992517265772, -0.005555619886932388, -0.002451193626333209, -0.0014356378592577119, -0.0008626937238072835, -0.0004833427825408381], Any[9.735708765785934e-8, 2.263265643049287e-8, 1.332790033008497e-8, 1.1566274033377077e-8, 1.0867832815713502e-8, 1.0474716478033513e-8, 1.0249385559379777e-8, 1.0142601066538009e-8, 1.0128519821357448e-8, 1.0191299316863312e-8  …  9.47101554265217e-9, -5.3753397526981974e-8, -9.457286406378126e-8, -1.0136060089171897e-7, -8.750216869086265e-8, -1.000563962104636e-7, -1.3971490547370125e-7, -1.4573145116555536e-7, -9.611155418226475e-8, -7.084440532422359e-8], Any[0.025805124097767716, 0.028647826240521326, 0.02870365202678033, 0.028470992607663507, 0.028260375567590784, 0.028153977281062052, 0.02822629113944607, 0.02857296465842494, 0.02932400407958642, 0.030662018059776606  …  0.15693823650271324, 0.1954285679815259, 0.2523170629019211, 0.340442953776402, 0.4472097649202438, 0.4526992087337469, 0.2794327275074793, 0.1371168909042228, 0.0773569714846897, 0.05121867583681461], [0.9985310557215228 0.9985713218795401 … 0.9998748191108251 1.0; 0.001059690377618694 0.0010597188126863228 … 0.0001058374889113119 1.0000000000000001e-7; … ; -5.362407349646452e-23 -3.395551954239003e-7 … -1.8030067313429136e-7 -1.279909288470663e-42; 1.9951776377362932e-13 1.315838277628277e-13 … 1.8862376999707756e-28 1.6279910959672063e-54;;; 0.8816185637899208 0.9024546829184468 … 0.9998748190919542 1.0; 0.0009356168002181662 0.0009503049284808145 … 0.00010583750471991118 1.0000000000000001e-7; … ; 0.0011999999999999789 0.0010033614886943605 … 1.488763838023363e-5 1.0568361346083806e-40; 6.677718528076724e-8 4.420180896872472e-8 … -9.482332833458843e-24 -9.568760066767567e-50;;; 0.7454367730336119 0.7872012065109661 … 0.999874819065228 1.0; 0.0007910938614968288 0.0008203861363658269 … 0.00010583752710847568 1.0000000000000001e-7; … ; 0.0026399999999999757 0.0021812740880321484 … 1.76052347395578e-5 1.249751488841272e-40; 3.625725873952658e-7 2.41028182943936e-7 … 1.348986632128252e-21 1.3518269708556915e-47;;; … ;;; 39.13870797443142 16.171538857812628 … 0.9998759415647434 1.0; 0.041526136257351756 0.023212663744675437 … 0.00010492678150552686 1.0000000000000001e-7; … ; -0.014812992919812638 -0.0071793071932929045 … 0.0016285389039390535 1.1560589506146435e-38; 0.00013579230027702536 5.65067784684859e-5 … 7.352583931621362e-22 5.711023974002634e-51;;; 14.593125229686436 8.096044899128618 … 0.9998759293019788 1.0; 0.015483480624339721 0.01048037078736898 … 0.00010493714317510636 1.0000000000000001e-7; … ; -0.007406496459906097 -0.0023847105975626803 … 0.0015183042612226972 1.0778061406438109e-38; 5.0596261783208854e-5 2.624533733642196e-5 … 6.354318779024929e-22 -8.809543311626527e-52;;; 5.534770352181573 3.9047810376506575 … 0.9998759176885018 1.0; 0.0058725203845030405 0.004658248686288875 … 0.00010494695803101064 1.0000000000000001e-7; … ; 4.83332600461682e-19 0.0029540731887562548 … 0.0014343468031153658 1.0182068454221434e-38; 1.6089543348070466e-5 9.52921557478422e-6 … 5.648783573326335e-22 -4.8187843015570436e-52]), ElectrolyteData(
nc = 4, 
cspecies = [1, 2, 3, 4], 
na = 0, 
sspecies = Int64[], 
iϕ = 5, 
ip = 6, 
iϕ_we = 7, 
iq = 8, 
icc = 9, 
D = [7.5e-10, 1.04e-9, 2.0e-9, 1.9e-9], 
z = [3, 2, 1, -1], 
M0 = 0.018015, 
M = [0.018015, 0.018015, 0.018015, 0.018015], 
v0 = 1.8051e-5, 
v = [1.8051e-5, 1.8051e-5, 1.8051e-5, 1.8051e-5], 
κ = [20.0, 20.0, 20.0, 20.0], 
actcoeff! = DGML_gamma!, 
ircompensation = LiquidElectrolytes.NoIRCompensation(), 
xref = [1.0e-8], 
C_gap = 1.0e15, 
ϕ_pzc = 0.0, 
c_bulk = [1.0, 1.0e-7, 10.0, 13.0], 
Γ_we = 1, 
Γ_bulk = 2, 
ϕ_bulk = 0.0, 
p_bulk = 0.0, 
T = 293.15, 
ε = 80.0, 
ε_dec = ε_dec, 
rexp = exp, 
rlog = log, 
pscale = 1.0e9, 
eneutral = false, 
upwindflux! = μex_flux!, 
weights = [1.8051e-5, 1.8051e-5, 1.8051e-5, 1.8051e-5, 1.0, 0.0, 0.0, 0.0, 0.0], 
solvepressure = true, 
F = 96485.0, 
ε_0 = 8.8542e-12, 
RT = 2437.4, 
Mrel = [21.0, 21.0, 21.0, 21.0], 
vrel = [21.0, 21.0, 21.0, 21.0], 
barv = [0.00037906, 0.00037906, 0.00037906, 0.00037906], 
tildev = [5.421e-20, 5.421e-20, 5.421e-20, 5.421e-20], 
γ_bulk = [1.018, 1.018, 1.018, 1.018], 
γk_cache = DiffCache, 
γl_cache = DiffCache, 
ϕ_we = 0.0, 
edgevelocity = 0.0, 
iref = 31, 
nv = Float64[], 
scheme = :deprecated, 
)
)
cell_pts_dirichlet, cvresult_pts_dirichlet, celldata_pts_dirichlet = simulate(grid, edata_pts, C_gap = C_gap_dirichlet)
(PNPSystem(VoronoiFVM.System{Float64, Float64, Int32, Int64, Matrix{Int32}}(
  grid = ExtendableGrids.ExtendableGrid{Float64, Int32}(dim=1, nnodes=140, ncells=139,
  nbfaces=2),  
  physics = Physics(data=LiquidElectrolytes.ElectrolyteData{typeof(LiquidElectrolytes.DG
  ML_gamma!), PreallocationTools.DiffCache{Vector{Float64}, Vector{Float64}},
  typeof(exp), typeof(log), typeof(LiquidElectrolytes.μex_flux!),
  typeof(Main.var"workspace#4".ε_dec), LiquidElectrolytes.PseudoPotentiostat},
  flux=pnpflux!, storage=pnpstorage!, reaction=_pnpreaction!, breaction=halfcellbc,
  bstorage=pnpbstorage!, generic_operator=pseudopotentiostat, ),  
  num_species = 7)), CVSweepResult([0.0013709636471338673, 0.002821030763795935, 0.004556313098880694, 0.0066357216062612025, 0.009128880751666865, 0.012119049070574536, 0.015706066302976794, 0.020009776456628783, 0.025174111869670456, 0.03137200274110985  …  -0.066976473985609, -0.05694185808257101, -0.04654335484064776, -0.03620792814897319, -0.026383136997488992, -0.01719496071873137, -0.007472584854147843, -0.0008309805662657476, 0.0059544421946118855, 0.012814846976223713], [0.0011999999999999789, 0.0026399999999999757, 0.0043680000000000385, 0.006441600000000047, 0.008929920000000036, 0.011915903999999977, 0.015499084799999953, 0.019798901759999987, 0.02495868211200003, 0.031150418534400037  …  -0.0924389787594384, -0.0804389787594384, -0.06843897875943838, -0.056438978759438374, -0.04443897875943836, -0.03332923406957855, -0.02221948937971918, -0.01481299291981264, -0.007406496459906097, 0.0], [0.0011999999999999789, 0.0026399999999999757, 0.0043680000000000385, 0.006441600000000047, 0.008929920000000036, 0.011915903999999977, 0.015499084799999951, 0.019798901759999987, 0.02495868211200003, 0.031150418534400037  …  -0.0924389787594384, -0.0804389787594384, -0.06843897875943838, -0.056438978759438374, -0.04443897875943836, -0.03332923406957855, -0.02221948937971918, -0.01481299291981264, -0.007406496459906098, 0.0], [0.0012, 0.00264, 0.0043679999999999995, 0.006441599999999999, 0.008929919999999997, 0.011915903999999996, 0.015499084799999995, 0.019798901759999994, 0.024958682111999992, 0.03115041853439999  …  2.3075610212405615, 2.3195610212405615, 2.3315610212405615, 2.3435610212405615, 2.3555610212405615, 2.3666707659304214, 2.3777805106202807, 2.3851870070801873, 2.392593503540094, 2.4], Any[[4.4644571319807374e-8, -4.4644571319807374e-8, -0.0, -0.0, -0.0, -0.0, -0.0], [6.830363077137137e-8, -6.830363077137137e-8, -0.0, -0.0, -0.0, -0.0, -0.0], [8.616521084636731e-8, -8.616521084636731e-8, -0.0, -0.0, -0.0, -0.0, -0.0], [1.0062397490240295e-7, -1.0062397490240295e-7, -0.0, -0.0, -0.0, -0.0, -0.0], [1.1232219202739203e-7, -1.1232219202739203e-7, -0.0, -0.0, -0.0, -0.0, -0.0], [1.2136846166077576e-7, -1.2136846166077576e-7, -0.0, -0.0, -0.0, -0.0, -0.0], [1.276627530688579e-7, -1.276627530688579e-7, -0.0, -0.0, -0.0, -0.0, -0.0], [1.3104240829453497e-7, -1.3104240829453497e-7, -0.0, -0.0, -0.0, -0.0, -0.0], [1.313811589520597e-7, -1.313811589520597e-7, -0.0, -0.0, -0.0, -0.0, -0.0], [1.286724847771037e-7, -1.286724847771037e-7, -0.0, -0.0, -0.0, -0.0, -0.0]  …  [4.946921576393426e-5, -4.946921576393426e-5, -0.0, -0.0, -0.0, -0.0, -0.0], [4.4729757751825755e-5, -4.4729757751825755e-5, -0.0, -0.0, -0.0, -0.0, -0.0], [4.0524755226099554e-5, -4.0524755226099554e-5, -0.0, -0.0, -0.0, -0.0, -0.0], [3.690164490016801e-5, -3.690164490016801e-5, -0.0, -0.0, -0.0, -0.0, -0.0], [3.382080563746448e-5, -3.382080563746448e-5, -0.0, -0.0, -0.0, -0.0, -0.0], [3.1359001317511905e-5, -3.1359001317511905e-5, -0.0, -0.0, -0.0, -0.0, -0.0], [2.9241228132964037e-5, -2.9241228132964037e-5, -0.0, -0.0, -0.0, -0.0, -0.0], [2.7947142023597718e-5, -2.7947142023597718e-5, -0.0, -0.0, -0.0, -0.0, -0.0], [2.6783887354837613e-5, -2.6783887354837613e-5, -0.0, -0.0, -0.0, -0.0, -0.0], [2.5725165659714613e-5, -2.5725165659714613e-5, -0.0, -0.0, -0.0, -0.0, -0.0]], Any[[1.4270090167019988e-8, 1.1028845793512145e-9, 1.3665101947863604e-7, -1.6876280494252738e-7, 1.2097171284780122e-10, 5.072967959595826e-18, -0.0], [1.5151141493679892e-8, 1.1029279862997186e-9, 1.4448310495789737e-7, -1.7843536369995567e-7, 1.279945027992864e-10, -5.016552147576849e-17, -0.0], [1.5781990720480576e-8, 1.1029591940165901e-9, 1.5009102922055784e-7, -1.8536109752617138e-7, 1.3300592313379243e-10, -7.593533793054001e-17, -0.0], [1.6278806007210693e-8, 1.1029839049717871e-9, 1.5450746270652135e-7, -1.9081535403376926e-7, 1.3695714966512604e-10, -4.669881333697829e-17, -0.0], [1.6685972993710316e-8, 1.103004307386549e-9, 1.581269672765615e-7, -1.952854091293947e-7, 1.402156394038743e-10, -3.7463520628142443e-17, -0.0], [1.7030928648272536e-8, 1.10302176258208e-9, 1.611934494384827e-7, -1.990724861722226e-7, 1.429448153692903e-10, 1.6167424089634539e-18, -0.0], [1.7340385678235962e-8, 1.1030376001180883e-9, 1.6394436802277318e-7, -2.0246984308311333e-7, 1.454045190301638e-10, -2.4486698414551447e-18, -0.0], [1.764971870034068e-8, 1.1030535797726096e-9, 1.6669418500227453e-7, -2.058658411503426e-7, 1.4784007040843617e-10, 7.938368027770337e-20, -0.0], [1.8012151206392982e-8, 1.103072344547806e-9, 1.699160318133823e-7, -2.098447903214668e-7, 1.507604690682751e-10, -1.51479344627914e-17, -0.0], [1.8510583284588034e-8, 1.1030980055000302e-9, 1.7434684505934513e-7, -2.153168017594152e-7, 1.547087025389501e-10, -9.179753616390664e-18, -0.0]  …  [2.26643966771933e-6, 1.2050802077690315e-9, 2.0157197969112136e-5, -2.4893994048360373e-5, 1.803309303314764e-8, 1.4198421495180946e-15, -0.0], [2.0901857492493705e-6, 1.1962739671491846e-9, 1.8590387423774922e-5, -2.295899574811075e-5, 1.6631258593055006e-8, -1.0177271694653283e-16, -0.0], [1.9466702055439126e-6, 1.1891673642560984e-9, 1.7314605797051697e-5, -2.1383415698591464e-5, 1.548988299650989e-8, 7.839347899679833e-16, -0.0], [1.7978992106237295e-6, 1.1817983987654417e-9, 1.5992106008513727e-5, -1.9750139193002992e-5, 1.4306648371224384e-8, 3.397817293483809e-16, -0.0], [1.6041601073247129e-6, 1.1721447596010402e-9, 1.4269861919580022e-5, -1.7623182039302757e-5, 1.2765778215976757e-8, -4.5796656641916197e-17, -0.0], [1.4332398274155512e-6, 1.1636584990977462e-9, 1.2750466415978397e-5, -1.5746741244329495e-5, 1.1406394920132539e-8, 4.839388823268261e-17, -0.0], [1.309868809753435e-6, 1.157592892047122e-9, 1.165376078987861e-5, -1.439231881994889e-5, 1.0425181844518966e-8, 5.108654380987442e-18, -0.0], [1.2418542175957102e-6, 1.1542711288987991e-9, 1.104914593842639e-5, -1.3645624411739849e-5, 9.88423983755879e-9, 6.193865501241572e-19, -0.0], [1.186617644279127e-6, 1.1515930970420223e-9, 1.0558121361242668e-5, -1.303921301784075e-5, 9.44493788422803e-9, 6.952121407496865e-19, -0.0], [1.1380416532609564e-6, 1.1492493723751877e-9, 1.0126306059730457e-5, -1.2505924577917712e-5, 9.05862395058585e-9, 7.669600685282862e-19, -0.0]], Any[[-4.464457112841711e-8, 4.4644571307707104e-8, 8.817866032010259e-16, -1.1599420851537507e-15, -3.5404677463863594e-5, -5.072967998441238e-18, -0.0], [-6.830363054985899e-8, 6.83036304546214e-8, 9.56511135123751e-16, -6.57439656846239e-16, -7.740231142879545e-5, 5.016552142378279e-17, -0.0], [-8.616521091435669e-8, 8.616521082836189e-8, 5.975854765268327e-16, -7.293171786843444e-16, -0.00012722671093355953, 7.593533787415059e-17, -0.0], [-1.0062397483653834e-7, 1.0062397486914237e-7, -4.243518334016001e-16, 1.4033151385093229e-15, -0.00018639624902698802, 4.669881329489213e-17, -0.0], [-1.1232219233146101e-7, 1.1232219240039507e-7, 2.2305768279972705e-16, -7.21657512681883e-16, -0.00025682657967166894, 3.7463520626611763e-17, -0.0], [-1.213684617601789e-7, 1.2136846168662294e-7, -2.2198727138241403e-16, -2.0120158578260593e-16, -0.0003410094062417144, -1.6167423985972224e-18, -0.0], [-1.2766275275737898e-7, 1.276627527917418e-7, 1.1491775404737898e-17, 3.1746143706512975e-16, -0.0004422992874396088, 2.4486698282476475e-18, -0.0], [-1.3104240787831275e-7, 1.3104240785333287e-7, -1.822560263211486e-16, 1.7738937205291942e-16, -0.0005653797509154068, -7.938368067269936e-20, -0.0], [-1.3138115869049884e-7, 1.3138115870845523e-7, 2.0259974601094717e-16, -1.791033432216885e-16, -0.0007170338513850577, 1.5147934368143784e-17, -0.0], [-1.2867248487358932e-7, 1.2867248486057596e-7, 1.5688492786137935e-16, -1.1773435035523634e-16, -0.0009074463676997521, 9.179753555652727e-18, -0.0]  …  [-4.946921576377566e-5, 4.94692157637754e-5, -3.521624181504479e-17, 1.3883886445034688e-16, 0.01965110049124859, -1.4198421410141373e-15, -0.0], [-4.472975775172797e-5, 4.4729757751736424e-5, 2.082921779934105e-16, 6.844026213814747e-18, 0.016070444131433808, 1.0177271639182938e-16, -0.0], [-4.052475522646477e-5, 4.0524755226451276e-5, -3.902789007768914e-17, -1.987207056894369e-16, 0.011421023340946206, -7.8393478523023e-16, -0.0], [-3.6901644899809015e-5, 3.690164489982028e-5, -7.362071564355477e-17, 7.630072788866737e-18, 0.00651571618602605, -3.3978172726468e-16, -0.0], [-3.3820805637062235e-5, 3.3820805637058576e-5, -9.06257490926321e-17, 1.8536469017713109e-16, 0.003173007015038323, 4.579665634725e-17, -0.0], [-3.135900131741039e-5, 3.1359001317409014e-5, 1.0580966170511269e-16, -2.2090619264392153e-16, 0.001629161559463527, -4.839388793999512e-17, -0.0], [-2.9241228133269976e-5, 2.92412281332762e-5, 1.1007023742980182e-16, 9.684805312316219e-17, 0.0008393952716589741, -5.108654349012402e-18, -0.0], [-2.7947142023005686e-5, 2.794714202301048e-5, -4.50072650589467e-16, 8.958728669929833e-17, 0.0004995951661744187, -6.193865450831572e-19, -0.0], [-2.678388735505448e-5, 2.6783887355052848e-5, 1.4497985331794055e-16, -3.5936219820210946e-17, 0.00023118273691023398, -6.952121385471997e-19, -0.0], [-2.5725165659876172e-5, 2.572516565986323e-5, 2.3879383442403784e-16, -1.0250115101313739e-16, 1.2376475715577643e-8, -7.669600685284963e-19, -0.0]], Any[3.540455649215075e-5, 7.740218343429263e-5, 0.00012722657792763633, 0.0001863961120698385, 0.0002568264394560295, 0.0003410092632968991, 0.00044229914203509, 0.0005653796030753352, 0.0007170337006245875, 0.0009074462129910484  …  -0.019651118524341656, -0.01607046076269239, -0.01142103883082921, -0.006515730492674414, -0.0031730197808165425, -0.0016291729658584474, -0.0008394056968408182, -0.0004996050504142561, -0.00023119218184811818, -2.1435099666163472e-8], Any[1.112897902131727e-7, 1.428267719519621e-8, 1.2343391778845303e-8, 1.1372385965701133e-8, 1.0797233353693598e-8, 1.0443731759515138e-8, 1.0238341761875866e-8, 1.0143629732910439e-8, 1.0137923894154617e-8, 1.0207538041650024e-8  …  -1.2568834196979978e-7, -1.0861792996061316e-7, -8.708016610150199e-8, -9.069209865711191e-8, -1.2064167158449662e-7, -1.1446249891822808e-7, -8.00266822937446e-8, -6.439137584416624e-8, -5.039546917668478e-8, -4.302449184575342e-8], Any[0.02950379556526775, 0.029165018709820755, 0.028833561628092426, 0.028534690462095964, 0.02830436896628689, 0.028192657375548446, 0.02826814620635133, 0.028624581507824282, 0.029391580106790632, 0.030752683799265244  …  0.22999260886888387, 0.29838814680410547, 0.3874518276552649, 0.40877569484623305, 0.27855922598815597, 0.13896330276313548, 0.07108779644040729, 0.0458787293379543, 0.03624019399984063, 0.031211889184023574], [0.9987452784131481 0.9987452788818283 … 0.9998748101666634 1.0; 0.0010599177212994903 0.001059917668592005 … 0.00010584504383344863 1.0000000000000001e-7; … ; 1.7345265940956968e-23 1.0563072679155492e-23 … 2.6183954437859243e-29 5.09620620342395e-60; -1.8072217603756517e-6 0.0 … 0.0 0.0;;; 0.8661207760029156 0.8895273071360844 … 0.9998748101450925 1.0; 0.0009191697503158031 0.0009356610861775801 … 0.00010584506190395492 1.0000000000000001e-7; … ; 8.699222703180056e-8 5.761082720179984e-8 … 1.1335234201006002e-21 1.1359012101891668e-47; 0.0013709636471338673 0.0 … 0.0 0.0;;; 0.7299453466703618 0.7738386163895461 … 0.9998748101177273 1.0; 0.0007746535853291983 0.000805419501680111 … 0.00010584508482791406 1.0000000000000001e-7; … ; 4.158764142387617e-7 2.765974567118991e-7 … -4.165476405693634e-21 -4.1746289944228937e-47; 0.002821030763795935 0.0 … 0.0 0.0;;; … ;;; 5.806594783885004 4.051656243388114 … 0.9998759144516679 1.0; 0.006160968999312145 0.004851431220594919 … 0.00010495044688349592 1.0000000000000001e-7; … ; 1.718337153335071e-5 1.012617067268633e-5 … 5.307221005955203e-22 2.816070446005736e-52; -0.0008309805662657476 0.0 … 0.0 0.0;;; 2.419128911526312 2.0383976041299747 … 0.9998759036368916 1.0; 0.002566789523288977 0.002291397096877913 … 0.00010495958920409843 1.0000000000000001e-7; … ; 3.6992743441533998e-6 2.343275454586093e-6 … 4.82989076942276e-22 1.063595171835411e-52; 0.0059544421946118855 0.0 … 0.0 0.0;;; 1.0048575032693838 1.0048464713943748 … 0.9998758932452463 1.0; 0.0010662011137563042 0.0010674313064153104 … 0.00010496837483422222 1.0000000000000001e-7; … ; 1.0099749876724366e-14 6.373572861068816e-15 … 4.42912588323028e-22 -5.034828756407256e-54; 0.012814846976223713 0.0 … 0.0 0.0]), ElectrolyteData(
nc = 4, 
cspecies = [1, 2, 3, 4], 
na = 0, 
sspecies = Int64[], 
iϕ = 5, 
ip = 6, 
iϕ_we = 7, 
iq = 8, 
icc = 9, 
D = [7.5e-10, 1.04e-9, 2.0e-9, 1.9e-9], 
z = [3, 2, 1, -1], 
M0 = 0.018015, 
M = [0.018015, 0.018015, 0.018015, 0.018015], 
v0 = 1.8051e-5, 
v = [1.8051e-5, 1.8051e-5, 1.8051e-5, 1.8051e-5], 
κ = [20.0, 20.0, 20.0, 20.0], 
actcoeff! = DGML_gamma!, 
ircompensation = LiquidElectrolytes.PseudoPotentiostat(), 
xref = [1.0e-8], 
C_gap = 1.0e15, 
ϕ_pzc = 0.0, 
c_bulk = [1.0, 1.0e-7, 10.0, 13.0], 
Γ_we = 1, 
Γ_bulk = 2, 
ϕ_bulk = 0.0, 
p_bulk = 0.0, 
T = 293.15, 
ε = 80.0, 
ε_dec = ε_dec, 
rexp = exp, 
rlog = log, 
pscale = 1.0e9, 
eneutral = false, 
upwindflux! = μex_flux!, 
weights = [1.8051e-5, 1.8051e-5, 1.8051e-5, 1.8051e-5, 1.0, 0.0, 0.0, 0.0, 0.0], 
solvepressure = true, 
F = 96485.0, 
ε_0 = 8.8542e-12, 
RT = 2437.4, 
Mrel = [21.0, 21.0, 21.0, 21.0], 
vrel = [21.0, 21.0, 21.0, 21.0], 
barv = [0.00037906, 0.00037906, 0.00037906, 0.00037906], 
tildev = [5.421e-20, 5.421e-20, 5.421e-20, 5.421e-20], 
γ_bulk = [1.018, 1.018, 1.018, 1.018], 
γk_cache = DiffCache, 
γl_cache = DiffCache, 
ϕ_we = 0.0, 
edgevelocity = 0.0, 
iref = 31, 
nv = Float64[], 
scheme = :deprecated, 
)
)
cell_odr_dirichlet, cvresult_odr_dirichlet, celldata_odr_dirichlet = simulate(grid, edata_odr, C_gap = C_gap_dirichlet)
(PNPSystem(VoronoiFVM.System{Float64, Float64, Int32, Int64, Matrix{Int32}}(
  grid = ExtendableGrids.ExtendableGrid{Float64, Int32}(dim=1, nnodes=140, ncells=139,
  nbfaces=2),  
  physics = Physics(data=LiquidElectrolytes.ElectrolyteData{typeof(LiquidElectrolytes.DG
  ML_gamma!), PreallocationTools.DiffCache{Vector{Float64}, Vector{Float64}},
  typeof(exp), typeof(log), typeof(LiquidElectrolytes.μex_flux!),
  typeof(Main.var"workspace#4".ε_dec),
  LiquidElectrolytes.OhmicDropEstimation{typeof(Main.var"workspace#4".redoxreaction)}},
  flux=pnpflux!, storage=pnpstorage!, reaction=_pnpreaction!, breaction=halfcellbc,
  bstorage=pnpbstorage_ohmicdrop!, generic_operator=ohmicdropcompensation, ),  
  num_species = 9)), CVSweepResult([0.001362176753410723, 0.0028126315007106586, 0.004547408011875006, 0.006626329165569029, 0.00911900546525197, 0.012108677204029769, 0.015695163582706076, 0.019998281973888372, 0.025161927609189623, 0.03135897739647431  …  -0.0680774962598745, -0.057987257377244285, -0.047543092950285575, -0.03709519926643989, -0.027138272085910325, -0.01790315818926668, -0.008152926607838269, -0.0014907045172171643, 0.005315846776827063, 0.01219638892158345], [0.0011924754504507242, 0.002631749139781238, 0.004359192322669975, 0.006432280898229132, 0.008920102977321489, 0.01190558055874977, 0.015488224457355525, 0.019787446831431348, 0.024946537724836917, 0.031137436852780583  …  -0.09372218317956187, -0.08163595345665928, -0.06956438777725168, -0.05748909758375801, -0.045382170252549, -0.034171354831751044, -0.022987857029896506, -0.015540940681845581, -0.008101978975496991, -0.0006671135182294962], [0.0011999999999999789, 0.0026399999999999757, 0.0043680000000000385, 0.006441600000000047, 0.008929920000000036, 0.011915903999999977, 0.015499084799999951, 0.019798901759999987, 0.02495868211200003, 0.031150418534400037  …  -0.0924389787594384, -0.0804389787594384, -0.06843897875943838, -0.056438978759438374, -0.04443897875943836, -0.03332923406957855, -0.02221948937971918, -0.01481299291981264, -0.007406496459906098, 0.0], [0.0012, 0.00264, 0.0043679999999999995, 0.006441599999999999, 0.008929919999999997, 0.011915903999999996, 0.015499084799999995, 0.019798901759999994, 0.024958682111999992, 0.03115041853439999  …  2.3075610212405615, 2.3195610212405615, 2.3315610212405615, 2.3435610212405615, 2.3555610212405615, 2.3666707659304214, 2.3777805106202807, 2.3851870070801873, 2.392593503540094, 2.4], Any[[-0.0, -0.0, -0.0, -0.0, -0.0, -0.0, -0.0, -0.0, -0.0], [-0.0, -0.0, -0.0, -0.0, -0.0, -0.0, -0.0, -0.0, -0.0], [-0.0, -0.0, -0.0, -0.0, -0.0, -0.0, -0.0, -0.0, -0.0], [-0.0, -0.0, -0.0, -0.0, -0.0, -0.0, -0.0, -0.0, -0.0], [-0.0, -0.0, -0.0, -0.0, -0.0, -0.0, -0.0, -0.0, -0.0], [-0.0, -0.0, -0.0, -0.0, -0.0, -0.0, -0.0, -0.0, -0.0], [-0.0, -0.0, -0.0, -0.0, -0.0, -0.0, -0.0, -0.0, -0.0], [-0.0, -0.0, -0.0, -0.0, -0.0, -0.0, -0.0, -0.0, -0.0], [-0.0, -0.0, -0.0, -0.0, -0.0, -0.0, -0.0, -0.0, -0.0], [-0.0, -0.0, -0.0, -0.0, -0.0, -0.0, -0.0, -0.0, -0.0]  …  [-0.0, -0.0, -0.0, -0.0, -0.0, -0.0, -0.0, -0.0, -0.0], [-0.0, -0.0, -0.0, -0.0, -0.0, -0.0, -0.0, -0.0, -0.0], [-0.0, -0.0, -0.0, -0.0, -0.0, -0.0, -0.0, -0.0, -0.0], [-0.0, -0.0, -0.0, -0.0, -0.0, -0.0, -0.0, -0.0, -0.0], [-0.0, -0.0, -0.0, -0.0, -0.0, -0.0, -0.0, -0.0, -0.0], [-0.0, -0.0, -0.0, -0.0, -0.0, -0.0, -0.0, -0.0, -0.0], [-0.0, -0.0, -0.0, -0.0, -0.0, -0.0, -0.0, -0.0, -0.0], [-0.0, -0.0, -0.0, -0.0, -0.0, -0.0, -0.0, -0.0, -0.0], [-0.0, -0.0, -0.0, -0.0, -0.0, -0.0, -0.0, -0.0, -0.0], [-0.0, -0.0, -0.0, -0.0, -0.0, -0.0, -0.0, -0.0, -0.0]], Any[[1.4157813063586131e-8, 1.1028226921621346e-9, 1.356524322813396e-7, -1.6752955892929036e-7, 1.2009343014565045e-10, 9.865543193999875e-19, -0.0, -0.0, -0.0], [1.513806774705782e-8, 1.102870956909231e-9, 1.4436638521937577e-7, -1.7829121486894468e-7, 1.279008901702145e-10, -4.609630713847219e-17, -0.0, -0.0, -0.0], [1.577345924271029e-8, 1.102902385417513e-9, 1.5001468788879333e-7, -1.852668176681526e-7, 1.329345128933076e-10, 9.06093762899347e-19, -0.0, -0.0, -0.0], [1.627241981879223e-8, 1.1029272000343619e-9, 1.5445019028498652e-7, -1.9074462322634606e-7, 1.3689607104711763e-10, 2.2231239118360096e-17, -0.0, -0.0, -0.0], [1.668093087313166e-8, 1.1029476672111076e-9, 1.5808164493426247e-7, -1.9522943672245005e-7, 1.4014352393927283e-10, 4.984890339381201e-18, -0.0, -0.0, -0.0], [1.7026764318164145e-8, 1.1029651643513128e-9, 1.6115592912638518e-7, -1.9902614805320477e-7, 1.429153887106216e-10, 1.3049296787436566e-18, -0.0, -0.0, -0.0], [1.7336761465036753e-8, 1.1029810274011227e-9, 1.6391164914184672e-7, -2.024294359116261e-7, 1.453617741488171e-10, 2.6248065172303226e-18, -0.0, -0.0, -0.0], [1.764634754822918e-8, 1.1029970185050418e-9, 1.6666371604959504e-7, -2.05828212288557e-7, 1.478396389393077e-10, 2.1352234049084316e-19, -0.0, -0.0, -0.0], [1.8008753413214227e-8, 1.1030157808309155e-9, 1.6988532524882808e-7, -2.0980686788955987e-7, 1.5074328506676722e-10, 5.3412944437317086e-18, -0.0, -0.0, -0.0], [1.850684963068526e-8, 1.1030414237724648e-9, 1.7431315324183413e-7, -2.152751928828849e-7, 1.546739469830646e-10, 4.1421866863147685e-18, -0.0, -0.0, -0.0]  …  [2.2828390202909576e-6, 1.2058613738611818e-9, 2.0302979841915267e-5, -2.5074033429362557e-5, 1.8163534517127948e-8, -1.249615215435831e-15, -0.0, -0.0, -0.0], [2.103799705246814e-6, 1.1969100276802147e-9, 1.8711408404922295e-5, -2.3108455636689707e-5, 1.6739560236111018e-8, -2.8196767002204807e-16, -0.0, -0.0, -0.0], [1.957940849984948e-6, 1.189682414615465e-9, 1.7414795837943187e-5, -2.1507149551531043e-5, 1.5579492976786577e-8, 2.829301800578199e-17, -0.0, -0.0, -0.0], [1.8124317609716326e-6, 1.182480236258861e-9, 1.6121292800515208e-5, -1.990968377463487e-5, 1.4422219030634184e-8, -2.0498260312711472e-16, -0.0, -0.0, -0.0], [1.6208950178612543e-6, 1.1729374025305274e-9, 1.4418626579782235e-5, -1.780690510999768e-5, 1.2898846959178099e-8, 1.0828175667009258e-16, -0.0, -0.0, -0.0], [1.4451499838975577e-6, 1.1642048046598414e-9, 1.2856341338873574e-5, -1.5877495857692238e-5, 1.1501141017205926e-8, 1.3419251892040522e-17, -0.0, -0.0, -0.0], [1.3176972993878851e-6, 1.1579325108035838e-9, 1.172335169494768e-5, -1.4478262983594241e-5, 1.0487418376062382e-8, 1.882443111952685e-18, -0.0, -0.0, -0.0], [1.2479229080432368e-6, 1.1545220586959447e-9, 1.1103093098094718e-5, -1.3712248683840605e-5, 9.932500609918302e-9, 7.169475186089512e-19, -0.0, -0.0, -0.0], [1.1916790171743657e-6, 1.15179346082125e-9, 1.0603113967374995e-5, -1.3094778493655964e-5, 9.485191453527724e-9, 7.960944678091002e-19, -0.0, -0.0, -0.0], [1.1423715977236283e-6, 1.14941313523667e-9, 1.0164796631892286e-5, -1.2553460096161916e-5, 9.093016492657198e-9, -4.827979341722176e-20, -0.0, -0.0, -0.0]], Any[[-4.4314013047199644e-8, 4.431401304461482e-8, 1.738151497723684e-15, -1.1736448812486183e-15, -3.5183899613538406e-5, -9.865543564320581e-19, -0.0, -0.0, -0.0], [-6.813669533889316e-8, 6.813669532712529e-8, -8.968497871487431e-16, -5.932769905010645e-16, -7.716301805528195e-5, 4.609630708814739e-17, -0.0, -0.0, -0.0], [-8.604879209717646e-8, 8.604879224537274e-8, 4.193445716641267e-17, 1.3324160985439738e-15, -0.00012697409420161317, -9.060938164870259e-19, -0.0, -0.0, -0.0], [-1.0053730629023328e-7, 1.0053730622976018e-7, 2.1312381274322663e-17, -6.890047631421441e-16, -0.00018613150689656788, -2.22312391580529e-17, -0.0, -0.0, -0.0], [-1.1225710006280235e-7, 1.1225709998677983e-7, 3.769336584648835e-16, 4.119892816573052e-16, -0.0002565494865648284, -4.98489033591258e-18, -0.0, -0.0, -0.0], [-1.213203764769816e-7, 1.213203765551506e-7, -4.18162960702707e-17, -7.379793611194405e-16, -0.0003407183750656646, -1.3049296709208776e-18, -0.0, -0.0, -0.0], [-1.2762849168055065e-7, 1.2762849166491535e-7, 2.1148668334464128e-16, 5.293245471454868e-16, -0.00044199102184099703, -2.624806501877632e-18, -0.0, -0.0, -0.0], [-1.3101939259239368e-7, 1.3101939255972494e-7, -1.20446391033667e-16, -3.2532317336507054e-16, -0.000565048539342376, -2.1352233987635106e-19, -0.0, -0.0, -0.0], [-1.3136710679169885e-7, 1.313671068237868e-7, 1.8215496470262932e-16, 5.291270296500989e-16, -0.0007166703377952985, -5.34129441679808e-18, -0.0, -0.0, -0.0], [-1.2866530235743978e-7, 1.2866530236489124e-7, -2.718789413437908e-16, -3.343712587169798e-16, -0.0009070354006825069, -4.1421866627356275e-18, -0.0, -0.0, -0.0]  …  [-4.9885432451244595e-5, 4.988543245122794e-5, 2.077060311939105e-16, -4.8914458638041336e-17, 0.01997863142195809, 1.2496152077309557e-15, -0.0, -0.0, -0.0], [-4.5107677782394405e-5, 4.510767778242629e-5, -1.4423277025846226e-17, -1.0693282739317189e-16, 0.0164750815543428, 2.8196766843756834e-16, -0.0, -0.0, -0.0], [-4.084160421590944e-5, 4.084160421589988e-5, -6.034940342597439e-17, 5.3092025133899545e-18, 0.011894102227211385, -2.829301776055878e-17, -0.0, -0.0, -0.0], [-3.7160511450992347e-5, 3.7160511450980136e-5, -9.647027642868677e-17, 2.806050747664046e-17, 0.006903736853463525, 2.0498260189305974e-16, -0.0, -0.0, -0.0], [-3.4031981339358624e-5, 3.4031981339360745e-5, 1.6437860187595854e-16, -9.225882861493839e-17, 0.003362439610722481, -1.0828175601269609e-16, -0.0, -0.0, -0.0], [-3.153165962564308e-5, 3.153165962565242e-5, -1.4321294258996808e-16, 3.2216728742227863e-16, 0.0017117200402859357, -1.3419251808595159e-17, -0.0, -0.0, -0.0], [-2.9381892952099502e-5, 2.938189295209136e-5, 1.7891029911905332e-16, -3.4106289840962756e-16, 0.0008808385106539442, -1.8824430935187264e-18, -0.0, -0.0, -0.0], [-2.806921703433563e-5, 2.806921703436577e-5, 2.5766742255475816e-17, 1.2943849280171865e-16, 0.0005291021548735561, -7.169475121365759e-19, -0.0, -0.0, -0.0], [-2.689083678963043e-5, 2.689083678961238e-5, -3.0783379588884136e-16, -3.895894159578264e-16, 0.0002544059758734069, -7.960944627984063e-19, -0.0, -0.0, -0.0], [-2.5819509120099867e-5, 2.5819509120109157e-5, 1.4569305505952868e-16, 4.450073935648863e-16, 1.98963594100484e-5, 4.827979323152139e-20, -0.0, -0.0, -0.0]], Any[3.5183779520108265e-5, 7.716289015439177e-5, 0.00012697396126710027, 0.00018613137000049657, 0.0002565493464213052, 0.0003407182321502761, 0.00044199087647922315, 0.000565048391502737, 0.0007166701870520137, 0.0009070352460085582  …  -0.019978649585492635, -0.016475098293903, -0.011894117806704357, -0.006903751275682554, -0.003362452509569443, -0.0017117315414269532, -0.00088084899807232, -0.0005291120873741662, -0.00025441546106486014, -1.9905452426541103e-5], Any[1.1047610024739483e-7, 1.482577953587786e-8, 1.2361137091219383e-8, 1.1378158062343938e-8, 1.0799517682417213e-8, 1.0444359363371214e-8, 1.0238038749613323e-8, 1.0142735353073487e-8, 1.0136603905022892e-8, 1.020586298816661e-8  …  -1.2491277795461268e-7, -1.1037484530305665e-7, -8.857249873062594e-8, -8.846295997466801e-8, -1.1910470201114227e-7, -1.1786788300479176e-7, -8.292615656476963e-8, -6.626363445326456e-8, -5.146194603273532e-8, -4.379294582146837e-8], Any[0.029287839207584827, 0.02915216016269688, 0.02882585133837298, 0.02852884294627523, 0.02829940539030696, 0.028187989530074828, 0.028263336399030455, 0.02861924499770192, 0.029385319762789158, 0.030745019808636573  …  0.22601781709742988, 0.29196260763246956, 0.3817483739332202, 0.41586387758515025, 0.29510823050942586, 0.1485831595796422, 0.07478862625106282, 0.047490323205068984, 0.0370886056310598, 0.031662744984460874], [0.9985919859720223 0.9986208003394828 … 0.9998748165667598 1.0; 0.0010597550398041761 0.0010597753728243881 … 0.00010583963782829909 1.0000000000000001e-7; … ; -3.835060816826205e-8 0.0 … 0.0 0.0; 0.0 0.0 … 0.0 0.0;;; 0.8668950433347938 0.8901742449894162 … 0.9998748165453476 1.0; 0.0009199914429491265 0.0009363935044061372 … 0.00010583965576583977 1.0000000000000001e-7; … ; -3.5163523201745426e-5 0.0 … 0.0 0.0; 0.029270977161314306 0.0 … 0.0 0.0;;; 0.7306612749154213 0.7744573776964931 … 0.9998748165180058 1.0; 0.0007754133642418338 0.0008061120790450589 … 0.00010583967867012781 1.0000000000000001e-7; … ; -7.711796057033292e-5 0.0 … 0.0 0.0; 0.029135025950407983 0.0 … 0.0 0.0;;; … ;;; 6.327042613839075 4.32810048005808 … 0.9998759202042253 1.0; 0.0067131734868055215 0.0052172215219580586 … 0.000104945488681877 1.0000000000000001e-7; … ; 0.0005288970875848985 0.0 … 0.0 0.0; 0.04747785680609408 0.0 … 0.0 0.0;;; 2.6268331534081875 2.1764702821205755 … 0.9998759093467252 1.0; 0.0027871695649679196 0.002460352344730083 … 0.00010495466695606653 1.0000000000000001e-7; … ; 0.00025430680669673495 0.0 … 0.0 0.0; 0.03707424723343979 0.0 … 0.0 0.0;;; 1.0877122455001436 1.071574754381537 … 0.9998758989186184 1.0; 0.001154113089021033 0.0011439070482116064 … 0.00010496348327592254 1.0000000000000001e-7; … ; 1.9914822380764547e-5 0.0 … 0.0 0.0; 0.03164680974126087 0.0 … 0.0 0.0]), ElectrolyteData(
nc = 4, 
cspecies = [1, 2, 3, 4], 
na = 0, 
sspecies = Int64[], 
iϕ = 5, 
ip = 6, 
iϕ_we = 7, 
iq = 8, 
icc = 9, 
D = [7.5e-10, 1.04e-9, 2.0e-9, 1.9e-9], 
z = [3, 2, 1, -1], 
M0 = 0.018015, 
M = [0.018015, 0.018015, 0.018015, 0.018015], 
v0 = 1.8051e-5, 
v = [1.8051e-5, 1.8051e-5, 1.8051e-5, 1.8051e-5], 
κ = [20.0, 20.0, 20.0, 20.0], 
actcoeff! = DGML_gamma!, 
ircompensation = OhmicDropEstimation(Ru=0.005088808471190595, factor=0.95), 
xref = [1.0e-8], 
C_gap = 1.0e15, 
ϕ_pzc = 0.0, 
c_bulk = [1.0, 1.0e-7, 10.0, 13.0], 
Γ_we = 1, 
Γ_bulk = 2, 
ϕ_bulk = 0.0, 
p_bulk = 0.0, 
T = 293.15, 
ε = 80.0, 
ε_dec = ε_dec, 
rexp = exp, 
rlog = log, 
pscale = 1.0e9, 
eneutral = false, 
upwindflux! = μex_flux!, 
weights = [1.8051e-5, 1.8051e-5, 1.8051e-5, 1.8051e-5, 1.0, 0.0, 0.0, 0.0, 0.0], 
solvepressure = true, 
F = 96485.0, 
ε_0 = 8.8542e-12, 
RT = 2437.4, 
Mrel = [21.0, 21.0, 21.0, 21.0], 
vrel = [21.0, 21.0, 21.0, 21.0], 
barv = [0.00037906, 0.00037906, 0.00037906, 0.00037906], 
tildev = [5.421e-20, 5.421e-20, 5.421e-20, 5.421e-20], 
γ_bulk = [1.018, 1.018, 1.018, 1.018], 
γk_cache = DiffCache, 
γl_cache = DiffCache, 
ϕ_we = 0.0, 
edgevelocity = 0.0, 
iref = 31, 
nv = [2.5e-11, 5.2771e-11, 5.862e-11, 6.5118e-11, 7.2336e-11, 8.0354e-11, 8.9261e-11, 9.9155e-11, 1.1015e-10, 1.2235e-10, 1.3592e-10, 1.5098e-10, 1.6772e-10, 1.8631e-10, 2.0696e-10, 2.299e-10, 2.5538e-10, 2.8369e-10, 3.1513e-10, 3.5006e-10, 3.8887e-10, 4.3197e-10, 4.7985e-10, 5.3304e-10, 5.9212e-10, 6.5775e-10, 7.3066e-10, 8.1165e-10, 9.0162e-10, 1.0016e-9, 1.1126e-9, 1.2359e-9, 1.3729e-9, 1.5251e-9, 1.6941e-9, 1.8819e-9, 2.0905e-9, 2.3222e-9, 2.5796e-9, 2.8655e-9, 3.1831e-9, 3.536e-9, 3.9279e-9, 4.3633e-9, 4.8469e-9, 5.3842e-9, 5.981e-9, 6.6439e-9, 7.3804e-9, 8.1984e-9, 9.1072e-9, 1.0117e-8, 1.1238e-8, 1.2484e-8, 1.3867e-8, 1.5404e-8, 1.7112e-8, 1.9009e-8, 2.1116e-8, 2.3456e-8, 2.6056e-8, 2.8944e-8, 3.2153e-8, 3.5717e-8, 3.9676e-8, 4.4073e-8, 4.8959e-8, 5.4385e-8, 6.0413e-8, 6.711e-8, 7.4549e-8, 8.2812e-8, 9.1991e-8, 1.0219e-7, 1.1351e-7, 1.261e-7, 1.4007e-7, 1.556e-7, 1.7285e-7, 1.9201e-7, 2.1329e-7, 2.3693e-7, 2.6319e-7, 2.9237e-7, 3.2477e-7, 3.6077e-7, 4.0076e-7, 4.4518e-7, 4.9453e-7, 5.4934e-7, 6.1023e-7, 6.7787e-7, 7.5301e-7, 8.3648e-7, 9.2919e-7, 1.0322e-6, 1.1466e-6, 1.2737e-6, 1.4149e-6, 1.5717e-6, 1.7459e-6, 1.9394e-6, 2.1544e-6, 2.3932e-6, 2.6585e-6, 2.9532e-6, 3.2805e-6, 3.6441e-6, 4.0481e-6, 4.4968e-6, 4.9952e-6, 5.5489e-6, 6.1639e-6, 6.8472e-6, 7.6061e-6, 8.4492e-6, 9.3857e-6, 1.0426e-5, 1.1582e-5, 1.2866e-5, 1.4292e-5, 1.5876e-5, 1.7635e-5, 1.959e-5, 2.1762e-5, 2.4174e-5, 2.6853e-5, 2.983e-5, 3.3136e-5, 3.6809e-5, 4.0889e-5, 4.5421e-5, 5.0456e-5, 5.6049e-5, 6.2261e-5, 6.9163e-5, 7.6829e-5, 8.5345e-5, 9.4805e-5, 4.9892e-5], 
scheme = :deprecated, 
)
)

CVs and surface concentrations

plotcv(cvresult_unc_dirichlet, celldata_unc_dirichlet)
plotcv(cvresult_pts_dirichlet, celldata_pts_dirichlet)
plotcv(cvresult_odr_dirichlet, celldata_odr_dirichlet)

Voltages and concentrations

t/s: 0.48

xplotsol(grid, cvresult_unc_dirichlet.tsol(t_dirichlet), celldata_unc_dirichlet; xcut = 1ufac"nm")
xplotsol(grid, cvresult_pts_dirichlet.tsol(t_dirichlet), celldata_pts_dirichlet; xcut = 1ufac"nm")
xplotsol(grid, cvresult_odr_dirichlet.tsol(t_dirichlet), celldata_odr_dirichlet; xcut = 1ufac"nm")

Time dependent voltages

plotresult2(cvresult_unc_dirichlet, celldata_unc_dirichlet)
plotresult2(cvresult_pts_dirichlet, celldata_pts_dirichlet)
plotresult2(cvresult_odr_dirichlet, celldata_odr_dirichlet)

Tests

@test checkir(cvresult_pts_dirichlet, celldata_pts_dirichlet)
�[32m�[1mTest Passed�[22m�[39m
@test checkir(cvresult_odr_dirichlet, celldata_odr_dirichlet; tol = 0.03)
�[32m�[1mTest Passed�[22m�[39m

Robin boundary conditions

cell_unc_robin, cvresult_unc_robin, celldata_unc_robin = simulate(grid, edata_unc, C_gap = C_gap_robin)
(PNPSystem(VoronoiFVM.System{Float64, Float64, Int32, Int64, Matrix{Int32}}(
  grid = ExtendableGrids.ExtendableGrid{Float64, Int32}(dim=1, nnodes=140, ncells=139,
  nbfaces=2),  
  physics = Physics(data=LiquidElectrolytes.ElectrolyteData{typeof(LiquidElectrolytes.DG
  ML_gamma!), PreallocationTools.DiffCache{Vector{Float64}, Vector{Float64}},
  typeof(exp), typeof(log), typeof(LiquidElectrolytes.μex_flux!),
  typeof(Main.var"workspace#4".ε_dec), LiquidElectrolytes.NoIRCompensation},
  flux=pnpflux!, storage=pnpstorage!, reaction=_pnpreaction!, breaction=halfcellbc,
  bstorage=pnpbstorage!, ),  
  num_species = 6)), CVSweepResult([0.0010257133506979509, 0.0022367451166726876, 0.0036893540500746954, 0.005434498370618695, 0.007531163067726276, 0.010049327402380952, 0.013071771712520155, 0.016695677732453812, 0.0210338784504743, 0.0262153186708522  …  -0.03491203984134153, -0.03220799918374213, -0.02992072437460438, -0.027380590951522052, -0.0239010065344305, -0.019366933948250276, -0.013312248691518489, -0.008498962785370054, -0.0031699815372292503, 0.0025236419752350013], [0.0008953576539725568, 0.002082781240025942, 0.003525683935151631, 0.005263996149964446, 0.007355254828677688, 0.009869109038323911, 0.012888162328344445, 0.016509403208663637, 0.020845375556826425, 0.026024571891526554  …  -0.06302482047496663, -0.05913810729044951, -0.054846189553414346, -0.04997864976281674, -0.04425054187869533, -0.03784072352945931, -0.030179041489880397, -0.02438103775167204, -0.01821001277056605, -0.011778225785014824], [0.0011999999999999789, 0.0026399999999999757, 0.0043680000000000385, 0.006441600000000047, 0.008929920000000036, 0.011915903999999977, 0.015499084799999951, 0.019798901759999987, 0.02495868211200003, 0.031150418534400037  …  -0.0924389787594384, -0.0804389787594384, -0.06843897875943838, -0.056438978759438374, -0.04443897875943836, -0.03332923406957855, -0.02221948937971918, -0.01481299291981264, -0.007406496459906098, 0.0], [0.0012, 0.00264, 0.0043679999999999995, 0.006441599999999999, 0.008929919999999997, 0.011915903999999996, 0.015499084799999995, 0.019798901759999994, 0.024958682111999992, 0.03115041853439999  …  2.3075610212405615, 2.3195610212405615, 2.3315610212405615, 2.3435610212405615, 2.3555610212405615, 2.3666707659304214, 2.3777805106202807, 2.3851870070801873, 2.392593503540094, 2.4], Any[[3.9702945351521857e-8, -3.9702945351521857e-8, -0.0, -0.0, 2.645428673457881e-5, -0.0], [6.542370228814626e-8, -6.542370228814626e-8, -0.0, -0.0, 6.120847668700389e-5, -0.0], [8.42575165220169e-8, -8.42575165220169e-8, -0.0, -0.0, 0.00010300900626917232, -0.0], [9.928211120889194e-8, -9.928211120889194e-8, -0.0, -0.0, 0.0001528640052534753, -0.0], [1.1138347348355754e-7, -1.1138347348355754e-7, -0.0, -0.0, 0.00021231182713384858, -0.0], [1.207421886830623e-7, -1.207421886830623e-7, -0.0, -0.0, 0.00028332033878221825, -0.0], [1.2728308588778707e-7, -1.2728308588778707e-7, -0.0, -0.0, 0.00036843233069166093, -0.0], [1.308533170708533e-7, -1.308533170708533e-7, -0.0, -0.0, 0.00047102620054435677, -0.0], [1.3133133217215062e-7, -1.3133133217215062e-7, -0.0, -0.0, 0.0005957305499573819, -0.0], [1.2871427911448916e-7, -1.2871427911448916e-7, -0.0, -0.0, 0.0007490794468590204, -0.0]  …  [5.628849699235161e-5, -5.628849699235161e-5, -0.0, -0.0, -0.0087317883681652, -0.0], [5.368678053763176e-5, -5.368678053763176e-5, -0.0, -0.0, -0.007320791169574897, -0.0], [4.949814748833603e-5, -4.949814748833603e-5, -0.0, -0.0, -0.005846534717906184, -0.0], [4.4762750346372115e-5, -4.4762750346372115e-5, -0.0, -0.0, -0.004410658683230894, -0.0], [4.029255110782337e-5, -4.029255110782337e-5, -0.0, -0.0, -0.003117378229273535, -0.0], [3.665281658904451e-5, -3.665281658904451e-5, -0.0, -0.0, -0.0021192827583929276, -0.0], [3.359373419703493e-5, -3.359373419703493e-5, -0.0, -0.0, -0.0013519951190938777, -0.0], [3.175351031167728e-5, -3.175351031167728e-5, -0.0, -0.0, -0.0009583818628462884, -0.0], [3.0148674071271697e-5, -3.0148674071271697e-5, -0.0, -0.0, -0.0006430439793790403, -0.0], [2.872342530488986e-5, -2.872342530488986e-5, -0.0, -0.0, -0.00038305371464565034, -0.0]], Any[[1.0656717996218628e-8, 1.102628515558456e-9, 1.045293255438484e-7, -1.290927956151509e-7, 9.2248512418445e-11, 2.9999094340138344e-20], [1.2745496235961664e-8, 1.1027310442208893e-9, 1.2309747259342511e-7, -1.5202429474340563e-7, 1.0883212677634702e-10, -6.945706494553943e-21], [1.3594135710671963e-8, 1.1027728786002184e-9, 1.306414375078297e-7, -1.61341025266012e-7, 1.1561322158422909e-10, -7.613061075058779e-20], [1.4184347824150099e-8, 1.1028021174030618e-9, 1.358881185413589e-7, -1.6782062869039435e-7, 1.20299000410798e-10, -9.490568390942284e-20], [1.4644650093308606e-8, 1.1028250685669943e-9, 1.3997996973050398e-7, -1.7287402594097038e-7, 1.2397024988229656e-10, -1.4812945241095459e-19], [1.500398160142668e-8, 1.1028431639448141e-9, 1.4317424359243654e-7, -1.7681892555319077e-7, 1.2681210721496238e-10, 1.6711899260892258e-18], [1.5277585867189466e-8, 1.1028571674126056e-9, 1.4560644895408012e-7, -1.7982267621316058e-7, 1.2897246822210283e-10, -8.354321253391025e-19], [1.548214005102053e-8, 1.1028679164493954e-9, 1.474248362644764e-7, -1.8206836656789757e-7, 1.3063751273570582e-10, -9.596908573438793e-19], [1.564285371359608e-8, 1.1028766710004072e-9, 1.4885350608048806e-7, -1.8383275797649907e-7, 1.318824875721709e-10, 5.624701462385254e-19], [1.5799512052119773e-8, 1.1028854122373276e-9, 1.5024612770767924e-7, -1.855526303407121e-7, 1.331557850627336e-10, 2.05582467220709e-18]  …  [2.508799881709875e-6, 1.2171577213707828e-9, 2.2311661255057533e-5, -2.7554738859353044e-5, 1.9960652939301475e-8, 1.3200403449533266e-15], [2.3999235775191647e-6, 1.2118346334805933e-9, 2.1343805485733433e-5, -2.6359444361490996e-5, 1.90947179319179e-8, -4.525850853147258e-17], [2.2191477683053593e-6, 1.2027813829250143e-9, 1.9736797113905734e-5, -2.4374802036875672e-5, 1.7656948141959582e-8, 1.332028999798522e-17], [2.0106236795748337e-6, 1.192315351362759e-9, 1.788312026286505e-5, -2.2085526380291364e-5, 1.599850588429496e-8, 6.633266152836781e-17], [1.8097603247310272e-6, 1.182271268248036e-9, 1.6097544358252934e-5, -1.9880354891443255e-5, 1.4400987253629147e-8, 6.85064489220939e-17], [1.6424700291525572e-6, 1.1739493173702236e-9, 1.4610417096946817e-5, -1.804376500827633e-5, 1.3070460344494747e-8, -4.479352055482318e-17], [1.499283229147671e-6, 1.1668683577784624e-9, 1.333755853707805e-5, -1.6471795165822675e-5, 1.1931663957035952e-8, -5.9395300063919156e-18], [1.4115965084689337e-6, 1.1625485551588569e-9, 1.2558068008669272e-5, -1.550913077320634e-5, 1.1234268479968673e-8, -1.9292353552561125e-17], [1.3366285074574946e-6, 1.1588745702249593e-9, 1.1891640715124809e-5, -1.4686098510991363e-5, 1.0638024776129209e-8, -2.3276045204230665e-18], [1.2709167009728855e-6, 1.155668851259318e-9, 1.1307496467820263e-5, -1.3964685112712083e-5, 1.0115396981406915e-8, -6.280220419287435e-19]], Any[[-3.9702945225208545e-8, 3.97029453457212e-8, 1.8947245586417962e-16, -5.88772813394701e-16, -2.6454286730179772e-5, -2.999909420122339e-20], [-6.542370240703975e-8, 6.542370229638699e-8, -9.484516695701855e-16, -2.2704384102532947e-15, -6.120847668656968e-5, 6.945706591027267e-21], [-8.425751650661836e-8, 8.425751652236993e-8, 1.9180616398276323e-16, 1.9980343084822062e-15, -0.00010300900625320146, 7.613060991256077e-20], [-9.928211112628551e-8, 9.928211120676176e-8, 6.012503763313653e-16, 1.1424286731176431e-15, -0.00015286400525174298, 9.490568365845163e-20], [-1.1138347352503889e-7, 1.1138347348807749e-7, -1.3165714737628552e-15, -5.886022421349476e-16, -0.00021231182712614548, 1.4812945162002836e-19], [-1.2074218869930336e-7, 1.207421886850155e-7, 9.785663907625953e-16, -7.093165073381838e-16, -0.0002833203387861462, -1.6711899154712482e-18], [-1.2728308592622603e-7, 1.2728308588762433e-7, 2.3025809812609905e-16, -2.62148253315513e-16, -0.00036843233068450514, 8.3543212096038025e-19], [-1.3085331701033602e-7, 1.3085331707098626e-7, -6.472179544063497e-16, 2.041757566884322e-16, -0.00047102620053852067, 9.596908490186282e-19], [-1.3133133218011156e-7, 1.3133133217257e-7, 4.888032321026699e-16, 4.640907811687296e-16, -0.0005957305499662771, -5.62470141709378e-19], [-1.2871427914923794e-7, 1.2871427911455327e-7, -2.328763563754009e-16, -4.737414510532715e-16, -0.0007490794468489213, -2.0558246599182924e-18]  …  [-5.628849699421862e-5, 5.628849699421656e-5, 3.241086869373855e-16, -1.954918160945035e-16, 0.008731788368161656, -1.3200403369314117e-15], [-5.36867805468973e-5, 5.3686780546897686e-5, -2.7300888329542805e-16, 1.550747919833173e-17, 0.007320791169572194, 4.525850823890194e-17], [-4.949814749270943e-5, 4.949814749271719e-5, 1.2893196709926058e-16, 1.3810025172034113e-17, 0.005846534717895745, -1.3320289901700332e-17], [-4.4762750345573126e-5, 4.4762750345575505e-5, -9.653126280088908e-17, 1.3028721981486746e-16, 0.004410658683232087, -6.633266114387886e-17], [-4.029255110623802e-5, 4.0292551106236065e-5, 1.5080913406094465e-16, -9.139824314052802e-17, 0.0031173782292683696, -6.850644850696976e-17], [-3.665281658824146e-5, 3.6652816588250836e-5, -9.025983085941824e-18, -6.004108343317383e-17, 0.0021192827583914574, 4.4793520269787987e-17], [-3.35937341972012e-5, 3.359373419719075e-5, 1.0403089251587866e-16, -7.288210291354902e-17, 0.0013519951190994032, 5.939529973359828e-18], [-3.1753510311573075e-5, 3.175351031157089e-5, -1.3612158275555508e-16, 5.354196903548103e-16, 0.000958381862839072, 1.9292353439476888e-17], [-3.0148674071267062e-5, 3.014867407127378e-5, 3.045930478326464e-17, -1.0693113332727738e-16, 0.0006430439793812866, 2.327604506398931e-18], [-2.872342530489495e-5, 2.8723425304898862e-5, -2.9285994744727983e-16, -1.741008460445434e-16, 0.0003830537146262026, 6.280220400662894e-19]], Any[2.6454194481667347e-5, 6.120836785444299e-5, 0.00010300889063998001, 0.0001528638849527425, 0.0002123117031558956, 0.00028332021197403906, 0.0003684322017120367, 0.0004710260699010077, 0.0005957304180837891, 0.0007490793136931356  …  -0.008731808328814586, -0.0073208102642901215, -0.005846552374843885, -0.004410674681737966, -0.003117392630255623, -0.0021192958288518073, -0.0013520070507633602, -0.0009583930971075521, -0.0006430546174060629, -0.0003830638300231832], Any[8.494306693655526e-8, 1.9300465728429588e-8, 1.1783077409153791e-8, 1.0191026875904742e-8, 9.440008827006913e-9, 8.962331544789072e-9, 8.64138398417978e-9, 8.428654316153378e-9, 8.294178453940724e-9, 8.21369912753938e-9  …  3.414990040576714e-10, -6.71978458031189e-8, -1.1550088906740476e-7, -1.3419738548479903e-7, -1.2895947759136057e-7, -1.1496873870308742e-7, -9.678661849403143e-8, -8.755558056500564e-8, -7.330630071973535e-8, -6.287907742059627e-8], Any[0.02200778179501585, 0.024134842619983093, 0.024190117352741333, 0.024042724880768956, 0.023890744841159134, 0.023780605930287465, 0.02375319429541419, 0.02386005477520863, 0.024168538130590066, 0.024766702770901625  …  0.10678389482330433, 0.11758317204370533, 0.12285482412051973, 0.11965647442549321, 0.10777350429019528, 0.08983976043255319, 0.06906448343397074, 0.053144419333291996, 0.04257593065878246, 0.035103073199359354], [0.9985660994748089 0.998599782062344 … 0.999874819134124 1.0; 0.001059714973537555 0.0010597387505044023 … 0.00010583746923325143 1.0000000000000001e-7; … ; -2.955148690696581e-7 -5.795432284817061e-7 … -1.8030063957591597e-7 -1.2799090502481671e-42; 1.395997043985982e-13 9.20672062841785e-14 … 1.971176703938037e-29 -6.480160928362263e-56;;; 0.8980333961916475 0.916098852183188 … 0.9998748191176247 1.0; 0.0009464914724077629 0.0009591463164043848 … 0.00010583748305512078 1.0000000000000001e-7; … ; 0.0010257133506979509 0.0008580424936738714 … 1.2993959958672898e-5 9.224086497300076e-41; 4.856551659331061e-8 3.213037728678702e-8 … 4.988238005900487e-26 5.1036955580796135e-56;;; 0.7799148331304245 0.8167502757624723 … 0.9998748190943111 1.0; 0.00081458767566279 0.0008400491909621471 … 0.00010583750258491395 1.0000000000000001e-7; … ; 0.0022367451166726876 0.00184836938509283 … 1.5334180078135867e-5 1.0885350105415194e-40; 2.600425058095653e-7 1.7268180576403583e-7 … 6.966120757095686e-26 -6.0596678238513065e-55;;; … ;;; 17.756365938483253 9.323714187693467 … 0.9998759440605338 1.0; 0.024200989460823996 0.015800823841314676 … 0.00010492447371312682 1.0000000000000001e-7; … ; -0.008498962785370054 -0.002997649888407527 … 0.0015825679085502019 1.1234252931936262e-38; 6.21785856818148e-5 3.111793498091557e-5 … 6.919689475592595e-22 4.190773359501488e-52;;; 8.624708126353841 5.474925138831789 … 0.9998759319462339 1.0; 0.010829848842085587 0.008010302531199795 … 0.00010493471150986006 1.0000000000000001e-7; … ; -0.0031699815372292503 0.0006879477328450099 … 0.001498575298064646 1.0638010441797074e-38; 2.834926210091917e-5 1.5939694686758003e-5 … 6.182286616887079e-22 3.902065027430145e-52;;; 4.042054746168092 3.05583015639222 … 0.999875920402201 1.0; 0.004745496691526313 0.00394103870485849 … 0.00010494446885277589 1.0000000000000001e-7; … ; 0.0025236419752350013 0.004888890009614346 … 0.001424953159902253 1.011538533545078e-38; 1.0129324568356235e-5 6.180431462176078e-6 … 5.57027308184252e-22 1.3794081100663435e-52]), ElectrolyteData(
nc = 4, 
cspecies = [1, 2, 3, 4], 
na = 0, 
sspecies = Int64[], 
iϕ = 5, 
ip = 6, 
iϕ_we = 7, 
iq = 8, 
icc = 9, 
D = [7.5e-10, 1.04e-9, 2.0e-9, 1.9e-9], 
z = [3, 2, 1, -1], 
M0 = 0.018015, 
M = [0.018015, 0.018015, 0.018015, 0.018015], 
v0 = 1.8051e-5, 
v = [1.8051e-5, 1.8051e-5, 1.8051e-5, 1.8051e-5], 
κ = [20.0, 20.0, 20.0, 20.0], 
actcoeff! = DGML_gamma!, 
ircompensation = LiquidElectrolytes.NoIRCompensation(), 
xref = [1.0e-8], 
C_gap = 0.15179, 
ϕ_pzc = 0.0, 
c_bulk = [1.0, 1.0e-7, 10.0, 13.0], 
Γ_we = 1, 
Γ_bulk = 2, 
ϕ_bulk = 0.0, 
p_bulk = 0.0, 
T = 293.15, 
ε = 80.0, 
ε_dec = ε_dec, 
rexp = exp, 
rlog = log, 
pscale = 1.0e9, 
eneutral = false, 
upwindflux! = μex_flux!, 
weights = [1.8051e-5, 1.8051e-5, 1.8051e-5, 1.8051e-5, 1.0, 0.0, 0.0, 0.0, 0.0], 
solvepressure = true, 
F = 96485.0, 
ε_0 = 8.8542e-12, 
RT = 2437.4, 
Mrel = [21.0, 21.0, 21.0, 21.0], 
vrel = [21.0, 21.0, 21.0, 21.0], 
barv = [0.00037906, 0.00037906, 0.00037906, 0.00037906], 
tildev = [5.421e-20, 5.421e-20, 5.421e-20, 5.421e-20], 
γ_bulk = [1.018, 1.018, 1.018, 1.018], 
γk_cache = DiffCache, 
γl_cache = DiffCache, 
ϕ_we = 0.0, 
edgevelocity = 0.0, 
iref = 31, 
nv = Float64[], 
scheme = :deprecated, 
)
)
cell_pts_robin, cvresult_pts_robin, celldata_pts_robin = simulate(grid, edata_pts, C_gap = C_gap_robin)
(PNPSystem(VoronoiFVM.System{Float64, Float64, Int32, Int64, Matrix{Int32}}(
  grid = ExtendableGrids.ExtendableGrid{Float64, Int32}(dim=1, nnodes=140, ncells=139,
  nbfaces=2),  
  physics = Physics(data=LiquidElectrolytes.ElectrolyteData{typeof(LiquidElectrolytes.DG
  ML_gamma!), PreallocationTools.DiffCache{Vector{Float64}, Vector{Float64}},
  typeof(exp), typeof(log), typeof(LiquidElectrolytes.μex_flux!),
  typeof(Main.var"workspace#4".ε_dec), LiquidElectrolytes.PseudoPotentiostat},
  flux=pnpflux!, storage=pnpstorage!, reaction=_pnpreaction!, breaction=halfcellbc,
  bstorage=pnpbstorage!, generic_operator=pseudopotentiostat, ),  
  num_species = 7)), CVSweepResult([0.001346602368289842, 0.0027973327159608176, 0.004533216778675785, 0.006613098017296078, 0.009106509735375523, 0.01209658850187176, 0.015683010308031688, 0.019985393993259392, 0.02514734854727773, 0.03134131411241517  …  -0.0675884349995284, -0.05792439555690066, -0.04801839672606872, -0.037852372172964374, -0.02744437115529153, -0.0176253918147093, -0.007621698554451804, -0.0008900689535920661, 0.005924139310753128, 0.01279720834623896], [0.0011999999999999786, 0.0026399999999999753, 0.0043680000000000385, 0.006441600000000047, 0.008929920000000034, 0.011915903999999977, 0.015499084799999951, 0.019798901759999987, 0.02495868211200003, 0.031150418534400037  …  -0.0924389787594384, -0.0804389787594384, -0.06843897875943838, -0.056438978759438374, -0.04443897875943836, -0.03332923406957855, -0.02221948937971918, -0.01481299291981264, -0.007406496459906098, 0.0], [0.0011999999999999789, 0.0026399999999999757, 0.0043680000000000385, 0.006441600000000047, 0.008929920000000036, 0.011915903999999977, 0.015499084799999951, 0.019798901759999987, 0.02495868211200003, 0.031150418534400037  …  -0.0924389787594384, -0.0804389787594384, -0.06843897875943838, -0.056438978759438374, -0.04443897875943836, -0.03332923406957855, -0.02221948937971918, -0.01481299291981264, -0.007406496459906098, 0.0], [0.0012, 0.00264, 0.0043679999999999995, 0.006441599999999999, 0.008929919999999997, 0.011915903999999996, 0.015499084799999995, 0.019798901759999994, 0.024958682111999992, 0.03115041853439999  …  2.3075610212405615, 2.3195610212405615, 2.3315610212405615, 2.3435610212405615, 2.3555610212405615, 2.3666707659304214, 2.3777805106202807, 2.3851870070801873, 2.392593503540094, 2.4], Any[[4.4637683736803435e-8, -4.4637683736803435e-8, -0.0, -0.0, -0.0, -0.0, -0.0], [6.829585893868007e-8, -6.829585893868007e-8, -0.0, -0.0, -0.0, -0.0, -0.0], [8.615658335982962e-8, -8.615658335982962e-8, -0.0, -0.0, -0.0, -0.0, -0.0], [1.0061445738238431e-7, -1.0061445738238431e-7, -0.0, -0.0, -0.0, -0.0, -0.0], [1.1231168423790974e-7, -1.1231168423790974e-7, -0.0, -0.0, -0.0, -0.0, -0.0], [1.2135675461722936e-7, -1.2135675461722936e-7, -0.0, -0.0, -0.0, -0.0, -0.0], [1.2764945865476399e-7, -1.2764945865476399e-7, -0.0, -0.0, -0.0, -0.0, -0.0], [1.3102684117891322e-7, -1.3102684117891322e-7, -0.0, -0.0, -0.0, -0.0, -0.0], [1.313621439674316e-7, -1.313621439674316e-7, -0.0, -0.0, -0.0, -0.0, -0.0], [1.286480285330252e-7, -1.286480285330252e-7, -0.0, -0.0, -0.0, -0.0, -0.0]  …  [4.952811256320189e-5, -4.952811256320189e-5, -0.0, -0.0, -0.0, -0.0, -0.0], [4.479430361703507e-5, -4.479430361703507e-5, -0.0, -0.0, -0.0, -0.0, -0.0], [4.059503123809982e-5, -4.059503123809982e-5, -0.0, -0.0, -0.0, -0.0, -0.0], [3.697013275227867e-5, -3.697013275227867e-5, -0.0, -0.0, -0.0, -0.0, -0.0], [3.387748750766084e-5, -3.387748750766084e-5, -0.0, -0.0, -0.0, -0.0, -0.0], [3.1405421548197365e-5, -3.1405421548197365e-5, -0.0, -0.0, -0.0, -0.0, -0.0], [2.9281634434663584e-5, -2.9281634434663584e-5, -0.0, -0.0, -0.0, -0.0, -0.0], [2.7984800988305192e-5, -2.7984800988305192e-5, -0.0, -0.0, -0.0, -0.0, -0.0], [2.6819420570124708e-5, -2.6819420570124708e-5, -0.0, -0.0, -0.0, -0.0, -0.0], [2.5758884208372176e-5, -2.5758884208372176e-5, -0.0, -0.0, -0.0, -0.0, -0.0]], Any[[1.2102166430181114e-8, 1.1027781330320466e-9, 1.1737930568473048e-7, -1.4496241081368346e-7, 1.0372604740527638e-10, 1.986608743731474e-18, -0.0], [1.30439660350708e-8, 1.1028244825079198e-9, 1.2575141501822267e-7, -1.5530188953369541e-7, 1.1124878122180849e-10, -8.74058696310177e-18, -0.0], [1.373031468006273e-8, 1.1028583711841058e-9, 1.3185269825560797e-7, -1.628369198305674e-7, 1.1669432515257475e-10, -1.5455497886249418e-18, -0.0], [1.4271467890287109e-8, 1.1028852103997357e-9, 1.3666327115713288e-7, -1.6877793503002793e-7, 1.2099715398830312e-10, 1.9687719221537403e-19, -0.0], [1.4703788556461344e-8, 1.102906793760918e-9, 1.4050638044214345e-7, -1.7352413987824994e-7, 1.244468766571098e-10, -8.074482262162332e-18, -0.0], [1.5043959842385598e-8, 1.1029239529257918e-9, 1.4353033035026175e-7, -1.7725868986951794e-7, 1.2713174984041488e-10, -4.403908412400982e-19, -0.0], [1.5304232822615383e-8, 1.1029373051906885e-9, 1.458440274774161e-7, -1.8011608273798026e-7, 1.291979657349156e-10, -7.057171763908429e-19, -0.0], [1.5500060052063978e-8, 1.1029476281495122e-9, 1.4758483650030993e-7, -1.8226596553690788e-7, 1.307350562613442e-10, 2.336485282203234e-18, -0.0], [1.56559954384977e-8, 1.1029561499058053e-9, 1.489710299614832e-7, -1.8397789880551227e-7, 1.3198423079362235e-10, 3.629041021414884e-18, -0.0], [1.5811393988906e-8, 1.102964830789283e-9, 1.5035245303489818e-7, -1.856839409415179e-7, 1.3323015925779333e-10, -8.285610564110952e-19, -0.0]  …  [2.212293406471964e-6, 1.2023159378470728e-9, 1.9675863730387577e-5, -2.4299550364838924e-5, 1.76024418825561e-8, 2.3444389024433064e-16, -0.0], [2.003274669269043e-6, 1.19182669499353e-9, 1.7817789731811043e-5, -2.2004844269260014e-5, 1.5940032122064567e-8, -8.27110769251427e-18, -0.0], [1.8162368669895172e-6, 1.1824933182542651e-9, 1.6155116362001825e-5, -1.9951456336242732e-5, 1.4452466419890053e-8, -1.1301309972965606e-16, -0.0], [1.6526280092291535e-6, 1.1743763425234498e-9, 1.4700715465496676e-5, -1.815528317001699e-5, 1.3151263646988457e-8, -1.550402703438194e-17, -0.0], [1.5107355831706918e-6, 1.1673765249886787e-9, 1.343936340582816e-5, -1.6597523700926277e-5, 1.2022712980975659e-8, 5.1169150268992004e-17, -0.0], [1.395766333912346e-6, 1.1617340599481235e-9, 1.2417345246825721e-5, -1.533533961256483e-5, 1.1108337955485955e-8, -6.591290326142972e-18, -0.0], [1.2972848576833356e-6, 1.1569278319106182e-9, 1.1541895388621866e-5, -1.4254166139941683e-5, 1.03250960768722e-8, 1.4120560862560015e-18, -0.0], [1.237209204209346e-6, 1.1540065299939085e-9, 1.1007853769971169e-5, -1.3594629060383122e-5, 9.847298087137382e-9, -8.598903952065074e-19, -0.0], [1.184484502740481e-6, 1.1514550288332672e-9, 1.0539158486382176e-5, -1.3015794150165508e-5, 9.427962480094565e-9, 4.102782780133848e-19, -0.0], [1.1369989888619575e-6, 1.1491661977056881e-9, 1.011703698429234e-5, -1.2494477467460706e-5, 9.050285845960813e-9, -3.148085319206234e-19, -0.0]], Any[[-4.463768395033595e-8, 4.463768373839453e-8, -1.3470825004954616e-15, 6.823954709338372e-16, -2.9665418822276825e-5, -1.9866087582154473e-18, -0.0], [-6.82958589276685e-8, 6.82958589476107e-8, 4.3529507556365205e-16, 5.633299288926519e-16, -6.496909962320463e-5, 8.740586943133798e-18, -0.0], [-8.615658329942757e-8, 8.615658336537123e-8, 5.741650949445901e-16, -7.662246541274804e-16, -0.00010697250027695724, 1.5455497619122946e-18, -0.0], [-1.0061445736076813e-7, 1.0061445739298277e-7, -1.0020445029341492e-15, 4.740875169517841e-17, -0.00015695987412419818, -1.968772168779914e-19, -0.0], [-1.1231168421858795e-7, 1.1231168424074217e-7, -2.2302004277313344e-16, 5.730107743259397e-16, -0.00021650994692230105, 8.07448224803823e-18, -0.0], [-1.213567546883808e-7, 1.213567546174697e-7, -2.1588876651108108e-16, -4.457906078735209e-16, -0.0002876052874077676, 4.403908375476684e-19, -0.0], [-1.276494586446332e-7, 1.2764945865465443e-7, 2.636330491324906e-16, 3.143781047882261e-16, -0.0003728018827394273, 7.057171725497033e-19, -0.0], [-1.310268411952835e-7, 1.3102684117893084e-7, 2.808262297749768e-16, 5.134899808806169e-16, -0.00047549448897370823, -2.336485270227871e-18, -0.0], [-1.3136214397983244e-7, 1.3136214396720868e-7, 4.8936296206212736e-17, -7.265501338039014e-16, -0.0006003339716563535, -3.6290409990920385e-18, -0.0], [-1.2864802852666923e-7, 1.2864802853302325e-7, 1.173313744305801e-16, 3.704103401007229e-16, -0.0007538858039207452, 8.285610509011779e-19, -0.0]  …  [-4.95281125601451e-5, 4.952811256016732e-5, -1.978940015329167e-16, 5.823182105783864e-17, 0.005751060347724742, -2.344438888158013e-16, -0.0], [-4.479430361415365e-5, 4.479430361414893e-5, 1.1413938370841148e-16, -9.67718201579093e-17, 0.004546302100104794, 8.271107647905147e-18, -0.0], [-4.059503124034619e-5, 4.059503124033914e-5, -1.0001765041178778e-17, 2.5353390177215718e-17, 0.003431762483562464, 1.1301309904868233e-16, -0.0], [-3.6970132754262505e-5, 3.697013275426971e-5, 4.807250788847056e-17, 2.0044187663825763e-17, 0.0024521304603925065, 1.550402692743679e-17, -0.0], [-3.3877487507259036e-5, 3.3877487507254185e-5, -1.2077842794899069e-16, 8.972450603675353e-17, 0.001648669936325558, -5.1169149947588125e-17, -0.0], [-3.1405421547897157e-5, 3.140542154789804e-5, 7.45931094670027e-17, -2.0548680487210425e-16, 0.0010731682678236196, 6.591290285950134e-18, -0.0], [-2.9281634434628012e-5, 2.928163443463039e-5, 1.1853040250697777e-16, 2.8216530945524704e-16, 0.0006351843123308025, -1.4120560753428843e-18, -0.0], [-2.798480098829912e-5, 2.7984800988287817e-5, -2.115058209952933e-16, -3.6615540243908895e-16, 0.00039820488874338264, 8.598903882770194e-19, -0.0], [-2.6819420570095272e-5, 2.6819420570099612e-5, -6.680210041815765e-17, 2.300236552881668e-16, 0.00019004523467678242, -4.1027827386664134e-19, -0.0], [-2.575888420837426e-5, 2.575888420837586e-5, 3.4285183199422864e-16, -3.376273327755641e-17, 1.0361044222117231e-8, 3.1480853192077047e-19, -0.0]], Any[2.966531509622941e-5, 6.496898837442348e-5, 0.00010697238358263211, 0.00015695975312704415, 0.00021650982247542412, 0.0002876051602760178, 0.0003728017535414613, 0.0004754943582386518, 0.0006003338396721225, 0.0007538856706905863  …  -0.005751077950166632, -0.004546318040136915, -0.003431776936028883, -0.0024521436116561562, -0.0016486819590385378, -0.001073179376161574, -0.0006351946374268793, -0.00039821473604146934, -0.0001900546626392625, -1.941133006807804e-8], Any[9.539252384406382e-8, 1.3097065551722827e-8, 1.1083335910958716e-8, 1.0031654891204977e-8, 9.370135236880068e-9, 8.924549492539168e-9, 8.620419113797455e-9, 8.417735374677434e-9, 8.289631549194014e-9, 8.21335534292243e-9  …  -1.435815566482906e-7, -1.35230075464134e-7, -1.2054886327479933e-7, -1.0457385536842193e-7, -8.942727264308105e-8, -7.678722822914706e-8, -6.412345180399902e-8, -5.753217704737186e-8, -4.925842939189285e-8, -4.335251046824638e-8], Any[0.02472109448142824, 0.02451643977652366, 0.02430752037512074, 0.02410656324479748, 0.023931837283138815, 0.023809684780827255, 0.023776805587215562, 0.023883017731338628, 0.024194727859894516, 0.0247994779724401  …  0.1048396483668047, 0.10039665916914309, 0.09287842534233602, 0.08163611036439389, 0.06695513771813487, 0.051801602911924094, 0.039423474702750615, 0.0319962215155646, 0.02810506621167544, 0.02565791428348347], [0.9987452789919206 0.9987452793957277 … 0.9998748101899643 1.0; 0.0010599175242964431 0.00105991747154307 … 0.00010584502415404675 1.0000000000000001e-7; … ; 1.1485750121384206e-23 6.714392140032136e-24 … 2.618344214423319e-29 2.1099917895087356e-64; -1.8072214242126652e-6 0.0 … 0.0 0.0;;; 0.886464753763629 0.9064891798377394 … 0.9998748101714353 1.0; 0.0009335174062303613 0.0009475273414555669 … 0.00010584503967614003 1.0000000000000001e-7; … ; 6.107244648986981e-8 4.0419510925960844e-8 … 4.369468910135928e-22 4.378334174256941e-48; 0.001346602368289842 0.0 … 0.0 0.0;;; 0.7680375890737041 0.8066015220282156 … 0.9998748101476177 1.0; 0.0008013966969718276 0.0008280145709620725 … 0.00010584505962818446 1.0000000000000001e-7; … ; 2.929836106569879e-7 1.9462910698749873e-7 … -5.490236711771742e-22 -5.502902334017927e-48; 0.0027973327159608176 0.0 … 0.0 0.0;;; … ;;; 4.243039048113944 3.1739909098056684 … 0.9998759175337961 1.0; 0.005000778317320816 0.004123879781913727 … 0.00010494764985171547 1.0000000000000001e-7; … ; 1.0943001407969309e-5 6.648802035502683e-6 … 5.263328100037835e-22 -6.743117781492762e-55; -0.0008900689535920661 0.0 … 0.0 0.0;;; 2.078005903825867 1.8042823338594374 … 0.9998759067346882 1.0; 0.0023220601640741934 0.0021148088121882447 … 0.00010495677985112724 1.0000000000000001e-7; … ; 2.501327632638916e-6 1.5987690936673924e-6 … 4.809592082233925e-22 3.5885861907384097e-53; 0.005924139310753128 0.0 … 0.0 0.0;;; 1.0014549616503294 1.0014454763518792 … 0.9998758963493619 1.0; 0.0010672098392480892 0.001068442725300734 … 0.00010496556100726504 1.0000000000000001e-7; … ; 6.893933695144639e-15 4.2690834409240935e-15 … 4.418663196107814e-22 3.833628820979689e-54; 0.01279720834623896 0.0 … 0.0 0.0]), ElectrolyteData(
nc = 4, 
cspecies = [1, 2, 3, 4], 
na = 0, 
sspecies = Int64[], 
iϕ = 5, 
ip = 6, 
iϕ_we = 7, 
iq = 8, 
icc = 9, 
D = [7.5e-10, 1.04e-9, 2.0e-9, 1.9e-9], 
z = [3, 2, 1, -1], 
M0 = 0.018015, 
M = [0.018015, 0.018015, 0.018015, 0.018015], 
v0 = 1.8051e-5, 
v = [1.8051e-5, 1.8051e-5, 1.8051e-5, 1.8051e-5], 
κ = [20.0, 20.0, 20.0, 20.0], 
actcoeff! = DGML_gamma!, 
ircompensation = LiquidElectrolytes.PseudoPotentiostat(), 
xref = [1.0e-8], 
C_gap = 0.15179, 
ϕ_pzc = 0.0, 
c_bulk = [1.0, 1.0e-7, 10.0, 13.0], 
Γ_we = 1, 
Γ_bulk = 2, 
ϕ_bulk = 0.0, 
p_bulk = 0.0, 
T = 293.15, 
ε = 80.0, 
ε_dec = ε_dec, 
rexp = exp, 
rlog = log, 
pscale = 1.0e9, 
eneutral = false, 
upwindflux! = μex_flux!, 
weights = [1.8051e-5, 1.8051e-5, 1.8051e-5, 1.8051e-5, 1.0, 0.0, 0.0, 0.0, 0.0], 
solvepressure = true, 
F = 96485.0, 
ε_0 = 8.8542e-12, 
RT = 2437.4, 
Mrel = [21.0, 21.0, 21.0, 21.0], 
vrel = [21.0, 21.0, 21.0, 21.0], 
barv = [0.00037906, 0.00037906, 0.00037906, 0.00037906], 
tildev = [5.421e-20, 5.421e-20, 5.421e-20, 5.421e-20], 
γ_bulk = [1.018, 1.018, 1.018, 1.018], 
γk_cache = DiffCache, 
γl_cache = DiffCache, 
ϕ_we = 0.0, 
edgevelocity = 0.0, 
iref = 31, 
nv = Float64[], 
scheme = :deprecated, 
)
)
cell_odr_robin, cvresult_odr_robin, celldata_odr_robin = simulate(grid, edata_odr, C_gap = C_gap_robin)
(PNPSystem(VoronoiFVM.System{Float64, Float64, Int32, Int64, Matrix{Int32}}(
  grid = ExtendableGrids.ExtendableGrid{Float64, Int32}(dim=1, nnodes=140, ncells=139,
  nbfaces=2),  
  physics = Physics(data=LiquidElectrolytes.ElectrolyteData{typeof(LiquidElectrolytes.DG
  ML_gamma!), PreallocationTools.DiffCache{Vector{Float64}, Vector{Float64}},
  typeof(exp), typeof(log), typeof(LiquidElectrolytes.μex_flux!),
  typeof(Main.var"workspace#4".ε_dec),
  LiquidElectrolytes.OhmicDropEstimation{typeof(Main.var"workspace#4".redoxreaction)}},
  flux=pnpflux!, storage=pnpstorage!, reaction=_pnpreaction!, breaction=halfcellbc,
  bstorage=pnpbstorage_ohmicdrop!, generic_operator=ohmicdropcompensation, ),  
  num_species = 9)), CVSweepResult([0.001339377496402393, 0.0027901847179264976, 0.004525545745597171, 0.006604938213520534, 0.009097882898160351, 0.012087504707835813, 0.015673468324051983, 0.019975378549430826, 0.025136824922821963, 0.031330220242846714  …  -0.06862852048923186, -0.05887479232198332, -0.04889796271987375, -0.03867109183933341, -0.028208975958294677, -0.018345186676826067, -0.008302259408205394, -0.0015464506394457585, 0.005289832890414825, 0.012183383326604022], [0.0011937087154185598, 0.0026329830679364882, 0.004360417099335328, 0.006433506159517396, 0.008921344160826258, 0.011906860379515985, 0.015489575117407648, 0.01978891317132776, 0.024948182076066718, 0.031139347050351877  …  -0.09368945104543051, -0.08158292937178055, -0.06948297188169089, -0.057392941268648724, -0.045313320851055036, -0.03413818735902269, -0.022972035282319635, -0.015530972307826865, -0.008094180540857013, -0.0006604348260444686], [0.0011999999999999789, 0.0026399999999999757, 0.0043680000000000385, 0.006441600000000047, 0.008929920000000036, 0.011915903999999977, 0.015499084799999951, 0.019798901759999987, 0.02495868211200003, 0.031150418534400037  …  -0.0924389787594384, -0.0804389787594384, -0.06843897875943838, -0.056438978759438374, -0.04443897875943836, -0.03332923406957855, -0.02221948937971918, -0.01481299291981264, -0.007406496459906098, 0.0], [0.0012, 0.00264, 0.0043679999999999995, 0.006441599999999999, 0.008929919999999997, 0.011915903999999996, 0.015499084799999995, 0.019798901759999994, 0.024958682111999992, 0.03115041853439999  …  2.3075610212405615, 2.3195610212405615, 2.3315610212405615, 2.3435610212405615, 2.3555610212405615, 2.3666707659304214, 2.3777805106202807, 2.3851870070801873, 2.392593503540094, 2.4], Any[[-0.0, -0.0, -0.0, -0.0, -0.0, -0.0, -0.0, -0.0, -0.0], [-0.0, -0.0, -0.0, -0.0, -0.0, -0.0, -0.0, -0.0, -0.0], [-0.0, -0.0, -0.0, -0.0, -0.0, -0.0, -0.0, -0.0, -0.0], [-0.0, -0.0, -0.0, -0.0, -0.0, -0.0, -0.0, -0.0, -0.0], [-0.0, -0.0, -0.0, -0.0, -0.0, -0.0, -0.0, -0.0, -0.0], [-0.0, -0.0, -0.0, -0.0, -0.0, -0.0, -0.0, -0.0, -0.0], [-0.0, -0.0, -0.0, -0.0, -0.0, -0.0, -0.0, -0.0, -0.0], [-0.0, -0.0, -0.0, -0.0, -0.0, -0.0, -0.0, -0.0, -0.0], [-0.0, -0.0, -0.0, -0.0, -0.0, -0.0, -0.0, -0.0, -0.0], [-0.0, -0.0, -0.0, -0.0, -0.0, -0.0, -0.0, -0.0, -0.0]  …  [-0.0, -0.0, -0.0, -0.0, -0.0, -0.0, -0.0, -0.0, -0.0], [-0.0, -0.0, -0.0, -0.0, -0.0, -0.0, -0.0, -0.0, -0.0], [-0.0, -0.0, -0.0, -0.0, -0.0, -0.0, -0.0, -0.0, -0.0], [-0.0, -0.0, -0.0, -0.0, -0.0, -0.0, -0.0, -0.0, -0.0], [-0.0, -0.0, -0.0, -0.0, -0.0, -0.0, -0.0, -0.0, -0.0], [-0.0, -0.0, -0.0, -0.0, -0.0, -0.0, -0.0, -0.0, -0.0], [-0.0, -0.0, -0.0, -0.0, -0.0, -0.0, -0.0, -0.0, -0.0], [-0.0, -0.0, -0.0, -0.0, -0.0, -0.0, -0.0, -0.0, -0.0], [-0.0, -0.0, -0.0, -0.0, -0.0, -0.0, -0.0, -0.0, -0.0], [-0.0, -0.0, -0.0, -0.0, -0.0, -0.0, -0.0, -0.0, -0.0]], Any[[1.2019144359347342e-8, 1.10271768521797e-9, 1.166407815968941e-7, -1.440503377350335e-7, 1.0308505642443073e-10, -1.2215411587577392e-17, -0.0, -0.0, -0.0], [1.3032414644150243e-8, 1.1027675333196614e-9, 1.2564822823324587e-7, -1.5517445583053922e-7, 1.1113538096662695e-10, -1.393188475384033e-17, -0.0, -0.0, -0.0], [1.3722588479177144e-8, 1.1028016076085393e-9, 1.3178351479496906e-7, -1.6275147993062617e-7, 1.1662727473825963e-10, 1.0756636614911317e-17, -0.0, -0.0, -0.0], [1.426571759209197e-8, 1.1028285421624434e-9, 1.3661165290073657e-7, -1.6871418572098374e-7, 1.209508214947468e-10, -2.4408673914329227e-17, -0.0, -0.0, -0.0], [1.4699372475745393e-8, 1.1028501896486536e-9, 1.4046662216330924e-7, -1.7347503937966668e-7, 1.2439442904982818e-10, 3.9925686516903774e-17, -0.0, -0.0, -0.0], [1.504050890316317e-8, 1.1028673950871857e-9, 1.4349915195600328e-7, -1.7722018429165936e-7, 1.271098756002842e-10, -2.1868926640375146e-19, -0.0, -0.0, -0.0], [1.5301483702703626e-8, 1.1028807809727696e-9, 1.4581908774268078e-7, -1.800852831364859e-7, 1.2916559042912952e-10, -1.4882001927510645e-18, -0.0, -0.0, -0.0], [1.5497796507233708e-8, 1.1028911270958005e-9, 1.4756421378253193e-7, -1.8224049596111862e-7, 1.3073484389030717e-10, -2.2424470662024843e-18, -0.0, -0.0, -0.0], [1.565402312534127e-8, 1.1028996625716223e-9, 1.4895299586231192e-7, -1.83955627342586e-7, 1.3199391726126043e-10, -9.505186012481743e-20, -0.0, -0.0, -0.0], [1.5809528835977065e-8, 1.1029083481310824e-9, 1.503353710170027e-7, -1.8566284509159627e-7, 1.3320811868763138e-10, 4.928746662600679e-18, -0.0, -0.0, -0.0]  …  [2.231180583713516e-6, 1.203225876827685e-9, 1.9843761179511467e-5, -2.4506902286433698e-5, 1.7752661713592093e-8, -3.6102763235095596e-17, -0.0, -0.0, -0.0], [2.0205935413758047e-6, 1.192653494729195e-9, 1.7971745636231003e-5, -2.2194978495581606e-5, 1.6077818731319943e-8, 1.0616821246505946e-16, -0.0, -0.0, -0.0], [1.8309222309186209e-6, 1.1831834292385188e-9, 1.6285661599656086e-5, -2.011267858599394e-5, 1.4569291074765449e-8, -2.0224668419395794e-16, -0.0, -0.0, -0.0], [1.6646923112773725e-6, 1.174931711679051e-9, 1.4807960704663318e-5, -1.828773011858294e-5, 1.3247211179553312e-8, -4.054832915234031e-18, -0.0, -0.0, -0.0], [1.5205167346137717e-6, 1.16781538271105e-9, 1.3526312532609473e-5, -1.6704905122851504e-5, 1.2100522861837168e-8, 4.1441591669458684e-17, -0.0, -0.0, -0.0], [1.4037096205576464e-6, 1.1620796935786975e-9, 1.2487956649050711e-5, -1.5422544082946322e-5, 1.1171531611794944e-8, -1.5596519383740888e-17, -0.0, -0.0, -0.0], [1.3036968011860303e-6, 1.1571961856540889e-9, 1.1598893901451522e-5, -1.4324558807944022e-5, 1.0376093566453147e-8, -1.7935927926433495e-18, -0.0, -0.0, -0.0], [1.2426958977346908e-6, 1.1542283590504585e-9, 1.1056627268230215e-5, -1.3654863905282967e-5, 9.890964918006343e-9, 6.330668992506759e-19, -0.0, -0.0, -0.0], [1.1892392252842269e-6, 1.1516401695784217e-9, 1.058142512587595e-5, -1.3067993079712138e-5, 9.465756510588938e-9, -7.260533634760491e-20, -0.0, -0.0, -0.0], [1.1411511936783017e-6, 1.1493212215656035e-9, 1.0153947541714663e-5, -1.2540061681109739e-5, 9.083294997059483e-9, -4.745940392945404e-19, -0.0, -0.0, -0.0]], Any[[-4.4353092071203816e-8, 4.435309224043163e-8, -3.6187228769706897e-16, -2.4974815154187513e-15, -2.9510503054191436e-5, 1.2215411574383402e-17, -0.0, -0.0, -0.0], [-6.814855548623284e-8, 6.814855543339452e-8, 1.892512849737397e-15, 2.1765240822127274e-15, -6.479777769005009e-5, 1.3931884733882983e-17, -0.0, -0.0, -0.0], [-8.605210698752479e-8, 8.60521070528599e-8, -1.11438230050331e-15, -1.5194104801116221e-15, -0.00010678893401619994, -1.0756636640458795e-17, -0.0, -0.0, -0.0], [-1.005357835909886e-7, 1.0053578355995411e-7, 9.488415164841593e-16, 3.20270330667123e-16, -0.00015676549279381162, 2.4408673887350705e-17, -0.0, -0.0, -0.0], [-1.1225215949460583e-7, 1.122521594547194e-7, -9.038688580150639e-16, 1.1452295728461967e-15, -0.00021630531498376257, -3.992568652922397e-17, -0.0, -0.0, -0.0], [-1.2131264424327546e-7, 1.2131264429725338e-7, 4.5872948612908355e-17, -1.0438966390860006e-17, -0.0002873902721947536, 2.1868926456785484e-19, -0.0, -0.0, -0.0], [-1.2761809372014436e-7, 1.2761809368170513e-7, 6.793982448499779e-17, -6.637229472489714e-16, -0.0003725755503951431, 1.4882001840415701e-18, -0.0, -0.0, -0.0], [-1.3100596685573064e-7, 1.3100596683406438e-7, 9.113907752844781e-17, -2.204081637407156e-16, -0.0004752548305469723, 2.2424470506843762e-18, -0.0, -0.0, -0.0], [-1.3134967282289354e-7, 1.3134967286399576e-7, 1.566844986902353e-16, 2.8834915289601586e-16, -0.0006000774536728501, 9.505186212262326e-20, -0.0, -0.0, -0.0], [-1.2864197488673495e-7, 1.2864197489563562e-7, -3.792607491385667e-16, -1.2554679992555877e-16, -0.0007536066842854436, -4.928746635221157e-18, -0.0, -0.0, -0.0]  …  [-4.9947234685055394e-5, 4.994723468504848e-5, -1.9520382489243704e-16, -7.634816173371362e-17, 0.005880212437475004, 3.6102762984769656e-17, -0.0, -0.0, -0.0], [-4.517519275706455e-5, 4.5175192757074754e-5, 1.427826498527629e-16, 3.698247491665946e-16, 0.004657902450253811, -1.0616821182686194e-16, -0.0, -0.0, -0.0], [-4.0914167423842275e-5, 4.091416742384811e-5, 5.366800753803247e-18, -1.8345039571633637e-16, 0.00352404018961783, 2.02246682971887e-16, -0.0, -0.0, -0.0], [-3.722838995188459e-5, 3.722838995187989e-5, 4.640046485059057e-17, -7.718503028560086e-17, 0.0025239969002226205, 4.0548328899050485e-18, -0.0, -0.0, -0.0], [-3.40840599164526e-5, 3.4084059916453466e-5, -1.1178293804915002e-16, 4.5949843322651285e-17, 0.0017007347425576117, -4.1441591412179323e-17, -0.0, -0.0, -0.0], [-3.157282664747698e-5, 3.157282664748268e-5, 1.638957930960236e-16, 5.6924002187278e-17, 0.0011099674226775433, 1.5596519295818125e-17, -0.0, -0.0, -0.0], [-2.9418357858136653e-5, 2.941835785812947e-5, -1.5179169227975964e-16, -4.664779847118883e-17, 0.0006613669768858459, 1.7935927825161458e-18, -0.0, -0.0, -0.0], [-2.8103743165089714e-5, 2.8103743165103778e-5, -2.131812521649623e-16, -6.292929637672154e-16, 0.00041972346832829996, -6.330668997604458e-19, -0.0, -0.0, -0.0], [-2.6923812511590764e-5, 2.6923812511575043e-5, 3.4377509790673583e-16, 8.502669190469173e-16, 0.00020846368795981386, 7.260533741530294e-20, -0.0, -0.0, -0.0], [-2.5851065116435966e-5, 2.5851065116425114e-5, 3.30122620862891e-17, -2.7242104243003357e-16, 1.6448763713262992e-5, 4.745940390417664e-19, -0.0, -0.0, -0.0]], Any[2.951039996913501e-5, 6.479766655466915e-5, 0.00010678881738892523, 0.0001567653718429899, 0.00021630519058933384, 0.0002873901450848777, 0.00037257542122955264, 0.00047525469981212913, 0.0006000773216789322, 0.0007536065510773247  …  -0.005880230190136715, -0.004657918528072534, -0.0035240547589089084, -0.0025240101474337958, -0.0017007468430804739, -0.001109978594209155, -0.0006613773529794114, -0.0004197333592932172, -0.00020847315371632453, -1.6457847008260047e-5], Any[9.479205676078932e-8, 1.3487743450529665e-8, 1.1098221131854337e-8, 1.0037152895407918e-8, 9.372746857961278e-9, 8.925781937977377e-9, 8.620880322740953e-9, 8.417725326368256e-9, 8.289319656348301e-9, 8.212847166041815e-9  …  -1.4225768750812046e-7, -1.362292154904774e-7, -1.2228802090662869e-7, -1.0633077483850424e-7, -9.097572656313455e-8, -7.81383056891545e-8, -6.524398421902417e-8, -5.8536000351413504e-8, -5.004584549096607e-8, -4.3992929086133976e-8], Any[0.024565251922193755, 0.024505046239954267, 0.024300434510564864, 0.024101347634097544, 0.023927717796080872, 0.023806207432974822, 0.02377364718650953, 0.023879918502990538, 0.0241914603629242, 0.024795827684616235  …  0.10607375341842841, 0.10185930517201505, 0.09448864743030214, 0.08333705095625937, 0.06860527536277683, 0.05317568183277354, 0.040379077445335615, 0.032625951419039526, 0.02852363553003909, 0.02592525463928986], [0.9986170632609089 0.9986411662101525 … 0.999874816590055 1.0; 0.0010597725845129702 0.0010597895840895103 … 0.00010583961814985648 1.0000000000000001e-7; … ; -3.207939550143749e-8 0.0 … 0.0 0.0; 0.0 0.0 … 0.0 0.0;;; 0.8870196906215084 0.9069507161940132 … 0.9998748165716436 1.0; 0.0009341394852829122 0.0009480848951452074 … 0.00010583963357350139 1.0000000000000001e-7; … ; -2.949343365267741e-5 0.0 … 0.0 0.0; 0.02455112854764665 0.0 … 0.0 0.0;;; 0.7685749943558918 0.8070613833989719 … 0.9998748165478467 1.0; 0.0008019932433599198 0.0008285593389872761 … 0.00010583965350816852 1.0000000000000001e-7; … ; -6.476006134133502e-5 0.0 … 0.0 0.0; 0.0244907136726789 0.0 … 0.0 0.0;;; … ;;; 4.541711887218746 3.3469710048196504 … 0.9998759232613553 1.0; 0.005382563152613004 0.004394820652301644 … 0.00010494271283130411 1.0000000000000001e-7; … ; 0.00041955604813983616 0.0 … 0.0 0.0; 0.03261537974163015 0.0 … 0.0 0.0;;; 2.2221719665309925 1.9036478951178166 … 0.9998759124221647 1.0; 0.0024947935555522677 0.0022517795759994285 … 0.00010495187656381931 1.0000000000000001e-7; … ; 0.00020838541090219175 0.0 … 0.0 0.0; 0.028511542317042483 0.0 … 0.0 0.0;;; 1.069296291278334 1.0561606631919467 … 0.9998759020019135 1.0; 0.0011441082759979578 0.0011359589178292584 … 0.0001049606871169084 1.0000000000000001e-7; … ; 1.646914767619891e-5 0.0 … 0.0 0.0; 0.025911882124686255 0.0 … 0.0 0.0]), ElectrolyteData(
nc = 4, 
cspecies = [1, 2, 3, 4], 
na = 0, 
sspecies = Int64[], 
iϕ = 5, 
ip = 6, 
iϕ_we = 7, 
iq = 8, 
icc = 9, 
D = [7.5e-10, 1.04e-9, 2.0e-9, 1.9e-9], 
z = [3, 2, 1, -1], 
M0 = 0.018015, 
M = [0.018015, 0.018015, 0.018015, 0.018015], 
v0 = 1.8051e-5, 
v = [1.8051e-5, 1.8051e-5, 1.8051e-5, 1.8051e-5], 
κ = [20.0, 20.0, 20.0, 20.0], 
actcoeff! = DGML_gamma!, 
ircompensation = OhmicDropEstimation(Ru=0.005088808471190595, factor=0.95), 
xref = [1.0e-8], 
C_gap = 0.15179, 
ϕ_pzc = 0.0, 
c_bulk = [1.0, 1.0e-7, 10.0, 13.0], 
Γ_we = 1, 
Γ_bulk = 2, 
ϕ_bulk = 0.0, 
p_bulk = 0.0, 
T = 293.15, 
ε = 80.0, 
ε_dec = ε_dec, 
rexp = exp, 
rlog = log, 
pscale = 1.0e9, 
eneutral = false, 
upwindflux! = μex_flux!, 
weights = [1.8051e-5, 1.8051e-5, 1.8051e-5, 1.8051e-5, 1.0, 0.0, 0.0, 0.0, 0.0], 
solvepressure = true, 
F = 96485.0, 
ε_0 = 8.8542e-12, 
RT = 2437.4, 
Mrel = [21.0, 21.0, 21.0, 21.0], 
vrel = [21.0, 21.0, 21.0, 21.0], 
barv = [0.00037906, 0.00037906, 0.00037906, 0.00037906], 
tildev = [5.421e-20, 5.421e-20, 5.421e-20, 5.421e-20], 
γ_bulk = [1.018, 1.018, 1.018, 1.018], 
γk_cache = DiffCache, 
γl_cache = DiffCache, 
ϕ_we = 0.0, 
edgevelocity = 0.0, 
iref = 31, 
nv = [2.5e-11, 5.2771e-11, 5.862e-11, 6.5118e-11, 7.2336e-11, 8.0354e-11, 8.9261e-11, 9.9155e-11, 1.1015e-10, 1.2235e-10, 1.3592e-10, 1.5098e-10, 1.6772e-10, 1.8631e-10, 2.0696e-10, 2.299e-10, 2.5538e-10, 2.8369e-10, 3.1513e-10, 3.5006e-10, 3.8887e-10, 4.3197e-10, 4.7985e-10, 5.3304e-10, 5.9212e-10, 6.5775e-10, 7.3066e-10, 8.1165e-10, 9.0162e-10, 1.0016e-9, 1.1126e-9, 1.2359e-9, 1.3729e-9, 1.5251e-9, 1.6941e-9, 1.8819e-9, 2.0905e-9, 2.3222e-9, 2.5796e-9, 2.8655e-9, 3.1831e-9, 3.536e-9, 3.9279e-9, 4.3633e-9, 4.8469e-9, 5.3842e-9, 5.981e-9, 6.6439e-9, 7.3804e-9, 8.1984e-9, 9.1072e-9, 1.0117e-8, 1.1238e-8, 1.2484e-8, 1.3867e-8, 1.5404e-8, 1.7112e-8, 1.9009e-8, 2.1116e-8, 2.3456e-8, 2.6056e-8, 2.8944e-8, 3.2153e-8, 3.5717e-8, 3.9676e-8, 4.4073e-8, 4.8959e-8, 5.4385e-8, 6.0413e-8, 6.711e-8, 7.4549e-8, 8.2812e-8, 9.1991e-8, 1.0219e-7, 1.1351e-7, 1.261e-7, 1.4007e-7, 1.556e-7, 1.7285e-7, 1.9201e-7, 2.1329e-7, 2.3693e-7, 2.6319e-7, 2.9237e-7, 3.2477e-7, 3.6077e-7, 4.0076e-7, 4.4518e-7, 4.9453e-7, 5.4934e-7, 6.1023e-7, 6.7787e-7, 7.5301e-7, 8.3648e-7, 9.2919e-7, 1.0322e-6, 1.1466e-6, 1.2737e-6, 1.4149e-6, 1.5717e-6, 1.7459e-6, 1.9394e-6, 2.1544e-6, 2.3932e-6, 2.6585e-6, 2.9532e-6, 3.2805e-6, 3.6441e-6, 4.0481e-6, 4.4968e-6, 4.9952e-6, 5.5489e-6, 6.1639e-6, 6.8472e-6, 7.6061e-6, 8.4492e-6, 9.3857e-6, 1.0426e-5, 1.1582e-5, 1.2866e-5, 1.4292e-5, 1.5876e-5, 1.7635e-5, 1.959e-5, 2.1762e-5, 2.4174e-5, 2.6853e-5, 2.983e-5, 3.3136e-5, 3.6809e-5, 4.0889e-5, 4.5421e-5, 5.0456e-5, 5.6049e-5, 6.2261e-5, 6.9163e-5, 7.6829e-5, 8.5345e-5, 9.4805e-5, 4.9892e-5], 
scheme = :deprecated, 
)
)

CVs and surface concentrations

plotcv(cvresult_unc_robin, celldata_unc_robin)
plotcv(cvresult_pts_robin, celldata_pts_robin)
plotcv(cvresult_odr_robin, celldata_odr_robin)

Voltages and concentrations

t/s: 0.48

xplotsol(grid, cvresult_unc_robin.tsol(t_robin), celldata_unc_robin; xcut = 1ufac"nm")
xplotsol(grid, cvresult_pts_robin.tsol(t_robin), celldata_pts_robin; xcut = 1ufac"nm")
xplotsol(grid, cvresult_odr_robin.tsol(t_robin), celldata_odr_robin; xcut = 1ufac"nm")

Time dependent voltages

plotresult2(cvresult_unc_robin, celldata_unc_robin)
plotresult2(cvresult_pts_robin, celldata_pts_robin)
plotresult2(cvresult_odr_robin, celldata_odr_robin)

Tests

@test checkir(cvresult_pts_robin, celldata_pts_robin)
�[32m�[1mTest Passed�[22m�[39m
@test checkir(cvresult_odr_robin, celldata_odr_robin, tol = 0.03)
�[32m�[1mTest Passed�[22m�[39m

Appendix: plot functions

function xplotsol(grid, sol, celldata; xcut = 10ufac"nm")
    !isdefined(Main, :PlutoRunner) && return

    X = grid[XCoordinates]
    (; iϕ) = celldata

    function pp(axl, axr)
        ylims!(axl, -0.5, 0.5)
        ylims!(axr, 1.0e-5, 10)
        lines!(
            axr, X / ufac"nm", sol[iO, :] / (ufac"mol / dm^3"),
            color = :red, label = "O"
        )
        lines!(
            axr, X / ufac"nm", sol[iR, :] / (ufac"mol / dm^3"),
            color = :blue, label = "R"
        )
        lines!(axl, X / ufac"nm", sol[iϕ, :], color = :green, label = "ϕ")
        return nothing
    end

    fig = Figure(size = (700, 300))
    Label(
        fig[0, 1:2],
        "ircomp=$(celldata.ircompensation) scanrate=$(sawtooth.scanrate)V/s, E=$(round(sol[iϕ, 1], sigdigits = 3))V, "
    )

    colgap!(fig.layout, 2)

    axl = Axis(fig[1, 1]; xscale = identity, xlabel = "x/nm", ylabel = "U/V")
    axr = Axis(
        fig[1, 1], yaxisposition = :right; xscale = identity,
        yticksvisible = false,
        yticklabelsvisible = false,
        yscale = log10
    )
    xlims!(axl, 0, xcut / ufac"nm")
    xlims!(axr, 0, xcut / ufac"nm")
    linkxaxes!(axl, axr)
    pp(axl, axr)
    axislegend(axl, position = :lt, backgroundcolor = RGBA(1, 1, 1, 0.5))

    axl = Axis(
        fig[1, 2]; xscale = log10, xlabel = "x/nm",
        yticksvisible = false,
        yticklabelsvisible = false,
    )
    axr = Axis(
        fig[1, 2], yaxisposition = :right; xscale = log10, ylabel = "c/(mol/dm^3)",
        yscale = log10
    )
    xlims!(axl, xcut / ufac"nm", X[end] / ufac"nm")
    xlims!(axr, xcut / ufac"nm", X[end] / ufac"nm")
    linkxaxes!(axl, axr)
    pp(axl, axr)
    axislegend(axr, position = :rt, backgroundcolor = RGBA(1, 1, 1, 0.5))
    return fig
end
xplotsol (generic function with 1 method)
function plotcv(cvresult, celldata)
    !isdefined(Main, :PlutoRunner) && return
    fig = Figure(size = (700, 300))
    ax = Axis(fig[1, 1], title="CV")
    j_we = -hcat(cvresult.j_we...)[1, :] * celldata.F
    lines!(ax, cvresult.voltages, j_we / ufac"mA/cm^2", label=L"I_F")
    lines!(ax, cvresult.voltages, cvresult.j_cap / ufac"mA/cm^2", label=L"I_C")
    lines!(ax, cvresult.voltages, (cvresult.j_cap + j_we) / ufac"mA/cm^2",label=L"I_F+I_C")

    axislegend(ax, position = :lt)

    c_O = [u[iO, :] |> maximum for u in cvresult.tsol.u[2:end]] / ufac"mol/dm^3"
    c_R = [u[iR, :] |> maximum for u in cvresult.tsol.u[2:end]] / ufac"mol/dm^3"

    ax2 = Axis(fig[1, 2], xlabel = "E/V", ylabel = L"c/(mol\cdot dm^{-3})",
              title= "Max concentration in DL")

    lines!(ax2, cvresult.voltages, c_O, color = :red, label = L"c_O(x_3)")
    lines!(
        ax2, cvresult.voltages, c_R,
        color = :blue, label = L"c_R(x_3)"
    )
    axislegend(ax2, position = :rt)
    Label(
        fig[0, 1:2],
        "ircomp=$(celldata.ircompensation) scanrate=$(sawtooth.scanrate)V/s"
    )

    return fig
end
plotcv (generic function with 1 method)
function plotresult2(cvresult, celldata)
    !isdefined(Main, :PlutoRunner) && return
    times = cvresult.tsol.t
    (; iref, iϕ) = celldata
    j_we = hcat(cvresult.j_reaction...)[1, :] * celldata.F
    Ωdrop = (j_we + cvresult.j_cap) * Ru
    st = cvresult.sawtooth
    fig = Figure(size = (700, 400))
    Label(fig[0, 1:2], "IR compensation: $(celldata.ircompensation), scanrate=$(scanrate) V/s")
    ax1 = Axis(fig[1, 1], xlabel = "t/s", ylabel = "Δϕ/V")
    ax2 = Axis(fig[2, 1], xlabel = "t/s", ylabel = "Δϕ/V")

    lines!(ax1, cvresult.times, cvresult.voltages, label = L"ϕ_0-ϕ_L")
    lines!(ax1, cvresult.times, cvresult.dlvoltages, label = L"ϕ_0-ϕ_{DL}")
    Legend(fig[1, 2], ax1)

    lines!(ax2, cvresult.times, st - cvresult.dlvoltages, label = L"ϕ_{sawtooth} - ϕ_{DL} ")
    scatter!(ax2, cvresult.times, Ωdrop, label = L"R_u\cdot (I_F+I_C)", markersize = 3, color = :red)
    Legend(fig[2, 2], ax2)
    return fig
end
plotresult2 (generic function with 1 method)
function checkir(cvresult, celldata; tol = 1.0e-11)
    times = cvresult.tsol.t
    (; iref, iϕ) = celldata
    return norm(cvresult.dlvoltages - cvresult.sawtooth, Inf) < tol
end
checkir (generic function with 1 method)