Electrolyte data

LiquidElectrolytes.vrelFunction
vrel(ic,electrolyte)

Calculate relative (wrt. solvent) molar volume of i-th species $v_{i,rel}=κ_i+\frac{v_i}{v_0}$.

source
LiquidElectrolytes.rlogFunction
rlog(u, electrolyte)

Calls rlog(u;eps=electrolyte.epsreg)

source
rlog(u; eps=1.0e-20)

Regularized logarithm. Smooth linear continuation for x<eps. This means we can calculate a "logarithm" of a small negative number.

source
LiquidElectrolytes.rexpFunction
rexp(x;trunc=500.0)

Regularized exponential. Linear continuation for x>trunc, returns 1/rexp(-x) for x<-trunc.

source

Poisson-Boltzmann

Poisson-Nernst-Planck

LiquidElectrolytes.sfluxFunction
sflux(ic,dϕ,ck,cl,γk,γl,bar_ck,bar_cl,electrolyte)

Sedan flux, see Gaudeul/Fuhrmann 2022

Appearantly first described by Yu, Zhiping and Dutton, Robert, SEDAN III, www-tcad.stanford.edu/tcad/programs/sedan3.html

see also the 198? Fortran code available via https://web.archive.org/web/20210518233152/http://www-tcad.stanford.edu/tcad/programs/oldftpable.html

Verification calculation is in the paper.

source
LiquidElectrolytes.afluxFunction
aflux(ic,dϕ,ck,cl,γk,γl,bar_ck,bar_cl,electrolyte)

Flux expression based on activities, see Fuhrmann, CPC 2015

source
LiquidElectrolytes.cfluxFunction
cflux(ic,dϕ,ck,cl,γk,γl,bar_ck,bar_cl,electrolyte)

Flux expression based on central differences, see Gaudeul/Fuhrmann 2022

source
LiquidElectrolytes.dμexFunction
 dμex(γk, γl, electrolyte)

Calculate differences of excess chemical potentials from activity coefficients

source

Electrochemical calculations

LiquidElectrolytes.splitzFunction
splitz(range::AbstractRange)

If range contains zero, split it into two parts, one with values <=0 and one with values >=0. Otherwise, return the range or its reverse, such that first value always is the one with the smallest absolute value.

source
splitz(range::Vector)

Version of splitz(range::AbstractRange) for vectors.

source