TITLE sodium calcium exchange
: taken from Weber et al 2001 J. Gen. Physiol


NEURON {
    SUFFIX nacax
    USEION ca READ cao, cai WRITE ica
    USEION na READ nao, nai WRITE ina
    RANGE ica, ina , itot, imax, accca, accna
}

UNITS {
    (molar) =  (1/liter)
    (mM) = (millimolar)
    (mA) = (milliamp)
    (mV) = (millivolt)
    F = (faraday) (coulombs)
    R = (k-mole) (joule/degC)
}

PARAMETER {
    imax = 9.37e-3  (mA/cm2)
    eta  = 0.35     (1) 
    Knai = 12.3     (mM)
    Kcai = 0.0036   (mM)
    Kcao = 1.30     (mM)
    ksat = 0.27     (mM)

}
INITIAL {
    Knao = Knai*(Kcao/Kcai)^(1/3)
    accna = 0
    accca = 0
}

ASSIGNED {
    celsius (degC)
    v       (mV)
    ica     (mA/cm2)
    ina     (mA/cm2)
    accca   (mA/cm2)
    accna   (mA/cm2)
    itot    (mA/cm2)
    cao     (mM)
    cai     (mM)
    nao     (mM)
    nai     (mM)
    Knao    (mM)
}


FUNCTION pumprate(nai,nao,cai,cao,v) {
    LOCAL q10, KBe, KBm, k
    k = R*(celsius + 273.14)/(F*1e-3)
    q10 = 3^((celsius - 27)/10 (degC))
    KBe = exp(eta*v/k)
    KBm = exp( (eta - 1)*v/k)
    pumprate = q10*imax*(KBe*nai*nai*nai*cao - KBm*nao*nao*nao*cai)/((Kcao*nai*nai*nai + Knao*Knao*Knao*cai + Knai*Knai*Knai*cao*(1+cai/Kcai) + Kcai*nao*nao*nao*(1+nai*nai*nai/(Knai*Knai*Knai)) + nai*nai*nai*cao + nao*nao*nao*cai)*(1+ksat*KBm))

}

BREAKPOINT {
    LOCAL rate
    rate = pumprate(nai,nao,cai,cao,v)
    ina =  3*rate
    ica = -2*rate
    itot= ina + ica
    accna = accna + ina
    accca = accca + ica
}