Examples (full runnable models)
This documentation is work in progress. Currently, the extension of Documenter.jl in my package MoST.jl is still experimental. As the package evolves further, this documentation will increase in readability.
Interfaces
InaMo.Examples.Interfaces.IVBase
This model can be used as a basis for experiments that capture the current-voltage relationship of a single channel or ion pump. It will use a voltage clamp test pulse protocol with pulse amplitudes starting from v_start and continuously increasing by v_inc with each pulse.
To calculate the correct StopTime needed for the simulation of pulses starting with v_start and ending with v_end, you can use the following formula:
        StopTime = ((v_end - v_start) / v_inc + 3) * (d_hold + d_pulse) - d_pulse
      
      The offset of 3 * (d_hold + d_pulse) is required because the first value for vc.is_peak, vc.is_end and vc.is_tail is obtained after 2 * d_hold and the last value is obtained d_hold seconds after the pulse with amplitude v_end.
d_pulse and d_hold should either be chosen according to reference or roughly such that d_pulse > 5 * tau_act and d_hold > 5 * tau_inact where tau_act is the time constant of the activation and tau_inact is the time constant of inactivation of the simulated channel. This ensures that there is enough time to observe the characteristic time course of activation and inactivation and that the channel is close to its steady state at holding potential before the next pulse.
partial model IVBase "base for all experiments for current-voltage relationship"
  extends InaMo.Icons.PartialExample;
  InaMo.ExperimentalMethods.VoltageClamp.VCTestPulsesPeak vc "voltage pulse protocol" annotation(
    Placement(transformation(extent = {{-17, -17}, {17, 17}})));
  parameter SI.Voltage v_start = -0.08 "start value for pulse amplitude";
  parameter SI.Voltage v_inc = 0.005 "increment for pulse amplitude";
initial equation
  vc.v_pulse = v_start;
equation
  when vc.pulse_end then
    vc.v_pulse = pre(vc.v_pulse) + v_inc;
  end when;
  annotation(
    Documentation(info = "
    <html>
      <p>This model can be used as a basis for experiments that capture the
      current-voltage relationship of a single channel or ion pump.
      It will use a voltage clamp test pulse protocol with pulse amplitudes
      starting from v_start and continuously increasing by v_inc with each
      pulse.</p>
      <p>To calculate the correct StopTime needed for the simulation of pulses
      starting with v_start and ending with v_end, you can use the following
      formula:</p>
      <code>
        StopTime = ((v_end - v_start) / v_inc + 3) * (d_hold + d_pulse) - d_pulse
      </code>
      <p>The offset of 3 * (d_hold + d_pulse) is required because the first
      value for vc.is_peak, vc.is_end and vc.is_tail is obtained after
      2 * d_hold and the last value is obtained d_hold seconds after the
      pulse with amplitude v_end.</p>
      <p>d_pulse and d_hold should either be chosen according to reference or
      roughly such that d_pulse > 5 * tau_act and d_hold > 5 * tau_inact where
      tau_act is the time constant of the activation and tau_inact is the time
      constant of inactivation of the simulated channel.
      This ensures that there is enough time to observe the characteristic
      time course of activation and inactivation and that the channel is close
      to its steady state at holding potential before the next pulse.</p>
    </html>
  "));
end IVBase;Full cell examples
InaMo.Examples.FullCell.FullCellCurrentPulses
model FullCellCurrentPulses "base model for full cell simulation with current pulse protocol"
  extends Modelica.Icons.Example;
  replaceable InaMo.Cells.VariableCa.ANCell cell "cell that should be tested" annotation(
    Placement(transformation(extent = {{13, 29}, {47, 63}})));
  // NOTE d_hold = 0.3 was experimentally determined to be closest to Inada 2009, S7
  // other values tried: 0.1, 0.2, 0.25, 0.4, 0.5, 1
  InaMo.ExperimentalMethods.CurrentClamp.CCTestPulses cc(i_hold = 0, i_pulse = -2e-9, d_hold = 0.3, d_pulse = 0.001) "current clamp protocol" annotation(
    Placement(transformation(extent = {{-43, -57}, {-9, -23}})));
equation
  connect(cc.p, cell.p) annotation(
    Line(points = {{-26, -22}, {-26, -22}, {-26, 78}, {22, 78}, {22, 64}, {22, 64}}, color = {0, 0, 255}));
  connect(cc.n, cell.n) annotation(
    Line(points = {{-26, -56}, {-26, -56}, {-26, -66}, {8, -66}, {8, 46}, {22, 46}, {22, 46}}, color = {0, 0, 255}));
end FullCellCurrentPulses;- Within group cc (prefix _ indicates shortened variable name)
 - Within group cell (prefix _ indicates shortened variable name)
- Within group ca (prefix _ indicates shortened variable name)
- Within group cm_cyto (prefix _ indicates shortened variable name)
- Within group assoc (prefix _ indicates shortened variable name)
 - Within group occupied (prefix _ indicates shortened variable name)
 
 - Within group assoc (prefix _ indicates shortened variable name)
 - Within group cm_sl (prefix _ indicates shortened variable name)
- Within group assoc (prefix _ indicates shortened variable name)
 - Within group occupied (prefix _ indicates shortened variable name)
 
 - Within group assoc (prefix _ indicates shortened variable name)
 - Within group cm_sub (prefix _ indicates shortened variable name)
- Within group assoc (prefix _ indicates shortened variable name)
 - Within group occupied (prefix _ indicates shortened variable name)
 
 - Within group assoc (prefix _ indicates shortened variable name)
 - Within group cq (prefix _ indicates shortened variable name)
- Within group assoc (prefix _ indicates shortened variable name)
 - Within group occupied (prefix _ indicates shortened variable name)
 
 - Within group assoc (prefix _ indicates shortened variable name)
 - Within group cyto (prefix _ indicates shortened variable name)
 - Within group jsr (prefix _ indicates shortened variable name)
 - Within group jsr_sub (prefix _ indicates shortened variable name)
 - Within group nsr (prefix _ indicates shortened variable name)
 - Within group sub (prefix _ indicates shortened variable name)
 - Within group tc (prefix _ indicates shortened variable name)
- Within group assoc (prefix _ indicates shortened variable name)
 - Within group occupied (prefix _ indicates shortened variable name)
 
 - Within group assoc (prefix _ indicates shortened variable name)
 - Within group tm (prefix _ indicates shortened variable name)
- Within group free (prefix _ indicates shortened variable name)
 - Within group occupied_a (prefix _ indicates shortened variable name)
 - Within group occupied_b (prefix _ indicates shortened variable name)
 
 
 - Within group cal (prefix _ indicates shortened variable name)
 - Within group kir (prefix _ indicates shortened variable name)
 - Within group kr (prefix _ indicates shortened variable name)
 - Within group na (prefix _ indicates shortened variable name)
- Within group act (prefix _ indicates shortened variable name)
 
 - Within group naca (prefix _ indicates shortened variable name)
 - Within group to (prefix _ indicates shortened variable name)
 
 
Functions:
function act.fsteady
  input Real x "input value";
  input Real y_min = 0.0 "lower asymptote (fitting parameter)";
  input Real y_max = 1.0 "upper asmyptote when d_off=1 and nu=1 (fititng parameter)";
  input Real x0 = -0.0032 "x-value of sigmoid midpoint when d_off=1 and nu=1 (fitting parameter)";
  input Real sx = 151.285930408472 "scaling factor for x axis (i.e. steepness, fitting parameter)";
  input Real se = 1.0 "scaling factor for exponential part (fitting parameter)";
  input Real d_off = 1.0 "offset in denominator (affects upper asymptote, fitting parameter)";
  input Real nu = 1.0 "reciprocal of exponent of denominator (affects upper asymptote, fitting parameter)";
  output Real y "result";
  protected Real x_adj "adjusted x with offset and scaling factor";
algorithm
  x_adj := sx * (x - x0);
  y := y_min + (y_max - y_min) / (se * exp(-x_adj) + d_off) ^ (1.0 / nu);
end act.fsteady;function c_to_v "function used to determine cell volume based on membrane capacitance"
  input Real c_m(quantity = "Capacitance", unit = "F", min = 0.0) "membrane capacitance";
  input Real v_low(quantity = "Volume", unit = "m3") = 2.19911e-15 "low estimate for cell volume (obtained when c_m = c_low)";
  input Real v_high(quantity = "Volume", unit = "m3") = 7.147123e-15 "high estimate for cell volume (obtained when c_m = c_low + c_span)";
  output Real v_cell(quantity = "Volume", unit = "m3") "resulting total cell volume";
  protected Real c_low(quantity = "Capacitance", unit = "F", min = 0.0) = 2e-11 "low value for c_m (where v_low is returned)";
  protected Real c_span(quantity = "Capacitance", unit = "F", min = 0.0) = 4.5e-11 "span that must be added to c_m to reach an output of v_high";
algorithm
  v_cell := (c_m - c_low) / c_span * (v_high - v_low) + v_low;
end c_to_v;function inact.fsteady
  input Real x "input value";
  output Real y "output value";
algorithm
  y := act.fsteady(x, 0.0, 1.0, -0.0049, -1000.0 / 15.14, 1.0, 1.0, 1.0) * inact_fast.ftau(x, 1.0, (-0.3) + 1.0, 0.0, sqrt(500.0 / 2.0) / 1000.0);
end inact.fsteady;function kr.ftau.falpha
  input Real x "input value";
  input Real x0 = 0.0 "x-value where y = 1 (fitting parameter)";
  input Real sx = 39.8 "scaling factor for x axis (fitting parameter)";
  input Real sy = 17.0 "scaling factor for y axis (fitting parameter)";
  output Real y "result";
algorithm
  y := sy * exp(sx * (x - x0));
end kr.ftau.falpha;function michaelisMenten "equation for enzymatic reactions following Michaelis-Menten kinetics"
  input Real s(quantity = "Concentration", unit = "mol/m3") "substrate concentration";
  input Real k(quantity = "Concentration", unit = "mol/m3") "concentration producing half-maximum reaction rate (michaelis constant)";
  output Real rate(unit = "1") "reaction rate";
algorithm
  rate := s / (s + k);
end michaelisMenten;function inact_fast.ftau
  input Real x "input value";
  input Real y_min = 0.01 "minimum value achieved at edges (fitting parameter)";
  input Real y_max = 0.1639 "maximum value achieved at peak (fititng parameter)";
  input Real x0 = -0.04 "x-value of bell curve midpoint (fitting parameter)";
  input Real sigma = 0.009635092111651035 "standard deviation determining the width of the bell curve (fitting parameter)";
  output Real y "result";
  protected Real x_adj "adjusted x with offset and standard deviation";
algorithm
  x_adj := (x - x0) / sigma;
  y := y_min + (y_max - y_min) * exp(-0.5 * x_adj ^ 2.0);
end inact_fast.ftau;function cal.act.ftau
  input Real x "input value";
  input Real off = 0.0 "offset added to result to increase minimum (fitting parameter)";
  output Real y "result of applying the HH-style equation tau = 1/(alpha + beta)";
algorithm
  y := 1.0 / (cal.ftau.falpha(x) + fa(x, 0.005, 10.52 / 0.4, 400.0)) + off;
end cal.act.ftau;function act_fast.ftau
  input Real x "input value";
  input Real off = 0.0 "offset added to result to increase minimum (fitting parameter)";
  output Real y "result of applying the HH-style equation tau = 1/(alpha + beta)";
algorithm
  y := 1.0 / (kr.ftau.falpha(x, 0.0, 39.8, 17.0) + kr.ftau.falpha(x, 0.0, -51.0, 0.211)) + off;
end act_fast.ftau;function ghkFlux "ghk flux equation for a single ion"
  input Real v(quantity = "ElectricPotential", unit = "V") "membrane potential";
  input Real temp(quantity = "ThermodynamicTemperature", unit = "K", displayUnit = "degC", min = 0.0, start = 288.15, nominal = 300.0) "cell medium temperature";
  input Real ion_in(quantity = "Concentration", unit = "mol/m3") "intracellular ion concentration";
  input Real ion_ex(quantity = "Concentration", unit = "mol/m3") "extracellular ion concentration";
  input Real ion_p(quantity = "Permeability (fluid mechanics)", unit = "m3/(s.m2)") "permeability of cell membrane to Na+ cations";
  input Integer ion_z "ion valence";
  output Real i(quantity = "CurrentDensity", unit = "A/m2") "current density resulting from ion flux through membrane";
  protected Real g_max(quantity = "Conductance", unit = "S");
  protected Real v_eq(quantity = "ElectricPotential", unit = "V");
  protected Real FoRT(unit = "1/V") = 96485.33289000001 / (8.3144598 * temp);
algorithm
  g_max := ion_p * ion_ex * FoRT * 96485.33289000001 * /*Real*/(ion_z) ^ 2.0;
  v_eq := nernst(ion_in, ion_ex, ion_z, temp);
  if abs(v) < 1e-06 then
    i := g_max / FoRT / /*Real*/(ion_z) * (exp(-v_eq * FoRT * /*Real*/(ion_z)) - 1.0);
  else
    i := g_max * v * (exp((v - v_eq) * FoRT * /*Real*/(ion_z)) - 1.0) / (exp(v * FoRT * /*Real*/(ion_z)) - 1.0);
  end if;
end ghkFlux;function inact.ftau
  input Real x "input value";
  input Real off = 0.0 "offset added to result to increase minimum (fitting parameter)";
  output Real y "result of applying the HH-style equation tau = 1/(alpha + beta)";
algorithm
  y := 1.0 / (kr.ftau.falpha(x, 0.0, 9.42, 603.6) + kr.ftau.falpha(x, 0.0, -18.3, 92.01000000000001)) + off;
end inact.ftau;function fa
  input Real x "input value";
  input Real x0 = -0.035 "offset for x (fitting parameter)";
  input Real sy = 65.3 "scaling factor for y (fitting parameter)";
  input Real sx = -400.0 "scaling factor for x (fitting parameter)";
  output Real y "result";
  protected Real x_adj "adjusted x with offset and scaling factor";
algorithm
  x_adj := sx * (x - x0);
  if abs(x - x0) < 1e-06 then
    y := sy;
  else
    y := sy * x_adj / (exp(x_adj) - 1.0);
  end if;
end fa;function nernst "Nernst equation to find the equlibrium potential for a single ion"
  input Real ion_in(quantity = "Concentration", unit = "mol/m3") "intracellular ion concentration";
  input Real ion_ex(quantity = "Concentration", unit = "mol/m3") "extracellular ion concentration";
  input Integer ion_z "valence of ion";
  input Real temp(quantity = "ThermodynamicTemperature", unit = "K", displayUnit = "degC", min = 0.0, start = 288.15, nominal = 300.0) "cell medium temperature";
  output Real v_eq(quantity = "ElectricPotential", unit = "V") "equlibirium potential";
algorithm
  v_eq := 8.3144598 * temp / /*Real*/(ion_z) / 96485.33289000001 * log(ion_ex / ion_in);
end nernst;function hillLangmuir "Hill-Langmuir equation measuring the occupancy of a molecule by a ligand"
  input Real c(quantity = "Concentration", unit = "mol/m3") "ligand concentration";
  input Real ka(quantity = "Concentration", unit = "mol/m3") "concentration producing half occupation";
  input Real n(unit = "1") "Hill coefficient";
  output Real rate(unit = "1") "occupancy of molecule by ligand";
algorithm
  rate := c ^ n / (c ^ n + ka ^ n);
end hillLangmuir;function inact_fast.fsteady
  input Real x "input value";
  output Real y "result of applying the HH-style equation steady = alpha/(alpha + beta)";
algorithm
  y := kr.ftau.falpha(x, -0.0669, -1000.0 / 5.57, 44.9) / (kr.ftau.falpha(x, -0.0669, -1000.0 / 5.57, 44.9) + act.fsteady(x, 0.0, 1491.0, -0.0946, 1000.0 / 12.9, 323.3, 1.0, 1.0));
end inact_fast.fsteady;function to.act.ftau
  input Real x "input value";
  input Real off = 0.000596 "offset added to result to increase minimum (fitting parameter)";
  output Real y "result of applying the HH-style equation tau = 1/(alpha + beta)";
algorithm
  y := 1.0 / (kr.ftau.falpha(x, -0.03061, 90.0, 1.037 / 0.003188) + kr.ftau.falpha(x, -0.02384, -120.0, 0.396 / 0.003188)) + off;
end to.act.ftau;function cal.ftau.falpha
  input Real x "input value";
  output Real y "output value";
algorithm
  y := fa(x, -0.035, 26.12 * 2.5, -1000.0 / 2.5) + fa(x, 0.0, 78.11 / 0.208, -208.0);
end cal.ftau.falpha;function p_from_g "calculate membrane permeability for ion from membrane conductance"
  input Real g(quantity = "Conductance", unit = "S") "membrane conductance for given ion";
  input Real ion_ex(quantity = "Concentration", unit = "mol/m3") "extracellular ion concentration";
  input Integer ion_z "valence of ion";
  input Real temp(quantity = "ThermodynamicTemperature", unit = "K", displayUnit = "degC", min = 0.0, start = 288.15, nominal = 300.0) "cell medium temperature";
  output Real p(quantity = "Permeability (fluid mechanics)", unit = "m3/(s.m2)") "membrane permeability for given ion";
  protected Real unit_area(quantity = "Area", unit = "m2") = 1.0 "unit area of 1 m², used to get correct units";
algorithm
  p := g / ion_ex * 8.3144598 * temp / (96485.33289000001 * /*Real*/(ion_z)) ^ 2.0 / unit_area;
end p_from_g;| name | unit | label | value | 
|---|---|---|---|
| cc.pulse_signal | 0 during holding period, 1 during pulse | 0 | |
| cc.pulse_end | signals end of pulse | ||
| cc.pulse_start | signals start of pulse | ||
| cc.i_stim | "A" | input current (needs to be defined externally) | |
| cc.g.p.i | "A" | Current flowing into the pin | |
| cc.n.i | "A" | Current flowing into the pin | |
| cell.ca.cm_sl.occupied.con | "mol/m3" | concentration of substance in compartment | |
| cell.ca.cm_sl.occupied.substance.amount | "mol" | amount of substance | |
| cell.ca.cm_sl.free.con | "mol/m3" | concentration of substance in compartment | |
| cell.ca.cm_sl.free.substance.amount | "mol" | amount of substance | |
| cell.ca.cm_sl.site.rate | "mol/s" | molar flow rate of substance | |
| cell.ca.cq.occupied.con | "mol/m3" | concentration of substance in compartment | |
| cell.ca.cq.occupied.substance.amount | "mol" | amount of substance | |
| cell.ca.cq.free.con | "mol/m3" | concentration of substance in compartment | |
| cell.ca.cq.free.substance.amount | "mol" | amount of substance | |
| cell.ca.cq.site.rate | "mol/s" | molar flow rate of substance | |
| cell.ca.cm_sub.occupied.con | "mol/m3" | concentration of substance in compartment | |
| cell.ca.cm_sub.occupied.substance.amount | "mol" | amount of substance | |
| cell.ca.cm_sub.free.con | "mol/m3" | concentration of substance in compartment | |
| cell.ca.cm_sub.free.substance.amount | "mol" | amount of substance | |
| cell.ca.cm_sub.site.rate | "mol/s" | molar flow rate of substance | |
| cell.ca.cm_cyto.occupied.con | "mol/m3" | concentration of substance in compartment | |
| cell.ca.cm_cyto.occupied.substance.amount | "mol" | amount of substance | |
| cell.ca.cm_cyto.free.con | "mol/m3" | concentration of substance in compartment | |
| cell.ca.cm_cyto.free.substance.amount | "mol" | amount of substance | |
| cell.ca.cm_cyto.site.rate | "mol/s" | molar flow rate of substance | |
| cell.ca.tm.occupied_b.con | "mol/m3" | concentration of substance in compartment | |
| cell.ca.tm.occupied_b.substance.amount | "mol" | amount of substance | |
| cell.ca.tm.occupied_a.con | "mol/m3" | concentration of substance in compartment | |
| cell.ca.tm.occupied_a.substance.amount | "mol" | amount of substance | |
| cell.ca.tm.free.con | "mol/m3" | concentration of substance in compartment | |
| cell.ca.tm.free.substance.rate | "mol/s" | molar flow rate of substance | |
| cell.ca.tm.free.substance.amount | "mol" | amount of substance | |
| cell.ca.tm.site_b.rate | "mol/s" | molar flow rate of substance | |
| cell.ca.tm.site_a.rate | "mol/s" | molar flow rate of substance | |
| cell.ca.tc.occupied.con | "mol/m3" | concentration of substance in compartment | |
| cell.ca.tc.occupied.substance.amount | "mol" | amount of substance | |
| cell.ca.tc.free.con | "mol/m3" | concentration of substance in compartment | |
| cell.ca.tc.free.substance.amount | "mol" | amount of substance | |
| cell.ca.tc.site.rate | "mol/s" | molar flow rate of substance | |
| cell.ca.jsr_sub.coeff | "1/s" | coefficient of transport | |
| cell.ca.jsr_sub.rate | "mol/s" | rate of change in substance amount | |
| cell.ca.nsr_jsr.rate | "mol/s" | rate of change in substance amount | |
| cell.ca.cyto_nsr.rate | "mol/s" | rate of change in substance amount | |
| cell.ca.sub_cyto.rate | "mol/s" | rate of change in substance amount | |
| cell.ca.nsr.con | "mol/m3" | concentration of substance in compartment | |
| cell.ca.nsr.substance.rate | "mol/s" | molar flow rate of substance | |
| cell.ca.nsr.substance.amount | "mol" | amount of substance | |
| cell.ca.jsr.con | "mol/m3" | concentration of substance in compartment | |
| cell.ca.jsr.substance.rate | "mol/s" | molar flow rate of substance | |
| cell.ca.jsr.substance.amount | "mol" | amount of substance | |
| cell.ca.cyto.con | "mol/m3" | concentration of substance in compartment | |
| cell.ca.cyto.substance.rate | "mol/s" | molar flow rate of substance | |
| cell.ca.cyto.substance.amount | "mol" | amount of substance | |
| cell.ca.sub.con | "mol/m3" | concentration of substance in compartment | |
| cell.ca.sub.substance.rate | "mol/s" | molar flow rate of substance | |
| cell.ca.sub.substance.amount | "mol" | amount of substance | |
| cell.ca.ca_sub.rate | "mol/s" | molar flow rate of substance | |
| cell.to.inact_total | total inactivation resulting from fast and slow inactivation gates | ||
| cell.to.inact_fast.tau | "s" | time constant for obtaining steady state (i.e. time until difference between n and steady has reduced by a factor of 1/e) | |
| cell.to.inact_fast.steady | value that n would reach if v_gate was held constant | ||
| cell.to.inact_fast.n | ratio of molecules in open conformation | 0.8734 | |
| cell.to.inact_slow.tau | "s" | time constant for obtaining steady state (i.e. time until difference between n and steady has reduced by a factor of 1/e) | |
| cell.to.inact_slow.steady | value that n would reach if v_gate was held constant | ||
| cell.to.inact_slow.n | ratio of molecules in open conformation | 0.1503 | |
| cell.to.act.tau | "s" | time constant for obtaining steady state (i.e. time until difference between n and steady has reduced by a factor of 1/e) | |
| cell.to.act.steady | value that n would reach if v_gate was held constant | ||
| cell.to.act.n | ratio of molecules in open conformation | 0.008857 | |
| cell.to.g | "S" | ion conductance | |
| cell.to.i_open | "A" | i if open_ratio = 1 | |
| cell.to.open_ratio | "1" | ratio between 0 (fully closed) and 1 (fully open) | |
| cell.to.i_ion | "A" | current used for ion flux | |
| cell.na.inact_total | total inactivation resulting from fast and slow inactivation terms | ||
| cell.na.inact_slow.tau | "s" | time constant for obtaining steady state (i.e. time until difference between n and steady has reduced by a factor of 1/e) | |
| cell.na.inact_slow.steady | value that n would reach if v_gate was held constant | ||
| cell.na.inact_slow.n | ratio of molecules in open conformation | 0.6162 | |
| cell.na.inact_fast.tau | "s" | time constant for obtaining steady state (i.e. time until difference between n and steady has reduced by a factor of 1/e) | |
| cell.na.inact_fast.steady | value that n would reach if v_gate was held constant | ||
| cell.na.inact_fast.n | ratio of molecules in open conformation | 0.717 | |
| cell.na.act.tau | "s" | time constant for obtaining steady state (i.e. time until difference between n and steady has reduced by a factor of 1/e) | |
| cell.na.act.steady | "1" | steady state achieved if current voltage is held constant | |
| cell.na.act.beta | "1" | rate of transfer from open to closed conformation | |
| cell.na.act.alpha | "1" | rate of transfer from closed to open conformation | |
| cell.na.act.n | ratio of molecules in open conformation | 0.01227 | |
| cell.na.i_open | i if open_ratio = 1 | ||
| cell.na.open_ratio | ratio between 0 (fully closed) and 1 (fully open) | ||
| cell.na.i_ion | "A" | current used for ion flux | |
| cell.kir.voltage_act.n | ratio of molecules in open conformation | ||
| cell.kir.voltage_inact.n | ratio of molecules in open conformation | ||
| cell.kir.g | "S" | ion conductance | |
| cell.kir.i_open | "A" | i if open_ratio = 1 | |
| cell.kir.open_ratio | "1" | ratio between 0 (fully closed) and 1 (fully open) | |
| cell.kir.i_ion | "A" | current used for ion flux | |
| cell.l2.i | "A" | Current flowing from pin p to pin n | |
| cell.l2.v | "V" | Voltage drop of the two pins (= p.v - n.v) | |
| cell.nak.i | "A" | Current flowing from pin p to pin n | |
| cell.naca.e4 | "1" | ratio of exchanger molecules in state e4 | |
| cell.naca.e3 | "1" | ratio of exchanger molecules in state e3 | |
| cell.naca.e2 | "1" | ratio of exchanger molecules in state e2 | |
| cell.naca.e1 | "1" | ratio of exchanger molecules in state e1 | |
| cell.naca.d | "1" | common denominator to turn relative frequencies into actual ratios between 0 and 1 | |
| cell.naca.x4 | "1" | relative frequancy of E4 states | |
| cell.naca.x3 | "1" | relative frequency of E3 states | |
| cell.naca.x2 | "1" | relative frequency of E2 states | |
| cell.naca.x1 | "1" | relative frequency of E1 states | |
| cell.naca.k_14 | "1" | rate constant for transition from E1 to E4 | |
| cell.naca.k_41 | "1" | rate constant for transition from E4 to E1 | |
| cell.naca.k_32 | "1" | rate constant for transition from E3 to E2 | |
| cell.naca.k_23 | "1" | rate constant for transition from E2 to E3 | |
| cell.naca.k_21 | "1" | rate constant for transition from E2 to E1 | |
| cell.naca.k_12 | "1" | rate constant for transition from E1 to E2 | |
| cell.naca.f1_2n_o | "1" | fraction of E2 states whose first two Na+ sites are occupied by Na+ | |
| cell.naca.f1_2n_i | "1" | fraction of E1 states whose first two Na+ sites are occupied by Na+ | |
| cell.naca.do | "1" | common denominator summing relative frequencies for all E2 substates | |
| cell.naca.do_cv | "1" | relative frequency of E2 states that are occupied by Ca2+ and occluded | |
| cell.naca.di | "1" | common denominator summing relative frequencies for all E1 substates | |
| cell.naca.di_cn | "1" | relative frequency of E1 states whose first two binding sites are occupied by Ca2+ and whose last binding site is occupied by Na+ | |
| cell.naca.di_cv | "1" | relative frequency of E1 states that are occupied by Ca2+ and occluded | |
| cell.naca.di_c | "1" | relative frequency of E1 states that are occupied by Ca2+ and not occluded | |
| cell.naca.i_ion | "A" | current used for TransmembraneCaFlow | |
| cell.naca.trans.rate | "mol/s" | rate of change in substance amount | |
| cell.kr.act_total | total activation due to slow and fast activation terms | ||
| cell.kr.inact.tau | "s" | time constant for obtaining steady state (i.e. time until difference between n and steady has reduced by a factor of 1/e) | |
| cell.kr.inact.steady | value that n would reach if v_gate was held constant | ||
| cell.kr.inact.n | ratio of molecules in open conformation | 0.9866 | |
| cell.kr.act_slow.tau | "s" | time constant for obtaining steady state (i.e. time until difference between n and steady has reduced by a factor of 1/e) | |
| cell.kr.act_slow.steady | value that n would reach if v_gate was held constant | ||
| cell.kr.act_slow.n | ratio of molecules in open conformation | 0.0484 | |
| cell.kr.act_fast.tau | "s" | time constant for obtaining steady state (i.e. time until difference between n and steady has reduced by a factor of 1/e) | |
| cell.kr.act_fast.steady | value that n would reach if v_gate was held constant | ||
| cell.kr.act_fast.n | ratio of molecules in open conformation | 0.07106999999999999 | |
| cell.kr.g | "S" | ion conductance | |
| cell.kr.i_open | "A" | i if open_ratio = 1 | |
| cell.kr.open_ratio | "1" | ratio between 0 (fully closed) and 1 (fully open) | |
| cell.kr.i_ion | "A" | current used for ion flux | |
| cell.cal.inact_total | |||
| cell.cal.inact_fast.tau | "s" | time constant for obtaining steady state (i.e. time until difference between n and steady has reduced by a factor of 1/e) | |
| cell.cal.inact_fast.steady | value that n would reach if v_gate was held constant | ||
| cell.cal.inact_fast.n | ratio of molecules in open conformation | 0.9985000000000001 | |
| cell.cal.inact_slow.tau | "s" | time constant for obtaining steady state (i.e. time until difference between n and steady has reduced by a factor of 1/e) | |
| cell.cal.inact_slow.steady | value that n would reach if v_gate was held constant | ||
| cell.cal.inact_slow.n | ratio of molecules in open conformation | 0.9875 | |
| cell.cal.act.tau | "s" | time constant for obtaining steady state (i.e. time until difference between n and steady has reduced by a factor of 1/e) | |
| cell.cal.act.steady | value that n would reach if v_gate was held constant | ||
| cell.cal.act.n | ratio of molecules in open conformation | 4.069e-05 | |
| cell.cal.trans.rate | "mol/s" | rate of change in substance amount | |
| cell.cal.g | "S" | ion conductance | |
| cell.cal.i_open | "A" | i if open_ratio = 1 | |
| cell.cal.open_ratio | "1" | ratio between 0 (fully closed) and 1 (fully open) | |
| cell.cal.i_ion | "A" | current used for ion flux | |
| cell.bg.i_ion | "A" | current used for ion flux | |
| $whenCondition2 | cc.pulse_start | ||
| $whenCondition1 | cc.pulse_end | ||
| cell.cal.con.substance.amount | "mol" | amount of substance | cell.cal.con.c_const * cell.cal.con.vol | 
| cell.naca.con.substance.amount | "mol" | amount of substance | cell.naca.con.c_const * cell.naca.con.vol | 
| cell.naca.di_3n | "1" | relative frequency of E1 states where exactly three Na+ sites are occupied by Na+ | cell.naca.di_2n * cell.na_in / cell.naca.k_3n_i | 
| cell.naca.do_3n | "1" | relative frequency of E2 states where exactly three Na+ sites are occupied by Na+ | cell.naca.do_2n * cell.na_ex / cell.naca.k_3n_o | 
| cell.naca.do_2n | "1" | relative frequency of E2 states where exactly the first two Na+ sites are occupied by Na+ | cell.naca.do_1n * cell.na_ex / cell.naca.k_2n_o | 
| cell.naca.di_2n | "1" | relative frequency of E1 states where exactly the first two Na+ sites are occupied by Na+ | cell.naca.di_1n * cell.na_in / cell.naca.k_2n_i | 
| cell.bg.open_ratio | "1" | ratio between 0 (fully closed) and 1 (fully open) | 1.0 | 
| cell.ca.mg.substance.amount | "mol" | amount of substance | cell.ca.mg.c_const * cell.ca.mg.vol | 
| cell.ca.sub_cyto.coeff | "1/s" | coefficient of transport | 1.0 / cell.ca.sub_cyto.tau | 
| cell.ca.nsr_jsr.coeff | "1/s" | coefficient of transport | 1.0 / cell.ca.nsr_jsr.tau | 
| cc.g.p.v | "V" | Potential at the pin | 0.0 | 
| cell.cal.ach_factor | 1.0 | ||
| cell.naca.di_1n | "1" | relative frequency of E1 states where only the first Na+ site is occupied by Na+ | cell.na_in / cell.naca.k_1n_i | 
| cell.naca.do_c | "1" | relative frequency of E2 states that are occupied by Ca2+ and not occluded | cell.ca_ex / cell.naca.k_c_o | 
| cell.naca.do_1n | "1" | relative frequency of E2 states where only the first Na+ site is occupied by Na+ | cell.na_ex / cell.naca.k_1n_o | 
| cell.naca.f1_3n_o | "1" | fraction of E2 states whose first two Na+ sites are occupied by Na+ | InaMo.Functions.Biochemical.michaelisMenten(cell.na_ex, cell.naca.k_3n_o) | 
| cell.naca.f1_3n_i | "1" | fraction of E1 states whose first two Na+ sites are occupied by Na+ | InaMo.Functions.Biochemical.michaelisMenten(cell.na_in, cell.naca.k_3n_i) | 
| cell.kir.n_pot | "1" | [K+]_ex-dependent gating variable | InaMo.Functions.Biochemical.michaelisMenten(cell.k_ex, 0.59) | 
| cc.i_pulse | "A" | current during pulse (must be defined externally) | -2e-09 | 
| cell.use_ach | should acetylcholine sensitive potassium channel be included in the model | false | |
| cell.ach | "mol/m3" | concentration of acetylcholine available for I_ACh | 0.0 | 
| cell.na_in | "mol/m3" | intracellular sodium concentration | 8.0 | 
| cell.na_ex | "mol/m3" | extracellular sodium concentration | 140.0 | 
| cell.na_p | "m3/(s.m2)" | permeability of cell membrane to sodium ions | InaMo.Functions.Biochemical.p_from_g(2.53e-07, cell.na_ex, 1, cell.temp) | 
| cell.k_in | "mol/m3" | intracellular potassium concentration | 140.0 | 
| cell.k_ex | "mol/m3" | extracellular potassium concentration | 5.4 | 
| cell.ca_ex | "mol/m3" | extracellular calcium concentration | 2.0 | 
| cell.temp | "K" | cell medium temperature | 288.15 | 
| cell.v_cell | "m3" | total cell volume | InaMo.Examples.FullCell.FullCellCurrentPulses.cell.c_to_v(cell.l2.c, 2.19911e-15, 7.147123e-15) | 
| cell.v_cyto | "m3" | volume of cytosol | 0.46 * cell.v_cell - cell.v_sub | 
| cell.v_sub | "m3" | volume of subspace | 0.01 * cell.v_cell | 
| cell.v_jsr | "m3" | volume of junctional SR | 0.0012 * cell.v_cell | 
| cell.v_nsr | "m3" | volume of network SR | 0.0116 * cell.v_cell | 
| cell.v_k | "V" | equilibrium potential for potassium currents | InaMo.Functions.Biochemical.nernst(cell.k_in, cell.k_ex, 1, cell.temp) | 
| cell.bg.v_eq | "V" | equilibrium potential | -0.0525 | 
| cell.bg.g_max | "S" | maximum conductance | 1.8e-09 | 
| cell.bg.current_name | "I_b" | ||
| cell.cal.v_eq | "V" | equilibrium potential | 0.0621 | 
| cell.cal.g_max | "S" | maximum conductance | 1.85e-08 | 
| cell.cal.trans.n | "1" | stoichiometric ratio of ion transport | cell.cal.n_ca | 
| cell.cal.trans.z | valence of ion | 2 | |
| cell.cal.con.c_const | "mol/m3" | fixed concentration | cell.ca_ex | 
| cell.cal.con.vol | "m3" | volume of the compartment | 1.0 | 
| cell.cal.n_ca | "1" | stoichiometric ratio of transport | 1.0 | 
| cell.cal.current_name | "I_Ca,L" | ||
| cell.cal.k_ach | "1" | ratio of maximum channel inhibition by acetylcholine | 0.0 | 
| cell.kr.v_eq | "V" | equilibrium potential | cell.v_k | 
| cell.kr.g_max | "S" | maximum conductance | 1.5e-09 | 
| cell.kr.current_name | "I_K,r" | ||
| cell.naca.trans.n | "1" | stoichiometric ratio of ion transport | cell.naca.n_ca | 
| cell.naca.trans.z | valence of ion | 2 | |
| cell.naca.con.c_const | "mol/m3" | fixed concentration | cell.ca_ex | 
| cell.naca.con.vol | "m3" | volume of the compartment | 1.0 | 
| cell.naca.n_ca | "1" | stoichiometric ratio of transport | -2.0 | 
| cell.naca.current_name | "I_NaCa" | ||
| cell.naca.k_c_i | "mol/m3" | dissociation constant for channel with Ca++ bound on inside | 0.0207 | 
| cell.naca.k_cn_i | "mol/m3" | dissociation constant for channel with Ca++ and one Na+ bound on inside | 26.44 | 
| cell.naca.k_1n_i | "mol/m3" | dissociation constant for channel with one Na+ bound on inside | 395.3 | 
| cell.naca.k_2n_i | "mol/m3" | dissociation constant for channel with two Na+ bound on inside | 2.289 | 
| cell.naca.k_3n_i | "mol/m3" | dissociation constant for channel with three Na+ bound on inside | 26.44 | 
| cell.naca.k_c_o | "mol/m3" | dissociation constant for channel with Ca++ bound on outside | 3.663 | 
| cell.naca.k_1n_o | "mol/m3" | dissociation constant for channel with one Na+ bound on outside | 1628.0 | 
| cell.naca.k_2n_o | "mol/m3" | dissociation constant for channel with two Na+ bound on outside | 561.4 | 
| cell.naca.k_3n_o | "mol/m3" | dissociation constant for channel with three Na+ bound on outside | 4.663 | 
| cell.naca.q_ci | fractional charge movement during intracellular Ca++ occlusion reaction | 0.1369 | |
| cell.naca.q_co | fractional charge movement during extracellular Ca++ occlusion reaction | 0.0 | |
| cell.naca.q_n | fractional charge movement during Na+ occlusion reactions | 0.4315 | |
| cell.naca.k_NaCa | "A" | scaling factor for Na+/Ca++ exchanger current | 5.92e-09 | 
| cell.naca.FoRT | helper variable to simplify equations | 11604.52214706721 / cell.temp | |
| cell.nak.current_name | "I_NaK" | ||
| cell.nak.i_max | "A" | maximum current (actual maximum is 1.6 * i_max) | 2.46e-11 | 
| cell.nak.k_m_Na | "mol/m3" | Michaelis constant for Na+ binding | 5.64 | 
| cell.nak.k_m_K | "mol/m3" | Michaelis constant for K+ binding | 0.621 | 
| cell.l2.c | "F" | membrane capacitance | 4e-11 | 
| cell.l2.v_init | "V" | initial potential (from short initial stimulation) | -0.09 | 
| cell.l2.use_init | determines whether initial value for v is used | true | |
| cell.kir.v_eq | "V" | equilibrium potential | cell.v_k | 
| cell.kir.g_max | "S" | maximum conductance | 1.25e-08 | 
| cell.kir.current_name | "I_K1" | ||
| cell.kir.FoRT | helper variable to simplyfiy equations | 96485.33289000001 / (cell.temp * 8.3144598) | |
| cell.kir.use_vact | use voltage-dependent activation gate? (only Inada 2009) | true | |
| cell.na.ion_ex | "mol/m3" | extracellular concentration of ion | cell.na_ex | 
| cell.na.ion_p | "m3/(s.m2)" | permeability of ion | cell.na_p | 
| cell.na.ion_z | valence of ion | 1 | |
| cell.na.current_name | "I_Na" | ||
| cell.to.v_eq | "V" | equilibrium potential | cell.v_k | 
| cell.to.g_max | "S" | maximum conductance | 2e-08 | 
| cell.to.current_name | "I_to" | ||
| cell.cell_type | "AN" | ||
| cell.ca.tc_tot | "mol/m3" | total concentration of troponin-Ca | 0.031 | 
| cell.ca.tmc_tot | "mol/m3" | total concentration of troponin-Mg binding to Ca2+ | 0.062 | 
| cell.ca.cm_tot | "mol/m3" | total concentration of calmodulin | 0.045 | 
| cell.ca.cq_tot | "mol/m3" | total concentration of calsequestrin | 10.0 | 
| cell.ca.mg.c_const | "mol/m3" | fixed concentration | 2.5 | 
| cell.ca.mg.vol | "m3" | volume of the compartment | cell.v_cyto | 
| cell.ca.sub.vol | "m3" | volume of the compartment | cell.v_sub | 
| cell.ca.sub.c_start | "mol/m3" | initial value of concentration | 6.397e-05 | 
| cell.ca.cyto.vol | "m3" | volume of the compartment | cell.v_cyto | 
| cell.ca.cyto.c_start | "mol/m3" | initial value of concentration | 0.0001206 | 
| cell.ca.jsr.vol | "m3" | volume of the compartment | cell.v_jsr | 
| cell.ca.jsr.c_start | "mol/m3" | initial value of concentration | 0.4273 | 
| cell.ca.nsr.vol | "m3" | volume of the compartment | cell.v_nsr | 
| cell.ca.nsr.c_start | "mol/m3" | initial value of concentration | 1.068 | 
| cell.ca.sub_cyto.vol_src | "m3" | volume of source compartment | cell.ca.sub.vol | 
| cell.ca.sub_cyto.vol_dst | "m3" | volume of destination compartment | cell.ca.cyto.vol | 
| cell.ca.sub_cyto.vol_trans | "m3" | volume of substance that is transferred between compartments over 1/coeff seconds | min(cell.ca.sub_cyto.vol_src, cell.ca.sub_cyto.vol_dst) | 
| cell.ca.sub_cyto.tau | "s" | time constant of diffusion | 4e-05 | 
| cell.ca.cyto_nsr.current_name | "SERCA" | ||
| cell.ca.cyto_nsr.vol_src | "m3" | volume of source compartment | cell.ca.cyto.vol | 
| cell.ca.cyto_nsr.p | "mol/s" | maximum flow rate | 5.0 * cell.v_nsr | 
| cell.ca.cyto_nsr.k | "mol/m3" | Michaelis constant | 0.0005999999999999999 | 
| cell.ca.nsr_jsr.vol_src | "m3" | volume of source compartment | cell.ca.nsr.vol | 
| cell.ca.nsr_jsr.vol_dst | "m3" | volume of destination compartment | cell.ca.jsr.vol | 
| cell.ca.nsr_jsr.vol_trans | "m3" | volume of substance that is transferred between compartments over 1/coeff seconds | min(cell.ca.nsr_jsr.vol_src, cell.ca.nsr_jsr.vol_dst) | 
| cell.ca.nsr_jsr.tau | "s" | time constant of diffusion | 0.06 | 
| cell.ca.jsr_sub.vol_src | "m3" | volume of source compartment | cell.ca.jsr.vol | 
| cell.ca.jsr_sub.vol_dst | "m3" | volume of destination compartment | cell.ca.sub.vol | 
| cell.ca.jsr_sub.vol_trans | "m3" | volume of substance that is transferred between compartments over 1/coeff seconds | min(cell.ca.jsr_sub.vol_src, cell.ca.jsr_sub.vol_dst) | 
| cell.ca.jsr_sub.current_name | "RyR" | ||
| cell.ca.jsr_sub.p | "1/s" | rate coefficient (inverse of time constant) | 1805.6 | 
| cell.ca.jsr_sub.ka | "mol/m3" | concentration producing half occupation | 0.0012 | 
| cell.ca.jsr_sub.n | "1" | Hill coefficient | 2.0 | 
| cell.ca.tc.n_tot | "mol" | total amount of buffer | cell.ca.tc_tot * cell.v_cyto | 
| cell.ca.tc.f_start | "1" | initial value for f | 0.02359 | 
| cell.ca.tc.k | "mol-1s-1" | association constant | 88800.0 / cell.v_cyto | 
| cell.ca.tc.kb | "s-1" | dissociation constant | 446.0 | 
| cell.ca.tc.vol | "m3" | volume of compartment in which buffer resides | 1.0 | 
| cell.ca.tc.assoc.k | "mol-1s-1" | association constant | cell.ca.tc.k | 
| cell.ca.tc.assoc.kb | "s-1" | dissociation constant | cell.ca.tc.kb | 
| cell.ca.tc.free.vol | "m3" | volume of the compartment | cell.ca.tc.vol | 
| cell.ca.tc.free.c_start | "mol/m3" | initial value of concentration | (1.0 - cell.ca.tc.f_start) * cell.ca.tc.n_tot / cell.ca.tc.vol | 
| cell.ca.tc.occupied.vol | "m3" | volume of the compartment | cell.ca.tc.vol | 
| cell.ca.tc.occupied.c_start | "mol/m3" | initial value of concentration | cell.ca.tc.f_start * cell.ca.tc.n_tot / cell.ca.tc.vol | 
| cell.ca.tm.n_tot | "mol" | total amount of buffer | cell.ca.tmc_tot * cell.v_cyto | 
| cell.ca.tm.f_a_start | "1" | initial value for f | 0.3667 | 
| cell.ca.tm.f_b_start | "1" | initial value for f | 0.5594 | 
| cell.ca.tm.k_a | "mol-1s-1" | association constant for binding to ligand A | 227700.0 / cell.v_cyto | 
| cell.ca.tm.k_b | "mol-1s-1" | association constant for binding to ligand B | 2277.0 / cell.v_cyto | 
| cell.ca.tm.kb_a | "s-1" | dissociation constant for binding to ligand A | 7.51 | 
| cell.ca.tm.kb_b | "s-1" | dissociation constant for binding to ligand B | 751.0 | 
| cell.ca.tm.vol | "m3" | volume of compartment in which buffer resides | cell.v_cyto | 
| cell.ca.tm.assoc_a.k | "mol-1s-1" | association constant | cell.ca.tm.k_a | 
| cell.ca.tm.assoc_a.kb | "s-1" | dissociation constant | cell.ca.tm.kb_a | 
| cell.ca.tm.assoc_b.k | "mol-1s-1" | association constant | cell.ca.tm.k_b | 
| cell.ca.tm.assoc_b.kb | "s-1" | dissociation constant | cell.ca.tm.kb_b | 
| cell.ca.tm.free.vol | "m3" | volume of the compartment | cell.ca.tm.vol | 
| cell.ca.tm.free.c_start | "mol/m3" | initial value of concentration | (1.0 - (cell.ca.tm.f_a_start + cell.ca.tm.f_b_start)) * cell.ca.tm.n_tot / cell.ca.tm.vol | 
| cell.ca.tm.occupied_a.vol | "m3" | volume of the compartment | cell.ca.tm.vol | 
| cell.ca.tm.occupied_a.c_start | "mol/m3" | initial value of concentration | cell.ca.tm.f_a_start * cell.ca.tm.n_tot / cell.ca.tm.vol | 
| cell.ca.tm.occupied_b.vol | "m3" | volume of the compartment | cell.ca.tm.vol | 
| cell.ca.tm.occupied_b.c_start | "mol/m3" | initial value of concentration | cell.ca.tm.f_b_start * cell.ca.tm.n_tot / cell.ca.tm.vol | 
| cell.ca.cm_cyto.n_tot | "mol" | total amount of buffer | cell.ca.cm_tot * cell.v_cyto | 
| cell.ca.cm_cyto.f_start | "1" | initial value for f | 0.04845 | 
| cell.ca.cm_cyto.k | "mol-1s-1" | association constant | 227700.0 / cell.v_cyto | 
| cell.ca.cm_cyto.kb | "s-1" | dissociation constant | 542.0 | 
| cell.ca.cm_cyto.vol | "m3" | volume of compartment in which buffer resides | 1.0 | 
| cell.ca.cm_cyto.assoc.k | "mol-1s-1" | association constant | cell.ca.cm_cyto.k | 
| cell.ca.cm_cyto.assoc.kb | "s-1" | dissociation constant | cell.ca.cm_cyto.kb | 
| cell.ca.cm_cyto.free.vol | "m3" | volume of the compartment | cell.ca.cm_cyto.vol | 
| cell.ca.cm_cyto.free.c_start | "mol/m3" | initial value of concentration | (1.0 - cell.ca.cm_cyto.f_start) * cell.ca.cm_cyto.n_tot / cell.ca.cm_cyto.vol | 
| cell.ca.cm_cyto.occupied.vol | "m3" | volume of the compartment | cell.ca.cm_cyto.vol | 
| cell.ca.cm_cyto.occupied.c_start | "mol/m3" | initial value of concentration | cell.ca.cm_cyto.f_start * cell.ca.cm_cyto.n_tot / cell.ca.cm_cyto.vol | 
| cell.ca.cm_sub.n_tot | "mol" | total amount of buffer | cell.ca.cm_tot * cell.v_sub | 
| cell.ca.cm_sub.f_start | "1" | initial value for f | 0.02626 | 
| cell.ca.cm_sub.k | "mol-1s-1" | association constant | cell.ca.cm_cyto.k * cell.v_cyto / cell.v_sub | 
| cell.ca.cm_sub.kb | "s-1" | dissociation constant | cell.ca.cm_cyto.kb | 
| cell.ca.cm_sub.vol | "m3" | volume of compartment in which buffer resides | 1.0 | 
| cell.ca.cm_sub.assoc.k | "mol-1s-1" | association constant | cell.ca.cm_sub.k | 
| cell.ca.cm_sub.assoc.kb | "s-1" | dissociation constant | cell.ca.cm_sub.kb | 
| cell.ca.cm_sub.free.vol | "m3" | volume of the compartment | cell.ca.cm_sub.vol | 
| cell.ca.cm_sub.free.c_start | "mol/m3" | initial value of concentration | (1.0 - cell.ca.cm_sub.f_start) * cell.ca.cm_sub.n_tot / cell.ca.cm_sub.vol | 
| cell.ca.cm_sub.occupied.vol | "m3" | volume of the compartment | cell.ca.cm_sub.vol | 
| cell.ca.cm_sub.occupied.c_start | "mol/m3" | initial value of concentration | cell.ca.cm_sub.f_start * cell.ca.cm_sub.n_tot / cell.ca.cm_sub.vol | 
| cell.ca.cq.n_tot | "mol" | total amount of buffer | cell.ca.cq_tot * cell.v_jsr | 
| cell.ca.cq.f_start | "1" | initial value for f | 0.3379 | 
| cell.ca.cq.k | "mol-1s-1" | association constant | 534.0 / cell.v_jsr | 
| cell.ca.cq.kb | "s-1" | dissociation constant | 445.0 | 
| cell.ca.cq.vol | "m3" | volume of compartment in which buffer resides | 1.0 | 
| cell.ca.cq.assoc.k | "mol-1s-1" | association constant | cell.ca.cq.k | 
| cell.ca.cq.assoc.kb | "s-1" | dissociation constant | cell.ca.cq.kb | 
| cell.ca.cq.free.vol | "m3" | volume of the compartment | cell.ca.cq.vol | 
| cell.ca.cq.free.c_start | "mol/m3" | initial value of concentration | (1.0 - cell.ca.cq.f_start) * cell.ca.cq.n_tot / cell.ca.cq.vol | 
| cell.ca.cq.occupied.vol | "m3" | volume of the compartment | cell.ca.cq.vol | 
| cell.ca.cq.occupied.c_start | "mol/m3" | initial value of concentration | cell.ca.cq.f_start * cell.ca.cq.n_tot / cell.ca.cq.vol | 
| cell.ca.cm_sl_tot | "mol/m3" | total concentration of calmodulin in sarcolemma | 0.02583333333333333 | 
| cell.ca.cm_sl.n_tot | "mol" | total amount of buffer | cell.ca.cm_sl_tot * cell.v_sub | 
| cell.ca.cm_sl.f_start | "1" | initial value for f | 3.936e-05 | 
| cell.ca.cm_sl.k | "mol-1s-1" | association constant | 115.0 / cell.v_sub | 
| cell.ca.cm_sl.kb | "s-1" | dissociation constant | 1000.0 | 
| cell.ca.cm_sl.vol | "m3" | volume of compartment in which buffer resides | 1.0 | 
| cell.ca.cm_sl.assoc.k | "mol-1s-1" | association constant | cell.ca.cm_sl.k | 
| cell.ca.cm_sl.assoc.kb | "s-1" | dissociation constant | cell.ca.cm_sl.kb | 
| cell.ca.cm_sl.free.vol | "m3" | volume of the compartment | cell.ca.cm_sl.vol | 
| cell.ca.cm_sl.free.c_start | "mol/m3" | initial value of concentration | (1.0 - cell.ca.cm_sl.f_start) * cell.ca.cm_sl.n_tot / cell.ca.cm_sl.vol | 
| cell.ca.cm_sl.occupied.vol | "m3" | volume of the compartment | cell.ca.cm_sl.vol | 
| cell.ca.cm_sl.occupied.c_start | "mol/m3" | initial value of concentration | cell.ca.cm_sl.f_start * cell.ca.cm_sl.n_tot / cell.ca.cm_sl.vol | 
| cc.d_hold | "s" | holding period | 0.3 | 
| cc.d_pulse | "s" | pulse period | 0.001 | 
| cc.i_hold | "A" | current during holding period | 0.0 | 
| cell.na.ion_in | "mol/m3" | intracellular concentration of ion | cell.na_in | 
| cell.bg.g | "S" | ion conductance | cell.bg.g_max | 
InaMo.Examples.FullCell.FullCellSpon
model FullCellSpon "base model for full cell simulation without stimulation"
  extends Modelica.Icons.Example;
  replaceable InaMo.Cells.VariableCa.NCell cell "cell that should be tested" annotation(
    Placement(transformation(extent = {{13, 29}, {47, 63}})));
  Modelica.Electrical.Analog.Basic.Ground g "electrical ground to provide reference potential" annotation(
    Placement(transformation(extent = {{-43, -57}, {-9, -23}})));
equation
  connect(cell.n, g.p) annotation(
    Line(points = {{-26, -22}, {-26, -22}, {-26, 46}, {22, 46}, {22, 46}}, color = {0, 0, 255}));
end FullCellSpon;- Within group cell (prefix _ indicates shortened variable name)
- Within group ca (prefix _ indicates shortened variable name)
- Within group cm_cyto (prefix _ indicates shortened variable name)
- Within group assoc (prefix _ indicates shortened variable name)
 - Within group occupied (prefix _ indicates shortened variable name)
 
 - Within group assoc (prefix _ indicates shortened variable name)
 - Within group cm_sl (prefix _ indicates shortened variable name)
- Within group assoc (prefix _ indicates shortened variable name)
 - Within group occupied (prefix _ indicates shortened variable name)
 
 - Within group assoc (prefix _ indicates shortened variable name)
 - Within group cm_sub (prefix _ indicates shortened variable name)
- Within group assoc (prefix _ indicates shortened variable name)
 - Within group occupied (prefix _ indicates shortened variable name)
 
 - Within group assoc (prefix _ indicates shortened variable name)
 - Within group cq (prefix _ indicates shortened variable name)
- Within group assoc (prefix _ indicates shortened variable name)
 - Within group occupied (prefix _ indicates shortened variable name)
 
 - Within group assoc (prefix _ indicates shortened variable name)
 - Within group cyto (prefix _ indicates shortened variable name)
 - Within group jsr (prefix _ indicates shortened variable name)
 - Within group jsr_sub (prefix _ indicates shortened variable name)
 - Within group nsr (prefix _ indicates shortened variable name)
 - Within group sub (prefix _ indicates shortened variable name)
 - Within group tc (prefix _ indicates shortened variable name)
- Within group assoc (prefix _ indicates shortened variable name)
 - Within group occupied (prefix _ indicates shortened variable name)
 
 - Within group assoc (prefix _ indicates shortened variable name)
 - Within group tm (prefix _ indicates shortened variable name)
- Within group free (prefix _ indicates shortened variable name)
 - Within group occupied_a (prefix _ indicates shortened variable name)
 - Within group occupied_b (prefix _ indicates shortened variable name)
 
 
 - Within group cal (prefix _ indicates shortened variable name)
 - Within group hcn (prefix _ indicates shortened variable name)
 - Within group kr (prefix _ indicates shortened variable name)
 - Within group naca (prefix _ indicates shortened variable name)
 - Within group st (prefix _ indicates shortened variable name)
- Within group inact (prefix _ indicates shortened variable name)
 
 
 
Functions:
function act.fsteady
  input Real x "input value";
  input Real y_min = 0.0 "lower asymptote (fitting parameter)";
  input Real y_max = 1.0 "upper asmyptote when d_off=1 and nu=1 (fititng parameter)";
  input Real x0 = -0.0182 "x-value of sigmoid midpoint when d_off=1 and nu=1 (fitting parameter)";
  input Real sx = 200.0 "scaling factor for x axis (i.e. steepness, fitting parameter)";
  input Real se = 1.0 "scaling factor for exponential part (fitting parameter)";
  input Real d_off = 1.0 "offset in denominator (affects upper asymptote, fitting parameter)";
  input Real nu = 1.0 "reciprocal of exponent of denominator (affects upper asymptote, fitting parameter)";
  output Real y "result";
  protected Real x_adj "adjusted x with offset and scaling factor";
algorithm
  x_adj := sx * (x - x0);
  y := y_min + (y_max - y_min) / (se * exp(-x_adj) + d_off) ^ (1.0 / nu);
end act.fsteady;function fbeta.fa
  input Real x "input value";
  input Real off = 0.0 "offset added to result to increase minimum (fitting parameter)";
  output Real y "result of applying the HH-style equation tau = 1/(alpha + beta)";
algorithm
  y := 1.0 / (kr.ftau.falpha(x, 0.0, -1000.0 / 10.0, 95.0 / 150.4) + kr.ftau.falpha(x, 0.0, -1000.0 / 700.0, 50.0 / 150.4)) + off;
end fbeta.fa;function c_to_v "function used to determine cell volume based on membrane capacitance"
  input Real c_m(quantity = "Capacitance", unit = "F", min = 0.0) "membrane capacitance";
  input Real v_low(quantity = "Volume", unit = "m3") = 2.19911e-15 "low estimate for cell volume (obtained when c_m = c_low)";
  input Real v_high(quantity = "Volume", unit = "m3") = 7.147123e-15 "high estimate for cell volume (obtained when c_m = c_low + c_span)";
  output Real v_cell(quantity = "Volume", unit = "m3") "resulting total cell volume";
  protected Real c_low(quantity = "Capacitance", unit = "F", min = 0.0) = 2e-11 "low value for c_m (where v_low is returned)";
  protected Real c_span(quantity = "Capacitance", unit = "F", min = 0.0) = 4.5e-11 "span that must be added to c_m to reach an output of v_high";
algorithm
  v_cell := (c_m - c_low) / c_span * (v_high - v_low) + v_low;
end c_to_v;function st.act.ftau
  input Real x "input value";
  input Real off = 0.0 "offset added to result to increase minimum (fitting parameter)";
  output Real y "result of applying the HH-style equation tau = 1/(alpha + beta)";
algorithm
  y := 1.0 / (st.ftau.falpha(x, 0.0) + ftau.fbeta(x, 0.0)) + off;
end st.act.ftau;function kr.ftau.falpha
  input Real x "input value";
  input Real x0 = 0.0 "x-value where y = 1 (fitting parameter)";
  input Real sx = 39.8 "scaling factor for x axis (fitting parameter)";
  input Real sy = 17.0 "scaling factor for y axis (fitting parameter)";
  output Real y "result";
algorithm
  y := sy * exp(sx * (x - x0));
end kr.ftau.falpha;function michaelisMenten "equation for enzymatic reactions following Michaelis-Menten kinetics"
  input Real s(quantity = "Concentration", unit = "mol/m3") "substrate concentration";
  input Real k(quantity = "Concentration", unit = "mol/m3") "concentration producing half-maximum reaction rate (michaelis constant)";
  output Real rate(unit = "1") "reaction rate";
algorithm
  rate := s / (s + k);
end michaelisMenten;function inact.falpha
  input Real x "input value";
  input Real off = 0.0 "offset added to result to increase minimum (fitting parameter)";
  output Real y "result of applying the HH-style equation tau = 1/(alpha + beta)";
algorithm
  y := 1.0 / (kr.ftau.falpha(x, 0.0, 1000.0 / 13.0, 3100.0 / 150.4) + kr.ftau.falpha(x, 0.0, 1000.0 / 70.0, 700.0 / 150.4)) + off;
end inact.falpha;function inact_fast.ftau
  input Real x "input value";
  input Real y_min = 0.01 "minimum value achieved at edges (fitting parameter)";
  input Real y_max = 0.1639 "maximum value achieved at peak (fititng parameter)";
  input Real x0 = -0.04 "x-value of bell curve midpoint (fitting parameter)";
  input Real sigma = 0.009635092111651035 "standard deviation determining the width of the bell curve (fitting parameter)";
  output Real y "result";
  protected Real x_adj "adjusted x with offset and standard deviation";
algorithm
  x_adj := (x - x0) / sigma;
  y := y_min + (y_max - y_min) * exp(-0.5 * x_adj ^ 2.0);
end inact_fast.ftau;function st.ftau.falpha
  input Real x "input value";
  input Real off = 0.0 "offset added to result to increase minimum (fitting parameter)";
  output Real y "result of applying the HH-style equation tau = 1/(alpha + beta)";
algorithm
  y := 1.0 / (kr.ftau.falpha(x, 0.0, -1000.0 / 11.0, 0.00015) + kr.ftau.falpha(x, 0.0, -1000.0 / 700.0, 0.0002)) + off;
end st.ftau.falpha;function inact.fbeta
  input Real x "input value";
  output Real y "output value";
algorithm
  y := fbeta.fa(x, 0.0) + act.fsteady(x, 0.0, 0.229, 0.0, 1000.0 / 5.0, 1.0, 1.0, 1.0);
end inact.fbeta;function falpha.fa
  input Real x "input value";
  input Real x0 = -0.035 "offset for x (fitting parameter)";
  input Real sy = 65.3 "scaling factor for y (fitting parameter)";
  input Real sx = -400.0 "scaling factor for x (fitting parameter)";
  output Real y "result";
  protected Real x_adj "adjusted x with offset and scaling factor";
algorithm
  x_adj := sx * (x - x0);
  if abs(x - x0) < 1e-06 then
    y := sy;
  else
    y := sy * x_adj / (exp(x_adj) - 1.0);
  end if;
end falpha.fa;function inact.fsteady
  input Real x "input value";
  output Real y "output value";
algorithm
  y := act.fsteady(x, 0.0, 1.0, -0.0049, -1000.0 / 15.14, 1.0, 1.0, 1.0) * inact_fast.ftau(x, 1.0, (-0.3) + 1.0, 0.0, sqrt(500.0 / 2.0) / 1000.0);
end inact.fsteady;function nernst "Nernst equation to find the equlibrium potential for a single ion"
  input Real ion_in(quantity = "Concentration", unit = "mol/m3") "intracellular ion concentration";
  input Real ion_ex(quantity = "Concentration", unit = "mol/m3") "extracellular ion concentration";
  input Integer ion_z "valence of ion";
  input Real temp(quantity = "ThermodynamicTemperature", unit = "K", displayUnit = "degC", min = 0.0, start = 288.15, nominal = 300.0) "cell medium temperature";
  output Real v_eq(quantity = "ElectricPotential", unit = "V") "equlibirium potential";
algorithm
  v_eq := 8.3144598 * temp / /*Real*/(ion_z) / 96485.33289000001 * log(ion_ex / ion_in);
end nernst;function inact.ftau
  input Real x "input value";
  input Real off = 0.0 "offset added to result to increase minimum (fitting parameter)";
  output Real y "result of applying the HH-style equation tau = 1/(alpha + beta)";
algorithm
  y := 1.0 / (kr.ftau.falpha(x, 0.0, 9.42, 603.6) + kr.ftau.falpha(x, 0.0, -18.3, 92.01000000000001)) + off;
end inact.ftau;function hillLangmuir "Hill-Langmuir equation measuring the occupancy of a molecule by a ligand"
  input Real c(quantity = "Concentration", unit = "mol/m3") "ligand concentration";
  input Real ka(quantity = "Concentration", unit = "mol/m3") "concentration producing half occupation";
  input Real n(unit = "1") "Hill coefficient";
  output Real rate(unit = "1") "occupancy of molecule by ligand";
algorithm
  rate := c ^ n / (c ^ n + ka ^ n);
end hillLangmuir;function act_fast.ftau
  input Real x "input value";
  input Real off = 0.0 "offset added to result to increase minimum (fitting parameter)";
  output Real y "result of applying the HH-style equation tau = 1/(alpha + beta)";
algorithm
  y := 1.0 / (kr.ftau.falpha(x, 0.0, 39.8, 17.0) + kr.ftau.falpha(x, 0.0, -51.0, 0.211)) + off;
end act_fast.ftau;function cal.ftau.falpha
  input Real x "input value";
  output Real y "output value";
algorithm
  y := falpha.fa(x, -0.035, 26.12 * 2.5, -1000.0 / 2.5) + falpha.fa(x, 0.0, 78.11 / 0.208, -208.0);
end cal.ftau.falpha;function ftau.fbeta
  input Real x "input value";
  input Real off = 0.0 "offset added to result to increase minimum (fitting parameter)";
  output Real y "result of applying the HH-style equation tau = 1/(alpha + beta)";
algorithm
  y := 1.0 / (kr.ftau.falpha(x, 0.0, 1000.0 / 8.0, 0.016) + kr.ftau.falpha(x, 0.0, 1000.0 / 50.0, 0.015)) + off;
end ftau.fbeta;function cal.act.ftau
  input Real x "input value";
  input Real off = 0.0 "offset added to result to increase minimum (fitting parameter)";
  output Real y "result of applying the HH-style equation tau = 1/(alpha + beta)";
algorithm
  y := 1.0 / (cal.ftau.falpha(x) + falpha.fa(x, 0.005, 10.52 / 0.4, 400.0)) + off;
end cal.act.ftau;function p_from_g "calculate membrane permeability for ion from membrane conductance"
  input Real g(quantity = "Conductance", unit = "S") "membrane conductance for given ion";
  input Real ion_ex(quantity = "Concentration", unit = "mol/m3") "extracellular ion concentration";
  input Integer ion_z "valence of ion";
  input Real temp(quantity = "ThermodynamicTemperature", unit = "K", displayUnit = "degC", min = 0.0, start = 288.15, nominal = 300.0) "cell medium temperature";
  output Real p(quantity = "Permeability (fluid mechanics)", unit = "m3/(s.m2)") "membrane permeability for given ion";
  protected Real unit_area(quantity = "Area", unit = "m2") = 1.0 "unit area of 1 m², used to get correct units";
algorithm
  p := g / ion_ex * 8.3144598 * temp / (96485.33289000001 * /*Real*/(ion_z)) ^ 2.0 / unit_area;
end p_from_g;| name | unit | label | value | 
|---|---|---|---|
| g.p.i | "A" | Current flowing into the pin | |
| cell.ca.cm_sl.occupied.con | "mol/m3" | concentration of substance in compartment | |
| cell.ca.cm_sl.occupied.substance.amount | "mol" | amount of substance | |
| cell.ca.cm_sl.free.con | "mol/m3" | concentration of substance in compartment | |
| cell.ca.cm_sl.free.substance.amount | "mol" | amount of substance | |
| cell.ca.cm_sl.site.rate | "mol/s" | molar flow rate of substance | |
| cell.ca.cq.occupied.con | "mol/m3" | concentration of substance in compartment | |
| cell.ca.cq.occupied.substance.amount | "mol" | amount of substance | |
| cell.ca.cq.free.con | "mol/m3" | concentration of substance in compartment | |
| cell.ca.cq.free.substance.amount | "mol" | amount of substance | |
| cell.ca.cq.site.rate | "mol/s" | molar flow rate of substance | |
| cell.ca.cm_sub.occupied.con | "mol/m3" | concentration of substance in compartment | |
| cell.ca.cm_sub.occupied.substance.amount | "mol" | amount of substance | |
| cell.ca.cm_sub.free.con | "mol/m3" | concentration of substance in compartment | |
| cell.ca.cm_sub.free.substance.amount | "mol" | amount of substance | |
| cell.ca.cm_sub.site.rate | "mol/s" | molar flow rate of substance | |
| cell.ca.cm_cyto.occupied.con | "mol/m3" | concentration of substance in compartment | |
| cell.ca.cm_cyto.occupied.substance.amount | "mol" | amount of substance | |
| cell.ca.cm_cyto.free.con | "mol/m3" | concentration of substance in compartment | |
| cell.ca.cm_cyto.free.substance.amount | "mol" | amount of substance | |
| cell.ca.cm_cyto.site.rate | "mol/s" | molar flow rate of substance | |
| cell.ca.tm.occupied_b.con | "mol/m3" | concentration of substance in compartment | |
| cell.ca.tm.occupied_b.substance.amount | "mol" | amount of substance | |
| cell.ca.tm.occupied_a.con | "mol/m3" | concentration of substance in compartment | |
| cell.ca.tm.occupied_a.substance.amount | "mol" | amount of substance | |
| cell.ca.tm.free.con | "mol/m3" | concentration of substance in compartment | |
| cell.ca.tm.free.substance.rate | "mol/s" | molar flow rate of substance | |
| cell.ca.tm.free.substance.amount | "mol" | amount of substance | |
| cell.ca.tm.site_b.rate | "mol/s" | molar flow rate of substance | |
| cell.ca.tm.site_a.rate | "mol/s" | molar flow rate of substance | |
| cell.ca.tc.occupied.con | "mol/m3" | concentration of substance in compartment | |
| cell.ca.tc.occupied.substance.amount | "mol" | amount of substance | |
| cell.ca.tc.free.con | "mol/m3" | concentration of substance in compartment | |
| cell.ca.tc.free.substance.amount | "mol" | amount of substance | |
| cell.ca.tc.site.rate | "mol/s" | molar flow rate of substance | |
| cell.ca.jsr_sub.coeff | "1/s" | coefficient of transport | |
| cell.ca.jsr_sub.rate | "mol/s" | rate of change in substance amount | |
| cell.ca.nsr_jsr.rate | "mol/s" | rate of change in substance amount | |
| cell.ca.cyto_nsr.rate | "mol/s" | rate of change in substance amount | |
| cell.ca.sub_cyto.rate | "mol/s" | rate of change in substance amount | |
| cell.ca.nsr.con | "mol/m3" | concentration of substance in compartment | |
| cell.ca.nsr.substance.rate | "mol/s" | molar flow rate of substance | |
| cell.ca.nsr.substance.amount | "mol" | amount of substance | |
| cell.ca.jsr.con | "mol/m3" | concentration of substance in compartment | |
| cell.ca.jsr.substance.rate | "mol/s" | molar flow rate of substance | |
| cell.ca.jsr.substance.amount | "mol" | amount of substance | |
| cell.ca.cyto.con | "mol/m3" | concentration of substance in compartment | |
| cell.ca.cyto.substance.rate | "mol/s" | molar flow rate of substance | |
| cell.ca.cyto.substance.amount | "mol" | amount of substance | |
| cell.ca.sub.con | "mol/m3" | concentration of substance in compartment | |
| cell.ca.sub.substance.rate | "mol/s" | molar flow rate of substance | |
| cell.ca.sub.substance.amount | "mol" | amount of substance | |
| cell.ca.ca_sub.rate | "mol/s" | molar flow rate of substance | |
| cell.st.inact.tau | "s" | time constant for obtaining steady state (i.e. time until difference between n and steady has reduced by a factor of 1/e) | |
| cell.st.inact.steady | "1" | steady state achieved if current voltage is held constant | |
| cell.st.inact.beta | "1" | rate of transfer from open to closed conformation | |
| cell.st.inact.alpha | "1" | rate of transfer from closed to open conformation | |
| cell.st.inact.n | ratio of molecules in open conformation | 0.4886 | |
| cell.st.act.tau | "s" | time constant for obtaining steady state (i.e. time until difference between n and steady has reduced by a factor of 1/e) | |
| cell.st.act.steady | value that n would reach if v_gate was held constant | ||
| cell.st.act.n | ratio of molecules in open conformation | 0.1933 | |
| cell.st.g | "S" | ion conductance | |
| cell.st.i_open | "A" | i if open_ratio = 1 | |
| cell.st.open_ratio | "1" | ratio between 0 (fully closed) and 1 (fully open) | |
| cell.st.i_ion | "A" | current used for ion flux | |
| cell.hcn.act.tau | "s" | time constant for obtaining steady state (i.e. time until difference between n and steady has reduced by a factor of 1/e) | |
| cell.hcn.act.steady | value that n would reach if v_gate was held constant | ||
| cell.hcn.act.n | "1" | ratio of molecules in open conformation | 0.03825 | 
| cell.hcn.g | "S" | ion conductance | |
| cell.hcn.i_open | "A" | i if open_ratio = 1 | |
| cell.hcn.i_ion | "A" | current used for ion flux | |
| cell.l2.i | "A" | Current flowing from pin p to pin n | |
| cell.l2.v | "V" | Voltage drop of the two pins (= p.v - n.v) | |
| cell.nak.i | "A" | Current flowing from pin p to pin n | |
| cell.naca.e4 | "1" | ratio of exchanger molecules in state e4 | |
| cell.naca.e3 | "1" | ratio of exchanger molecules in state e3 | |
| cell.naca.e2 | "1" | ratio of exchanger molecules in state e2 | |
| cell.naca.e1 | "1" | ratio of exchanger molecules in state e1 | |
| cell.naca.d | "1" | common denominator to turn relative frequencies into actual ratios between 0 and 1 | |
| cell.naca.x4 | "1" | relative frequancy of E4 states | |
| cell.naca.x3 | "1" | relative frequency of E3 states | |
| cell.naca.x2 | "1" | relative frequency of E2 states | |
| cell.naca.x1 | "1" | relative frequency of E1 states | |
| cell.naca.k_14 | "1" | rate constant for transition from E1 to E4 | |
| cell.naca.k_41 | "1" | rate constant for transition from E4 to E1 | |
| cell.naca.k_32 | "1" | rate constant for transition from E3 to E2 | |
| cell.naca.k_23 | "1" | rate constant for transition from E2 to E3 | |
| cell.naca.k_21 | "1" | rate constant for transition from E2 to E1 | |
| cell.naca.k_12 | "1" | rate constant for transition from E1 to E2 | |
| cell.naca.f1_2n_o | "1" | fraction of E2 states whose first two Na+ sites are occupied by Na+ | |
| cell.naca.f1_2n_i | "1" | fraction of E1 states whose first two Na+ sites are occupied by Na+ | |
| cell.naca.do | "1" | common denominator summing relative frequencies for all E2 substates | |
| cell.naca.do_cv | "1" | relative frequency of E2 states that are occupied by Ca2+ and occluded | |
| cell.naca.di | "1" | common denominator summing relative frequencies for all E1 substates | |
| cell.naca.di_cn | "1" | relative frequency of E1 states whose first two binding sites are occupied by Ca2+ and whose last binding site is occupied by Na+ | |
| cell.naca.di_cv | "1" | relative frequency of E1 states that are occupied by Ca2+ and occluded | |
| cell.naca.di_c | "1" | relative frequency of E1 states that are occupied by Ca2+ and not occluded | |
| cell.naca.i_ion | "A" | current used for TransmembraneCaFlow | |
| cell.naca.trans.rate | "mol/s" | rate of change in substance amount | |
| cell.kr.act_total | total activation due to slow and fast activation terms | ||
| cell.kr.inact.tau | "s" | time constant for obtaining steady state (i.e. time until difference between n and steady has reduced by a factor of 1/e) | |
| cell.kr.inact.steady | value that n would reach if v_gate was held constant | ||
| cell.kr.inact.n | ratio of molecules in open conformation | 0.9775 | |
| cell.kr.act_slow.tau | "s" | time constant for obtaining steady state (i.e. time until difference between n and steady has reduced by a factor of 1/e) | |
| cell.kr.act_slow.steady | value that n would reach if v_gate was held constant | ||
| cell.kr.act_slow.n | ratio of molecules in open conformation | 0.1287 | |
| cell.kr.act_fast.tau | "s" | time constant for obtaining steady state (i.e. time until difference between n and steady has reduced by a factor of 1/e) | |
| cell.kr.act_fast.steady | value that n would reach if v_gate was held constant | ||
| cell.kr.act_fast.n | ratio of molecules in open conformation | 0.6067 | |
| cell.kr.g | "S" | ion conductance | |
| cell.kr.i_open | "A" | i if open_ratio = 1 | |
| cell.kr.open_ratio | "1" | ratio between 0 (fully closed) and 1 (fully open) | |
| cell.kr.i_ion | "A" | current used for ion flux | |
| cell.cal.inact_total | |||
| cell.cal.inact_fast.tau | "s" | time constant for obtaining steady state (i.e. time until difference between n and steady has reduced by a factor of 1/e) | |
| cell.cal.inact_fast.steady | value that n would reach if v_gate was held constant | ||
| cell.cal.inact_fast.n | ratio of molecules in open conformation | 0.6861 | |
| cell.cal.inact_slow.tau | "s" | time constant for obtaining steady state (i.e. time until difference between n and steady has reduced by a factor of 1/e) | |
| cell.cal.inact_slow.steady | value that n would reach if v_gate was held constant | ||
| cell.cal.inact_slow.n | ratio of molecules in open conformation | 0.4441 | |
| cell.cal.act.tau | "s" | time constant for obtaining steady state (i.e. time until difference between n and steady has reduced by a factor of 1/e) | |
| cell.cal.act.steady | value that n would reach if v_gate was held constant | ||
| cell.cal.act.n | ratio of molecules in open conformation | 0.0001533 | |
| cell.cal.trans.rate | "mol/s" | rate of change in substance amount | |
| cell.cal.g | "S" | ion conductance | |
| cell.cal.i_open | "A" | i if open_ratio = 1 | |
| cell.cal.open_ratio | "1" | ratio between 0 (fully closed) and 1 (fully open) | |
| cell.cal.i_ion | "A" | current used for ion flux | |
| cell.bg.i_ion | "A" | current used for ion flux | |
| cell.cal.con.substance.amount | "mol" | amount of substance | cell.cal.con.c_const * cell.cal.con.vol | 
| cell.naca.con.substance.amount | "mol" | amount of substance | cell.naca.con.c_const * cell.naca.con.vol | 
| cell.naca.di_3n | "1" | relative frequency of E1 states where exactly three Na+ sites are occupied by Na+ | cell.naca.di_2n * cell.na_in / cell.naca.k_3n_i | 
| cell.naca.do_3n | "1" | relative frequency of E2 states where exactly three Na+ sites are occupied by Na+ | cell.naca.do_2n * cell.na_ex / cell.naca.k_3n_o | 
| cell.naca.do_2n | "1" | relative frequency of E2 states where exactly the first two Na+ sites are occupied by Na+ | cell.naca.do_1n * cell.na_ex / cell.naca.k_2n_o | 
| cell.naca.di_2n | "1" | relative frequency of E1 states where exactly the first two Na+ sites are occupied by Na+ | cell.naca.di_1n * cell.na_in / cell.naca.k_2n_i | 
| cell.p.i | "A" | Current flowing into the pin | 0.0 | 
| cell.bg.open_ratio | "1" | ratio between 0 (fully closed) and 1 (fully open) | 1.0 | 
| cell.ca.mg.substance.amount | "mol" | amount of substance | cell.ca.mg.c_const * cell.ca.mg.vol | 
| cell.ca.sub_cyto.coeff | "1/s" | coefficient of transport | 1.0 / cell.ca.sub_cyto.tau | 
| cell.ca.nsr_jsr.coeff | "1/s" | coefficient of transport | 1.0 / cell.ca.nsr_jsr.tau | 
| g.p.v | "V" | Potential at the pin | 0.0 | 
| cell.cal.ach_factor | 1.0 | ||
| cell.naca.di_1n | "1" | relative frequency of E1 states where only the first Na+ site is occupied by Na+ | cell.na_in / cell.naca.k_1n_i | 
| cell.naca.do_c | "1" | relative frequency of E2 states that are occupied by Ca2+ and not occluded | cell.ca_ex / cell.naca.k_c_o | 
| cell.naca.do_1n | "1" | relative frequency of E2 states where only the first Na+ site is occupied by Na+ | cell.na_ex / cell.naca.k_1n_o | 
| cell.naca.f1_3n_o | "1" | fraction of E2 states whose first two Na+ sites are occupied by Na+ | InaMo.Functions.Biochemical.michaelisMenten(cell.na_ex, cell.naca.k_3n_o) | 
| cell.naca.f1_3n_i | "1" | fraction of E1 states whose first two Na+ sites are occupied by Na+ | InaMo.Functions.Biochemical.michaelisMenten(cell.na_in, cell.naca.k_3n_i) | 
| cell.use_ach | should acetylcholine sensitive potassium channel be included in the model | false | |
| cell.ach | "mol/m3" | concentration of acetylcholine available for I_ACh | 0.0 | 
| cell.na_in | "mol/m3" | intracellular sodium concentration | 8.0 | 
| cell.na_ex | "mol/m3" | extracellular sodium concentration | 140.0 | 
| cell.na_p | "m3/(s.m2)" | permeability of cell membrane to sodium ions | InaMo.Functions.Biochemical.p_from_g(2.53e-07, cell.na_ex, 1, cell.temp) | 
| cell.k_in | "mol/m3" | intracellular potassium concentration | 140.0 | 
| cell.k_ex | "mol/m3" | extracellular potassium concentration | 5.4 | 
| cell.ca_ex | "mol/m3" | extracellular calcium concentration | 2.0 | 
| cell.temp | "K" | cell medium temperature | 288.15 | 
| cell.v_cell | "m3" | total cell volume | InaMo.Examples.FullCell.FullCellSpon.cell.c_to_v(cell.l2.c, 2.19911e-15, 7.147123e-15) | 
| cell.v_cyto | "m3" | volume of cytosol | 0.46 * cell.v_cell - cell.v_sub | 
| cell.v_sub | "m3" | volume of subspace | 0.01 * cell.v_cell | 
| cell.v_jsr | "m3" | volume of junctional SR | 0.0012 * cell.v_cell | 
| cell.v_nsr | "m3" | volume of network SR | 0.0116 * cell.v_cell | 
| cell.v_k | "V" | equilibrium potential for potassium currents | InaMo.Functions.Biochemical.nernst(cell.k_in, cell.k_ex, 1, cell.temp) | 
| cell.bg.v_eq | "V" | equilibrium potential | -0.0225 | 
| cell.bg.g_max | "S" | maximum conductance | 1.2e-09 | 
| cell.bg.current_name | "I_b" | ||
| cell.cal.v_eq | "V" | equilibrium potential | 0.0621 | 
| cell.cal.g_max | "S" | maximum conductance | 9e-09 | 
| cell.cal.trans.n | "1" | stoichiometric ratio of ion transport | cell.cal.n_ca | 
| cell.cal.trans.z | valence of ion | 2 | |
| cell.cal.con.c_const | "mol/m3" | fixed concentration | cell.ca_ex | 
| cell.cal.con.vol | "m3" | volume of the compartment | 1.0 | 
| cell.cal.n_ca | "1" | stoichiometric ratio of transport | 1.0 | 
| cell.cal.current_name | "I_Ca,L" | ||
| cell.cal.k_ach | "1" | ratio of maximum channel inhibition by acetylcholine | 0.0 | 
| cell.kr.v_eq | "V" | equilibrium potential | cell.v_k | 
| cell.kr.g_max | "S" | maximum conductance | 3.5e-09 | 
| cell.kr.current_name | "I_K,r" | ||
| cell.naca.trans.n | "1" | stoichiometric ratio of ion transport | cell.naca.n_ca | 
| cell.naca.trans.z | valence of ion | 2 | |
| cell.naca.con.c_const | "mol/m3" | fixed concentration | cell.ca_ex | 
| cell.naca.con.vol | "m3" | volume of the compartment | 1.0 | 
| cell.naca.n_ca | "1" | stoichiometric ratio of transport | -2.0 | 
| cell.naca.current_name | "I_NaCa" | ||
| cell.naca.k_c_i | "mol/m3" | dissociation constant for channel with Ca++ bound on inside | 0.0207 | 
| cell.naca.k_cn_i | "mol/m3" | dissociation constant for channel with Ca++ and one Na+ bound on inside | 26.44 | 
| cell.naca.k_1n_i | "mol/m3" | dissociation constant for channel with one Na+ bound on inside | 395.3 | 
| cell.naca.k_2n_i | "mol/m3" | dissociation constant for channel with two Na+ bound on inside | 2.289 | 
| cell.naca.k_3n_i | "mol/m3" | dissociation constant for channel with three Na+ bound on inside | 26.44 | 
| cell.naca.k_c_o | "mol/m3" | dissociation constant for channel with Ca++ bound on outside | 3.663 | 
| cell.naca.k_1n_o | "mol/m3" | dissociation constant for channel with one Na+ bound on outside | 1628.0 | 
| cell.naca.k_2n_o | "mol/m3" | dissociation constant for channel with two Na+ bound on outside | 561.4 | 
| cell.naca.k_3n_o | "mol/m3" | dissociation constant for channel with three Na+ bound on outside | 4.663 | 
| cell.naca.q_ci | fractional charge movement during intracellular Ca++ occlusion reaction | 0.1369 | |
| cell.naca.q_co | fractional charge movement during extracellular Ca++ occlusion reaction | 0.0 | |
| cell.naca.q_n | fractional charge movement during Na+ occlusion reactions | 0.4315 | |
| cell.naca.k_NaCa | "A" | scaling factor for Na+/Ca++ exchanger current | 2.14e-09 | 
| cell.naca.FoRT | helper variable to simplify equations | 11604.52214706721 / cell.temp | |
| cell.nak.current_name | "I_NaK" | ||
| cell.nak.i_max | "A" | maximum current (actual maximum is 1.6 * i_max) | 1.43e-10 | 
| cell.nak.k_m_Na | "mol/m3" | Michaelis constant for Na+ binding | 5.64 | 
| cell.nak.k_m_K | "mol/m3" | Michaelis constant for K+ binding | 0.621 | 
| cell.l2.c | "F" | membrane capacitance | 2.9e-11 | 
| cell.l2.v_init | "V" | initial potential (from short initial stimulation) | -0.09 | 
| cell.l2.use_init | determines whether initial value for v is used | true | |
| cell.hcn.v_eq | "V" | equilibrium potential | -0.03 | 
| cell.hcn.g_max | "S" | maximum conductance | 1e-09 | 
| cell.hcn.current_name | "I_f" | ||
| cell.hcn.act_shift | "V" | 0.0 | |
| cell.hcn.act.shift | "V" | cell.hcn.act_shift | |
| cell.st.v_eq | "V" | equilibrium potential | 0.0374 | 
| cell.st.g_max | "S" | maximum conductance | 1e-10 | 
| cell.st.current_name | "I_st" | ||
| cell.cell_type | "N" | ||
| cell.ca.tc_tot | "mol/m3" | total concentration of troponin-Ca | 0.031 | 
| cell.ca.tmc_tot | "mol/m3" | total concentration of troponin-Mg binding to Ca2+ | 0.062 | 
| cell.ca.cm_tot | "mol/m3" | total concentration of calmodulin | 0.045 | 
| cell.ca.cq_tot | "mol/m3" | total concentration of calsequestrin | 10.0 | 
| cell.ca.mg.c_const | "mol/m3" | fixed concentration | 2.5 | 
| cell.ca.mg.vol | "m3" | volume of the compartment | cell.v_cyto | 
| cell.ca.sub.vol | "m3" | volume of the compartment | cell.v_sub | 
| cell.ca.sub.c_start | "mol/m3" | initial value of concentration | 0.0002294 | 
| cell.ca.cyto.vol | "m3" | volume of the compartment | cell.v_cyto | 
| cell.ca.cyto.c_start | "mol/m3" | initial value of concentration | 0.0003623 | 
| cell.ca.jsr.vol | "m3" | volume of the compartment | cell.v_jsr | 
| cell.ca.jsr.c_start | "mol/m3" | initial value of concentration | 0.08227 | 
| cell.ca.nsr.vol | "m3" | volume of the compartment | cell.v_nsr | 
| cell.ca.nsr.c_start | "mol/m3" | initial value of concentration | 1.146 | 
| cell.ca.sub_cyto.vol_src | "m3" | volume of source compartment | cell.ca.sub.vol | 
| cell.ca.sub_cyto.vol_dst | "m3" | volume of destination compartment | cell.ca.cyto.vol | 
| cell.ca.sub_cyto.vol_trans | "m3" | volume of substance that is transferred between compartments over 1/coeff seconds | min(cell.ca.sub_cyto.vol_src, cell.ca.sub_cyto.vol_dst) | 
| cell.ca.sub_cyto.tau | "s" | time constant of diffusion | 4e-05 | 
| cell.ca.cyto_nsr.current_name | "SERCA" | ||
| cell.ca.cyto_nsr.vol_src | "m3" | volume of source compartment | cell.ca.cyto.vol | 
| cell.ca.cyto_nsr.p | "mol/s" | maximum flow rate | 5.0 * cell.v_nsr | 
| cell.ca.cyto_nsr.k | "mol/m3" | Michaelis constant | 0.0005999999999999999 | 
| cell.ca.nsr_jsr.vol_src | "m3" | volume of source compartment | cell.ca.nsr.vol | 
| cell.ca.nsr_jsr.vol_dst | "m3" | volume of destination compartment | cell.ca.jsr.vol | 
| cell.ca.nsr_jsr.vol_trans | "m3" | volume of substance that is transferred between compartments over 1/coeff seconds | min(cell.ca.nsr_jsr.vol_src, cell.ca.nsr_jsr.vol_dst) | 
| cell.ca.nsr_jsr.tau | "s" | time constant of diffusion | 0.06 | 
| cell.ca.jsr_sub.vol_src | "m3" | volume of source compartment | cell.ca.jsr.vol | 
| cell.ca.jsr_sub.vol_dst | "m3" | volume of destination compartment | cell.ca.sub.vol | 
| cell.ca.jsr_sub.vol_trans | "m3" | volume of substance that is transferred between compartments over 1/coeff seconds | min(cell.ca.jsr_sub.vol_src, cell.ca.jsr_sub.vol_dst) | 
| cell.ca.jsr_sub.current_name | "RyR" | ||
| cell.ca.jsr_sub.p | "1/s" | rate coefficient (inverse of time constant) | 1500.0 | 
| cell.ca.jsr_sub.ka | "mol/m3" | concentration producing half occupation | 0.0012 | 
| cell.ca.jsr_sub.n | "1" | Hill coefficient | 2.0 | 
| cell.ca.tc.n_tot | "mol" | total amount of buffer | cell.ca.tc_tot * cell.v_cyto | 
| cell.ca.tc.f_start | "1" | initial value for f | 0.6838 | 
| cell.ca.tc.k | "mol-1s-1" | association constant | 88800.0 / cell.v_cyto | 
| cell.ca.tc.kb | "s-1" | dissociation constant | 446.0 | 
| cell.ca.tc.vol | "m3" | volume of compartment in which buffer resides | 1.0 | 
| cell.ca.tc.assoc.k | "mol-1s-1" | association constant | cell.ca.tc.k | 
| cell.ca.tc.assoc.kb | "s-1" | dissociation constant | cell.ca.tc.kb | 
| cell.ca.tc.free.vol | "m3" | volume of the compartment | cell.ca.tc.vol | 
| cell.ca.tc.free.c_start | "mol/m3" | initial value of concentration | (1.0 - cell.ca.tc.f_start) * cell.ca.tc.n_tot / cell.ca.tc.vol | 
| cell.ca.tc.occupied.vol | "m3" | volume of the compartment | cell.ca.tc.vol | 
| cell.ca.tc.occupied.c_start | "mol/m3" | initial value of concentration | cell.ca.tc.f_start * cell.ca.tc.n_tot / cell.ca.tc.vol | 
| cell.ca.tm.n_tot | "mol" | total amount of buffer | cell.ca.tmc_tot * cell.v_cyto | 
| cell.ca.tm.f_a_start | "1" | initial value for f | 0.6192 | 
| cell.ca.tm.f_b_start | "1" | initial value for f | 0.3363 | 
| cell.ca.tm.k_a | "mol-1s-1" | association constant for binding to ligand A | 227700.0 / cell.v_cyto | 
| cell.ca.tm.k_b | "mol-1s-1" | association constant for binding to ligand B | 2277.0 / cell.v_cyto | 
| cell.ca.tm.kb_a | "s-1" | dissociation constant for binding to ligand A | 7.51 | 
| cell.ca.tm.kb_b | "s-1" | dissociation constant for binding to ligand B | 751.0 | 
| cell.ca.tm.vol | "m3" | volume of compartment in which buffer resides | cell.v_cyto | 
| cell.ca.tm.assoc_a.k | "mol-1s-1" | association constant | cell.ca.tm.k_a | 
| cell.ca.tm.assoc_a.kb | "s-1" | dissociation constant | cell.ca.tm.kb_a | 
| cell.ca.tm.assoc_b.k | "mol-1s-1" | association constant | cell.ca.tm.k_b | 
| cell.ca.tm.assoc_b.kb | "s-1" | dissociation constant | cell.ca.tm.kb_b | 
| cell.ca.tm.free.vol | "m3" | volume of the compartment | cell.ca.tm.vol | 
| cell.ca.tm.free.c_start | "mol/m3" | initial value of concentration | (1.0 - (cell.ca.tm.f_a_start + cell.ca.tm.f_b_start)) * cell.ca.tm.n_tot / cell.ca.tm.vol | 
| cell.ca.tm.occupied_a.vol | "m3" | volume of the compartment | cell.ca.tm.vol | 
| cell.ca.tm.occupied_a.c_start | "mol/m3" | initial value of concentration | cell.ca.tm.f_a_start * cell.ca.tm.n_tot / cell.ca.tm.vol | 
| cell.ca.tm.occupied_b.vol | "m3" | volume of the compartment | cell.ca.tm.vol | 
| cell.ca.tm.occupied_b.c_start | "mol/m3" | initial value of concentration | cell.ca.tm.f_b_start * cell.ca.tm.n_tot / cell.ca.tm.vol | 
| cell.ca.cm_cyto.n_tot | "mol" | total amount of buffer | cell.ca.cm_tot * cell.v_cyto | 
| cell.ca.cm_cyto.f_start | "1" | initial value for f | 0.1336 | 
| cell.ca.cm_cyto.k | "mol-1s-1" | association constant | 227700.0 / cell.v_cyto | 
| cell.ca.cm_cyto.kb | "s-1" | dissociation constant | 542.0 | 
| cell.ca.cm_cyto.vol | "m3" | volume of compartment in which buffer resides | 1.0 | 
| cell.ca.cm_cyto.assoc.k | "mol-1s-1" | association constant | cell.ca.cm_cyto.k | 
| cell.ca.cm_cyto.assoc.kb | "s-1" | dissociation constant | cell.ca.cm_cyto.kb | 
| cell.ca.cm_cyto.free.vol | "m3" | volume of the compartment | cell.ca.cm_cyto.vol | 
| cell.ca.cm_cyto.free.c_start | "mol/m3" | initial value of concentration | (1.0 - cell.ca.cm_cyto.f_start) * cell.ca.cm_cyto.n_tot / cell.ca.cm_cyto.vol | 
| cell.ca.cm_cyto.occupied.vol | "m3" | volume of the compartment | cell.ca.cm_cyto.vol | 
| cell.ca.cm_cyto.occupied.c_start | "mol/m3" | initial value of concentration | cell.ca.cm_cyto.f_start * cell.ca.cm_cyto.n_tot / cell.ca.cm_cyto.vol | 
| cell.ca.cm_sub.n_tot | "mol" | total amount of buffer | cell.ca.cm_tot * cell.v_sub | 
| cell.ca.cm_sub.f_start | "1" | initial value for f | 0.08894000000000001 | 
| cell.ca.cm_sub.k | "mol-1s-1" | association constant | cell.ca.cm_cyto.k * cell.v_cyto / cell.v_sub | 
| cell.ca.cm_sub.kb | "s-1" | dissociation constant | cell.ca.cm_cyto.kb | 
| cell.ca.cm_sub.vol | "m3" | volume of compartment in which buffer resides | 1.0 | 
| cell.ca.cm_sub.assoc.k | "mol-1s-1" | association constant | cell.ca.cm_sub.k | 
| cell.ca.cm_sub.assoc.kb | "s-1" | dissociation constant | cell.ca.cm_sub.kb | 
| cell.ca.cm_sub.free.vol | "m3" | volume of the compartment | cell.ca.cm_sub.vol | 
| cell.ca.cm_sub.free.c_start | "mol/m3" | initial value of concentration | (1.0 - cell.ca.cm_sub.f_start) * cell.ca.cm_sub.n_tot / cell.ca.cm_sub.vol | 
| cell.ca.cm_sub.occupied.vol | "m3" | volume of the compartment | cell.ca.cm_sub.vol | 
| cell.ca.cm_sub.occupied.c_start | "mol/m3" | initial value of concentration | cell.ca.cm_sub.f_start * cell.ca.cm_sub.n_tot / cell.ca.cm_sub.vol | 
| cell.ca.cq.n_tot | "mol" | total amount of buffer | cell.ca.cq_tot * cell.v_jsr | 
| cell.ca.cq.f_start | "1" | initial value for f | 0.08735999999999999 | 
| cell.ca.cq.k | "mol-1s-1" | association constant | 534.0 / cell.v_jsr | 
| cell.ca.cq.kb | "s-1" | dissociation constant | 445.0 | 
| cell.ca.cq.vol | "m3" | volume of compartment in which buffer resides | 1.0 | 
| cell.ca.cq.assoc.k | "mol-1s-1" | association constant | cell.ca.cq.k | 
| cell.ca.cq.assoc.kb | "s-1" | dissociation constant | cell.ca.cq.kb | 
| cell.ca.cq.free.vol | "m3" | volume of the compartment | cell.ca.cq.vol | 
| cell.ca.cq.free.c_start | "mol/m3" | initial value of concentration | (1.0 - cell.ca.cq.f_start) * cell.ca.cq.n_tot / cell.ca.cq.vol | 
| cell.ca.cq.occupied.vol | "m3" | volume of the compartment | cell.ca.cq.vol | 
| cell.ca.cq.occupied.c_start | "mol/m3" | initial value of concentration | cell.ca.cq.f_start * cell.ca.cq.n_tot / cell.ca.cq.vol | 
| cell.ca.cm_sl_tot | "mol/m3" | total concentration of calmodulin in sarcolemma | 0.02583333333333333 | 
| cell.ca.cm_sl.n_tot | "mol" | total amount of buffer | cell.ca.cm_sl_tot * cell.v_sub | 
| cell.ca.cm_sl.f_start | "1" | initial value for f | 4.764e-05 | 
| cell.ca.cm_sl.k | "mol-1s-1" | association constant | 115.0 / cell.v_sub | 
| cell.ca.cm_sl.kb | "s-1" | dissociation constant | 1000.0 | 
| cell.ca.cm_sl.vol | "m3" | volume of compartment in which buffer resides | 1.0 | 
| cell.ca.cm_sl.assoc.k | "mol-1s-1" | association constant | cell.ca.cm_sl.k | 
| cell.ca.cm_sl.assoc.kb | "s-1" | dissociation constant | cell.ca.cm_sl.kb | 
| cell.ca.cm_sl.free.vol | "m3" | volume of the compartment | cell.ca.cm_sl.vol | 
| cell.ca.cm_sl.free.c_start | "mol/m3" | initial value of concentration | (1.0 - cell.ca.cm_sl.f_start) * cell.ca.cm_sl.n_tot / cell.ca.cm_sl.vol | 
| cell.ca.cm_sl.occupied.vol | "m3" | volume of the compartment | cell.ca.cm_sl.vol | 
| cell.ca.cm_sl.occupied.c_start | "mol/m3" | initial value of concentration | cell.ca.cm_sl.f_start * cell.ca.cm_sl.n_tot / cell.ca.cm_sl.vol | 
| cell.bg.g | "S" | ion conductance | cell.bg.g_max | 
InaMo.Examples.FullCell.AllCells
To reproduce the upper part of Figure S7 from Inada 2009, plot an.cell.v, n.cell.v and nh.cell.v against time. To reproduce the lower part, plot an.cell.ca.cyto.substance.amount, n.cell.ca.cyto.substance.amount, and nh.cell.ca.cyto.substance.amount against time. As time period for each cell type choose the first pulse that occurs after one second has passed.
Simulation protocol and parameters are chosen with the following rationale:
- StopTime: allow to see more than one action potential
 - Tolerance: default value
 - Interval: small enough to follow time course of current during peak
 - {an, nh}.cc.i_hold: assumed as zero (not given explicitly in Inada 2009)
 - {an, nh}.cc.i_pulse: manually chosen to obtain best fit for plots
 - {an, nh}.cc.d_pulse: according to the description of Figure 1 in Inada 2009
 - {an, nh}.cc.d_hold: manually chosen to obtain best fit for plot (300 ms instead of 350 ms as according to Figure 1 in Inada 2009)
 - {an, nh}.cell.use_ach: set to false, because the acetylcholine concentration {an, nh, n}.cell.ach is not given in the C++ code and the CellML code sets it to 0, effectively disabling the channel.
 
NOTE: Inada et al. do not specify the experiment protocol used for figure S7. We assume that it is the same or similar to the experiment protocol used for figure 1. However, even for this figure in the main article, the value for i_stim is only given as "k x Threshold" with some numeric value for k and no clear definition of what the threshold value is. d_hold is given as 350 ms, but we obtained a better fit with d_hold = 300 ms. i_hold is not given, but can be assumed to be zero.
NOTE: For AN and NH cells the voltage plot shows a lower resting potential and a slightly narrower AP with respect to figure S7. For N cells, the internal Ca2+ concentration is significantly lower than in figure S7.
model AllCells "simulation of all cell types with variable intracellular Ca2+"
  FullCellCurrentPulses an(redeclare InaMo.Cells.VariableCa.ANCell cell, cc.i_pulse = -1.2e-9) "AN cell experiment";
  FullCellSpon n(redeclare InaMo.Cells.VariableCa.NCell cell) "N cell experiment";
  FullCellCurrentPulses nh(redeclare InaMo.Cells.VariableCa.NHCell cell, cc.i_pulse = -0.95e-9) "NH Cell experiment";
  extends Modelica.Icons.Example;
  annotation(
    experiment(StartTime = 0, StopTime = 2.5, Tolerance = 1e-6, Interval = 1e-4),
    __OpenModelica_simulationFlags(lv = "LOG_STATS", s = "dassl"),
    __MoST_experiment(variableFilter = "(an|n|nh)\\.cell\\.(v|ca\\.(sub|cyto)\\.con)"),
    Documentation(info = "
    <html>
      <p>To reproduce the upper part of Figure S7 from Inada 2009, plot
      an.cell.v, n.cell.v and nh.cell.v against time.
      To reproduce the lower part, plot an.cell.ca.cyto.substance.amount,
      n.cell.ca.cyto.substance.amount, and nh.cell.ca.cyto.substance.amount against time.
      As time period for each cell type choose the first pulse that occurs
      after one second has passed.</p>
      <p>Simulation protocol and parameters are chosen with the following
      rationale:</p>
      <ul>
        <li>StopTime: allow to see more than one action potential</li>
        <li>Tolerance: default value</li>
        <li>Interval: small enough to follow time course of current during peak</li>
        <li>{an, nh}.cc.i_hold: assumed as zero (not given explicitly in Inada 2009)</li>
        <li>{an, nh}.cc.i_pulse: manually chosen to obtain best fit for plots</li>
        <li>{an, nh}.cc.d_pulse: according to the description of Figure 1 in Inada 2009</li>
        <li>{an, nh}.cc.d_hold: manually chosen to obtain best fit for plot (300 ms instead of 350 ms as according to Figure 1 in Inada 2009)</li>
        <li>
          {an, nh}.cell.use_ach: set to false, because the acetylcholine
          concentration {an, nh, n}.cell.ach is not given in the C++ code and
          the CellML code sets it to 0, effectively disabling the channel.
        </li>
      </ul>
      <p>NOTE: Inada et al. do not specify the experiment protocol used for
      figure S7. We assume that it is the same or similar to the experiment
      protocol used for figure 1.
      However, even for this figure in the main article, the value for i_stim
      is only given as "k x Threshold" with some numeric value for k
      and no clear definition of what the threshold value is.
      d_hold is given as 350 ms, but we obtained a better fit with d_hold =
      300 ms.
      i_hold is not given, but can be assumed to be zero.</p>
      <p>NOTE: For AN and NH cells the voltage plot shows a lower resting
      potential and a slightly narrower AP with respect to figure S7.
      For N cells, the internal Ca2+ concentration is significantly lower than
      in figure S7.</p>
    </html>
  "));
end AllCells;- Within group an (prefix _ indicates shortened variable name)
- Within group cc (prefix _ indicates shortened variable name)
 - Within group cell (prefix _ indicates shortened variable name)
- Within group ca (prefix _ indicates shortened variable name)
- Within group cm_cyto (prefix _ indicates shortened variable name)
- Within group assoc (prefix _ indicates shortened variable name)
 - Within group occupied (prefix _ indicates shortened variable name)
 
 - Within group assoc (prefix _ indicates shortened variable name)
 - Within group cm_sl (prefix _ indicates shortened variable name)
- Within group assoc (prefix _ indicates shortened variable name)
 - Within group occupied (prefix _ indicates shortened variable name)
 
 - Within group assoc (prefix _ indicates shortened variable name)
 - Within group cm_sub (prefix _ indicates shortened variable name)
- Within group assoc (prefix _ indicates shortened variable name)
 - Within group occupied (prefix _ indicates shortened variable name)
 
 - Within group assoc (prefix _ indicates shortened variable name)
 - Within group cq (prefix _ indicates shortened variable name)
- Within group assoc (prefix _ indicates shortened variable name)
 - Within group occupied (prefix _ indicates shortened variable name)
 
 - Within group assoc (prefix _ indicates shortened variable name)
 - Within group cyto (prefix _ indicates shortened variable name)
 - Within group jsr (prefix _ indicates shortened variable name)
 - Within group jsr_sub (prefix _ indicates shortened variable name)
 - Within group nsr (prefix _ indicates shortened variable name)
 - Within group sub (prefix _ indicates shortened variable name)
 - Within group tc (prefix _ indicates shortened variable name)
- Within group assoc (prefix _ indicates shortened variable name)
 - Within group occupied (prefix _ indicates shortened variable name)
 
 - Within group assoc (prefix _ indicates shortened variable name)
 - Within group tm (prefix _ indicates shortened variable name)
- Within group free (prefix _ indicates shortened variable name)
 - Within group occupied_a (prefix _ indicates shortened variable name)
 - Within group occupied_b (prefix _ indicates shortened variable name)
 
 
 - Within group cal (prefix _ indicates shortened variable name)
 - Within group kir (prefix _ indicates shortened variable name)
 - Within group kr (prefix _ indicates shortened variable name)
 - Within group na (prefix _ indicates shortened variable name)
- Within group act (prefix _ indicates shortened variable name)
 
 - Within group naca (prefix _ indicates shortened variable name)
 - Within group to (prefix _ indicates shortened variable name)
 
 
 - Within group n (prefix _ indicates shortened variable name)
- Within group cell (prefix _ indicates shortened variable name)
- Within group ca (prefix _ indicates shortened variable name)
- Within group cm_cyto (prefix _ indicates shortened variable name)
- Within group assoc (prefix _ indicates shortened variable name)
 - Within group occupied (prefix _ indicates shortened variable name)
 
 - Within group assoc (prefix _ indicates shortened variable name)
 - Within group cm_sl (prefix _ indicates shortened variable name)
- Within group assoc (prefix _ indicates shortened variable name)
 - Within group occupied (prefix _ indicates shortened variable name)
 
 - Within group assoc (prefix _ indicates shortened variable name)
 - Within group cm_sub (prefix _ indicates shortened variable name)
- Within group assoc (prefix _ indicates shortened variable name)
 - Within group occupied (prefix _ indicates shortened variable name)
 
 - Within group assoc (prefix _ indicates shortened variable name)
 - Within group cq (prefix _ indicates shortened variable name)
- Within group assoc (prefix _ indicates shortened variable name)
 - Within group occupied (prefix _ indicates shortened variable name)
 
 - Within group assoc (prefix _ indicates shortened variable name)
 - Within group cyto (prefix _ indicates shortened variable name)
 - Within group jsr (prefix _ indicates shortened variable name)
 - Within group jsr_sub (prefix _ indicates shortened variable name)
 - Within group nsr (prefix _ indicates shortened variable name)
 - Within group sub (prefix _ indicates shortened variable name)
 - Within group tc (prefix _ indicates shortened variable name)
- Within group assoc (prefix _ indicates shortened variable name)
 - Within group occupied (prefix _ indicates shortened variable name)
 
 - Within group assoc (prefix _ indicates shortened variable name)
 - Within group tm (prefix _ indicates shortened variable name)
- Within group free (prefix _ indicates shortened variable name)
 - Within group occupied_a (prefix _ indicates shortened variable name)
 - Within group occupied_b (prefix _ indicates shortened variable name)
 
 
 - Within group cal (prefix _ indicates shortened variable name)
 - Within group hcn (prefix _ indicates shortened variable name)
 - Within group kr (prefix _ indicates shortened variable name)
 - Within group naca (prefix _ indicates shortened variable name)
 - Within group st (prefix _ indicates shortened variable name)
- Within group inact (prefix _ indicates shortened variable name)
 
 
 
 - Within group cell (prefix _ indicates shortened variable name)
 - Within group nh (prefix _ indicates shortened variable name)
- Within group cc (prefix _ indicates shortened variable name)
 - Within group cell (prefix _ indicates shortened variable name)
- Within group ca (prefix _ indicates shortened variable name)
- Within group cm_cyto (prefix _ indicates shortened variable name)
- Within group assoc (prefix _ indicates shortened variable name)
 - Within group occupied (prefix _ indicates shortened variable name)
 
 - Within group assoc (prefix _ indicates shortened variable name)
 - Within group cm_sl (prefix _ indicates shortened variable name)
- Within group assoc (prefix _ indicates shortened variable name)
 - Within group occupied (prefix _ indicates shortened variable name)
 
 - Within group assoc (prefix _ indicates shortened variable name)
 - Within group cm_sub (prefix _ indicates shortened variable name)
- Within group assoc (prefix _ indicates shortened variable name)
 - Within group occupied (prefix _ indicates shortened variable name)
 
 - Within group assoc (prefix _ indicates shortened variable name)
 - Within group cq (prefix _ indicates shortened variable name)
- Within group assoc (prefix _ indicates shortened variable name)
 - Within group occupied (prefix _ indicates shortened variable name)
 
 - Within group assoc (prefix _ indicates shortened variable name)
 - Within group cyto (prefix _ indicates shortened variable name)
 - Within group jsr (prefix _ indicates shortened variable name)
 - Within group jsr_sub (prefix _ indicates shortened variable name)
 - Within group nsr (prefix _ indicates shortened variable name)
 - Within group sub (prefix _ indicates shortened variable name)
 - Within group tc (prefix _ indicates shortened variable name)
- Within group assoc (prefix _ indicates shortened variable name)
 - Within group occupied (prefix _ indicates shortened variable name)
 
 - Within group assoc (prefix _ indicates shortened variable name)
 - Within group tm (prefix _ indicates shortened variable name)
- Within group free (prefix _ indicates shortened variable name)
 - Within group occupied_a (prefix _ indicates shortened variable name)
 - Within group occupied_b (prefix _ indicates shortened variable name)
 
 
 - Within group cal (prefix _ indicates shortened variable name)
 - Within group kir (prefix _ indicates shortened variable name)
 - Within group kr (prefix _ indicates shortened variable name)
 - Within group na (prefix _ indicates shortened variable name)
- Within group act (prefix _ indicates shortened variable name)
 
 - Within group naca (prefix _ indicates shortened variable name)
 - Within group to (prefix _ indicates shortened variable name)
 
 
 
Functions:
function inact_fast.fsteady
  input Real x "input value";
  output Real y "result of applying the HH-style equation steady = alpha/(alpha + beta)";
algorithm
  y := kr.ftau.falpha(x, -0.0669, -1000.0 / 5.57, 44.9) / (kr.ftau.falpha(x, -0.0669, -1000.0 / 5.57, 44.9) + act.fsteady(x, 0.0, 1491.0, -0.0946, 1000.0 / 12.9, 323.3, 1.0, 1.0));
end inact_fast.fsteady;function act.fsteady
  input Real x "input value";
  input Real y_min = 0.0 "lower asymptote (fitting parameter)";
  input Real y_max = 1.0 "upper asmyptote when d_off=1 and nu=1 (fititng parameter)";
  input Real x0 = -0.0032 "x-value of sigmoid midpoint when d_off=1 and nu=1 (fitting parameter)";
  input Real sx = 151.285930408472 "scaling factor for x axis (i.e. steepness, fitting parameter)";
  input Real se = 1.0 "scaling factor for exponential part (fitting parameter)";
  input Real d_off = 1.0 "offset in denominator (affects upper asymptote, fitting parameter)";
  input Real nu = 1.0 "reciprocal of exponent of denominator (affects upper asymptote, fitting parameter)";
  output Real y "result";
  protected Real x_adj "adjusted x with offset and scaling factor";
algorithm
  x_adj := sx * (x - x0);
  y := y_min + (y_max - y_min) / (se * exp(-x_adj) + d_off) ^ (1.0 / nu);
end act.fsteady;function st.act.ftau
  input Real x "input value";
  input Real off = 0.0 "offset added to result to increase minimum (fitting parameter)";
  output Real y "result of applying the HH-style equation tau = 1/(alpha + beta)";
algorithm
  y := 1.0 / (st.ftau.falpha(x, 0.0) + ftau.fbeta(x, 0.0)) + off;
end st.act.ftau;function c_to_v "function used to determine cell volume based on membrane capacitance"
  input Real c_m(quantity = "Capacitance", unit = "F", min = 0.0) "membrane capacitance";
  input Real v_low(quantity = "Volume", unit = "m3") = 2.19911e-15 "low estimate for cell volume (obtained when c_m = c_low)";
  input Real v_high(quantity = "Volume", unit = "m3") = 7.147123e-15 "high estimate for cell volume (obtained when c_m = c_low + c_span)";
  output Real v_cell(quantity = "Volume", unit = "m3") "resulting total cell volume";
  protected Real c_low(quantity = "Capacitance", unit = "F", min = 0.0) = 2e-11 "low value for c_m (where v_low is returned)";
  protected Real c_span(quantity = "Capacitance", unit = "F", min = 0.0) = 4.5e-11 "span that must be added to c_m to reach an output of v_high";
algorithm
  v_cell := (c_m - c_low) / c_span * (v_high - v_low) + v_low;
end c_to_v;function cal.ftau.falpha
  input Real x "input value";
  output Real y "output value";
algorithm
  y := falpha.fa(x, -0.035, 26.12 * 2.5, -1000.0 / 2.5) + falpha.fa(x, 0.0, 78.11 / 0.208, -208.0);
end cal.ftau.falpha;function inact.fsteady
  input Real x "input value";
  output Real y "output value";
algorithm
  y := act.fsteady(x, 0.0, 1.0, -0.0049, -1000.0 / 15.14, 1.0, 1.0, 1.0) * inact_fast.ftau(x, 1.0, (-0.3) + 1.0, 0.0, sqrt(500.0 / 2.0) / 1000.0);
end inact.fsteady;function inact.fbeta
  input Real x "input value";
  output Real y "output value";
algorithm
  y := fbeta.fa(x, 0.0) + act.fsteady(x, 0.0, 0.229, 0.0, 1000.0 / 5.0, 1.0, 1.0, 1.0);
end inact.fbeta;function kr.ftau.falpha
  input Real x "input value";
  input Real x0 = 0.0 "x-value where y = 1 (fitting parameter)";
  input Real sx = 39.8 "scaling factor for x axis (fitting parameter)";
  input Real sy = 17.0 "scaling factor for y axis (fitting parameter)";
  output Real y "result";
algorithm
  y := sy * exp(sx * (x - x0));
end kr.ftau.falpha;function michaelisMenten "equation for enzymatic reactions following Michaelis-Menten kinetics"
  input Real s(quantity = "Concentration", unit = "mol/m3") "substrate concentration";
  input Real k(quantity = "Concentration", unit = "mol/m3") "concentration producing half-maximum reaction rate (michaelis constant)";
  output Real rate(unit = "1") "reaction rate";
algorithm
  rate := s / (s + k);
end michaelisMenten;function inact_fast.ftau
  input Real x "input value";
  input Real y_min = 0.01 "minimum value achieved at edges (fitting parameter)";
  input Real y_max = 0.1639 "maximum value achieved at peak (fititng parameter)";
  input Real x0 = -0.04 "x-value of bell curve midpoint (fitting parameter)";
  input Real sigma = 0.009635092111651035 "standard deviation determining the width of the bell curve (fitting parameter)";
  output Real y "result";
  protected Real x_adj "adjusted x with offset and standard deviation";
algorithm
  x_adj := (x - x0) / sigma;
  y := y_min + (y_max - y_min) * exp(-0.5 * x_adj ^ 2.0);
end inact_fast.ftau;function act_fast.ftau
  input Real x "input value";
  input Real off = 0.0 "offset added to result to increase minimum (fitting parameter)";
  output Real y "result of applying the HH-style equation tau = 1/(alpha + beta)";
algorithm
  y := 1.0 / (kr.ftau.falpha(x, 0.0, 39.8, 17.0) + kr.ftau.falpha(x, 0.0, -51.0, 0.211)) + off;
end act_fast.ftau;function cal.act.ftau
  input Real x "input value";
  input Real off = 0.0 "offset added to result to increase minimum (fitting parameter)";
  output Real y "result of applying the HH-style equation tau = 1/(alpha + beta)";
algorithm
  y := 1.0 / (cal.ftau.falpha(x) + falpha.fa(x, 0.005, 10.52 / 0.4, 400.0)) + off;
end cal.act.ftau;function ghkFlux "ghk flux equation for a single ion"
  input Real v(quantity = "ElectricPotential", unit = "V") "membrane potential";
  input Real temp(quantity = "ThermodynamicTemperature", unit = "K", displayUnit = "degC", min = 0.0, start = 288.15, nominal = 300.0) "cell medium temperature";
  input Real ion_in(quantity = "Concentration", unit = "mol/m3") "intracellular ion concentration";
  input Real ion_ex(quantity = "Concentration", unit = "mol/m3") "extracellular ion concentration";
  input Real ion_p(quantity = "Permeability (fluid mechanics)", unit = "m3/(s.m2)") "permeability of cell membrane to Na+ cations";
  input Integer ion_z "ion valence";
  output Real i(quantity = "CurrentDensity", unit = "A/m2") "current density resulting from ion flux through membrane";
  protected Real g_max(quantity = "Conductance", unit = "S");
  protected Real v_eq(quantity = "ElectricPotential", unit = "V");
  protected Real FoRT(unit = "1/V") = 96485.33289000001 / (8.3144598 * temp);
algorithm
  g_max := ion_p * ion_ex * FoRT * 96485.33289000001 * /*Real*/(ion_z) ^ 2.0;
  v_eq := nernst(ion_in, ion_ex, ion_z, temp);
  if abs(v) < 1e-06 then
    i := g_max / FoRT / /*Real*/(ion_z) * (exp(-v_eq * FoRT * /*Real*/(ion_z)) - 1.0);
  else
    i := g_max * v * (exp((v - v_eq) * FoRT * /*Real*/(ion_z)) - 1.0) / (exp(v * FoRT * /*Real*/(ion_z)) - 1.0);
  end if;
end ghkFlux;function to.act.ftau
  input Real x "input value";
  input Real off = 0.000596 "offset added to result to increase minimum (fitting parameter)";
  output Real y "result of applying the HH-style equation tau = 1/(alpha + beta)";
algorithm
  y := 1.0 / (kr.ftau.falpha(x, -0.03061, 90.0, 1.037 / 0.003188) + kr.ftau.falpha(x, -0.02384, -120.0, 0.396 / 0.003188)) + off;
end to.act.ftau;function fbeta.fa
  input Real x "input value";
  input Real off = 0.0 "offset added to result to increase minimum (fitting parameter)";
  output Real y "result of applying the HH-style equation tau = 1/(alpha + beta)";
algorithm
  y := 1.0 / (kr.ftau.falpha(x, 0.0, -1000.0 / 10.0, 95.0 / 150.4) + kr.ftau.falpha(x, 0.0, -1000.0 / 700.0, 50.0 / 150.4)) + off;
end fbeta.fa;function st.ftau.falpha
  input Real x "input value";
  input Real off = 0.0 "offset added to result to increase minimum (fitting parameter)";
  output Real y "result of applying the HH-style equation tau = 1/(alpha + beta)";
algorithm
  y := 1.0 / (kr.ftau.falpha(x, 0.0, -1000.0 / 11.0, 0.00015) + kr.ftau.falpha(x, 0.0, -1000.0 / 700.0, 0.0002)) + off;
end st.ftau.falpha;function falpha.fa
  input Real x "input value";
  input Real x0 = -0.035 "offset for x (fitting parameter)";
  input Real sy = 65.3 "scaling factor for y (fitting parameter)";
  input Real sx = -400.0 "scaling factor for x (fitting parameter)";
  output Real y "result";
  protected Real x_adj "adjusted x with offset and scaling factor";
algorithm
  x_adj := sx * (x - x0);
  if abs(x - x0) < 1e-06 then
    y := sy;
  else
    y := sy * x_adj / (exp(x_adj) - 1.0);
  end if;
end falpha.fa;function nernst "Nernst equation to find the equlibrium potential for a single ion"
  input Real ion_in(quantity = "Concentration", unit = "mol/m3") "intracellular ion concentration";
  input Real ion_ex(quantity = "Concentration", unit = "mol/m3") "extracellular ion concentration";
  input Integer ion_z "valence of ion";
  input Real temp(quantity = "ThermodynamicTemperature", unit = "K", displayUnit = "degC", min = 0.0, start = 288.15, nominal = 300.0) "cell medium temperature";
  output Real v_eq(quantity = "ElectricPotential", unit = "V") "equlibirium potential";
algorithm
  v_eq := 8.3144598 * temp / /*Real*/(ion_z) / 96485.33289000001 * log(ion_ex / ion_in);
end nernst;function ftau.fbeta
  input Real x "input value";
  input Real off = 0.0 "offset added to result to increase minimum (fitting parameter)";
  output Real y "result of applying the HH-style equation tau = 1/(alpha + beta)";
algorithm
  y := 1.0 / (kr.ftau.falpha(x, 0.0, 1000.0 / 8.0, 0.016) + kr.ftau.falpha(x, 0.0, 1000.0 / 50.0, 0.015)) + off;
end ftau.fbeta;function hillLangmuir "Hill-Langmuir equation measuring the occupancy of a molecule by a ligand"
  input Real c(quantity = "Concentration", unit = "mol/m3") "ligand concentration";
  input Real ka(quantity = "Concentration", unit = "mol/m3") "concentration producing half occupation";
  input Real n(unit = "1") "Hill coefficient";
  output Real rate(unit = "1") "occupancy of molecule by ligand";
algorithm
  rate := c ^ n / (c ^ n + ka ^ n);
end hillLangmuir;function inact.falpha
  input Real x "input value";
  input Real off = 0.0 "offset added to result to increase minimum (fitting parameter)";
  output Real y "result of applying the HH-style equation tau = 1/(alpha + beta)";
algorithm
  y := 1.0 / (kr.ftau.falpha(x, 0.0, 1000.0 / 13.0, 3100.0 / 150.4) + kr.ftau.falpha(x, 0.0, 1000.0 / 70.0, 700.0 / 150.4)) + off;
end inact.falpha;function inact.ftau
  input Real x "input value";
  input Real off = 0.0 "offset added to result to increase minimum (fitting parameter)";
  output Real y "result of applying the HH-style equation tau = 1/(alpha + beta)";
algorithm
  y := 1.0 / (kr.ftau.falpha(x, 0.0, 9.42, 603.6) + kr.ftau.falpha(x, 0.0, -18.3, 92.01000000000001)) + off;
end inact.ftau;function p_from_g "calculate membrane permeability for ion from membrane conductance"
  input Real g(quantity = "Conductance", unit = "S") "membrane conductance for given ion";
  input Real ion_ex(quantity = "Concentration", unit = "mol/m3") "extracellular ion concentration";
  input Integer ion_z "valence of ion";
  input Real temp(quantity = "ThermodynamicTemperature", unit = "K", displayUnit = "degC", min = 0.0, start = 288.15, nominal = 300.0) "cell medium temperature";
  output Real p(quantity = "Permeability (fluid mechanics)", unit = "m3/(s.m2)") "membrane permeability for given ion";
  protected Real unit_area(quantity = "Area", unit = "m2") = 1.0 "unit area of 1 m², used to get correct units";
algorithm
  p := g / ion_ex * 8.3144598 * temp / (96485.33289000001 * /*Real*/(ion_z)) ^ 2.0 / unit_area;
end p_from_g;| name | unit | label | value | 
|---|---|---|---|
| an.cc.pulse_signal | 0 during holding period, 1 during pulse | 0 | |
| an.cc.pulse_end | signals end of pulse | ||
| an.cc.pulse_start | signals start of pulse | ||
| an.cc.i_stim | "A" | input current (needs to be defined externally) | |
| an.cc.g.p.i | "A" | Current flowing into the pin | |
| an.cc.n.i | "A" | Current flowing into the pin | |
| an.cell.ca.cm_sl.occupied.con | "mol/m3" | concentration of substance in compartment | |
| an.cell.ca.cm_sl.occupied.substance.amount | "mol" | amount of substance | |
| an.cell.ca.cm_sl.free.con | "mol/m3" | concentration of substance in compartment | |
| an.cell.ca.cm_sl.free.substance.amount | "mol" | amount of substance | |
| an.cell.ca.cm_sl.site.rate | "mol/s" | molar flow rate of substance | |
| an.cell.ca.cq.occupied.con | "mol/m3" | concentration of substance in compartment | |
| an.cell.ca.cq.occupied.substance.amount | "mol" | amount of substance | |
| an.cell.ca.cq.free.con | "mol/m3" | concentration of substance in compartment | |
| an.cell.ca.cq.free.substance.amount | "mol" | amount of substance | |
| an.cell.ca.cq.site.rate | "mol/s" | molar flow rate of substance | |
| an.cell.ca.cm_sub.occupied.con | "mol/m3" | concentration of substance in compartment | |
| an.cell.ca.cm_sub.occupied.substance.amount | "mol" | amount of substance | |
| an.cell.ca.cm_sub.free.con | "mol/m3" | concentration of substance in compartment | |
| an.cell.ca.cm_sub.free.substance.amount | "mol" | amount of substance | |
| an.cell.ca.cm_sub.site.rate | "mol/s" | molar flow rate of substance | |
| an.cell.ca.cm_cyto.occupied.con | "mol/m3" | concentration of substance in compartment | |
| an.cell.ca.cm_cyto.occupied.substance.amount | "mol" | amount of substance | |
| an.cell.ca.cm_cyto.free.con | "mol/m3" | concentration of substance in compartment | |
| an.cell.ca.cm_cyto.free.substance.amount | "mol" | amount of substance | |
| an.cell.ca.cm_cyto.site.rate | "mol/s" | molar flow rate of substance | |
| an.cell.ca.tm.occupied_b.con | "mol/m3" | concentration of substance in compartment | |
| an.cell.ca.tm.occupied_b.substance.amount | "mol" | amount of substance | |
| an.cell.ca.tm.occupied_a.con | "mol/m3" | concentration of substance in compartment | |
| an.cell.ca.tm.occupied_a.substance.amount | "mol" | amount of substance | |
| an.cell.ca.tm.free.con | "mol/m3" | concentration of substance in compartment | |
| an.cell.ca.tm.free.substance.rate | "mol/s" | molar flow rate of substance | |
| an.cell.ca.tm.free.substance.amount | "mol" | amount of substance | |
| an.cell.ca.tm.site_b.rate | "mol/s" | molar flow rate of substance | |
| an.cell.ca.tm.site_a.rate | "mol/s" | molar flow rate of substance | |
| an.cell.ca.tc.occupied.con | "mol/m3" | concentration of substance in compartment | |
| an.cell.ca.tc.occupied.substance.amount | "mol" | amount of substance | |
| an.cell.ca.tc.free.con | "mol/m3" | concentration of substance in compartment | |
| an.cell.ca.tc.free.substance.amount | "mol" | amount of substance | |
| an.cell.ca.tc.site.rate | "mol/s" | molar flow rate of substance | |
| an.cell.ca.jsr_sub.coeff | "1/s" | coefficient of transport | |
| an.cell.ca.jsr_sub.rate | "mol/s" | rate of change in substance amount | |
| an.cell.ca.nsr_jsr.rate | "mol/s" | rate of change in substance amount | |
| an.cell.ca.cyto_nsr.rate | "mol/s" | rate of change in substance amount | |
| an.cell.ca.sub_cyto.rate | "mol/s" | rate of change in substance amount | |
| an.cell.ca.nsr.con | "mol/m3" | concentration of substance in compartment | |
| an.cell.ca.nsr.substance.rate | "mol/s" | molar flow rate of substance | |
| an.cell.ca.nsr.substance.amount | "mol" | amount of substance | |
| an.cell.ca.jsr.con | "mol/m3" | concentration of substance in compartment | |
| an.cell.ca.jsr.substance.rate | "mol/s" | molar flow rate of substance | |
| an.cell.ca.jsr.substance.amount | "mol" | amount of substance | |
| an.cell.ca.cyto.con | "mol/m3" | concentration of substance in compartment | |
| an.cell.ca.cyto.substance.rate | "mol/s" | molar flow rate of substance | |
| an.cell.ca.cyto.substance.amount | "mol" | amount of substance | |
| an.cell.ca.sub.con | "mol/m3" | concentration of substance in compartment | |
| an.cell.ca.sub.substance.rate | "mol/s" | molar flow rate of substance | |
| an.cell.ca.sub.substance.amount | "mol" | amount of substance | |
| an.cell.ca.ca_sub.rate | "mol/s" | molar flow rate of substance | |
| an.cell.to.inact_total | total inactivation resulting from fast and slow inactivation gates | ||
| an.cell.to.inact_fast.tau | "s" | time constant for obtaining steady state (i.e. time until difference between n and steady has reduced by a factor of 1/e) | |
| an.cell.to.inact_fast.steady | value that n would reach if v_gate was held constant | ||
| an.cell.to.inact_fast.n | ratio of molecules in open conformation | 0.8734 | |
| an.cell.to.inact_slow.tau | "s" | time constant for obtaining steady state (i.e. time until difference between n and steady has reduced by a factor of 1/e) | |
| an.cell.to.inact_slow.steady | value that n would reach if v_gate was held constant | ||
| an.cell.to.inact_slow.n | ratio of molecules in open conformation | 0.1503 | |
| an.cell.to.act.tau | "s" | time constant for obtaining steady state (i.e. time until difference between n and steady has reduced by a factor of 1/e) | |
| an.cell.to.act.steady | value that n would reach if v_gate was held constant | ||
| an.cell.to.act.n | ratio of molecules in open conformation | 0.008857 | |
| an.cell.to.g | "S" | ion conductance | |
| an.cell.to.i_open | "A" | i if open_ratio = 1 | |
| an.cell.to.open_ratio | "1" | ratio between 0 (fully closed) and 1 (fully open) | |
| an.cell.to.i_ion | "A" | current used for ion flux | |
| an.cell.na.inact_total | total inactivation resulting from fast and slow inactivation terms | ||
| an.cell.na.inact_slow.tau | "s" | time constant for obtaining steady state (i.e. time until difference between n and steady has reduced by a factor of 1/e) | |
| an.cell.na.inact_slow.steady | value that n would reach if v_gate was held constant | ||
| an.cell.na.inact_slow.n | ratio of molecules in open conformation | 0.6162 | |
| an.cell.na.inact_fast.tau | "s" | time constant for obtaining steady state (i.e. time until difference between n and steady has reduced by a factor of 1/e) | |
| an.cell.na.inact_fast.steady | value that n would reach if v_gate was held constant | ||
| an.cell.na.inact_fast.n | ratio of molecules in open conformation | 0.717 | |
| an.cell.na.act.tau | "s" | time constant for obtaining steady state (i.e. time until difference between n and steady has reduced by a factor of 1/e) | |
| an.cell.na.act.steady | "1" | steady state achieved if current voltage is held constant | |
| an.cell.na.act.beta | "1" | rate of transfer from open to closed conformation | |
| an.cell.na.act.alpha | "1" | rate of transfer from closed to open conformation | |
| an.cell.na.act.n | ratio of molecules in open conformation | 0.01227 | |
| an.cell.na.i_open | i if open_ratio = 1 | ||
| an.cell.na.open_ratio | ratio between 0 (fully closed) and 1 (fully open) | ||
| an.cell.na.i_ion | "A" | current used for ion flux | |
| an.cell.kir.voltage_act.n | ratio of molecules in open conformation | ||
| an.cell.kir.voltage_inact.n | ratio of molecules in open conformation | ||
| an.cell.kir.g | "S" | ion conductance | |
| an.cell.kir.i_open | "A" | i if open_ratio = 1 | |
| an.cell.kir.open_ratio | "1" | ratio between 0 (fully closed) and 1 (fully open) | |
| an.cell.kir.i_ion | "A" | current used for ion flux | |
| an.cell.l2.i | "A" | Current flowing from pin p to pin n | |
| an.cell.l2.v | "V" | Voltage drop of the two pins (= p.v - n.v) | |
| an.cell.nak.i | "A" | Current flowing from pin p to pin n | |
| an.cell.naca.e4 | "1" | ratio of exchanger molecules in state e4 | |
| an.cell.naca.e3 | "1" | ratio of exchanger molecules in state e3 | |
| an.cell.naca.e2 | "1" | ratio of exchanger molecules in state e2 | |
| an.cell.naca.e1 | "1" | ratio of exchanger molecules in state e1 | |
| an.cell.naca.d | "1" | common denominator to turn relative frequencies into actual ratios between 0 and 1 | |
| an.cell.naca.x4 | "1" | relative frequancy of E4 states | |
| an.cell.naca.x3 | "1" | relative frequency of E3 states | |
| an.cell.naca.x2 | "1" | relative frequency of E2 states | |
| an.cell.naca.x1 | "1" | relative frequency of E1 states | |
| an.cell.naca.k_14 | "1" | rate constant for transition from E1 to E4 | |
| an.cell.naca.k_41 | "1" | rate constant for transition from E4 to E1 | |
| an.cell.naca.k_32 | "1" | rate constant for transition from E3 to E2 | |
| an.cell.naca.k_23 | "1" | rate constant for transition from E2 to E3 | |
| an.cell.naca.k_21 | "1" | rate constant for transition from E2 to E1 | |
| an.cell.naca.k_12 | "1" | rate constant for transition from E1 to E2 | |
| an.cell.naca.f1_2n_o | "1" | fraction of E2 states whose first two Na+ sites are occupied by Na+ | |
| an.cell.naca.f1_2n_i | "1" | fraction of E1 states whose first two Na+ sites are occupied by Na+ | |
| an.cell.naca.do | "1" | common denominator summing relative frequencies for all E2 substates | |
| an.cell.naca.do_cv | "1" | relative frequency of E2 states that are occupied by Ca2+ and occluded | |
| an.cell.naca.di | "1" | common denominator summing relative frequencies for all E1 substates | |
| an.cell.naca.di_cn | "1" | relative frequency of E1 states whose first two binding sites are occupied by Ca2+ and whose last binding site is occupied by Na+ | |
| an.cell.naca.di_cv | "1" | relative frequency of E1 states that are occupied by Ca2+ and occluded | |
| an.cell.naca.di_c | "1" | relative frequency of E1 states that are occupied by Ca2+ and not occluded | |
| an.cell.naca.i_ion | "A" | current used for TransmembraneCaFlow | |
| an.cell.naca.trans.rate | "mol/s" | rate of change in substance amount | |
| an.cell.kr.act_total | total activation due to slow and fast activation terms | ||
| an.cell.kr.inact.tau | "s" | time constant for obtaining steady state (i.e. time until difference between n and steady has reduced by a factor of 1/e) | |
| an.cell.kr.inact.steady | value that n would reach if v_gate was held constant | ||
| an.cell.kr.inact.n | ratio of molecules in open conformation | 0.9866 | |
| an.cell.kr.act_slow.tau | "s" | time constant for obtaining steady state (i.e. time until difference between n and steady has reduced by a factor of 1/e) | |
| an.cell.kr.act_slow.steady | value that n would reach if v_gate was held constant | ||
| an.cell.kr.act_slow.n | ratio of molecules in open conformation | 0.0484 | |
| an.cell.kr.act_fast.tau | "s" | time constant for obtaining steady state (i.e. time until difference between n and steady has reduced by a factor of 1/e) | |
| an.cell.kr.act_fast.steady | value that n would reach if v_gate was held constant | ||
| an.cell.kr.act_fast.n | ratio of molecules in open conformation | 0.07106999999999999 | |
| an.cell.kr.g | "S" | ion conductance | |
| an.cell.kr.i_open | "A" | i if open_ratio = 1 | |
| an.cell.kr.open_ratio | "1" | ratio between 0 (fully closed) and 1 (fully open) | |
| an.cell.kr.i_ion | "A" | current used for ion flux | |
| an.cell.cal.inact_total | |||
| an.cell.cal.inact_fast.tau | "s" | time constant for obtaining steady state (i.e. time until difference between n and steady has reduced by a factor of 1/e) | |
| an.cell.cal.inact_fast.steady | value that n would reach if v_gate was held constant | ||
| an.cell.cal.inact_fast.n | ratio of molecules in open conformation | 0.9985000000000001 | |
| an.cell.cal.inact_slow.tau | "s" | time constant for obtaining steady state (i.e. time until difference between n and steady has reduced by a factor of 1/e) | |
| an.cell.cal.inact_slow.steady | value that n would reach if v_gate was held constant | ||
| an.cell.cal.inact_slow.n | ratio of molecules in open conformation | 0.9875 | |
| an.cell.cal.act.tau | "s" | time constant for obtaining steady state (i.e. time until difference between n and steady has reduced by a factor of 1/e) | |
| an.cell.cal.act.steady | value that n would reach if v_gate was held constant | ||
| an.cell.cal.act.n | ratio of molecules in open conformation | 4.069e-05 | |
| an.cell.cal.trans.rate | "mol/s" | rate of change in substance amount | |
| an.cell.cal.g | "S" | ion conductance | |
| an.cell.cal.i_open | "A" | i if open_ratio = 1 | |
| an.cell.cal.open_ratio | "1" | ratio between 0 (fully closed) and 1 (fully open) | |
| an.cell.cal.i_ion | "A" | current used for ion flux | |
| an.cell.bg.i_ion | "A" | current used for ion flux | |
| $whenCondition4 | an.cc.pulse_start | ||
| $whenCondition3 | an.cc.pulse_end | ||
| nh.cc.pulse_signal | 0 during holding period, 1 during pulse | 0 | |
| nh.cc.pulse_end | signals end of pulse | ||
| nh.cc.pulse_start | signals start of pulse | ||
| nh.cc.i_stim | "A" | input current (needs to be defined externally) | |
| nh.cc.g.p.i | "A" | Current flowing into the pin | |
| nh.cc.n.i | "A" | Current flowing into the pin | |
| nh.cell.ca.cm_sl.occupied.con | "mol/m3" | concentration of substance in compartment | |
| nh.cell.ca.cm_sl.occupied.substance.amount | "mol" | amount of substance | |
| nh.cell.ca.cm_sl.free.con | "mol/m3" | concentration of substance in compartment | |
| nh.cell.ca.cm_sl.free.substance.amount | "mol" | amount of substance | |
| nh.cell.ca.cm_sl.site.rate | "mol/s" | molar flow rate of substance | |
| nh.cell.ca.cq.occupied.con | "mol/m3" | concentration of substance in compartment | |
| nh.cell.ca.cq.occupied.substance.amount | "mol" | amount of substance | |
| nh.cell.ca.cq.free.con | "mol/m3" | concentration of substance in compartment | |
| nh.cell.ca.cq.free.substance.amount | "mol" | amount of substance | |
| nh.cell.ca.cq.site.rate | "mol/s" | molar flow rate of substance | |
| nh.cell.ca.cm_sub.occupied.con | "mol/m3" | concentration of substance in compartment | |
| nh.cell.ca.cm_sub.occupied.substance.amount | "mol" | amount of substance | |
| nh.cell.ca.cm_sub.free.con | "mol/m3" | concentration of substance in compartment | |
| nh.cell.ca.cm_sub.free.substance.amount | "mol" | amount of substance | |
| nh.cell.ca.cm_sub.site.rate | "mol/s" | molar flow rate of substance | |
| nh.cell.ca.cm_cyto.occupied.con | "mol/m3" | concentration of substance in compartment | |
| nh.cell.ca.cm_cyto.occupied.substance.amount | "mol" | amount of substance | |
| nh.cell.ca.cm_cyto.free.con | "mol/m3" | concentration of substance in compartment | |
| nh.cell.ca.cm_cyto.free.substance.amount | "mol" | amount of substance | |
| nh.cell.ca.cm_cyto.site.rate | "mol/s" | molar flow rate of substance | |
| nh.cell.ca.tm.occupied_b.con | "mol/m3" | concentration of substance in compartment | |
| nh.cell.ca.tm.occupied_b.substance.amount | "mol" | amount of substance | |
| nh.cell.ca.tm.occupied_a.con | "mol/m3" | concentration of substance in compartment | |
| nh.cell.ca.tm.occupied_a.substance.amount | "mol" | amount of substance | |
| nh.cell.ca.tm.free.con | "mol/m3" | concentration of substance in compartment | |
| nh.cell.ca.tm.free.substance.rate | "mol/s" | molar flow rate of substance | |
| nh.cell.ca.tm.free.substance.amount | "mol" | amount of substance | |
| nh.cell.ca.tm.site_b.rate | "mol/s" | molar flow rate of substance | |
| nh.cell.ca.tm.site_a.rate | "mol/s" | molar flow rate of substance | |
| nh.cell.ca.tc.occupied.con | "mol/m3" | concentration of substance in compartment | |
| nh.cell.ca.tc.occupied.substance.amount | "mol" | amount of substance | |
| nh.cell.ca.tc.free.con | "mol/m3" | concentration of substance in compartment | |
| nh.cell.ca.tc.free.substance.amount | "mol" | amount of substance | |
| nh.cell.ca.tc.site.rate | "mol/s" | molar flow rate of substance | |
| nh.cell.ca.jsr_sub.coeff | "1/s" | coefficient of transport | |
| nh.cell.ca.jsr_sub.rate | "mol/s" | rate of change in substance amount | |
| nh.cell.ca.nsr_jsr.rate | "mol/s" | rate of change in substance amount | |
| nh.cell.ca.cyto_nsr.rate | "mol/s" | rate of change in substance amount | |
| nh.cell.ca.sub_cyto.rate | "mol/s" | rate of change in substance amount | |
| nh.cell.ca.nsr.con | "mol/m3" | concentration of substance in compartment | |
| nh.cell.ca.nsr.substance.rate | "mol/s" | molar flow rate of substance | |
| nh.cell.ca.nsr.substance.amount | "mol" | amount of substance | |
| nh.cell.ca.jsr.con | "mol/m3" | concentration of substance in compartment | |
| nh.cell.ca.jsr.substance.rate | "mol/s" | molar flow rate of substance | |
| nh.cell.ca.jsr.substance.amount | "mol" | amount of substance | |
| nh.cell.ca.cyto.con | "mol/m3" | concentration of substance in compartment | |
| nh.cell.ca.cyto.substance.rate | "mol/s" | molar flow rate of substance | |
| nh.cell.ca.cyto.substance.amount | "mol" | amount of substance | |
| nh.cell.ca.sub.con | "mol/m3" | concentration of substance in compartment | |
| nh.cell.ca.sub.substance.rate | "mol/s" | molar flow rate of substance | |
| nh.cell.ca.sub.substance.amount | "mol" | amount of substance | |
| nh.cell.ca.ca_sub.rate | "mol/s" | molar flow rate of substance | |
| nh.cell.to.inact_total | total inactivation resulting from fast and slow inactivation gates | ||
| nh.cell.to.inact_fast.tau | "s" | time constant for obtaining steady state (i.e. time until difference between n and steady has reduced by a factor of 1/e) | |
| nh.cell.to.inact_fast.steady | value that n would reach if v_gate was held constant | ||
| nh.cell.to.inact_fast.n | ratio of molecules in open conformation | 0.864 | |
| nh.cell.to.inact_slow.tau | "s" | time constant for obtaining steady state (i.e. time until difference between n and steady has reduced by a factor of 1/e) | |
| nh.cell.to.inact_slow.steady | value that n would reach if v_gate was held constant | ||
| nh.cell.to.inact_slow.n | ratio of molecules in open conformation | 0.1297 | |
| nh.cell.to.act.tau | "s" | time constant for obtaining steady state (i.e. time until difference between n and steady has reduced by a factor of 1/e) | |
| nh.cell.to.act.steady | value that n would reach if v_gate was held constant | ||
| nh.cell.to.act.n | ratio of molecules in open conformation | 0.009580999999999999 | |
| nh.cell.to.g | "S" | ion conductance | |
| nh.cell.to.i_open | "A" | i if open_ratio = 1 | |
| nh.cell.to.open_ratio | "1" | ratio between 0 (fully closed) and 1 (fully open) | |
| nh.cell.to.i_ion | "A" | current used for ion flux | |
| nh.cell.na.inact_total | total inactivation resulting from fast and slow inactivation terms | ||
| nh.cell.na.inact_slow.tau | "s" | time constant for obtaining steady state (i.e. time until difference between n and steady has reduced by a factor of 1/e) | |
| nh.cell.na.inact_slow.steady | value that n would reach if v_gate was held constant | ||
| nh.cell.na.inact_slow.n | ratio of molecules in open conformation | 0.5552 | |
| nh.cell.na.inact_fast.tau | "s" | time constant for obtaining steady state (i.e. time until difference between n and steady has reduced by a factor of 1/e) | |
| nh.cell.na.inact_fast.steady | value that n would reach if v_gate was held constant | ||
| nh.cell.na.inact_fast.n | ratio of molecules in open conformation | 0.6438 | |
| nh.cell.na.act.tau | "s" | time constant for obtaining steady state (i.e. time until difference between n and steady has reduced by a factor of 1/e) | |
| nh.cell.na.act.steady | "1" | steady state achieved if current voltage is held constant | |
| nh.cell.na.act.beta | "1" | rate of transfer from open to closed conformation | |
| nh.cell.na.act.alpha | "1" | rate of transfer from closed to open conformation | |
| nh.cell.na.act.n | ratio of molecules in open conformation | 0.01529 | |
| nh.cell.na.i_open | i if open_ratio = 1 | ||
| nh.cell.na.open_ratio | ratio between 0 (fully closed) and 1 (fully open) | ||
| nh.cell.na.i_ion | "A" | current used for ion flux | |
| nh.cell.kir.voltage_act.n | ratio of molecules in open conformation | ||
| nh.cell.kir.voltage_inact.n | ratio of molecules in open conformation | ||
| nh.cell.kir.g | "S" | ion conductance | |
| nh.cell.kir.i_open | "A" | i if open_ratio = 1 | |
| nh.cell.kir.open_ratio | "1" | ratio between 0 (fully closed) and 1 (fully open) | |
| nh.cell.kir.i_ion | "A" | current used for ion flux | |
| nh.cell.l2.i | "A" | Current flowing from pin p to pin n | |
| nh.cell.l2.v | "V" | Voltage drop of the two pins (= p.v - n.v) | |
| nh.cell.nak.i | "A" | Current flowing from pin p to pin n | |
| nh.cell.naca.e4 | "1" | ratio of exchanger molecules in state e4 | |
| nh.cell.naca.e3 | "1" | ratio of exchanger molecules in state e3 | |
| nh.cell.naca.e2 | "1" | ratio of exchanger molecules in state e2 | |
| nh.cell.naca.e1 | "1" | ratio of exchanger molecules in state e1 | |
| nh.cell.naca.d | "1" | common denominator to turn relative frequencies into actual ratios between 0 and 1 | |
| nh.cell.naca.x4 | "1" | relative frequancy of E4 states | |
| nh.cell.naca.x3 | "1" | relative frequency of E3 states | |
| nh.cell.naca.x2 | "1" | relative frequency of E2 states | |
| nh.cell.naca.x1 | "1" | relative frequency of E1 states | |
| nh.cell.naca.k_14 | "1" | rate constant for transition from E1 to E4 | |
| nh.cell.naca.k_41 | "1" | rate constant for transition from E4 to E1 | |
| nh.cell.naca.k_32 | "1" | rate constant for transition from E3 to E2 | |
| nh.cell.naca.k_23 | "1" | rate constant for transition from E2 to E3 | |
| nh.cell.naca.k_21 | "1" | rate constant for transition from E2 to E1 | |
| nh.cell.naca.k_12 | "1" | rate constant for transition from E1 to E2 | |
| nh.cell.naca.f1_2n_o | "1" | fraction of E2 states whose first two Na+ sites are occupied by Na+ | |
| nh.cell.naca.f1_2n_i | "1" | fraction of E1 states whose first two Na+ sites are occupied by Na+ | |
| nh.cell.naca.do | "1" | common denominator summing relative frequencies for all E2 substates | |
| nh.cell.naca.do_cv | "1" | relative frequency of E2 states that are occupied by Ca2+ and occluded | |
| nh.cell.naca.di | "1" | common denominator summing relative frequencies for all E1 substates | |
| nh.cell.naca.di_cn | "1" | relative frequency of E1 states whose first two binding sites are occupied by Ca2+ and whose last binding site is occupied by Na+ | |
| nh.cell.naca.di_cv | "1" | relative frequency of E1 states that are occupied by Ca2+ and occluded | |
| nh.cell.naca.di_c | "1" | relative frequency of E1 states that are occupied by Ca2+ and not occluded | |
| nh.cell.naca.i_ion | "A" | current used for TransmembraneCaFlow | |
| nh.cell.naca.trans.rate | "mol/s" | rate of change in substance amount | |
| nh.cell.kr.act_total | total activation due to slow and fast activation terms | ||
| nh.cell.kr.inact.tau | "s" | time constant for obtaining steady state (i.e. time until difference between n and steady has reduced by a factor of 1/e) | |
| nh.cell.kr.inact.steady | value that n would reach if v_gate was held constant | ||
| nh.cell.kr.inact.n | ratio of molecules in open conformation | 0.9853 | |
| nh.cell.kr.act_slow.tau | "s" | time constant for obtaining steady state (i.e. time until difference between n and steady has reduced by a factor of 1/e) | |
| nh.cell.kr.act_slow.steady | value that n would reach if v_gate was held constant | ||
| nh.cell.kr.act_slow.n | ratio of molecules in open conformation | 0.07024 | |
| nh.cell.kr.act_fast.tau | "s" | time constant for obtaining steady state (i.e. time until difference between n and steady has reduced by a factor of 1/e) | |
| nh.cell.kr.act_fast.steady | value that n would reach if v_gate was held constant | ||
| nh.cell.kr.act_fast.n | ratio of molecules in open conformation | 0.09949 | |
| nh.cell.kr.g | "S" | ion conductance | |
| nh.cell.kr.i_open | "A" | i if open_ratio = 1 | |
| nh.cell.kr.open_ratio | "1" | ratio between 0 (fully closed) and 1 (fully open) | |
| nh.cell.kr.i_ion | "A" | current used for ion flux | |
| nh.cell.cal.inact_total | |||
| nh.cell.cal.inact_fast.tau | "s" | time constant for obtaining steady state (i.e. time until difference between n and steady has reduced by a factor of 1/e) | |
| nh.cell.cal.inact_fast.steady | value that n would reach if v_gate was held constant | ||
| nh.cell.cal.inact_fast.n | ratio of molecules in open conformation | 0.9981 | |
| nh.cell.cal.inact_slow.tau | "s" | time constant for obtaining steady state (i.e. time until difference between n and steady has reduced by a factor of 1/e) | |
| nh.cell.cal.inact_slow.steady | value that n would reach if v_gate was held constant | ||
| nh.cell.cal.inact_slow.n | ratio of molecules in open conformation | 0.9831 | |
| nh.cell.cal.act.tau | "s" | time constant for obtaining steady state (i.e. time until difference between n and steady has reduced by a factor of 1/e) | |
| nh.cell.cal.act.steady | value that n would reach if v_gate was held constant | ||
| nh.cell.cal.act.n | ratio of molecules in open conformation | 5.025e-05 | |
| nh.cell.cal.trans.rate | "mol/s" | rate of change in substance amount | |
| nh.cell.cal.g | "S" | ion conductance | |
| nh.cell.cal.i_open | "A" | i if open_ratio = 1 | |
| nh.cell.cal.open_ratio | "1" | ratio between 0 (fully closed) and 1 (fully open) | |
| nh.cell.cal.i_ion | "A" | current used for ion flux | |
| nh.cell.bg.i_ion | "A" | current used for ion flux | |
| $whenCondition2 | nh.cc.pulse_start | ||
| $whenCondition1 | nh.cc.pulse_end | ||
| n.g.p.i | "A" | Current flowing into the pin | |
| n.cell.ca.cm_sl.occupied.con | "mol/m3" | concentration of substance in compartment | |
| n.cell.ca.cm_sl.occupied.substance.amount | "mol" | amount of substance | |
| n.cell.ca.cm_sl.free.con | "mol/m3" | concentration of substance in compartment | |
| n.cell.ca.cm_sl.free.substance.amount | "mol" | amount of substance | |
| n.cell.ca.cm_sl.site.rate | "mol/s" | molar flow rate of substance | |
| n.cell.ca.cq.occupied.con | "mol/m3" | concentration of substance in compartment | |
| n.cell.ca.cq.occupied.substance.amount | "mol" | amount of substance | |
| n.cell.ca.cq.free.con | "mol/m3" | concentration of substance in compartment | |
| n.cell.ca.cq.free.substance.amount | "mol" | amount of substance | |
| n.cell.ca.cq.site.rate | "mol/s" | molar flow rate of substance | |
| n.cell.ca.cm_sub.occupied.con | "mol/m3" | concentration of substance in compartment | |
| n.cell.ca.cm_sub.occupied.substance.amount | "mol" | amount of substance | |
| n.cell.ca.cm_sub.free.con | "mol/m3" | concentration of substance in compartment | |
| n.cell.ca.cm_sub.free.substance.amount | "mol" | amount of substance | |
| n.cell.ca.cm_sub.site.rate | "mol/s" | molar flow rate of substance | |
| n.cell.ca.cm_cyto.occupied.con | "mol/m3" | concentration of substance in compartment | |
| n.cell.ca.cm_cyto.occupied.substance.amount | "mol" | amount of substance | |
| n.cell.ca.cm_cyto.free.con | "mol/m3" | concentration of substance in compartment | |
| n.cell.ca.cm_cyto.free.substance.amount | "mol" | amount of substance | |
| n.cell.ca.cm_cyto.site.rate | "mol/s" | molar flow rate of substance | |
| n.cell.ca.tm.occupied_b.con | "mol/m3" | concentration of substance in compartment | |
| n.cell.ca.tm.occupied_b.substance.amount | "mol" | amount of substance | |
| n.cell.ca.tm.occupied_a.con | "mol/m3" | concentration of substance in compartment | |
| n.cell.ca.tm.occupied_a.substance.amount | "mol" | amount of substance | |
| n.cell.ca.tm.free.con | "mol/m3" | concentration of substance in compartment | |
| n.cell.ca.tm.free.substance.rate | "mol/s" | molar flow rate of substance | |
| n.cell.ca.tm.free.substance.amount | "mol" | amount of substance | |
| n.cell.ca.tm.site_b.rate | "mol/s" | molar flow rate of substance | |
| n.cell.ca.tm.site_a.rate | "mol/s" | molar flow rate of substance | |
| n.cell.ca.tc.occupied.con | "mol/m3" | concentration of substance in compartment | |
| n.cell.ca.tc.occupied.substance.amount | "mol" | amount of substance | |
| n.cell.ca.tc.free.con | "mol/m3" | concentration of substance in compartment | |
| n.cell.ca.tc.free.substance.amount | "mol" | amount of substance | |
| n.cell.ca.tc.site.rate | "mol/s" | molar flow rate of substance | |
| n.cell.ca.jsr_sub.coeff | "1/s" | coefficient of transport | |
| n.cell.ca.jsr_sub.rate | "mol/s" | rate of change in substance amount | |
| n.cell.ca.nsr_jsr.rate | "mol/s" | rate of change in substance amount | |
| n.cell.ca.cyto_nsr.rate | "mol/s" | rate of change in substance amount | |
| n.cell.ca.sub_cyto.rate | "mol/s" | rate of change in substance amount | |
| n.cell.ca.nsr.con | "mol/m3" | concentration of substance in compartment | |
| n.cell.ca.nsr.substance.rate | "mol/s" | molar flow rate of substance | |
| n.cell.ca.nsr.substance.amount | "mol" | amount of substance | |
| n.cell.ca.jsr.con | "mol/m3" | concentration of substance in compartment | |
| n.cell.ca.jsr.substance.rate | "mol/s" | molar flow rate of substance | |
| n.cell.ca.jsr.substance.amount | "mol" | amount of substance | |
| n.cell.ca.cyto.con | "mol/m3" | concentration of substance in compartment | |
| n.cell.ca.cyto.substance.rate | "mol/s" | molar flow rate of substance | |
| n.cell.ca.cyto.substance.amount | "mol" | amount of substance | |
| n.cell.ca.sub.con | "mol/m3" | concentration of substance in compartment | |
| n.cell.ca.sub.substance.rate | "mol/s" | molar flow rate of substance | |
| n.cell.ca.sub.substance.amount | "mol" | amount of substance | |
| n.cell.ca.ca_sub.rate | "mol/s" | molar flow rate of substance | |
| n.cell.st.inact.tau | "s" | time constant for obtaining steady state (i.e. time until difference between n and steady has reduced by a factor of 1/e) | |
| n.cell.st.inact.steady | "1" | steady state achieved if current voltage is held constant | |
| n.cell.st.inact.beta | "1" | rate of transfer from open to closed conformation | |
| n.cell.st.inact.alpha | "1" | rate of transfer from closed to open conformation | |
| n.cell.st.inact.n | ratio of molecules in open conformation | 0.4886 | |
| n.cell.st.act.tau | "s" | time constant for obtaining steady state (i.e. time until difference between n and steady has reduced by a factor of 1/e) | |
| n.cell.st.act.steady | value that n would reach if v_gate was held constant | ||
| n.cell.st.act.n | ratio of molecules in open conformation | 0.1933 | |
| n.cell.st.g | "S" | ion conductance | |
| n.cell.st.i_open | "A" | i if open_ratio = 1 | |
| n.cell.st.open_ratio | "1" | ratio between 0 (fully closed) and 1 (fully open) | |
| n.cell.st.i_ion | "A" | current used for ion flux | |
| n.cell.hcn.act.tau | "s" | time constant for obtaining steady state (i.e. time until difference between n and steady has reduced by a factor of 1/e) | |
| n.cell.hcn.act.steady | value that n would reach if v_gate was held constant | ||
| n.cell.hcn.act.n | "1" | ratio of molecules in open conformation | 0.03825 | 
| n.cell.hcn.g | "S" | ion conductance | |
| n.cell.hcn.i_open | "A" | i if open_ratio = 1 | |
| n.cell.hcn.i_ion | "A" | current used for ion flux | |
| n.cell.l2.i | "A" | Current flowing from pin p to pin n | |
| n.cell.l2.v | "V" | Voltage drop of the two pins (= p.v - n.v) | |
| n.cell.nak.i | "A" | Current flowing from pin p to pin n | |
| n.cell.naca.e4 | "1" | ratio of exchanger molecules in state e4 | |
| n.cell.naca.e3 | "1" | ratio of exchanger molecules in state e3 | |
| n.cell.naca.e2 | "1" | ratio of exchanger molecules in state e2 | |
| n.cell.naca.e1 | "1" | ratio of exchanger molecules in state e1 | |
| n.cell.naca.d | "1" | common denominator to turn relative frequencies into actual ratios between 0 and 1 | |
| n.cell.naca.x4 | "1" | relative frequancy of E4 states | |
| n.cell.naca.x3 | "1" | relative frequency of E3 states | |
| n.cell.naca.x2 | "1" | relative frequency of E2 states | |
| n.cell.naca.x1 | "1" | relative frequency of E1 states | |
| n.cell.naca.k_14 | "1" | rate constant for transition from E1 to E4 | |
| n.cell.naca.k_41 | "1" | rate constant for transition from E4 to E1 | |
| n.cell.naca.k_32 | "1" | rate constant for transition from E3 to E2 | |
| n.cell.naca.k_23 | "1" | rate constant for transition from E2 to E3 | |
| n.cell.naca.k_21 | "1" | rate constant for transition from E2 to E1 | |
| n.cell.naca.k_12 | "1" | rate constant for transition from E1 to E2 | |
| n.cell.naca.f1_2n_o | "1" | fraction of E2 states whose first two Na+ sites are occupied by Na+ | |
| n.cell.naca.f1_2n_i | "1" | fraction of E1 states whose first two Na+ sites are occupied by Na+ | |
| n.cell.naca.do | "1" | common denominator summing relative frequencies for all E2 substates | |
| n.cell.naca.do_cv | "1" | relative frequency of E2 states that are occupied by Ca2+ and occluded | |
| n.cell.naca.di | "1" | common denominator summing relative frequencies for all E1 substates | |
| n.cell.naca.di_cn | "1" | relative frequency of E1 states whose first two binding sites are occupied by Ca2+ and whose last binding site is occupied by Na+ | |
| n.cell.naca.di_cv | "1" | relative frequency of E1 states that are occupied by Ca2+ and occluded | |
| n.cell.naca.di_c | "1" | relative frequency of E1 states that are occupied by Ca2+ and not occluded | |
| n.cell.naca.i_ion | "A" | current used for TransmembraneCaFlow | |
| n.cell.naca.trans.rate | "mol/s" | rate of change in substance amount | |
| n.cell.kr.act_total | total activation due to slow and fast activation terms | ||
| n.cell.kr.inact.tau | "s" | time constant for obtaining steady state (i.e. time until difference between n and steady has reduced by a factor of 1/e) | |
| n.cell.kr.inact.steady | value that n would reach if v_gate was held constant | ||
| n.cell.kr.inact.n | ratio of molecules in open conformation | 0.9775 | |
| n.cell.kr.act_slow.tau | "s" | time constant for obtaining steady state (i.e. time until difference between n and steady has reduced by a factor of 1/e) | |
| n.cell.kr.act_slow.steady | value that n would reach if v_gate was held constant | ||
| n.cell.kr.act_slow.n | ratio of molecules in open conformation | 0.1287 | |
| n.cell.kr.act_fast.tau | "s" | time constant for obtaining steady state (i.e. time until difference between n and steady has reduced by a factor of 1/e) | |
| n.cell.kr.act_fast.steady | value that n would reach if v_gate was held constant | ||
| n.cell.kr.act_fast.n | ratio of molecules in open conformation | 0.6067 | |
| n.cell.kr.g | "S" | ion conductance | |
| n.cell.kr.i_open | "A" | i if open_ratio = 1 | |
| n.cell.kr.open_ratio | "1" | ratio between 0 (fully closed) and 1 (fully open) | |
| n.cell.kr.i_ion | "A" | current used for ion flux | |
| n.cell.cal.inact_total | |||
| n.cell.cal.inact_fast.tau | "s" | time constant for obtaining steady state (i.e. time until difference between n and steady has reduced by a factor of 1/e) | |
| n.cell.cal.inact_fast.steady | value that n would reach if v_gate was held constant | ||
| n.cell.cal.inact_fast.n | ratio of molecules in open conformation | 0.6861 | |
| n.cell.cal.inact_slow.tau | "s" | time constant for obtaining steady state (i.e. time until difference between n and steady has reduced by a factor of 1/e) | |
| n.cell.cal.inact_slow.steady | value that n would reach if v_gate was held constant | ||
| n.cell.cal.inact_slow.n | ratio of molecules in open conformation | 0.4441 | |
| n.cell.cal.act.tau | "s" | time constant for obtaining steady state (i.e. time until difference between n and steady has reduced by a factor of 1/e) | |
| n.cell.cal.act.steady | value that n would reach if v_gate was held constant | ||
| n.cell.cal.act.n | ratio of molecules in open conformation | 0.0001533 | |
| n.cell.cal.trans.rate | "mol/s" | rate of change in substance amount | |
| n.cell.cal.g | "S" | ion conductance | |
| n.cell.cal.i_open | "A" | i if open_ratio = 1 | |
| n.cell.cal.open_ratio | "1" | ratio between 0 (fully closed) and 1 (fully open) | |
| n.cell.cal.i_ion | "A" | current used for ion flux | |
| n.cell.bg.i_ion | "A" | current used for ion flux | |
| an.cell.cal.con.substance.amount | "mol" | amount of substance | an.cell.cal.con.c_const * an.cell.cal.con.vol | 
| an.cell.naca.con.substance.amount | "mol" | amount of substance | an.cell.naca.con.c_const * an.cell.naca.con.vol | 
| n.cell.cal.con.substance.amount | "mol" | amount of substance | n.cell.cal.con.c_const * n.cell.cal.con.vol | 
| n.cell.naca.con.substance.amount | "mol" | amount of substance | n.cell.naca.con.c_const * n.cell.naca.con.vol | 
| nh.cell.cal.con.substance.amount | "mol" | amount of substance | nh.cell.cal.con.c_const * nh.cell.cal.con.vol | 
| nh.cell.naca.con.substance.amount | "mol" | amount of substance | nh.cell.naca.con.c_const * nh.cell.naca.con.vol | 
| n.cell.naca.di_3n | "1" | relative frequency of E1 states where exactly three Na+ sites are occupied by Na+ | n.cell.naca.di_2n * n.cell.na_in / n.cell.naca.k_3n_i | 
| n.cell.naca.do_3n | "1" | relative frequency of E2 states where exactly three Na+ sites are occupied by Na+ | n.cell.naca.do_2n * n.cell.na_ex / n.cell.naca.k_3n_o | 
| n.cell.naca.do_2n | "1" | relative frequency of E2 states where exactly the first two Na+ sites are occupied by Na+ | n.cell.naca.do_1n * n.cell.na_ex / n.cell.naca.k_2n_o | 
| n.cell.naca.di_2n | "1" | relative frequency of E1 states where exactly the first two Na+ sites are occupied by Na+ | n.cell.naca.di_1n * n.cell.na_in / n.cell.naca.k_2n_i | 
| n.cell.p.i | "A" | Current flowing into the pin | 0.0 | 
| n.cell.bg.open_ratio | "1" | ratio between 0 (fully closed) and 1 (fully open) | 1.0 | 
| n.cell.ca.mg.substance.amount | "mol" | amount of substance | n.cell.ca.mg.c_const * n.cell.ca.mg.vol | 
| n.cell.ca.sub_cyto.coeff | "1/s" | coefficient of transport | 1.0 / n.cell.ca.sub_cyto.tau | 
| n.cell.ca.nsr_jsr.coeff | "1/s" | coefficient of transport | 1.0 / n.cell.ca.nsr_jsr.tau | 
| n.g.p.v | "V" | Potential at the pin | 0.0 | 
| n.cell.cal.ach_factor | 1.0 | ||
| n.cell.naca.di_1n | "1" | relative frequency of E1 states where only the first Na+ site is occupied by Na+ | n.cell.na_in / n.cell.naca.k_1n_i | 
| n.cell.naca.do_c | "1" | relative frequency of E2 states that are occupied by Ca2+ and not occluded | n.cell.ca_ex / n.cell.naca.k_c_o | 
| n.cell.naca.do_1n | "1" | relative frequency of E2 states where only the first Na+ site is occupied by Na+ | n.cell.na_ex / n.cell.naca.k_1n_o | 
| n.cell.naca.f1_3n_o | "1" | fraction of E2 states whose first two Na+ sites are occupied by Na+ | InaMo.Functions.Biochemical.michaelisMenten(n.cell.na_ex, n.cell.naca.k_3n_o) | 
| n.cell.naca.f1_3n_i | "1" | fraction of E1 states whose first two Na+ sites are occupied by Na+ | InaMo.Functions.Biochemical.michaelisMenten(n.cell.na_in, n.cell.naca.k_3n_i) | 
| nh.cell.naca.di_3n | "1" | relative frequency of E1 states where exactly three Na+ sites are occupied by Na+ | nh.cell.naca.di_2n * nh.cell.na_in / nh.cell.naca.k_3n_i | 
| nh.cell.naca.do_3n | "1" | relative frequency of E2 states where exactly three Na+ sites are occupied by Na+ | nh.cell.naca.do_2n * nh.cell.na_ex / nh.cell.naca.k_3n_o | 
| nh.cell.naca.do_2n | "1" | relative frequency of E2 states where exactly the first two Na+ sites are occupied by Na+ | nh.cell.naca.do_1n * nh.cell.na_ex / nh.cell.naca.k_2n_o | 
| nh.cell.naca.di_2n | "1" | relative frequency of E1 states where exactly the first two Na+ sites are occupied by Na+ | nh.cell.naca.di_1n * nh.cell.na_in / nh.cell.naca.k_2n_i | 
| nh.cell.bg.open_ratio | "1" | ratio between 0 (fully closed) and 1 (fully open) | 1.0 | 
| nh.cell.ca.mg.substance.amount | "mol" | amount of substance | nh.cell.ca.mg.c_const * nh.cell.ca.mg.vol | 
| nh.cell.ca.sub_cyto.coeff | "1/s" | coefficient of transport | 1.0 / nh.cell.ca.sub_cyto.tau | 
| nh.cell.ca.nsr_jsr.coeff | "1/s" | coefficient of transport | 1.0 / nh.cell.ca.nsr_jsr.tau | 
| nh.cc.g.p.v | "V" | Potential at the pin | 0.0 | 
| nh.cell.cal.ach_factor | 1.0 | ||
| nh.cell.naca.di_1n | "1" | relative frequency of E1 states where only the first Na+ site is occupied by Na+ | nh.cell.na_in / nh.cell.naca.k_1n_i | 
| nh.cell.naca.do_c | "1" | relative frequency of E2 states that are occupied by Ca2+ and not occluded | nh.cell.ca_ex / nh.cell.naca.k_c_o | 
| nh.cell.naca.do_1n | "1" | relative frequency of E2 states where only the first Na+ site is occupied by Na+ | nh.cell.na_ex / nh.cell.naca.k_1n_o | 
| nh.cell.naca.f1_3n_o | "1" | fraction of E2 states whose first two Na+ sites are occupied by Na+ | InaMo.Functions.Biochemical.michaelisMenten(nh.cell.na_ex, nh.cell.naca.k_3n_o) | 
| nh.cell.naca.f1_3n_i | "1" | fraction of E1 states whose first two Na+ sites are occupied by Na+ | InaMo.Functions.Biochemical.michaelisMenten(nh.cell.na_in, nh.cell.naca.k_3n_i) | 
| nh.cell.kir.n_pot | "1" | [K+]_ex-dependent gating variable | InaMo.Functions.Biochemical.michaelisMenten(nh.cell.k_ex, 0.59) | 
| nh.cc.i_pulse | "A" | current during pulse (must be defined externally) | -9.5e-10 | 
| an.cell.naca.di_3n | "1" | relative frequency of E1 states where exactly three Na+ sites are occupied by Na+ | an.cell.naca.di_2n * an.cell.na_in / an.cell.naca.k_3n_i | 
| an.cell.naca.do_3n | "1" | relative frequency of E2 states where exactly three Na+ sites are occupied by Na+ | an.cell.naca.do_2n * an.cell.na_ex / an.cell.naca.k_3n_o | 
| an.cell.naca.do_2n | "1" | relative frequency of E2 states where exactly the first two Na+ sites are occupied by Na+ | an.cell.naca.do_1n * an.cell.na_ex / an.cell.naca.k_2n_o | 
| an.cell.naca.di_2n | "1" | relative frequency of E1 states where exactly the first two Na+ sites are occupied by Na+ | an.cell.naca.di_1n * an.cell.na_in / an.cell.naca.k_2n_i | 
| an.cell.bg.open_ratio | "1" | ratio between 0 (fully closed) and 1 (fully open) | 1.0 | 
| an.cell.ca.mg.substance.amount | "mol" | amount of substance | an.cell.ca.mg.c_const * an.cell.ca.mg.vol | 
| an.cell.ca.sub_cyto.coeff | "1/s" | coefficient of transport | 1.0 / an.cell.ca.sub_cyto.tau | 
| an.cell.ca.nsr_jsr.coeff | "1/s" | coefficient of transport | 1.0 / an.cell.ca.nsr_jsr.tau | 
| an.cc.g.p.v | "V" | Potential at the pin | 0.0 | 
| an.cell.cal.ach_factor | 1.0 | ||
| an.cell.naca.di_1n | "1" | relative frequency of E1 states where only the first Na+ site is occupied by Na+ | an.cell.na_in / an.cell.naca.k_1n_i | 
| an.cell.naca.do_c | "1" | relative frequency of E2 states that are occupied by Ca2+ and not occluded | an.cell.ca_ex / an.cell.naca.k_c_o | 
| an.cell.naca.do_1n | "1" | relative frequency of E2 states where only the first Na+ site is occupied by Na+ | an.cell.na_ex / an.cell.naca.k_1n_o | 
| an.cell.naca.f1_3n_o | "1" | fraction of E2 states whose first two Na+ sites are occupied by Na+ | InaMo.Functions.Biochemical.michaelisMenten(an.cell.na_ex, an.cell.naca.k_3n_o) | 
| an.cell.naca.f1_3n_i | "1" | fraction of E1 states whose first two Na+ sites are occupied by Na+ | InaMo.Functions.Biochemical.michaelisMenten(an.cell.na_in, an.cell.naca.k_3n_i) | 
| an.cell.kir.n_pot | "1" | [K+]_ex-dependent gating variable | InaMo.Functions.Biochemical.michaelisMenten(an.cell.k_ex, 0.59) | 
| an.cc.i_pulse | "A" | current during pulse (must be defined externally) | -1.2e-09 | 
| an.cell.use_ach | should acetylcholine sensitive potassium channel be included in the model | false | |
| an.cell.ach | "mol/m3" | concentration of acetylcholine available for I_ACh | 0.0 | 
| an.cell.na_in | "mol/m3" | intracellular sodium concentration | 8.0 | 
| an.cell.na_ex | "mol/m3" | extracellular sodium concentration | 140.0 | 
| an.cell.na_p | "m3/(s.m2)" | permeability of cell membrane to sodium ions | InaMo.Functions.Biochemical.p_from_g(2.53e-07, an.cell.na_ex, 1, an.cell.temp) | 
| an.cell.k_in | "mol/m3" | intracellular potassium concentration | 140.0 | 
| an.cell.k_ex | "mol/m3" | extracellular potassium concentration | 5.4 | 
| an.cell.ca_ex | "mol/m3" | extracellular calcium concentration | 2.0 | 
| an.cell.temp | "K" | cell medium temperature | 288.15 | 
| an.cell.v_cell | "m3" | total cell volume | InaMo.Examples.FullCell.AllCells.an.cell.c_to_v(an.cell.l2.c, 2.19911e-15, 7.147123e-15) | 
| an.cell.v_cyto | "m3" | volume of cytosol | 0.46 * an.cell.v_cell - an.cell.v_sub | 
| an.cell.v_sub | "m3" | volume of subspace | 0.01 * an.cell.v_cell | 
| an.cell.v_jsr | "m3" | volume of junctional SR | 0.0012 * an.cell.v_cell | 
| an.cell.v_nsr | "m3" | volume of network SR | 0.0116 * an.cell.v_cell | 
| an.cell.v_k | "V" | equilibrium potential for potassium currents | InaMo.Functions.Biochemical.nernst(an.cell.k_in, an.cell.k_ex, 1, an.cell.temp) | 
| an.cell.bg.v_eq | "V" | equilibrium potential | -0.0525 | 
| an.cell.bg.g_max | "S" | maximum conductance | 1.8e-09 | 
| an.cell.bg.current_name | "I_b" | ||
| an.cell.cal.v_eq | "V" | equilibrium potential | 0.0621 | 
| an.cell.cal.g_max | "S" | maximum conductance | 1.85e-08 | 
| an.cell.cal.trans.n | "1" | stoichiometric ratio of ion transport | an.cell.cal.n_ca | 
| an.cell.cal.trans.z | valence of ion | 2 | |
| an.cell.cal.con.c_const | "mol/m3" | fixed concentration | an.cell.ca_ex | 
| an.cell.cal.con.vol | "m3" | volume of the compartment | 1.0 | 
| an.cell.cal.n_ca | "1" | stoichiometric ratio of transport | 1.0 | 
| an.cell.cal.current_name | "I_Ca,L" | ||
| an.cell.cal.k_ach | "1" | ratio of maximum channel inhibition by acetylcholine | 0.0 | 
| an.cell.kr.v_eq | "V" | equilibrium potential | an.cell.v_k | 
| an.cell.kr.g_max | "S" | maximum conductance | 1.5e-09 | 
| an.cell.kr.current_name | "I_K,r" | ||
| an.cell.naca.trans.n | "1" | stoichiometric ratio of ion transport | an.cell.naca.n_ca | 
| an.cell.naca.trans.z | valence of ion | 2 | |
| an.cell.naca.con.c_const | "mol/m3" | fixed concentration | an.cell.ca_ex | 
| an.cell.naca.con.vol | "m3" | volume of the compartment | 1.0 | 
| an.cell.naca.n_ca | "1" | stoichiometric ratio of transport | -2.0 | 
| an.cell.naca.current_name | "I_NaCa" | ||
| an.cell.naca.k_c_i | "mol/m3" | dissociation constant for channel with Ca++ bound on inside | 0.0207 | 
| an.cell.naca.k_cn_i | "mol/m3" | dissociation constant for channel with Ca++ and one Na+ bound on inside | 26.44 | 
| an.cell.naca.k_1n_i | "mol/m3" | dissociation constant for channel with one Na+ bound on inside | 395.3 | 
| an.cell.naca.k_2n_i | "mol/m3" | dissociation constant for channel with two Na+ bound on inside | 2.289 | 
| an.cell.naca.k_3n_i | "mol/m3" | dissociation constant for channel with three Na+ bound on inside | 26.44 | 
| an.cell.naca.k_c_o | "mol/m3" | dissociation constant for channel with Ca++ bound on outside | 3.663 | 
| an.cell.naca.k_1n_o | "mol/m3" | dissociation constant for channel with one Na+ bound on outside | 1628.0 | 
| an.cell.naca.k_2n_o | "mol/m3" | dissociation constant for channel with two Na+ bound on outside | 561.4 | 
| an.cell.naca.k_3n_o | "mol/m3" | dissociation constant for channel with three Na+ bound on outside | 4.663 | 
| an.cell.naca.q_ci | fractional charge movement during intracellular Ca++ occlusion reaction | 0.1369 | |
| an.cell.naca.q_co | fractional charge movement during extracellular Ca++ occlusion reaction | 0.0 | |
| an.cell.naca.q_n | fractional charge movement during Na+ occlusion reactions | 0.4315 | |
| an.cell.naca.k_NaCa | "A" | scaling factor for Na+/Ca++ exchanger current | 5.92e-09 | 
| an.cell.naca.FoRT | helper variable to simplify equations | 11604.52214706721 / an.cell.temp | |
| an.cell.nak.current_name | "I_NaK" | ||
| an.cell.nak.i_max | "A" | maximum current (actual maximum is 1.6 * i_max) | 2.46e-11 | 
| an.cell.nak.k_m_Na | "mol/m3" | Michaelis constant for Na+ binding | 5.64 | 
| an.cell.nak.k_m_K | "mol/m3" | Michaelis constant for K+ binding | 0.621 | 
| an.cell.l2.c | "F" | membrane capacitance | 4e-11 | 
| an.cell.l2.v_init | "V" | initial potential (from short initial stimulation) | -0.09 | 
| an.cell.l2.use_init | determines whether initial value for v is used | true | |
| an.cell.kir.v_eq | "V" | equilibrium potential | an.cell.v_k | 
| an.cell.kir.g_max | "S" | maximum conductance | 1.25e-08 | 
| an.cell.kir.current_name | "I_K1" | ||
| an.cell.kir.FoRT | helper variable to simplyfiy equations | 96485.33289000001 / (an.cell.temp * 8.3144598) | |
| an.cell.kir.use_vact | use voltage-dependent activation gate? (only Inada 2009) | true | |
| an.cell.na.ion_ex | "mol/m3" | extracellular concentration of ion | an.cell.na_ex | 
| an.cell.na.ion_p | "m3/(s.m2)" | permeability of ion | an.cell.na_p | 
| an.cell.na.ion_z | valence of ion | 1 | |
| an.cell.na.current_name | "I_Na" | ||
| an.cell.to.v_eq | "V" | equilibrium potential | an.cell.v_k | 
| an.cell.to.g_max | "S" | maximum conductance | 2e-08 | 
| an.cell.to.current_name | "I_to" | ||
| an.cell.cell_type | "AN" | ||
| an.cell.ca.tc_tot | "mol/m3" | total concentration of troponin-Ca | 0.031 | 
| an.cell.ca.tmc_tot | "mol/m3" | total concentration of troponin-Mg binding to Ca2+ | 0.062 | 
| an.cell.ca.cm_tot | "mol/m3" | total concentration of calmodulin | 0.045 | 
| an.cell.ca.cq_tot | "mol/m3" | total concentration of calsequestrin | 10.0 | 
| an.cell.ca.mg.c_const | "mol/m3" | fixed concentration | 2.5 | 
| an.cell.ca.mg.vol | "m3" | volume of the compartment | an.cell.v_cyto | 
| an.cell.ca.sub.vol | "m3" | volume of the compartment | an.cell.v_sub | 
| an.cell.ca.sub.c_start | "mol/m3" | initial value of concentration | 6.397e-05 | 
| an.cell.ca.cyto.vol | "m3" | volume of the compartment | an.cell.v_cyto | 
| an.cell.ca.cyto.c_start | "mol/m3" | initial value of concentration | 0.0001206 | 
| an.cell.ca.jsr.vol | "m3" | volume of the compartment | an.cell.v_jsr | 
| an.cell.ca.jsr.c_start | "mol/m3" | initial value of concentration | 0.4273 | 
| an.cell.ca.nsr.vol | "m3" | volume of the compartment | an.cell.v_nsr | 
| an.cell.ca.nsr.c_start | "mol/m3" | initial value of concentration | 1.068 | 
| an.cell.ca.sub_cyto.vol_src | "m3" | volume of source compartment | an.cell.ca.sub.vol | 
| an.cell.ca.sub_cyto.vol_dst | "m3" | volume of destination compartment | an.cell.ca.cyto.vol | 
| an.cell.ca.sub_cyto.vol_trans | "m3" | volume of substance that is transferred between compartments over 1/coeff seconds | min(an.cell.ca.sub_cyto.vol_src, an.cell.ca.sub_cyto.vol_dst) | 
| an.cell.ca.sub_cyto.tau | "s" | time constant of diffusion | 4e-05 | 
| an.cell.ca.cyto_nsr.current_name | "SERCA" | ||
| an.cell.ca.cyto_nsr.vol_src | "m3" | volume of source compartment | an.cell.ca.cyto.vol | 
| an.cell.ca.cyto_nsr.p | "mol/s" | maximum flow rate | 5.0 * an.cell.v_nsr | 
| an.cell.ca.cyto_nsr.k | "mol/m3" | Michaelis constant | 0.0005999999999999999 | 
| an.cell.ca.nsr_jsr.vol_src | "m3" | volume of source compartment | an.cell.ca.nsr.vol | 
| an.cell.ca.nsr_jsr.vol_dst | "m3" | volume of destination compartment | an.cell.ca.jsr.vol | 
| an.cell.ca.nsr_jsr.vol_trans | "m3" | volume of substance that is transferred between compartments over 1/coeff seconds | min(an.cell.ca.nsr_jsr.vol_src, an.cell.ca.nsr_jsr.vol_dst) | 
| an.cell.ca.nsr_jsr.tau | "s" | time constant of diffusion | 0.06 | 
| an.cell.ca.jsr_sub.vol_src | "m3" | volume of source compartment | an.cell.ca.jsr.vol | 
| an.cell.ca.jsr_sub.vol_dst | "m3" | volume of destination compartment | an.cell.ca.sub.vol | 
| an.cell.ca.jsr_sub.vol_trans | "m3" | volume of substance that is transferred between compartments over 1/coeff seconds | min(an.cell.ca.jsr_sub.vol_src, an.cell.ca.jsr_sub.vol_dst) | 
| an.cell.ca.jsr_sub.current_name | "RyR" | ||
| an.cell.ca.jsr_sub.p | "1/s" | rate coefficient (inverse of time constant) | 1805.6 | 
| an.cell.ca.jsr_sub.ka | "mol/m3" | concentration producing half occupation | 0.0012 | 
| an.cell.ca.jsr_sub.n | "1" | Hill coefficient | 2.0 | 
| an.cell.ca.tc.n_tot | "mol" | total amount of buffer | an.cell.ca.tc_tot * an.cell.v_cyto | 
| an.cell.ca.tc.f_start | "1" | initial value for f | 0.02359 | 
| an.cell.ca.tc.k | "mol-1s-1" | association constant | 88800.0 / an.cell.v_cyto | 
| an.cell.ca.tc.kb | "s-1" | dissociation constant | 446.0 | 
| an.cell.ca.tc.vol | "m3" | volume of compartment in which buffer resides | 1.0 | 
| an.cell.ca.tc.assoc.k | "mol-1s-1" | association constant | an.cell.ca.tc.k | 
| an.cell.ca.tc.assoc.kb | "s-1" | dissociation constant | an.cell.ca.tc.kb | 
| an.cell.ca.tc.free.vol | "m3" | volume of the compartment | an.cell.ca.tc.vol | 
| an.cell.ca.tc.free.c_start | "mol/m3" | initial value of concentration | (1.0 - an.cell.ca.tc.f_start) * an.cell.ca.tc.n_tot / an.cell.ca.tc.vol | 
| an.cell.ca.tc.occupied.vol | "m3" | volume of the compartment | an.cell.ca.tc.vol | 
| an.cell.ca.tc.occupied.c_start | "mol/m3" | initial value of concentration | an.cell.ca.tc.f_start * an.cell.ca.tc.n_tot / an.cell.ca.tc.vol | 
| an.cell.ca.tm.n_tot | "mol" | total amount of buffer | an.cell.ca.tmc_tot * an.cell.v_cyto | 
| an.cell.ca.tm.f_a_start | "1" | initial value for f | 0.3667 | 
| an.cell.ca.tm.f_b_start | "1" | initial value for f | 0.5594 | 
| an.cell.ca.tm.k_a | "mol-1s-1" | association constant for binding to ligand A | 227700.0 / an.cell.v_cyto | 
| an.cell.ca.tm.k_b | "mol-1s-1" | association constant for binding to ligand B | 2277.0 / an.cell.v_cyto | 
| an.cell.ca.tm.kb_a | "s-1" | dissociation constant for binding to ligand A | 7.51 | 
| an.cell.ca.tm.kb_b | "s-1" | dissociation constant for binding to ligand B | 751.0 | 
| an.cell.ca.tm.vol | "m3" | volume of compartment in which buffer resides | an.cell.v_cyto | 
| an.cell.ca.tm.assoc_a.k | "mol-1s-1" | association constant | an.cell.ca.tm.k_a | 
| an.cell.ca.tm.assoc_a.kb | "s-1" | dissociation constant | an.cell.ca.tm.kb_a | 
| an.cell.ca.tm.assoc_b.k | "mol-1s-1" | association constant | an.cell.ca.tm.k_b | 
| an.cell.ca.tm.assoc_b.kb | "s-1" | dissociation constant | an.cell.ca.tm.kb_b | 
| an.cell.ca.tm.free.vol | "m3" | volume of the compartment | an.cell.ca.tm.vol | 
| an.cell.ca.tm.free.c_start | "mol/m3" | initial value of concentration | (1.0 - (an.cell.ca.tm.f_a_start + an.cell.ca.tm.f_b_start)) * an.cell.ca.tm.n_tot / an.cell.ca.tm.vol | 
| an.cell.ca.tm.occupied_a.vol | "m3" | volume of the compartment | an.cell.ca.tm.vol | 
| an.cell.ca.tm.occupied_a.c_start | "mol/m3" | initial value of concentration | an.cell.ca.tm.f_a_start * an.cell.ca.tm.n_tot / an.cell.ca.tm.vol | 
| an.cell.ca.tm.occupied_b.vol | "m3" | volume of the compartment | an.cell.ca.tm.vol | 
| an.cell.ca.tm.occupied_b.c_start | "mol/m3" | initial value of concentration | an.cell.ca.tm.f_b_start * an.cell.ca.tm.n_tot / an.cell.ca.tm.vol | 
| an.cell.ca.cm_cyto.n_tot | "mol" | total amount of buffer | an.cell.ca.cm_tot * an.cell.v_cyto | 
| an.cell.ca.cm_cyto.f_start | "1" | initial value for f | 0.04845 | 
| an.cell.ca.cm_cyto.k | "mol-1s-1" | association constant | 227700.0 / an.cell.v_cyto | 
| an.cell.ca.cm_cyto.kb | "s-1" | dissociation constant | 542.0 | 
| an.cell.ca.cm_cyto.vol | "m3" | volume of compartment in which buffer resides | 1.0 | 
| an.cell.ca.cm_cyto.assoc.k | "mol-1s-1" | association constant | an.cell.ca.cm_cyto.k | 
| an.cell.ca.cm_cyto.assoc.kb | "s-1" | dissociation constant | an.cell.ca.cm_cyto.kb | 
| an.cell.ca.cm_cyto.free.vol | "m3" | volume of the compartment | an.cell.ca.cm_cyto.vol | 
| an.cell.ca.cm_cyto.free.c_start | "mol/m3" | initial value of concentration | (1.0 - an.cell.ca.cm_cyto.f_start) * an.cell.ca.cm_cyto.n_tot / an.cell.ca.cm_cyto.vol | 
| an.cell.ca.cm_cyto.occupied.vol | "m3" | volume of the compartment | an.cell.ca.cm_cyto.vol | 
| an.cell.ca.cm_cyto.occupied.c_start | "mol/m3" | initial value of concentration | an.cell.ca.cm_cyto.f_start * an.cell.ca.cm_cyto.n_tot / an.cell.ca.cm_cyto.vol | 
| an.cell.ca.cm_sub.n_tot | "mol" | total amount of buffer | an.cell.ca.cm_tot * an.cell.v_sub | 
| an.cell.ca.cm_sub.f_start | "1" | initial value for f | 0.02626 | 
| an.cell.ca.cm_sub.k | "mol-1s-1" | association constant | an.cell.ca.cm_cyto.k * an.cell.v_cyto / an.cell.v_sub | 
| an.cell.ca.cm_sub.kb | "s-1" | dissociation constant | an.cell.ca.cm_cyto.kb | 
| an.cell.ca.cm_sub.vol | "m3" | volume of compartment in which buffer resides | 1.0 | 
| an.cell.ca.cm_sub.assoc.k | "mol-1s-1" | association constant | an.cell.ca.cm_sub.k | 
| an.cell.ca.cm_sub.assoc.kb | "s-1" | dissociation constant | an.cell.ca.cm_sub.kb | 
| an.cell.ca.cm_sub.free.vol | "m3" | volume of the compartment | an.cell.ca.cm_sub.vol | 
| an.cell.ca.cm_sub.free.c_start | "mol/m3" | initial value of concentration | (1.0 - an.cell.ca.cm_sub.f_start) * an.cell.ca.cm_sub.n_tot / an.cell.ca.cm_sub.vol | 
| an.cell.ca.cm_sub.occupied.vol | "m3" | volume of the compartment | an.cell.ca.cm_sub.vol | 
| an.cell.ca.cm_sub.occupied.c_start | "mol/m3" | initial value of concentration | an.cell.ca.cm_sub.f_start * an.cell.ca.cm_sub.n_tot / an.cell.ca.cm_sub.vol | 
| an.cell.ca.cq.n_tot | "mol" | total amount of buffer | an.cell.ca.cq_tot * an.cell.v_jsr | 
| an.cell.ca.cq.f_start | "1" | initial value for f | 0.3379 | 
| an.cell.ca.cq.k | "mol-1s-1" | association constant | 534.0 / an.cell.v_jsr | 
| an.cell.ca.cq.kb | "s-1" | dissociation constant | 445.0 | 
| an.cell.ca.cq.vol | "m3" | volume of compartment in which buffer resides | 1.0 | 
| an.cell.ca.cq.assoc.k | "mol-1s-1" | association constant | an.cell.ca.cq.k | 
| an.cell.ca.cq.assoc.kb | "s-1" | dissociation constant | an.cell.ca.cq.kb | 
| an.cell.ca.cq.free.vol | "m3" | volume of the compartment | an.cell.ca.cq.vol | 
| an.cell.ca.cq.free.c_start | "mol/m3" | initial value of concentration | (1.0 - an.cell.ca.cq.f_start) * an.cell.ca.cq.n_tot / an.cell.ca.cq.vol | 
| an.cell.ca.cq.occupied.vol | "m3" | volume of the compartment | an.cell.ca.cq.vol | 
| an.cell.ca.cq.occupied.c_start | "mol/m3" | initial value of concentration | an.cell.ca.cq.f_start * an.cell.ca.cq.n_tot / an.cell.ca.cq.vol | 
| an.cell.ca.cm_sl_tot | "mol/m3" | total concentration of calmodulin in sarcolemma | 0.02583333333333333 | 
| an.cell.ca.cm_sl.n_tot | "mol" | total amount of buffer | an.cell.ca.cm_sl_tot * an.cell.v_sub | 
| an.cell.ca.cm_sl.f_start | "1" | initial value for f | 3.936e-05 | 
| an.cell.ca.cm_sl.k | "mol-1s-1" | association constant | 115.0 / an.cell.v_sub | 
| an.cell.ca.cm_sl.kb | "s-1" | dissociation constant | 1000.0 | 
| an.cell.ca.cm_sl.vol | "m3" | volume of compartment in which buffer resides | 1.0 | 
| an.cell.ca.cm_sl.assoc.k | "mol-1s-1" | association constant | an.cell.ca.cm_sl.k | 
| an.cell.ca.cm_sl.assoc.kb | "s-1" | dissociation constant | an.cell.ca.cm_sl.kb | 
| an.cell.ca.cm_sl.free.vol | "m3" | volume of the compartment | an.cell.ca.cm_sl.vol | 
| an.cell.ca.cm_sl.free.c_start | "mol/m3" | initial value of concentration | (1.0 - an.cell.ca.cm_sl.f_start) * an.cell.ca.cm_sl.n_tot / an.cell.ca.cm_sl.vol | 
| an.cell.ca.cm_sl.occupied.vol | "m3" | volume of the compartment | an.cell.ca.cm_sl.vol | 
| an.cell.ca.cm_sl.occupied.c_start | "mol/m3" | initial value of concentration | an.cell.ca.cm_sl.f_start * an.cell.ca.cm_sl.n_tot / an.cell.ca.cm_sl.vol | 
| an.cc.d_hold | "s" | holding period | 0.3 | 
| an.cc.d_pulse | "s" | pulse period | 0.001 | 
| an.cc.i_hold | "A" | current during holding period | 0.0 | 
| n.cell.use_ach | should acetylcholine sensitive potassium channel be included in the model | false | |
| n.cell.ach | "mol/m3" | concentration of acetylcholine available for I_ACh | 0.0 | 
| n.cell.na_in | "mol/m3" | intracellular sodium concentration | 8.0 | 
| n.cell.na_ex | "mol/m3" | extracellular sodium concentration | 140.0 | 
| n.cell.na_p | "m3/(s.m2)" | permeability of cell membrane to sodium ions | InaMo.Functions.Biochemical.p_from_g(2.53e-07, n.cell.na_ex, 1, n.cell.temp) | 
| n.cell.k_in | "mol/m3" | intracellular potassium concentration | 140.0 | 
| n.cell.k_ex | "mol/m3" | extracellular potassium concentration | 5.4 | 
| n.cell.ca_ex | "mol/m3" | extracellular calcium concentration | 2.0 | 
| n.cell.temp | "K" | cell medium temperature | 288.15 | 
| n.cell.v_cell | "m3" | total cell volume | InaMo.Examples.FullCell.AllCells.n.cell.c_to_v(n.cell.l2.c, 2.19911e-15, 7.147123e-15) | 
| n.cell.v_cyto | "m3" | volume of cytosol | 0.46 * n.cell.v_cell - n.cell.v_sub | 
| n.cell.v_sub | "m3" | volume of subspace | 0.01 * n.cell.v_cell | 
| n.cell.v_jsr | "m3" | volume of junctional SR | 0.0012 * n.cell.v_cell | 
| n.cell.v_nsr | "m3" | volume of network SR | 0.0116 * n.cell.v_cell | 
| n.cell.v_k | "V" | equilibrium potential for potassium currents | InaMo.Functions.Biochemical.nernst(n.cell.k_in, n.cell.k_ex, 1, n.cell.temp) | 
| n.cell.bg.v_eq | "V" | equilibrium potential | -0.0225 | 
| n.cell.bg.g_max | "S" | maximum conductance | 1.2e-09 | 
| n.cell.bg.current_name | "I_b" | ||
| n.cell.cal.v_eq | "V" | equilibrium potential | 0.0621 | 
| n.cell.cal.g_max | "S" | maximum conductance | 9e-09 | 
| n.cell.cal.trans.n | "1" | stoichiometric ratio of ion transport | n.cell.cal.n_ca | 
| n.cell.cal.trans.z | valence of ion | 2 | |
| n.cell.cal.con.c_const | "mol/m3" | fixed concentration | n.cell.ca_ex | 
| n.cell.cal.con.vol | "m3" | volume of the compartment | 1.0 | 
| n.cell.cal.n_ca | "1" | stoichiometric ratio of transport | 1.0 | 
| n.cell.cal.current_name | "I_Ca,L" | ||
| n.cell.cal.k_ach | "1" | ratio of maximum channel inhibition by acetylcholine | 0.0 | 
| n.cell.kr.v_eq | "V" | equilibrium potential | n.cell.v_k | 
| n.cell.kr.g_max | "S" | maximum conductance | 3.5e-09 | 
| n.cell.kr.current_name | "I_K,r" | ||
| n.cell.naca.trans.n | "1" | stoichiometric ratio of ion transport | n.cell.naca.n_ca | 
| n.cell.naca.trans.z | valence of ion | 2 | |
| n.cell.naca.con.c_const | "mol/m3" | fixed concentration | n.cell.ca_ex | 
| n.cell.naca.con.vol | "m3" | volume of the compartment | 1.0 | 
| n.cell.naca.n_ca | "1" | stoichiometric ratio of transport | -2.0 | 
| n.cell.naca.current_name | "I_NaCa" | ||
| n.cell.naca.k_c_i | "mol/m3" | dissociation constant for channel with Ca++ bound on inside | 0.0207 | 
| n.cell.naca.k_cn_i | "mol/m3" | dissociation constant for channel with Ca++ and one Na+ bound on inside | 26.44 | 
| n.cell.naca.k_1n_i | "mol/m3" | dissociation constant for channel with one Na+ bound on inside | 395.3 | 
| n.cell.naca.k_2n_i | "mol/m3" | dissociation constant for channel with two Na+ bound on inside | 2.289 | 
| n.cell.naca.k_3n_i | "mol/m3" | dissociation constant for channel with three Na+ bound on inside | 26.44 | 
| n.cell.naca.k_c_o | "mol/m3" | dissociation constant for channel with Ca++ bound on outside | 3.663 | 
| n.cell.naca.k_1n_o | "mol/m3" | dissociation constant for channel with one Na+ bound on outside | 1628.0 | 
| n.cell.naca.k_2n_o | "mol/m3" | dissociation constant for channel with two Na+ bound on outside | 561.4 | 
| n.cell.naca.k_3n_o | "mol/m3" | dissociation constant for channel with three Na+ bound on outside | 4.663 | 
| n.cell.naca.q_ci | fractional charge movement during intracellular Ca++ occlusion reaction | 0.1369 | |
| n.cell.naca.q_co | fractional charge movement during extracellular Ca++ occlusion reaction | 0.0 | |
| n.cell.naca.q_n | fractional charge movement during Na+ occlusion reactions | 0.4315 | |
| n.cell.naca.k_NaCa | "A" | scaling factor for Na+/Ca++ exchanger current | 2.14e-09 | 
| n.cell.naca.FoRT | helper variable to simplify equations | 11604.52214706721 / n.cell.temp | |
| n.cell.nak.current_name | "I_NaK" | ||
| n.cell.nak.i_max | "A" | maximum current (actual maximum is 1.6 * i_max) | 1.43e-10 | 
| n.cell.nak.k_m_Na | "mol/m3" | Michaelis constant for Na+ binding | 5.64 | 
| n.cell.nak.k_m_K | "mol/m3" | Michaelis constant for K+ binding | 0.621 | 
| n.cell.l2.c | "F" | membrane capacitance | 2.9e-11 | 
| n.cell.l2.v_init | "V" | initial potential (from short initial stimulation) | -0.09 | 
| n.cell.l2.use_init | determines whether initial value for v is used | true | |
| n.cell.hcn.v_eq | "V" | equilibrium potential | -0.03 | 
| n.cell.hcn.g_max | "S" | maximum conductance | 1e-09 | 
| n.cell.hcn.current_name | "I_f" | ||
| n.cell.hcn.act_shift | "V" | 0.0 | |
| n.cell.hcn.act.shift | "V" | n.cell.hcn.act_shift | |
| n.cell.st.v_eq | "V" | equilibrium potential | 0.0374 | 
| n.cell.st.g_max | "S" | maximum conductance | 1e-10 | 
| n.cell.st.current_name | "I_st" | ||
| n.cell.cell_type | "N" | ||
| n.cell.ca.tc_tot | "mol/m3" | total concentration of troponin-Ca | 0.031 | 
| n.cell.ca.tmc_tot | "mol/m3" | total concentration of troponin-Mg binding to Ca2+ | 0.062 | 
| n.cell.ca.cm_tot | "mol/m3" | total concentration of calmodulin | 0.045 | 
| n.cell.ca.cq_tot | "mol/m3" | total concentration of calsequestrin | 10.0 | 
| n.cell.ca.mg.c_const | "mol/m3" | fixed concentration | 2.5 | 
| n.cell.ca.mg.vol | "m3" | volume of the compartment | n.cell.v_cyto | 
| n.cell.ca.sub.vol | "m3" | volume of the compartment | n.cell.v_sub | 
| n.cell.ca.sub.c_start | "mol/m3" | initial value of concentration | 0.0002294 | 
| n.cell.ca.cyto.vol | "m3" | volume of the compartment | n.cell.v_cyto | 
| n.cell.ca.cyto.c_start | "mol/m3" | initial value of concentration | 0.0003623 | 
| n.cell.ca.jsr.vol | "m3" | volume of the compartment | n.cell.v_jsr | 
| n.cell.ca.jsr.c_start | "mol/m3" | initial value of concentration | 0.08227 | 
| n.cell.ca.nsr.vol | "m3" | volume of the compartment | n.cell.v_nsr | 
| n.cell.ca.nsr.c_start | "mol/m3" | initial value of concentration | 1.146 | 
| n.cell.ca.sub_cyto.vol_src | "m3" | volume of source compartment | n.cell.ca.sub.vol | 
| n.cell.ca.sub_cyto.vol_dst | "m3" | volume of destination compartment | n.cell.ca.cyto.vol | 
| n.cell.ca.sub_cyto.vol_trans | "m3" | volume of substance that is transferred between compartments over 1/coeff seconds | min(n.cell.ca.sub_cyto.vol_src, n.cell.ca.sub_cyto.vol_dst) | 
| n.cell.ca.sub_cyto.tau | "s" | time constant of diffusion | 4e-05 | 
| n.cell.ca.cyto_nsr.current_name | "SERCA" | ||
| n.cell.ca.cyto_nsr.vol_src | "m3" | volume of source compartment | n.cell.ca.cyto.vol | 
| n.cell.ca.cyto_nsr.p | "mol/s" | maximum flow rate | 5.0 * n.cell.v_nsr | 
| n.cell.ca.cyto_nsr.k | "mol/m3" | Michaelis constant | 0.0005999999999999999 | 
| n.cell.ca.nsr_jsr.vol_src | "m3" | volume of source compartment | n.cell.ca.nsr.vol | 
| n.cell.ca.nsr_jsr.vol_dst | "m3" | volume of destination compartment | n.cell.ca.jsr.vol | 
| n.cell.ca.nsr_jsr.vol_trans | "m3" | volume of substance that is transferred between compartments over 1/coeff seconds | min(n.cell.ca.nsr_jsr.vol_src, n.cell.ca.nsr_jsr.vol_dst) | 
| n.cell.ca.nsr_jsr.tau | "s" | time constant of diffusion | 0.06 | 
| n.cell.ca.jsr_sub.vol_src | "m3" | volume of source compartment | n.cell.ca.jsr.vol | 
| n.cell.ca.jsr_sub.vol_dst | "m3" | volume of destination compartment | n.cell.ca.sub.vol | 
| n.cell.ca.jsr_sub.vol_trans | "m3" | volume of substance that is transferred between compartments over 1/coeff seconds | min(n.cell.ca.jsr_sub.vol_src, n.cell.ca.jsr_sub.vol_dst) | 
| n.cell.ca.jsr_sub.current_name | "RyR" | ||
| n.cell.ca.jsr_sub.p | "1/s" | rate coefficient (inverse of time constant) | 1500.0 | 
| n.cell.ca.jsr_sub.ka | "mol/m3" | concentration producing half occupation | 0.0012 | 
| n.cell.ca.jsr_sub.n | "1" | Hill coefficient | 2.0 | 
| n.cell.ca.tc.n_tot | "mol" | total amount of buffer | n.cell.ca.tc_tot * n.cell.v_cyto | 
| n.cell.ca.tc.f_start | "1" | initial value for f | 0.6838 | 
| n.cell.ca.tc.k | "mol-1s-1" | association constant | 88800.0 / n.cell.v_cyto | 
| n.cell.ca.tc.kb | "s-1" | dissociation constant | 446.0 | 
| n.cell.ca.tc.vol | "m3" | volume of compartment in which buffer resides | 1.0 | 
| n.cell.ca.tc.assoc.k | "mol-1s-1" | association constant | n.cell.ca.tc.k | 
| n.cell.ca.tc.assoc.kb | "s-1" | dissociation constant | n.cell.ca.tc.kb | 
| n.cell.ca.tc.free.vol | "m3" | volume of the compartment | n.cell.ca.tc.vol | 
| n.cell.ca.tc.free.c_start | "mol/m3" | initial value of concentration | (1.0 - n.cell.ca.tc.f_start) * n.cell.ca.tc.n_tot / n.cell.ca.tc.vol | 
| n.cell.ca.tc.occupied.vol | "m3" | volume of the compartment | n.cell.ca.tc.vol | 
| n.cell.ca.tc.occupied.c_start | "mol/m3" | initial value of concentration | n.cell.ca.tc.f_start * n.cell.ca.tc.n_tot / n.cell.ca.tc.vol | 
| n.cell.ca.tm.n_tot | "mol" | total amount of buffer | n.cell.ca.tmc_tot * n.cell.v_cyto | 
| n.cell.ca.tm.f_a_start | "1" | initial value for f | 0.6192 | 
| n.cell.ca.tm.f_b_start | "1" | initial value for f | 0.3363 | 
| n.cell.ca.tm.k_a | "mol-1s-1" | association constant for binding to ligand A | 227700.0 / n.cell.v_cyto | 
| n.cell.ca.tm.k_b | "mol-1s-1" | association constant for binding to ligand B | 2277.0 / n.cell.v_cyto | 
| n.cell.ca.tm.kb_a | "s-1" | dissociation constant for binding to ligand A | 7.51 | 
| n.cell.ca.tm.kb_b | "s-1" | dissociation constant for binding to ligand B | 751.0 | 
| n.cell.ca.tm.vol | "m3" | volume of compartment in which buffer resides | n.cell.v_cyto | 
| n.cell.ca.tm.assoc_a.k | "mol-1s-1" | association constant | n.cell.ca.tm.k_a | 
| n.cell.ca.tm.assoc_a.kb | "s-1" | dissociation constant | n.cell.ca.tm.kb_a | 
| n.cell.ca.tm.assoc_b.k | "mol-1s-1" | association constant | n.cell.ca.tm.k_b | 
| n.cell.ca.tm.assoc_b.kb | "s-1" | dissociation constant | n.cell.ca.tm.kb_b | 
| n.cell.ca.tm.free.vol | "m3" | volume of the compartment | n.cell.ca.tm.vol | 
| n.cell.ca.tm.free.c_start | "mol/m3" | initial value of concentration | (1.0 - (n.cell.ca.tm.f_a_start + n.cell.ca.tm.f_b_start)) * n.cell.ca.tm.n_tot / n.cell.ca.tm.vol | 
| n.cell.ca.tm.occupied_a.vol | "m3" | volume of the compartment | n.cell.ca.tm.vol | 
| n.cell.ca.tm.occupied_a.c_start | "mol/m3" | initial value of concentration | n.cell.ca.tm.f_a_start * n.cell.ca.tm.n_tot / n.cell.ca.tm.vol | 
| n.cell.ca.tm.occupied_b.vol | "m3" | volume of the compartment | n.cell.ca.tm.vol | 
| n.cell.ca.tm.occupied_b.c_start | "mol/m3" | initial value of concentration | n.cell.ca.tm.f_b_start * n.cell.ca.tm.n_tot / n.cell.ca.tm.vol | 
| n.cell.ca.cm_cyto.n_tot | "mol" | total amount of buffer | n.cell.ca.cm_tot * n.cell.v_cyto | 
| n.cell.ca.cm_cyto.f_start | "1" | initial value for f | 0.1336 | 
| n.cell.ca.cm_cyto.k | "mol-1s-1" | association constant | 227700.0 / n.cell.v_cyto | 
| n.cell.ca.cm_cyto.kb | "s-1" | dissociation constant | 542.0 | 
| n.cell.ca.cm_cyto.vol | "m3" | volume of compartment in which buffer resides | 1.0 | 
| n.cell.ca.cm_cyto.assoc.k | "mol-1s-1" | association constant | n.cell.ca.cm_cyto.k | 
| n.cell.ca.cm_cyto.assoc.kb | "s-1" | dissociation constant | n.cell.ca.cm_cyto.kb | 
| n.cell.ca.cm_cyto.free.vol | "m3" | volume of the compartment | n.cell.ca.cm_cyto.vol | 
| n.cell.ca.cm_cyto.free.c_start | "mol/m3" | initial value of concentration | (1.0 - n.cell.ca.cm_cyto.f_start) * n.cell.ca.cm_cyto.n_tot / n.cell.ca.cm_cyto.vol | 
| n.cell.ca.cm_cyto.occupied.vol | "m3" | volume of the compartment | n.cell.ca.cm_cyto.vol | 
| n.cell.ca.cm_cyto.occupied.c_start | "mol/m3" | initial value of concentration | n.cell.ca.cm_cyto.f_start * n.cell.ca.cm_cyto.n_tot / n.cell.ca.cm_cyto.vol | 
| n.cell.ca.cm_sub.n_tot | "mol" | total amount of buffer | n.cell.ca.cm_tot * n.cell.v_sub | 
| n.cell.ca.cm_sub.f_start | "1" | initial value for f | 0.08894000000000001 | 
| n.cell.ca.cm_sub.k | "mol-1s-1" | association constant | n.cell.ca.cm_cyto.k * n.cell.v_cyto / n.cell.v_sub | 
| n.cell.ca.cm_sub.kb | "s-1" | dissociation constant | n.cell.ca.cm_cyto.kb | 
| n.cell.ca.cm_sub.vol | "m3" | volume of compartment in which buffer resides | 1.0 | 
| n.cell.ca.cm_sub.assoc.k | "mol-1s-1" | association constant | n.cell.ca.cm_sub.k | 
| n.cell.ca.cm_sub.assoc.kb | "s-1" | dissociation constant | n.cell.ca.cm_sub.kb | 
| n.cell.ca.cm_sub.free.vol | "m3" | volume of the compartment | n.cell.ca.cm_sub.vol | 
| n.cell.ca.cm_sub.free.c_start | "mol/m3" | initial value of concentration | (1.0 - n.cell.ca.cm_sub.f_start) * n.cell.ca.cm_sub.n_tot / n.cell.ca.cm_sub.vol | 
| n.cell.ca.cm_sub.occupied.vol | "m3" | volume of the compartment | n.cell.ca.cm_sub.vol | 
| n.cell.ca.cm_sub.occupied.c_start | "mol/m3" | initial value of concentration | n.cell.ca.cm_sub.f_start * n.cell.ca.cm_sub.n_tot / n.cell.ca.cm_sub.vol | 
| n.cell.ca.cq.n_tot | "mol" | total amount of buffer | n.cell.ca.cq_tot * n.cell.v_jsr | 
| n.cell.ca.cq.f_start | "1" | initial value for f | 0.08735999999999999 | 
| n.cell.ca.cq.k | "mol-1s-1" | association constant | 534.0 / n.cell.v_jsr | 
| n.cell.ca.cq.kb | "s-1" | dissociation constant | 445.0 | 
| n.cell.ca.cq.vol | "m3" | volume of compartment in which buffer resides | 1.0 | 
| n.cell.ca.cq.assoc.k | "mol-1s-1" | association constant | n.cell.ca.cq.k | 
| n.cell.ca.cq.assoc.kb | "s-1" | dissociation constant | n.cell.ca.cq.kb | 
| n.cell.ca.cq.free.vol | "m3" | volume of the compartment | n.cell.ca.cq.vol | 
| n.cell.ca.cq.free.c_start | "mol/m3" | initial value of concentration | (1.0 - n.cell.ca.cq.f_start) * n.cell.ca.cq.n_tot / n.cell.ca.cq.vol | 
| n.cell.ca.cq.occupied.vol | "m3" | volume of the compartment | n.cell.ca.cq.vol | 
| n.cell.ca.cq.occupied.c_start | "mol/m3" | initial value of concentration | n.cell.ca.cq.f_start * n.cell.ca.cq.n_tot / n.cell.ca.cq.vol | 
| n.cell.ca.cm_sl_tot | "mol/m3" | total concentration of calmodulin in sarcolemma | 0.02583333333333333 | 
| n.cell.ca.cm_sl.n_tot | "mol" | total amount of buffer | n.cell.ca.cm_sl_tot * n.cell.v_sub | 
| n.cell.ca.cm_sl.f_start | "1" | initial value for f | 4.764e-05 | 
| n.cell.ca.cm_sl.k | "mol-1s-1" | association constant | 115.0 / n.cell.v_sub | 
| n.cell.ca.cm_sl.kb | "s-1" | dissociation constant | 1000.0 | 
| n.cell.ca.cm_sl.vol | "m3" | volume of compartment in which buffer resides | 1.0 | 
| n.cell.ca.cm_sl.assoc.k | "mol-1s-1" | association constant | n.cell.ca.cm_sl.k | 
| n.cell.ca.cm_sl.assoc.kb | "s-1" | dissociation constant | n.cell.ca.cm_sl.kb | 
| n.cell.ca.cm_sl.free.vol | "m3" | volume of the compartment | n.cell.ca.cm_sl.vol | 
| n.cell.ca.cm_sl.free.c_start | "mol/m3" | initial value of concentration | (1.0 - n.cell.ca.cm_sl.f_start) * n.cell.ca.cm_sl.n_tot / n.cell.ca.cm_sl.vol | 
| n.cell.ca.cm_sl.occupied.vol | "m3" | volume of the compartment | n.cell.ca.cm_sl.vol | 
| n.cell.ca.cm_sl.occupied.c_start | "mol/m3" | initial value of concentration | n.cell.ca.cm_sl.f_start * n.cell.ca.cm_sl.n_tot / n.cell.ca.cm_sl.vol | 
| nh.cell.use_ach | should acetylcholine sensitive potassium channel be included in the model | false | |
| nh.cell.ach | "mol/m3" | concentration of acetylcholine available for I_ACh | 0.0 | 
| nh.cell.na_in | "mol/m3" | intracellular sodium concentration | 8.0 | 
| nh.cell.na_ex | "mol/m3" | extracellular sodium concentration | 140.0 | 
| nh.cell.na_p | "m3/(s.m2)" | permeability of cell membrane to sodium ions | InaMo.Functions.Biochemical.p_from_g(2.53e-07, nh.cell.na_ex, 1, nh.cell.temp) | 
| nh.cell.k_in | "mol/m3" | intracellular potassium concentration | 140.0 | 
| nh.cell.k_ex | "mol/m3" | extracellular potassium concentration | 5.4 | 
| nh.cell.ca_ex | "mol/m3" | extracellular calcium concentration | 2.0 | 
| nh.cell.temp | "K" | cell medium temperature | 288.15 | 
| nh.cell.v_cell | "m3" | total cell volume | InaMo.Examples.FullCell.AllCells.nh.cell.c_to_v(nh.cell.l2.c, 2.19911e-15, 7.147123e-15) | 
| nh.cell.v_cyto | "m3" | volume of cytosol | 0.46 * nh.cell.v_cell - nh.cell.v_sub | 
| nh.cell.v_sub | "m3" | volume of subspace | 0.01 * nh.cell.v_cell | 
| nh.cell.v_jsr | "m3" | volume of junctional SR | 0.0012 * nh.cell.v_cell | 
| nh.cell.v_nsr | "m3" | volume of network SR | 0.0116 * nh.cell.v_cell | 
| nh.cell.v_k | "V" | equilibrium potential for potassium currents | InaMo.Functions.Biochemical.nernst(nh.cell.k_in, nh.cell.k_ex, 1, nh.cell.temp) | 
| nh.cell.bg.v_eq | "V" | equilibrium potential | -0.04 | 
| nh.cell.bg.g_max | "S" | maximum conductance | 2e-09 | 
| nh.cell.bg.current_name | "I_b" | ||
| nh.cell.cal.v_eq | "V" | equilibrium potential | 0.0621 | 
| nh.cell.cal.g_max | "S" | maximum conductance | 2.1e-08 | 
| nh.cell.cal.trans.n | "1" | stoichiometric ratio of ion transport | nh.cell.cal.n_ca | 
| nh.cell.cal.trans.z | valence of ion | 2 | |
| nh.cell.cal.con.c_const | "mol/m3" | fixed concentration | nh.cell.ca_ex | 
| nh.cell.cal.con.vol | "m3" | volume of the compartment | 1.0 | 
| nh.cell.cal.n_ca | "1" | stoichiometric ratio of transport | 1.0 | 
| nh.cell.cal.current_name | "I_Ca,L" | ||
| nh.cell.cal.k_ach | "1" | ratio of maximum channel inhibition by acetylcholine | 0.0 | 
| nh.cell.kr.v_eq | "V" | equilibrium potential | nh.cell.v_k | 
| nh.cell.kr.g_max | "S" | maximum conductance | 2e-09 | 
| nh.cell.kr.current_name | "I_K,r" | ||
| nh.cell.naca.trans.n | "1" | stoichiometric ratio of ion transport | nh.cell.naca.n_ca | 
| nh.cell.naca.trans.z | valence of ion | 2 | |
| nh.cell.naca.con.c_const | "mol/m3" | fixed concentration | nh.cell.ca_ex | 
| nh.cell.naca.con.vol | "m3" | volume of the compartment | 1.0 | 
| nh.cell.naca.n_ca | "1" | stoichiometric ratio of transport | -2.0 | 
| nh.cell.naca.current_name | "I_NaCa" | ||
| nh.cell.naca.k_c_i | "mol/m3" | dissociation constant for channel with Ca++ bound on inside | 0.0207 | 
| nh.cell.naca.k_cn_i | "mol/m3" | dissociation constant for channel with Ca++ and one Na+ bound on inside | 26.44 | 
| nh.cell.naca.k_1n_i | "mol/m3" | dissociation constant for channel with one Na+ bound on inside | 395.3 | 
| nh.cell.naca.k_2n_i | "mol/m3" | dissociation constant for channel with two Na+ bound on inside | 2.289 | 
| nh.cell.naca.k_3n_i | "mol/m3" | dissociation constant for channel with three Na+ bound on inside | 26.44 | 
| nh.cell.naca.k_c_o | "mol/m3" | dissociation constant for channel with Ca++ bound on outside | 3.663 | 
| nh.cell.naca.k_1n_o | "mol/m3" | dissociation constant for channel with one Na+ bound on outside | 1628.0 | 
| nh.cell.naca.k_2n_o | "mol/m3" | dissociation constant for channel with two Na+ bound on outside | 561.4 | 
| nh.cell.naca.k_3n_o | "mol/m3" | dissociation constant for channel with three Na+ bound on outside | 4.663 | 
| nh.cell.naca.q_ci | fractional charge movement during intracellular Ca++ occlusion reaction | 0.1369 | |
| nh.cell.naca.q_co | fractional charge movement during extracellular Ca++ occlusion reaction | 0.0 | |
| nh.cell.naca.q_n | fractional charge movement during Na+ occlusion reactions | 0.4315 | |
| nh.cell.naca.k_NaCa | "A" | scaling factor for Na+/Ca++ exchanger current | 5.92e-09 | 
| nh.cell.naca.FoRT | helper variable to simplify equations | 11604.52214706721 / nh.cell.temp | |
| nh.cell.nak.current_name | "I_NaK" | ||
| nh.cell.nak.i_max | "A" | maximum current (actual maximum is 1.6 * i_max) | 1.97e-10 | 
| nh.cell.nak.k_m_Na | "mol/m3" | Michaelis constant for Na+ binding | 5.64 | 
| nh.cell.nak.k_m_K | "mol/m3" | Michaelis constant for K+ binding | 0.621 | 
| nh.cell.l2.c | "F" | membrane capacitance | 4e-11 | 
| nh.cell.l2.v_init | "V" | initial potential (from short initial stimulation) | -0.09 | 
| nh.cell.l2.use_init | determines whether initial value for v is used | true | |
| nh.cell.kir.v_eq | "V" | equilibrium potential | nh.cell.v_k | 
| nh.cell.kir.g_max | "S" | maximum conductance | 1.5e-08 | 
| nh.cell.kir.current_name | "I_K1" | ||
| nh.cell.kir.FoRT | helper variable to simplyfiy equations | 96485.33289000001 / (nh.cell.temp * 8.3144598) | |
| nh.cell.kir.use_vact | use voltage-dependent activation gate? (only Inada 2009) | true | |
| nh.cell.na.ion_ex | "mol/m3" | extracellular concentration of ion | nh.cell.na_ex | 
| nh.cell.na.ion_p | "m3/(s.m2)" | permeability of ion | nh.cell.na_p | 
| nh.cell.na.ion_z | valence of ion | 1 | |
| nh.cell.na.current_name | "I_Na" | ||
| nh.cell.to.v_eq | "V" | equilibrium potential | nh.cell.v_k | 
| nh.cell.to.g_max | "S" | maximum conductance | 1.4e-08 | 
| nh.cell.to.current_name | "I_to" | ||
| nh.cell.cell_type | "NH" | ||
| nh.cell.ca.tc_tot | "mol/m3" | total concentration of troponin-Ca | 0.031 | 
| nh.cell.ca.tmc_tot | "mol/m3" | total concentration of troponin-Mg binding to Ca2+ | 0.062 | 
| nh.cell.ca.cm_tot | "mol/m3" | total concentration of calmodulin | 0.045 | 
| nh.cell.ca.cq_tot | "mol/m3" | total concentration of calsequestrin | 10.0 | 
| nh.cell.ca.mg.c_const | "mol/m3" | fixed concentration | 2.5 | 
| nh.cell.ca.mg.vol | "m3" | volume of the compartment | nh.cell.v_cyto | 
| nh.cell.ca.sub.vol | "m3" | volume of the compartment | nh.cell.v_sub | 
| nh.cell.ca.sub.c_start | "mol/m3" | initial value of concentration | 7.313999999999999e-05 | 
| nh.cell.ca.cyto.vol | "m3" | volume of the compartment | nh.cell.v_cyto | 
| nh.cell.ca.cyto.c_start | "mol/m3" | initial value of concentration | 0.0001386 | 
| nh.cell.ca.jsr.vol | "m3" | volume of the compartment | nh.cell.v_jsr | 
| nh.cell.ca.jsr.c_start | "mol/m3" | initial value of concentration | 0.4438 | 
| nh.cell.ca.nsr.vol | "m3" | volume of the compartment | nh.cell.v_nsr | 
| nh.cell.ca.nsr.c_start | "mol/m3" | initial value of concentration | 1.187 | 
| nh.cell.ca.sub_cyto.vol_src | "m3" | volume of source compartment | nh.cell.ca.sub.vol | 
| nh.cell.ca.sub_cyto.vol_dst | "m3" | volume of destination compartment | nh.cell.ca.cyto.vol | 
| nh.cell.ca.sub_cyto.vol_trans | "m3" | volume of substance that is transferred between compartments over 1/coeff seconds | min(nh.cell.ca.sub_cyto.vol_src, nh.cell.ca.sub_cyto.vol_dst) | 
| nh.cell.ca.sub_cyto.tau | "s" | time constant of diffusion | 4e-05 | 
| nh.cell.ca.cyto_nsr.current_name | "SERCA" | ||
| nh.cell.ca.cyto_nsr.vol_src | "m3" | volume of source compartment | nh.cell.ca.cyto.vol | 
| nh.cell.ca.cyto_nsr.p | "mol/s" | maximum flow rate | 5.0 * nh.cell.v_nsr | 
| nh.cell.ca.cyto_nsr.k | "mol/m3" | Michaelis constant | 0.0005999999999999999 | 
| nh.cell.ca.nsr_jsr.vol_src | "m3" | volume of source compartment | nh.cell.ca.nsr.vol | 
| nh.cell.ca.nsr_jsr.vol_dst | "m3" | volume of destination compartment | nh.cell.ca.jsr.vol | 
| nh.cell.ca.nsr_jsr.vol_trans | "m3" | volume of substance that is transferred between compartments over 1/coeff seconds | min(nh.cell.ca.nsr_jsr.vol_src, nh.cell.ca.nsr_jsr.vol_dst) | 
| nh.cell.ca.nsr_jsr.tau | "s" | time constant of diffusion | 0.06 | 
| nh.cell.ca.jsr_sub.vol_src | "m3" | volume of source compartment | nh.cell.ca.jsr.vol | 
| nh.cell.ca.jsr_sub.vol_dst | "m3" | volume of destination compartment | nh.cell.ca.sub.vol | 
| nh.cell.ca.jsr_sub.vol_trans | "m3" | volume of substance that is transferred between compartments over 1/coeff seconds | min(nh.cell.ca.jsr_sub.vol_src, nh.cell.ca.jsr_sub.vol_dst) | 
| nh.cell.ca.jsr_sub.current_name | "RyR" | ||
| nh.cell.ca.jsr_sub.p | "1/s" | rate coefficient (inverse of time constant) | 1805.6 | 
| nh.cell.ca.jsr_sub.ka | "mol/m3" | concentration producing half occupation | 0.0012 | 
| nh.cell.ca.jsr_sub.n | "1" | Hill coefficient | 2.0 | 
| nh.cell.ca.tc.n_tot | "mol" | total amount of buffer | nh.cell.ca.tc_tot * nh.cell.v_cyto | 
| nh.cell.ca.tc.f_start | "1" | initial value for f | 0.02703 | 
| nh.cell.ca.tc.k | "mol-1s-1" | association constant | 88800.0 / nh.cell.v_cyto | 
| nh.cell.ca.tc.kb | "s-1" | dissociation constant | 446.0 | 
| nh.cell.ca.tc.vol | "m3" | volume of compartment in which buffer resides | 1.0 | 
| nh.cell.ca.tc.assoc.k | "mol-1s-1" | association constant | nh.cell.ca.tc.k | 
| nh.cell.ca.tc.assoc.kb | "s-1" | dissociation constant | nh.cell.ca.tc.kb | 
| nh.cell.ca.tc.free.vol | "m3" | volume of the compartment | nh.cell.ca.tc.vol | 
| nh.cell.ca.tc.free.c_start | "mol/m3" | initial value of concentration | (1.0 - nh.cell.ca.tc.f_start) * nh.cell.ca.tc.n_tot / nh.cell.ca.tc.vol | 
| nh.cell.ca.tc.occupied.vol | "m3" | volume of the compartment | nh.cell.ca.tc.vol | 
| nh.cell.ca.tc.occupied.c_start | "mol/m3" | initial value of concentration | nh.cell.ca.tc.f_start * nh.cell.ca.tc.n_tot / nh.cell.ca.tc.vol | 
| nh.cell.ca.tm.n_tot | "mol" | total amount of buffer | nh.cell.ca.tmc_tot * nh.cell.v_cyto | 
| nh.cell.ca.tm.f_a_start | "1" | initial value for f | 0.402 | 
| nh.cell.ca.tm.f_b_start | "1" | initial value for f | 0.5282 | 
| nh.cell.ca.tm.k_a | "mol-1s-1" | association constant for binding to ligand A | 227700.0 / nh.cell.v_cyto | 
| nh.cell.ca.tm.k_b | "mol-1s-1" | association constant for binding to ligand B | 2277.0 / nh.cell.v_cyto | 
| nh.cell.ca.tm.kb_a | "s-1" | dissociation constant for binding to ligand A | 7.51 | 
| nh.cell.ca.tm.kb_b | "s-1" | dissociation constant for binding to ligand B | 751.0 | 
| nh.cell.ca.tm.vol | "m3" | volume of compartment in which buffer resides | nh.cell.v_cyto | 
| nh.cell.ca.tm.assoc_a.k | "mol-1s-1" | association constant | nh.cell.ca.tm.k_a | 
| nh.cell.ca.tm.assoc_a.kb | "s-1" | dissociation constant | nh.cell.ca.tm.kb_a | 
| nh.cell.ca.tm.assoc_b.k | "mol-1s-1" | association constant | nh.cell.ca.tm.k_b | 
| nh.cell.ca.tm.assoc_b.kb | "s-1" | dissociation constant | nh.cell.ca.tm.kb_b | 
| nh.cell.ca.tm.free.vol | "m3" | volume of the compartment | nh.cell.ca.tm.vol | 
| nh.cell.ca.tm.free.c_start | "mol/m3" | initial value of concentration | (1.0 - (nh.cell.ca.tm.f_a_start + nh.cell.ca.tm.f_b_start)) * nh.cell.ca.tm.n_tot / nh.cell.ca.tm.vol | 
| nh.cell.ca.tm.occupied_a.vol | "m3" | volume of the compartment | nh.cell.ca.tm.vol | 
| nh.cell.ca.tm.occupied_a.c_start | "mol/m3" | initial value of concentration | nh.cell.ca.tm.f_a_start * nh.cell.ca.tm.n_tot / nh.cell.ca.tm.vol | 
| nh.cell.ca.tm.occupied_b.vol | "m3" | volume of the compartment | nh.cell.ca.tm.vol | 
| nh.cell.ca.tm.occupied_b.c_start | "mol/m3" | initial value of concentration | nh.cell.ca.tm.f_b_start * nh.cell.ca.tm.n_tot / nh.cell.ca.tm.vol | 
| nh.cell.ca.cm_cyto.n_tot | "mol" | total amount of buffer | nh.cell.ca.cm_tot * nh.cell.v_cyto | 
| nh.cell.ca.cm_cyto.f_start | "1" | initial value for f | 0.0553 | 
| nh.cell.ca.cm_cyto.k | "mol-1s-1" | association constant | 227700.0 / nh.cell.v_cyto | 
| nh.cell.ca.cm_cyto.kb | "s-1" | dissociation constant | 542.0 | 
| nh.cell.ca.cm_cyto.vol | "m3" | volume of compartment in which buffer resides | 1.0 | 
| nh.cell.ca.cm_cyto.assoc.k | "mol-1s-1" | association constant | nh.cell.ca.cm_cyto.k | 
| nh.cell.ca.cm_cyto.assoc.kb | "s-1" | dissociation constant | nh.cell.ca.cm_cyto.kb | 
| nh.cell.ca.cm_cyto.free.vol | "m3" | volume of the compartment | nh.cell.ca.cm_cyto.vol | 
| nh.cell.ca.cm_cyto.free.c_start | "mol/m3" | initial value of concentration | (1.0 - nh.cell.ca.cm_cyto.f_start) * nh.cell.ca.cm_cyto.n_tot / nh.cell.ca.cm_cyto.vol | 
| nh.cell.ca.cm_cyto.occupied.vol | "m3" | volume of the compartment | nh.cell.ca.cm_cyto.vol | 
| nh.cell.ca.cm_cyto.occupied.c_start | "mol/m3" | initial value of concentration | nh.cell.ca.cm_cyto.f_start * nh.cell.ca.cm_cyto.n_tot / nh.cell.ca.cm_cyto.vol | 
| nh.cell.ca.cm_sub.n_tot | "mol" | total amount of buffer | nh.cell.ca.cm_tot * nh.cell.v_sub | 
| nh.cell.ca.cm_sub.f_start | "1" | initial value for f | 0.02992 | 
| nh.cell.ca.cm_sub.k | "mol-1s-1" | association constant | nh.cell.ca.cm_cyto.k * nh.cell.v_cyto / nh.cell.v_sub | 
| nh.cell.ca.cm_sub.kb | "s-1" | dissociation constant | nh.cell.ca.cm_cyto.kb | 
| nh.cell.ca.cm_sub.vol | "m3" | volume of compartment in which buffer resides | 1.0 | 
| nh.cell.ca.cm_sub.assoc.k | "mol-1s-1" | association constant | nh.cell.ca.cm_sub.k | 
| nh.cell.ca.cm_sub.assoc.kb | "s-1" | dissociation constant | nh.cell.ca.cm_sub.kb | 
| nh.cell.ca.cm_sub.free.vol | "m3" | volume of the compartment | nh.cell.ca.cm_sub.vol | 
| nh.cell.ca.cm_sub.free.c_start | "mol/m3" | initial value of concentration | (1.0 - nh.cell.ca.cm_sub.f_start) * nh.cell.ca.cm_sub.n_tot / nh.cell.ca.cm_sub.vol | 
| nh.cell.ca.cm_sub.occupied.vol | "m3" | volume of the compartment | nh.cell.ca.cm_sub.vol | 
| nh.cell.ca.cm_sub.occupied.c_start | "mol/m3" | initial value of concentration | nh.cell.ca.cm_sub.f_start * nh.cell.ca.cm_sub.n_tot / nh.cell.ca.cm_sub.vol | 
| nh.cell.ca.cq.n_tot | "mol" | total amount of buffer | nh.cell.ca.cq_tot * nh.cell.v_jsr | 
| nh.cell.ca.cq.f_start | "1" | initial value for f | 0.3463 | 
| nh.cell.ca.cq.k | "mol-1s-1" | association constant | 534.0 / nh.cell.v_jsr | 
| nh.cell.ca.cq.kb | "s-1" | dissociation constant | 445.0 | 
| nh.cell.ca.cq.vol | "m3" | volume of compartment in which buffer resides | 1.0 | 
| nh.cell.ca.cq.assoc.k | "mol-1s-1" | association constant | nh.cell.ca.cq.k | 
| nh.cell.ca.cq.assoc.kb | "s-1" | dissociation constant | nh.cell.ca.cq.kb | 
| nh.cell.ca.cq.free.vol | "m3" | volume of the compartment | nh.cell.ca.cq.vol | 
| nh.cell.ca.cq.free.c_start | "mol/m3" | initial value of concentration | (1.0 - nh.cell.ca.cq.f_start) * nh.cell.ca.cq.n_tot / nh.cell.ca.cq.vol | 
| nh.cell.ca.cq.occupied.vol | "m3" | volume of the compartment | nh.cell.ca.cq.vol | 
| nh.cell.ca.cq.occupied.c_start | "mol/m3" | initial value of concentration | nh.cell.ca.cq.f_start * nh.cell.ca.cq.n_tot / nh.cell.ca.cq.vol | 
| nh.cell.ca.cm_sl_tot | "mol/m3" | total concentration of calmodulin in sarcolemma | 0.02583333333333333 | 
| nh.cell.ca.cm_sl.n_tot | "mol" | total amount of buffer | nh.cell.ca.cm_sl_tot * nh.cell.v_sub | 
| nh.cell.ca.cm_sl.f_start | "1" | initial value for f | 4.843e-05 | 
| nh.cell.ca.cm_sl.k | "mol-1s-1" | association constant | 115.0 / nh.cell.v_sub | 
| nh.cell.ca.cm_sl.kb | "s-1" | dissociation constant | 1000.0 | 
| nh.cell.ca.cm_sl.vol | "m3" | volume of compartment in which buffer resides | 1.0 | 
| nh.cell.ca.cm_sl.assoc.k | "mol-1s-1" | association constant | nh.cell.ca.cm_sl.k | 
| nh.cell.ca.cm_sl.assoc.kb | "s-1" | dissociation constant | nh.cell.ca.cm_sl.kb | 
| nh.cell.ca.cm_sl.free.vol | "m3" | volume of the compartment | nh.cell.ca.cm_sl.vol | 
| nh.cell.ca.cm_sl.free.c_start | "mol/m3" | initial value of concentration | (1.0 - nh.cell.ca.cm_sl.f_start) * nh.cell.ca.cm_sl.n_tot / nh.cell.ca.cm_sl.vol | 
| nh.cell.ca.cm_sl.occupied.vol | "m3" | volume of the compartment | nh.cell.ca.cm_sl.vol | 
| nh.cell.ca.cm_sl.occupied.c_start | "mol/m3" | initial value of concentration | nh.cell.ca.cm_sl.f_start * nh.cell.ca.cm_sl.n_tot / nh.cell.ca.cm_sl.vol | 
| nh.cc.d_hold | "s" | holding period | 0.3 | 
| nh.cc.d_pulse | "s" | pulse period | 0.001 | 
| nh.cc.i_hold | "A" | current during holding period | 0.0 | 
| an.cell.na.ion_in | "mol/m3" | intracellular concentration of ion | an.cell.na_in | 
| an.cell.bg.g | "S" | ion conductance | an.cell.bg.g_max | 
| nh.cell.na.ion_in | "mol/m3" | intracellular concentration of ion | nh.cell.na_in | 
| nh.cell.bg.g | "S" | ion conductance | nh.cell.bg.g_max | 
| n.cell.bg.g | "S" | ion conductance | n.cell.bg.g_max | 
InaMo.Examples.FullCell.AllCellsC
model AllCellsC "simulation of all cell types with constant intracellular Ca2+"
  extends Modelica.Icons.Example;
  FullCellCurrentPulses an(redeclare InaMo.Cells.ConstantCa.ANCellConst cell) "AN cell experiment";
  FullCellSpon n(redeclare InaMo.Cells.ConstantCa.NCellConst cell) "N cell experiment";
  FullCellCurrentPulses nh(redeclare InaMo.Cells.ConstantCa.NHCellConst cell) "NH cell experiment";
  annotation(
    experiment(StartTime = 0, StopTime = 2.5, Tolerance = 1e-6, Interval = 1e-4),
    __OpenModelica_simulationFlags(lv = "LOG_STATS", s = "dassl"),
    __MoST_experiment(variableFilter = "(an|n|nh)\\.cell\\.v"));
end AllCellsC;- Within group an (prefix _ indicates shortened variable name)
- Within group cc (prefix _ indicates shortened variable name)
 - Within group cell (prefix _ indicates shortened variable name)
- Within group cal (prefix _ indicates shortened variable name)
 - Within group kir (prefix _ indicates shortened variable name)
 - Within group kr (prefix _ indicates shortened variable name)
 - Within group na (prefix _ indicates shortened variable name)
- Within group act (prefix _ indicates shortened variable name)
 
 - Within group naca (prefix _ indicates shortened variable name)
 - Within group to (prefix _ indicates shortened variable name)
 
 
 - Within group n (prefix _ indicates shortened variable name)
- Within group cell (prefix _ indicates shortened variable name)
- Within group cal (prefix _ indicates shortened variable name)
 - Within group hcn (prefix _ indicates shortened variable name)
 - Within group kr (prefix _ indicates shortened variable name)
 - Within group naca (prefix _ indicates shortened variable name)
 - Within group st (prefix _ indicates shortened variable name)
- Within group inact (prefix _ indicates shortened variable name)
 
 
 
 - Within group cell (prefix _ indicates shortened variable name)
 - Within group nh (prefix _ indicates shortened variable name)
- Within group cc (prefix _ indicates shortened variable name)
 - Within group cell (prefix _ indicates shortened variable name)
- Within group cal (prefix _ indicates shortened variable name)
 - Within group kir (prefix _ indicates shortened variable name)
 - Within group kr (prefix _ indicates shortened variable name)
 - Within group na (prefix _ indicates shortened variable name)
- Within group act (prefix _ indicates shortened variable name)
 
 - Within group naca (prefix _ indicates shortened variable name)
 - Within group to (prefix _ indicates shortened variable name)
 
 
 
Functions:
function ftau.fbeta
  input Real x "input value";
  input Real off = 0.0 "offset added to result to increase minimum (fitting parameter)";
  output Real y "result of applying the HH-style equation tau = 1/(alpha + beta)";
algorithm
  y := 1.0 / (kr.ftau.falpha(x, 0.0, 1000.0 / 8.0, 0.016) + kr.ftau.falpha(x, 0.0, 1000.0 / 50.0, 0.015)) + off;
end ftau.fbeta;function act.fsteady
  input Real x "input value";
  input Real y_min = 0.0 "lower asymptote (fitting parameter)";
  input Real y_max = 1.0 "upper asmyptote when d_off=1 and nu=1 (fititng parameter)";
  input Real x0 = -0.0032 "x-value of sigmoid midpoint when d_off=1 and nu=1 (fitting parameter)";
  input Real sx = 151.285930408472 "scaling factor for x axis (i.e. steepness, fitting parameter)";
  input Real se = 1.0 "scaling factor for exponential part (fitting parameter)";
  input Real d_off = 1.0 "offset in denominator (affects upper asymptote, fitting parameter)";
  input Real nu = 1.0 "reciprocal of exponent of denominator (affects upper asymptote, fitting parameter)";
  output Real y "result";
  protected Real x_adj "adjusted x with offset and scaling factor";
algorithm
  x_adj := sx * (x - x0);
  y := y_min + (y_max - y_min) / (se * exp(-x_adj) + d_off) ^ (1.0 / nu);
end act.fsteady;function c_to_v "function used to determine cell volume based on membrane capacitance"
  input Real c_m(quantity = "Capacitance", unit = "F", min = 0.0) "membrane capacitance";
  input Real v_low(quantity = "Volume", unit = "m3") = 2.19911e-15 "low estimate for cell volume (obtained when c_m = c_low)";
  input Real v_high(quantity = "Volume", unit = "m3") = 7.147123e-15 "high estimate for cell volume (obtained when c_m = c_low + c_span)";
  output Real v_cell(quantity = "Volume", unit = "m3") "resulting total cell volume";
  protected Real c_low(quantity = "Capacitance", unit = "F", min = 0.0) = 2e-11 "low value for c_m (where v_low is returned)";
  protected Real c_span(quantity = "Capacitance", unit = "F", min = 0.0) = 4.5e-11 "span that must be added to c_m to reach an output of v_high";
algorithm
  v_cell := (c_m - c_low) / c_span * (v_high - v_low) + v_low;
end c_to_v;function inact.falpha
  input Real x "input value";
  input Real off = 0.0 "offset added to result to increase minimum (fitting parameter)";
  output Real y "result of applying the HH-style equation tau = 1/(alpha + beta)";
algorithm
  y := 1.0 / (kr.ftau.falpha(x, 0.0, 1000.0 / 13.0, 3100.0 / 150.4) + kr.ftau.falpha(x, 0.0, 1000.0 / 70.0, 700.0 / 150.4)) + off;
end inact.falpha;function kr.ftau.falpha
  input Real x "input value";
  input Real x0 = 0.0 "x-value where y = 1 (fitting parameter)";
  input Real sx = 39.8 "scaling factor for x axis (fitting parameter)";
  input Real sy = 17.0 "scaling factor for y axis (fitting parameter)";
  output Real y "result";
algorithm
  y := sy * exp(sx * (x - x0));
end kr.ftau.falpha;function michaelisMenten "equation for enzymatic reactions following Michaelis-Menten kinetics"
  input Real s(quantity = "Concentration", unit = "mol/m3") "substrate concentration";
  input Real k(quantity = "Concentration", unit = "mol/m3") "concentration producing half-maximum reaction rate (michaelis constant)";
  output Real rate(unit = "1") "reaction rate";
algorithm
  rate := s / (s + k);
end michaelisMenten;function cal.ftau.falpha
  input Real x "input value";
  output Real y "output value";
algorithm
  y := falpha.fa(x, -0.035, 26.12 * 2.5, -1000.0 / 2.5) + falpha.fa(x, 0.0, 78.11 / 0.208, -208.0);
end cal.ftau.falpha;function inact_fast.ftau
  input Real x "input value";
  input Real y_min = 0.01 "minimum value achieved at edges (fitting parameter)";
  input Real y_max = 0.1639 "maximum value achieved at peak (fititng parameter)";
  input Real x0 = -0.04 "x-value of bell curve midpoint (fitting parameter)";
  input Real sigma = 0.009635092111651035 "standard deviation determining the width of the bell curve (fitting parameter)";
  output Real y "result";
  protected Real x_adj "adjusted x with offset and standard deviation";
algorithm
  x_adj := (x - x0) / sigma;
  y := y_min + (y_max - y_min) * exp(-0.5 * x_adj ^ 2.0);
end inact_fast.ftau;function inact.fsteady
  input Real x "input value";
  output Real y "output value";
algorithm
  y := act.fsteady(x, 0.0, 1.0, -0.0049, -1000.0 / 15.14, 1.0, 1.0, 1.0) * inact_fast.ftau(x, 1.0, (-0.3) + 1.0, 0.0, sqrt(500.0 / 2.0) / 1000.0);
end inact.fsteady;function to.act.ftau
  input Real x "input value";
  input Real off = 0.000596 "offset added to result to increase minimum (fitting parameter)";
  output Real y "result of applying the HH-style equation tau = 1/(alpha + beta)";
algorithm
  y := 1.0 / (kr.ftau.falpha(x, -0.03061, 90.0, 1.037 / 0.003188) + kr.ftau.falpha(x, -0.02384, -120.0, 0.396 / 0.003188)) + off;
end to.act.ftau;function ghkFlux "ghk flux equation for a single ion"
  input Real v(quantity = "ElectricPotential", unit = "V") "membrane potential";
  input Real temp(quantity = "ThermodynamicTemperature", unit = "K", displayUnit = "degC", min = 0.0, start = 288.15, nominal = 300.0) "cell medium temperature";
  input Real ion_in(quantity = "Concentration", unit = "mol/m3") "intracellular ion concentration";
  input Real ion_ex(quantity = "Concentration", unit = "mol/m3") "extracellular ion concentration";
  input Real ion_p(quantity = "Permeability (fluid mechanics)", unit = "m3/(s.m2)") "permeability of cell membrane to Na+ cations";
  input Integer ion_z "ion valence";
  output Real i(quantity = "CurrentDensity", unit = "A/m2") "current density resulting from ion flux through membrane";
  protected Real g_max(quantity = "Conductance", unit = "S");
  protected Real v_eq(quantity = "ElectricPotential", unit = "V");
  protected Real FoRT(unit = "1/V") = 96485.33289000001 / (8.3144598 * temp);
algorithm
  g_max := ion_p * ion_ex * FoRT * 96485.33289000001 * /*Real*/(ion_z) ^ 2.0;
  v_eq := nernst(ion_in, ion_ex, ion_z, temp);
  if abs(v) < 1e-06 then
    i := g_max / FoRT / /*Real*/(ion_z) * (exp(-v_eq * FoRT * /*Real*/(ion_z)) - 1.0);
  else
    i := g_max * v * (exp((v - v_eq) * FoRT * /*Real*/(ion_z)) - 1.0) / (exp(v * FoRT * /*Real*/(ion_z)) - 1.0);
  end if;
end ghkFlux;function cal.act.ftau
  input Real x "input value";
  input Real off = 0.0 "offset added to result to increase minimum (fitting parameter)";
  output Real y "result of applying the HH-style equation tau = 1/(alpha + beta)";
algorithm
  y := 1.0 / (cal.ftau.falpha(x) + falpha.fa(x, 0.005, 10.52 / 0.4, 400.0)) + off;
end cal.act.ftau;function st.ftau.falpha
  input Real x "input value";
  input Real off = 0.0 "offset added to result to increase minimum (fitting parameter)";
  output Real y "result of applying the HH-style equation tau = 1/(alpha + beta)";
algorithm
  y := 1.0 / (kr.ftau.falpha(x, 0.0, -1000.0 / 11.0, 0.00015) + kr.ftau.falpha(x, 0.0, -1000.0 / 700.0, 0.0002)) + off;
end st.ftau.falpha;function falpha.fa
  input Real x "input value";
  input Real x0 = -0.035 "offset for x (fitting parameter)";
  input Real sy = 65.3 "scaling factor for y (fitting parameter)";
  input Real sx = -400.0 "scaling factor for x (fitting parameter)";
  output Real y "result";
  protected Real x_adj "adjusted x with offset and scaling factor";
algorithm
  x_adj := sx * (x - x0);
  if abs(x - x0) < 1e-06 then
    y := sy;
  else
    y := sy * x_adj / (exp(x_adj) - 1.0);
  end if;
end falpha.fa;function nernst "Nernst equation to find the equlibrium potential for a single ion"
  input Real ion_in(quantity = "Concentration", unit = "mol/m3") "intracellular ion concentration";
  input Real ion_ex(quantity = "Concentration", unit = "mol/m3") "extracellular ion concentration";
  input Integer ion_z "valence of ion";
  input Real temp(quantity = "ThermodynamicTemperature", unit = "K", displayUnit = "degC", min = 0.0, start = 288.15, nominal = 300.0) "cell medium temperature";
  output Real v_eq(quantity = "ElectricPotential", unit = "V") "equlibirium potential";
algorithm
  v_eq := 8.3144598 * temp / /*Real*/(ion_z) / 96485.33289000001 * log(ion_ex / ion_in);
end nernst;function act_fast.ftau
  input Real x "input value";
  input Real off = 0.0 "offset added to result to increase minimum (fitting parameter)";
  output Real y "result of applying the HH-style equation tau = 1/(alpha + beta)";
algorithm
  y := 1.0 / (kr.ftau.falpha(x, 0.0, 39.8, 17.0) + kr.ftau.falpha(x, 0.0, -51.0, 0.211)) + off;
end act_fast.ftau;function inact.ftau
  input Real x "input value";
  input Real off = 0.0 "offset added to result to increase minimum (fitting parameter)";
  output Real y "result of applying the HH-style equation tau = 1/(alpha + beta)";
algorithm
  y := 1.0 / (kr.ftau.falpha(x, 0.0, 9.42, 603.6) + kr.ftau.falpha(x, 0.0, -18.3, 92.01000000000001)) + off;
end inact.ftau;function st.act.ftau
  input Real x "input value";
  input Real off = 0.0 "offset added to result to increase minimum (fitting parameter)";
  output Real y "result of applying the HH-style equation tau = 1/(alpha + beta)";
algorithm
  y := 1.0 / (st.ftau.falpha(x, 0.0) + ftau.fbeta(x, 0.0)) + off;
end st.act.ftau;function inact_fast.fsteady
  input Real x "input value";
  output Real y "result of applying the HH-style equation steady = alpha/(alpha + beta)";
algorithm
  y := kr.ftau.falpha(x, -0.0669, -1000.0 / 5.57, 44.9) / (kr.ftau.falpha(x, -0.0669, -1000.0 / 5.57, 44.9) + act.fsteady(x, 0.0, 1491.0, -0.0946, 1000.0 / 12.9, 323.3, 1.0, 1.0));
end inact_fast.fsteady;function fbeta.fa
  input Real x "input value";
  input Real off = 0.0 "offset added to result to increase minimum (fitting parameter)";
  output Real y "result of applying the HH-style equation tau = 1/(alpha + beta)";
algorithm
  y := 1.0 / (kr.ftau.falpha(x, 0.0, -1000.0 / 10.0, 95.0 / 150.4) + kr.ftau.falpha(x, 0.0, -1000.0 / 700.0, 50.0 / 150.4)) + off;
end fbeta.fa;function p_from_g "calculate membrane permeability for ion from membrane conductance"
  input Real g(quantity = "Conductance", unit = "S") "membrane conductance for given ion";
  input Real ion_ex(quantity = "Concentration", unit = "mol/m3") "extracellular ion concentration";
  input Integer ion_z "valence of ion";
  input Real temp(quantity = "ThermodynamicTemperature", unit = "K", displayUnit = "degC", min = 0.0, start = 288.15, nominal = 300.0) "cell medium temperature";
  output Real p(quantity = "Permeability (fluid mechanics)", unit = "m3/(s.m2)") "membrane permeability for given ion";
  protected Real unit_area(quantity = "Area", unit = "m2") = 1.0 "unit area of 1 m², used to get correct units";
algorithm
  p := g / ion_ex * 8.3144598 * temp / (96485.33289000001 * /*Real*/(ion_z)) ^ 2.0 / unit_area;
end p_from_g;function inact.fbeta
  input Real x "input value";
  output Real y "output value";
algorithm
  y := fbeta.fa(x, 0.0) + act.fsteady(x, 0.0, 0.229, 0.0, 1000.0 / 5.0, 1.0, 1.0, 1.0);
end inact.fbeta;| name | unit | label | value | 
|---|---|---|---|
| an.cc.pulse_signal | 0 during holding period, 1 during pulse | 0 | |
| an.cc.pulse_end | signals end of pulse | ||
| an.cc.pulse_start | signals start of pulse | ||
| an.cc.i_stim | "A" | input current (needs to be defined externally) | |
| an.cc.g.p.i | "A" | Current flowing into the pin | |
| an.cc.n.i | "A" | Current flowing into the pin | |
| an.cell.ca_sub.substance.rate | "mol/s" | molar flow rate of substance | |
| an.cell.to.inact_total | total inactivation resulting from fast and slow inactivation gates | ||
| an.cell.to.inact_fast.tau | "s" | time constant for obtaining steady state (i.e. time until difference between n and steady has reduced by a factor of 1/e) | |
| an.cell.to.inact_fast.steady | value that n would reach if v_gate was held constant | ||
| an.cell.to.inact_fast.n | ratio of molecules in open conformation | 0.8734 | |
| an.cell.to.inact_slow.tau | "s" | time constant for obtaining steady state (i.e. time until difference between n and steady has reduced by a factor of 1/e) | |
| an.cell.to.inact_slow.steady | value that n would reach if v_gate was held constant | ||
| an.cell.to.inact_slow.n | ratio of molecules in open conformation | 0.1503 | |
| an.cell.to.act.tau | "s" | time constant for obtaining steady state (i.e. time until difference between n and steady has reduced by a factor of 1/e) | |
| an.cell.to.act.steady | value that n would reach if v_gate was held constant | ||
| an.cell.to.act.n | ratio of molecules in open conformation | 0.008857 | |
| an.cell.to.g | "S" | ion conductance | |
| an.cell.to.i_open | "A" | i if open_ratio = 1 | |
| an.cell.to.open_ratio | "1" | ratio between 0 (fully closed) and 1 (fully open) | |
| an.cell.to.i_ion | "A" | current used for ion flux | |
| an.cell.na.inact_total | total inactivation resulting from fast and slow inactivation terms | ||
| an.cell.na.inact_slow.tau | "s" | time constant for obtaining steady state (i.e. time until difference between n and steady has reduced by a factor of 1/e) | |
| an.cell.na.inact_slow.steady | value that n would reach if v_gate was held constant | ||
| an.cell.na.inact_slow.n | ratio of molecules in open conformation | 0.6162 | |
| an.cell.na.inact_fast.tau | "s" | time constant for obtaining steady state (i.e. time until difference between n and steady has reduced by a factor of 1/e) | |
| an.cell.na.inact_fast.steady | value that n would reach if v_gate was held constant | ||
| an.cell.na.inact_fast.n | ratio of molecules in open conformation | 0.717 | |
| an.cell.na.act.tau | "s" | time constant for obtaining steady state (i.e. time until difference between n and steady has reduced by a factor of 1/e) | |
| an.cell.na.act.steady | "1" | steady state achieved if current voltage is held constant | |
| an.cell.na.act.beta | "1" | rate of transfer from open to closed conformation | |
| an.cell.na.act.alpha | "1" | rate of transfer from closed to open conformation | |
| an.cell.na.act.n | ratio of molecules in open conformation | 0.01227 | |
| an.cell.na.i_open | i if open_ratio = 1 | ||
| an.cell.na.open_ratio | ratio between 0 (fully closed) and 1 (fully open) | ||
| an.cell.na.i_ion | "A" | current used for ion flux | |
| an.cell.kir.voltage_act.n | ratio of molecules in open conformation | ||
| an.cell.kir.voltage_inact.n | ratio of molecules in open conformation | ||
| an.cell.kir.g | "S" | ion conductance | |
| an.cell.kir.i_open | "A" | i if open_ratio = 1 | |
| an.cell.kir.open_ratio | "1" | ratio between 0 (fully closed) and 1 (fully open) | |
| an.cell.kir.i_ion | "A" | current used for ion flux | |
| an.cell.l2.i | "A" | Current flowing from pin p to pin n | |
| an.cell.l2.v | "V" | Voltage drop of the two pins (= p.v - n.v) | |
| an.cell.nak.i | "A" | Current flowing from pin p to pin n | |
| an.cell.naca.e4 | "1" | ratio of exchanger molecules in state e4 | |
| an.cell.naca.e3 | "1" | ratio of exchanger molecules in state e3 | |
| an.cell.naca.e2 | "1" | ratio of exchanger molecules in state e2 | |
| an.cell.naca.e1 | "1" | ratio of exchanger molecules in state e1 | |
| an.cell.naca.d | "1" | common denominator to turn relative frequencies into actual ratios between 0 and 1 | |
| an.cell.naca.x4 | "1" | relative frequancy of E4 states | |
| an.cell.naca.x3 | "1" | relative frequency of E3 states | |
| an.cell.naca.x2 | "1" | relative frequency of E2 states | |
| an.cell.naca.x1 | "1" | relative frequency of E1 states | |
| an.cell.naca.k_14 | "1" | rate constant for transition from E1 to E4 | |
| an.cell.naca.k_41 | "1" | rate constant for transition from E4 to E1 | |
| an.cell.naca.k_32 | "1" | rate constant for transition from E3 to E2 | |
| an.cell.naca.k_23 | "1" | rate constant for transition from E2 to E3 | |
| an.cell.naca.k_21 | "1" | rate constant for transition from E2 to E1 | |
| an.cell.naca.k_12 | "1" | rate constant for transition from E1 to E2 | |
| an.cell.naca.f1_2n_o | "1" | fraction of E2 states whose first two Na+ sites are occupied by Na+ | |
| an.cell.naca.f1_2n_i | "1" | fraction of E1 states whose first two Na+ sites are occupied by Na+ | |
| an.cell.naca.do | "1" | common denominator summing relative frequencies for all E2 substates | |
| an.cell.naca.do_cv | "1" | relative frequency of E2 states that are occupied by Ca2+ and occluded | |
| an.cell.naca.di | "1" | common denominator summing relative frequencies for all E1 substates | |
| an.cell.naca.di_cv | "1" | relative frequency of E1 states that are occupied by Ca2+ and occluded | |
| an.cell.naca.i_ion | "A" | current used for TransmembraneCaFlow | |
| an.cell.naca.trans.rate | "mol/s" | rate of change in substance amount | |
| an.cell.kr.act_total | total activation due to slow and fast activation terms | ||
| an.cell.kr.inact.tau | "s" | time constant for obtaining steady state (i.e. time until difference between n and steady has reduced by a factor of 1/e) | |
| an.cell.kr.inact.steady | value that n would reach if v_gate was held constant | ||
| an.cell.kr.inact.n | ratio of molecules in open conformation | 0.9866 | |
| an.cell.kr.act_slow.tau | "s" | time constant for obtaining steady state (i.e. time until difference between n and steady has reduced by a factor of 1/e) | |
| an.cell.kr.act_slow.steady | value that n would reach if v_gate was held constant | ||
| an.cell.kr.act_slow.n | ratio of molecules in open conformation | 0.0484 | |
| an.cell.kr.act_fast.tau | "s" | time constant for obtaining steady state (i.e. time until difference between n and steady has reduced by a factor of 1/e) | |
| an.cell.kr.act_fast.steady | value that n would reach if v_gate was held constant | ||
| an.cell.kr.act_fast.n | ratio of molecules in open conformation | 0.07106999999999999 | |
| an.cell.kr.g | "S" | ion conductance | |
| an.cell.kr.i_open | "A" | i if open_ratio = 1 | |
| an.cell.kr.open_ratio | "1" | ratio between 0 (fully closed) and 1 (fully open) | |
| an.cell.kr.i_ion | "A" | current used for ion flux | |
| an.cell.cal.inact_total | |||
| an.cell.cal.inact_fast.tau | "s" | time constant for obtaining steady state (i.e. time until difference between n and steady has reduced by a factor of 1/e) | |
| an.cell.cal.inact_fast.steady | value that n would reach if v_gate was held constant | ||
| an.cell.cal.inact_fast.n | ratio of molecules in open conformation | 0.9985000000000001 | |
| an.cell.cal.inact_slow.tau | "s" | time constant for obtaining steady state (i.e. time until difference between n and steady has reduced by a factor of 1/e) | |
| an.cell.cal.inact_slow.steady | value that n would reach if v_gate was held constant | ||
| an.cell.cal.inact_slow.n | ratio of molecules in open conformation | 0.9875 | |
| an.cell.cal.act.tau | "s" | time constant for obtaining steady state (i.e. time until difference between n and steady has reduced by a factor of 1/e) | |
| an.cell.cal.act.steady | value that n would reach if v_gate was held constant | ||
| an.cell.cal.act.n | ratio of molecules in open conformation | 4.069e-05 | |
| an.cell.cal.trans.rate | "mol/s" | rate of change in substance amount | |
| an.cell.cal.g | "S" | ion conductance | |
| an.cell.cal.i_open | "A" | i if open_ratio = 1 | |
| an.cell.cal.open_ratio | "1" | ratio between 0 (fully closed) and 1 (fully open) | |
| an.cell.cal.i_ion | "A" | current used for ion flux | |
| an.cell.bg.i_ion | "A" | current used for ion flux | |
| $whenCondition4 | an.cc.pulse_start | ||
| $whenCondition3 | an.cc.pulse_end | ||
| nh.cc.pulse_signal | 0 during holding period, 1 during pulse | 0 | |
| nh.cc.pulse_end | signals end of pulse | ||
| nh.cc.pulse_start | signals start of pulse | ||
| nh.cc.i_stim | "A" | input current (needs to be defined externally) | |
| nh.cc.g.p.i | "A" | Current flowing into the pin | |
| nh.cc.n.i | "A" | Current flowing into the pin | |
| nh.cell.ca_sub.substance.rate | "mol/s" | molar flow rate of substance | |
| nh.cell.to.inact_total | total inactivation resulting from fast and slow inactivation gates | ||
| nh.cell.to.inact_fast.tau | "s" | time constant for obtaining steady state (i.e. time until difference between n and steady has reduced by a factor of 1/e) | |
| nh.cell.to.inact_fast.steady | value that n would reach if v_gate was held constant | ||
| nh.cell.to.inact_fast.n | ratio of molecules in open conformation | 0.864 | |
| nh.cell.to.inact_slow.tau | "s" | time constant for obtaining steady state (i.e. time until difference between n and steady has reduced by a factor of 1/e) | |
| nh.cell.to.inact_slow.steady | value that n would reach if v_gate was held constant | ||
| nh.cell.to.inact_slow.n | ratio of molecules in open conformation | 0.1297 | |
| nh.cell.to.act.tau | "s" | time constant for obtaining steady state (i.e. time until difference between n and steady has reduced by a factor of 1/e) | |
| nh.cell.to.act.steady | value that n would reach if v_gate was held constant | ||
| nh.cell.to.act.n | ratio of molecules in open conformation | 0.009580999999999999 | |
| nh.cell.to.g | "S" | ion conductance | |
| nh.cell.to.i_open | "A" | i if open_ratio = 1 | |
| nh.cell.to.open_ratio | "1" | ratio between 0 (fully closed) and 1 (fully open) | |
| nh.cell.to.i_ion | "A" | current used for ion flux | |
| nh.cell.na.inact_total | total inactivation resulting from fast and slow inactivation terms | ||
| nh.cell.na.inact_slow.tau | "s" | time constant for obtaining steady state (i.e. time until difference between n and steady has reduced by a factor of 1/e) | |
| nh.cell.na.inact_slow.steady | value that n would reach if v_gate was held constant | ||
| nh.cell.na.inact_slow.n | ratio of molecules in open conformation | 0.5552 | |
| nh.cell.na.inact_fast.tau | "s" | time constant for obtaining steady state (i.e. time until difference between n and steady has reduced by a factor of 1/e) | |
| nh.cell.na.inact_fast.steady | value that n would reach if v_gate was held constant | ||
| nh.cell.na.inact_fast.n | ratio of molecules in open conformation | 0.6438 | |
| nh.cell.na.act.tau | "s" | time constant for obtaining steady state (i.e. time until difference between n and steady has reduced by a factor of 1/e) | |
| nh.cell.na.act.steady | "1" | steady state achieved if current voltage is held constant | |
| nh.cell.na.act.beta | "1" | rate of transfer from open to closed conformation | |
| nh.cell.na.act.alpha | "1" | rate of transfer from closed to open conformation | |
| nh.cell.na.act.n | ratio of molecules in open conformation | 0.01529 | |
| nh.cell.na.i_open | i if open_ratio = 1 | ||
| nh.cell.na.open_ratio | ratio between 0 (fully closed) and 1 (fully open) | ||
| nh.cell.na.i_ion | "A" | current used for ion flux | |
| nh.cell.kir.voltage_act.n | ratio of molecules in open conformation | ||
| nh.cell.kir.voltage_inact.n | ratio of molecules in open conformation | ||
| nh.cell.kir.g | "S" | ion conductance | |
| nh.cell.kir.i_open | "A" | i if open_ratio = 1 | |
| nh.cell.kir.open_ratio | "1" | ratio between 0 (fully closed) and 1 (fully open) | |
| nh.cell.kir.i_ion | "A" | current used for ion flux | |
| nh.cell.l2.i | "A" | Current flowing from pin p to pin n | |
| nh.cell.l2.v | "V" | Voltage drop of the two pins (= p.v - n.v) | |
| nh.cell.nak.i | "A" | Current flowing from pin p to pin n | |
| nh.cell.naca.e4 | "1" | ratio of exchanger molecules in state e4 | |
| nh.cell.naca.e3 | "1" | ratio of exchanger molecules in state e3 | |
| nh.cell.naca.e2 | "1" | ratio of exchanger molecules in state e2 | |
| nh.cell.naca.e1 | "1" | ratio of exchanger molecules in state e1 | |
| nh.cell.naca.d | "1" | common denominator to turn relative frequencies into actual ratios between 0 and 1 | |
| nh.cell.naca.x4 | "1" | relative frequancy of E4 states | |
| nh.cell.naca.x3 | "1" | relative frequency of E3 states | |
| nh.cell.naca.x2 | "1" | relative frequency of E2 states | |
| nh.cell.naca.x1 | "1" | relative frequency of E1 states | |
| nh.cell.naca.k_14 | "1" | rate constant for transition from E1 to E4 | |
| nh.cell.naca.k_41 | "1" | rate constant for transition from E4 to E1 | |
| nh.cell.naca.k_32 | "1" | rate constant for transition from E3 to E2 | |
| nh.cell.naca.k_23 | "1" | rate constant for transition from E2 to E3 | |
| nh.cell.naca.k_21 | "1" | rate constant for transition from E2 to E1 | |
| nh.cell.naca.k_12 | "1" | rate constant for transition from E1 to E2 | |
| nh.cell.naca.f1_2n_o | "1" | fraction of E2 states whose first two Na+ sites are occupied by Na+ | |
| nh.cell.naca.f1_2n_i | "1" | fraction of E1 states whose first two Na+ sites are occupied by Na+ | |
| nh.cell.naca.do | "1" | common denominator summing relative frequencies for all E2 substates | |
| nh.cell.naca.do_cv | "1" | relative frequency of E2 states that are occupied by Ca2+ and occluded | |
| nh.cell.naca.di | "1" | common denominator summing relative frequencies for all E1 substates | |
| nh.cell.naca.di_cv | "1" | relative frequency of E1 states that are occupied by Ca2+ and occluded | |
| nh.cell.naca.i_ion | "A" | current used for TransmembraneCaFlow | |
| nh.cell.naca.trans.rate | "mol/s" | rate of change in substance amount | |
| nh.cell.kr.act_total | total activation due to slow and fast activation terms | ||
| nh.cell.kr.inact.tau | "s" | time constant for obtaining steady state (i.e. time until difference between n and steady has reduced by a factor of 1/e) | |
| nh.cell.kr.inact.steady | value that n would reach if v_gate was held constant | ||
| nh.cell.kr.inact.n | ratio of molecules in open conformation | 0.9853 | |
| nh.cell.kr.act_slow.tau | "s" | time constant for obtaining steady state (i.e. time until difference between n and steady has reduced by a factor of 1/e) | |
| nh.cell.kr.act_slow.steady | value that n would reach if v_gate was held constant | ||
| nh.cell.kr.act_slow.n | ratio of molecules in open conformation | 0.07024 | |
| nh.cell.kr.act_fast.tau | "s" | time constant for obtaining steady state (i.e. time until difference between n and steady has reduced by a factor of 1/e) | |
| nh.cell.kr.act_fast.steady | value that n would reach if v_gate was held constant | ||
| nh.cell.kr.act_fast.n | ratio of molecules in open conformation | 0.09949 | |
| nh.cell.kr.g | "S" | ion conductance | |
| nh.cell.kr.i_open | "A" | i if open_ratio = 1 | |
| nh.cell.kr.open_ratio | "1" | ratio between 0 (fully closed) and 1 (fully open) | |
| nh.cell.kr.i_ion | "A" | current used for ion flux | |
| nh.cell.cal.inact_total | |||
| nh.cell.cal.inact_fast.tau | "s" | time constant for obtaining steady state (i.e. time until difference between n and steady has reduced by a factor of 1/e) | |
| nh.cell.cal.inact_fast.steady | value that n would reach if v_gate was held constant | ||
| nh.cell.cal.inact_fast.n | ratio of molecules in open conformation | 0.9981 | |
| nh.cell.cal.inact_slow.tau | "s" | time constant for obtaining steady state (i.e. time until difference between n and steady has reduced by a factor of 1/e) | |
| nh.cell.cal.inact_slow.steady | value that n would reach if v_gate was held constant | ||
| nh.cell.cal.inact_slow.n | ratio of molecules in open conformation | 0.9831 | |
| nh.cell.cal.act.tau | "s" | time constant for obtaining steady state (i.e. time until difference between n and steady has reduced by a factor of 1/e) | |
| nh.cell.cal.act.steady | value that n would reach if v_gate was held constant | ||
| nh.cell.cal.act.n | ratio of molecules in open conformation | 5.025e-05 | |
| nh.cell.cal.trans.rate | "mol/s" | rate of change in substance amount | |
| nh.cell.cal.g | "S" | ion conductance | |
| nh.cell.cal.i_open | "A" | i if open_ratio = 1 | |
| nh.cell.cal.open_ratio | "1" | ratio between 0 (fully closed) and 1 (fully open) | |
| nh.cell.cal.i_ion | "A" | current used for ion flux | |
| nh.cell.bg.i_ion | "A" | current used for ion flux | |
| $whenCondition2 | nh.cc.pulse_start | ||
| $whenCondition1 | nh.cc.pulse_end | ||
| n.g.p.i | "A" | Current flowing into the pin | |
| n.cell.ca_sub.substance.rate | "mol/s" | molar flow rate of substance | |
| n.cell.st.inact.tau | "s" | time constant for obtaining steady state (i.e. time until difference between n and steady has reduced by a factor of 1/e) | |
| n.cell.st.inact.steady | "1" | steady state achieved if current voltage is held constant | |
| n.cell.st.inact.beta | "1" | rate of transfer from open to closed conformation | |
| n.cell.st.inact.alpha | "1" | rate of transfer from closed to open conformation | |
| n.cell.st.inact.n | ratio of molecules in open conformation | 0.4886 | |
| n.cell.st.act.tau | "s" | time constant for obtaining steady state (i.e. time until difference between n and steady has reduced by a factor of 1/e) | |
| n.cell.st.act.steady | value that n would reach if v_gate was held constant | ||
| n.cell.st.act.n | ratio of molecules in open conformation | 0.1933 | |
| n.cell.st.g | "S" | ion conductance | |
| n.cell.st.i_open | "A" | i if open_ratio = 1 | |
| n.cell.st.open_ratio | "1" | ratio between 0 (fully closed) and 1 (fully open) | |
| n.cell.st.i_ion | "A" | current used for ion flux | |
| n.cell.hcn.act.tau | "s" | time constant for obtaining steady state (i.e. time until difference between n and steady has reduced by a factor of 1/e) | |
| n.cell.hcn.act.steady | value that n would reach if v_gate was held constant | ||
| n.cell.hcn.act.n | "1" | ratio of molecules in open conformation | 0.03825 | 
| n.cell.hcn.g | "S" | ion conductance | |
| n.cell.hcn.i_open | "A" | i if open_ratio = 1 | |
| n.cell.hcn.i_ion | "A" | current used for ion flux | |
| n.cell.l2.i | "A" | Current flowing from pin p to pin n | |
| n.cell.l2.v | "V" | Voltage drop of the two pins (= p.v - n.v) | |
| n.cell.nak.i | "A" | Current flowing from pin p to pin n | |
| n.cell.naca.e4 | "1" | ratio of exchanger molecules in state e4 | |
| n.cell.naca.e3 | "1" | ratio of exchanger molecules in state e3 | |
| n.cell.naca.e2 | "1" | ratio of exchanger molecules in state e2 | |
| n.cell.naca.e1 | "1" | ratio of exchanger molecules in state e1 | |
| n.cell.naca.d | "1" | common denominator to turn relative frequencies into actual ratios between 0 and 1 | |
| n.cell.naca.x4 | "1" | relative frequancy of E4 states | |
| n.cell.naca.x3 | "1" | relative frequency of E3 states | |
| n.cell.naca.x2 | "1" | relative frequency of E2 states | |
| n.cell.naca.x1 | "1" | relative frequency of E1 states | |
| n.cell.naca.k_14 | "1" | rate constant for transition from E1 to E4 | |
| n.cell.naca.k_41 | "1" | rate constant for transition from E4 to E1 | |
| n.cell.naca.k_32 | "1" | rate constant for transition from E3 to E2 | |
| n.cell.naca.k_23 | "1" | rate constant for transition from E2 to E3 | |
| n.cell.naca.k_21 | "1" | rate constant for transition from E2 to E1 | |
| n.cell.naca.k_12 | "1" | rate constant for transition from E1 to E2 | |
| n.cell.naca.f1_2n_o | "1" | fraction of E2 states whose first two Na+ sites are occupied by Na+ | |
| n.cell.naca.f1_2n_i | "1" | fraction of E1 states whose first two Na+ sites are occupied by Na+ | |
| n.cell.naca.do | "1" | common denominator summing relative frequencies for all E2 substates | |
| n.cell.naca.do_cv | "1" | relative frequency of E2 states that are occupied by Ca2+ and occluded | |
| n.cell.naca.di | "1" | common denominator summing relative frequencies for all E1 substates | |
| n.cell.naca.di_cv | "1" | relative frequency of E1 states that are occupied by Ca2+ and occluded | |
| n.cell.naca.i_ion | "A" | current used for TransmembraneCaFlow | |
| n.cell.naca.trans.rate | "mol/s" | rate of change in substance amount | |
| n.cell.kr.act_total | total activation due to slow and fast activation terms | ||
| n.cell.kr.inact.tau | "s" | time constant for obtaining steady state (i.e. time until difference between n and steady has reduced by a factor of 1/e) | |
| n.cell.kr.inact.steady | value that n would reach if v_gate was held constant | ||
| n.cell.kr.inact.n | ratio of molecules in open conformation | 0.9775 | |
| n.cell.kr.act_slow.tau | "s" | time constant for obtaining steady state (i.e. time until difference between n and steady has reduced by a factor of 1/e) | |
| n.cell.kr.act_slow.steady | value that n would reach if v_gate was held constant | ||
| n.cell.kr.act_slow.n | ratio of molecules in open conformation | 0.1287 | |
| n.cell.kr.act_fast.tau | "s" | time constant for obtaining steady state (i.e. time until difference between n and steady has reduced by a factor of 1/e) | |
| n.cell.kr.act_fast.steady | value that n would reach if v_gate was held constant | ||
| n.cell.kr.act_fast.n | ratio of molecules in open conformation | 0.6067 | |
| n.cell.kr.g | "S" | ion conductance | |
| n.cell.kr.i_open | "A" | i if open_ratio = 1 | |
| n.cell.kr.open_ratio | "1" | ratio between 0 (fully closed) and 1 (fully open) | |
| n.cell.kr.i_ion | "A" | current used for ion flux | |
| n.cell.cal.inact_total | |||
| n.cell.cal.inact_fast.tau | "s" | time constant for obtaining steady state (i.e. time until difference between n and steady has reduced by a factor of 1/e) | |
| n.cell.cal.inact_fast.steady | value that n would reach if v_gate was held constant | ||
| n.cell.cal.inact_fast.n | ratio of molecules in open conformation | 0.6861 | |
| n.cell.cal.inact_slow.tau | "s" | time constant for obtaining steady state (i.e. time until difference between n and steady has reduced by a factor of 1/e) | |
| n.cell.cal.inact_slow.steady | value that n would reach if v_gate was held constant | ||
| n.cell.cal.inact_slow.n | ratio of molecules in open conformation | 0.4441 | |
| n.cell.cal.act.tau | "s" | time constant for obtaining steady state (i.e. time until difference between n and steady has reduced by a factor of 1/e) | |
| n.cell.cal.act.steady | value that n would reach if v_gate was held constant | ||
| n.cell.cal.act.n | ratio of molecules in open conformation | 0.0001533 | |
| n.cell.cal.trans.rate | "mol/s" | rate of change in substance amount | |
| n.cell.cal.g | "S" | ion conductance | |
| n.cell.cal.i_open | "A" | i if open_ratio = 1 | |
| n.cell.cal.open_ratio | "1" | ratio between 0 (fully closed) and 1 (fully open) | |
| n.cell.cal.i_ion | "A" | current used for ion flux | |
| n.cell.bg.i_ion | "A" | current used for ion flux | |
| an.cell.cal.con.substance.amount | "mol" | amount of substance | an.cell.cal.con.c_const * an.cell.cal.con.vol | 
| an.cell.naca.con.substance.amount | "mol" | amount of substance | an.cell.naca.con.c_const * an.cell.naca.con.vol | 
| n.cell.cal.con.substance.amount | "mol" | amount of substance | n.cell.cal.con.c_const * n.cell.cal.con.vol | 
| n.cell.naca.con.substance.amount | "mol" | amount of substance | n.cell.naca.con.c_const * n.cell.naca.con.vol | 
| nh.cell.cal.con.substance.amount | "mol" | amount of substance | nh.cell.cal.con.c_const * nh.cell.cal.con.vol | 
| nh.cell.naca.con.substance.amount | "mol" | amount of substance | nh.cell.naca.con.c_const * nh.cell.naca.con.vol | 
| n.cell.naca.di_cn | "1" | relative frequency of E1 states whose first two binding sites are occupied by Ca2+ and whose last binding site is occupied by Na+ | n.cell.naca.di_c * n.cell.na_in / n.cell.naca.k_cn_i | 
| n.cell.naca.di_3n | "1" | relative frequency of E1 states where exactly three Na+ sites are occupied by Na+ | n.cell.naca.di_2n * n.cell.na_in / n.cell.naca.k_3n_i | 
| n.cell.naca.do_3n | "1" | relative frequency of E2 states where exactly three Na+ sites are occupied by Na+ | n.cell.naca.do_2n * n.cell.na_ex / n.cell.naca.k_3n_o | 
| n.cell.naca.do_2n | "1" | relative frequency of E2 states where exactly the first two Na+ sites are occupied by Na+ | n.cell.naca.do_1n * n.cell.na_ex / n.cell.naca.k_2n_o | 
| n.cell.naca.di_2n | "1" | relative frequency of E1 states where exactly the first two Na+ sites are occupied by Na+ | n.cell.naca.di_1n * n.cell.na_in / n.cell.naca.k_2n_i | 
| n.cell.naca.di_c | "1" | relative frequency of E1 states that are occupied by Ca2+ and not occluded | n.cell.ca_sub.substance.amount / (n.cell.naca.k_c_i * n.cell.v_sub) | 
| n.cell.p.i | "A" | Current flowing into the pin | 0.0 | 
| n.cell.bg.open_ratio | "1" | ratio between 0 (fully closed) and 1 (fully open) | 1.0 | 
| n.cell.ca_sub.substance.amount | "mol" | amount of substance | n.cell.ca_sub.c_const * n.cell.ca_sub.vol | 
| n.g.p.v | "V" | Potential at the pin | 0.0 | 
| n.cell.cal.ach_factor | 1.0 | ||
| n.cell.naca.di_1n | "1" | relative frequency of E1 states where only the first Na+ site is occupied by Na+ | n.cell.na_in / n.cell.naca.k_1n_i | 
| n.cell.naca.do_c | "1" | relative frequency of E2 states that are occupied by Ca2+ and not occluded | n.cell.ca_ex / n.cell.naca.k_c_o | 
| n.cell.naca.do_1n | "1" | relative frequency of E2 states where only the first Na+ site is occupied by Na+ | n.cell.na_ex / n.cell.naca.k_1n_o | 
| n.cell.naca.f1_3n_o | "1" | fraction of E2 states whose first two Na+ sites are occupied by Na+ | InaMo.Functions.Biochemical.michaelisMenten(n.cell.na_ex, n.cell.naca.k_3n_o) | 
| n.cell.naca.f1_3n_i | "1" | fraction of E1 states whose first two Na+ sites are occupied by Na+ | InaMo.Functions.Biochemical.michaelisMenten(n.cell.na_in, n.cell.naca.k_3n_i) | 
| nh.cell.naca.di_cn | "1" | relative frequency of E1 states whose first two binding sites are occupied by Ca2+ and whose last binding site is occupied by Na+ | nh.cell.naca.di_c * nh.cell.na_in / nh.cell.naca.k_cn_i | 
| nh.cell.naca.di_3n | "1" | relative frequency of E1 states where exactly three Na+ sites are occupied by Na+ | nh.cell.naca.di_2n * nh.cell.na_in / nh.cell.naca.k_3n_i | 
| nh.cell.naca.do_3n | "1" | relative frequency of E2 states where exactly three Na+ sites are occupied by Na+ | nh.cell.naca.do_2n * nh.cell.na_ex / nh.cell.naca.k_3n_o | 
| nh.cell.naca.do_2n | "1" | relative frequency of E2 states where exactly the first two Na+ sites are occupied by Na+ | nh.cell.naca.do_1n * nh.cell.na_ex / nh.cell.naca.k_2n_o | 
| nh.cell.naca.di_2n | "1" | relative frequency of E1 states where exactly the first two Na+ sites are occupied by Na+ | nh.cell.naca.di_1n * nh.cell.na_in / nh.cell.naca.k_2n_i | 
| nh.cell.naca.di_c | "1" | relative frequency of E1 states that are occupied by Ca2+ and not occluded | nh.cell.ca_sub.substance.amount / (nh.cell.naca.k_c_i * nh.cell.v_sub) | 
| nh.cell.bg.open_ratio | "1" | ratio between 0 (fully closed) and 1 (fully open) | 1.0 | 
| nh.cell.ca_sub.substance.amount | "mol" | amount of substance | nh.cell.ca_sub.c_const * nh.cell.ca_sub.vol | 
| nh.cc.g.p.v | "V" | Potential at the pin | 0.0 | 
| nh.cell.cal.ach_factor | 1.0 | ||
| nh.cell.naca.di_1n | "1" | relative frequency of E1 states where only the first Na+ site is occupied by Na+ | nh.cell.na_in / nh.cell.naca.k_1n_i | 
| nh.cell.naca.do_c | "1" | relative frequency of E2 states that are occupied by Ca2+ and not occluded | nh.cell.ca_ex / nh.cell.naca.k_c_o | 
| nh.cell.naca.do_1n | "1" | relative frequency of E2 states where only the first Na+ site is occupied by Na+ | nh.cell.na_ex / nh.cell.naca.k_1n_o | 
| nh.cell.naca.f1_3n_o | "1" | fraction of E2 states whose first two Na+ sites are occupied by Na+ | InaMo.Functions.Biochemical.michaelisMenten(nh.cell.na_ex, nh.cell.naca.k_3n_o) | 
| nh.cell.naca.f1_3n_i | "1" | fraction of E1 states whose first two Na+ sites are occupied by Na+ | InaMo.Functions.Biochemical.michaelisMenten(nh.cell.na_in, nh.cell.naca.k_3n_i) | 
| nh.cell.kir.n_pot | "1" | [K+]_ex-dependent gating variable | InaMo.Functions.Biochemical.michaelisMenten(nh.cell.k_ex, 0.59) | 
| nh.cc.i_pulse | "A" | current during pulse (must be defined externally) | -2e-09 | 
| an.cell.naca.di_cn | "1" | relative frequency of E1 states whose first two binding sites are occupied by Ca2+ and whose last binding site is occupied by Na+ | an.cell.naca.di_c * an.cell.na_in / an.cell.naca.k_cn_i | 
| an.cell.naca.di_3n | "1" | relative frequency of E1 states where exactly three Na+ sites are occupied by Na+ | an.cell.naca.di_2n * an.cell.na_in / an.cell.naca.k_3n_i | 
| an.cell.naca.do_3n | "1" | relative frequency of E2 states where exactly three Na+ sites are occupied by Na+ | an.cell.naca.do_2n * an.cell.na_ex / an.cell.naca.k_3n_o | 
| an.cell.naca.do_2n | "1" | relative frequency of E2 states where exactly the first two Na+ sites are occupied by Na+ | an.cell.naca.do_1n * an.cell.na_ex / an.cell.naca.k_2n_o | 
| an.cell.naca.di_2n | "1" | relative frequency of E1 states where exactly the first two Na+ sites are occupied by Na+ | an.cell.naca.di_1n * an.cell.na_in / an.cell.naca.k_2n_i | 
| an.cell.naca.di_c | "1" | relative frequency of E1 states that are occupied by Ca2+ and not occluded | an.cell.ca_sub.substance.amount / (an.cell.naca.k_c_i * an.cell.v_sub) | 
| an.cell.bg.open_ratio | "1" | ratio between 0 (fully closed) and 1 (fully open) | 1.0 | 
| an.cell.ca_sub.substance.amount | "mol" | amount of substance | an.cell.ca_sub.c_const * an.cell.ca_sub.vol | 
| an.cc.g.p.v | "V" | Potential at the pin | 0.0 | 
| an.cell.cal.ach_factor | 1.0 | ||
| an.cell.naca.di_1n | "1" | relative frequency of E1 states where only the first Na+ site is occupied by Na+ | an.cell.na_in / an.cell.naca.k_1n_i | 
| an.cell.naca.do_c | "1" | relative frequency of E2 states that are occupied by Ca2+ and not occluded | an.cell.ca_ex / an.cell.naca.k_c_o | 
| an.cell.naca.do_1n | "1" | relative frequency of E2 states where only the first Na+ site is occupied by Na+ | an.cell.na_ex / an.cell.naca.k_1n_o | 
| an.cell.naca.f1_3n_o | "1" | fraction of E2 states whose first two Na+ sites are occupied by Na+ | InaMo.Functions.Biochemical.michaelisMenten(an.cell.na_ex, an.cell.naca.k_3n_o) | 
| an.cell.naca.f1_3n_i | "1" | fraction of E1 states whose first two Na+ sites are occupied by Na+ | InaMo.Functions.Biochemical.michaelisMenten(an.cell.na_in, an.cell.naca.k_3n_i) | 
| an.cell.kir.n_pot | "1" | [K+]_ex-dependent gating variable | InaMo.Functions.Biochemical.michaelisMenten(an.cell.k_ex, 0.59) | 
| an.cc.i_pulse | "A" | current during pulse (must be defined externally) | -2e-09 | 
| an.cell.use_ach | should acetylcholine sensitive potassium channel be included in the model | false | |
| an.cell.ach | "mol/m3" | concentration of acetylcholine available for I_ACh | 0.0 | 
| an.cell.na_in | "mol/m3" | intracellular sodium concentration | 8.0 | 
| an.cell.na_ex | "mol/m3" | extracellular sodium concentration | 140.0 | 
| an.cell.na_p | "m3/(s.m2)" | permeability of cell membrane to sodium ions | InaMo.Functions.Biochemical.p_from_g(2.53e-07, an.cell.na_ex, 1, an.cell.temp) | 
| an.cell.k_in | "mol/m3" | intracellular potassium concentration | 140.0 | 
| an.cell.k_ex | "mol/m3" | extracellular potassium concentration | 5.4 | 
| an.cell.ca_ex | "mol/m3" | extracellular calcium concentration | 2.0 | 
| an.cell.temp | "K" | cell medium temperature | 288.15 | 
| an.cell.v_cell | "m3" | total cell volume | InaMo.Examples.FullCell.AllCellsC.an.cell.c_to_v(an.cell.l2.c, 2.19911e-15, 7.147123e-15) | 
| an.cell.v_cyto | "m3" | volume of cytosol | 0.46 * an.cell.v_cell - an.cell.v_sub | 
| an.cell.v_sub | "m3" | volume of subspace | 0.01 * an.cell.v_cell | 
| an.cell.v_jsr | "m3" | volume of junctional SR | 0.0012 * an.cell.v_cell | 
| an.cell.v_nsr | "m3" | volume of network SR | 0.0116 * an.cell.v_cell | 
| an.cell.v_k | "V" | equilibrium potential for potassium currents | InaMo.Functions.Biochemical.nernst(an.cell.k_in, an.cell.k_ex, 1, an.cell.temp) | 
| an.cell.bg.v_eq | "V" | equilibrium potential | -0.0525 | 
| an.cell.bg.g_max | "S" | maximum conductance | 1.8e-09 | 
| an.cell.bg.current_name | "I_b" | ||
| an.cell.cal.v_eq | "V" | equilibrium potential | 0.0621 | 
| an.cell.cal.g_max | "S" | maximum conductance | 1.85e-08 | 
| an.cell.cal.trans.n | "1" | stoichiometric ratio of ion transport | an.cell.cal.n_ca | 
| an.cell.cal.trans.z | valence of ion | 2 | |
| an.cell.cal.con.c_const | "mol/m3" | fixed concentration | an.cell.ca_ex | 
| an.cell.cal.con.vol | "m3" | volume of the compartment | 1.0 | 
| an.cell.cal.n_ca | "1" | stoichiometric ratio of transport | 1.0 | 
| an.cell.cal.current_name | "I_Ca,L" | ||
| an.cell.cal.k_ach | "1" | ratio of maximum channel inhibition by acetylcholine | 0.0 | 
| an.cell.kr.v_eq | "V" | equilibrium potential | an.cell.v_k | 
| an.cell.kr.g_max | "S" | maximum conductance | 1.5e-09 | 
| an.cell.kr.current_name | "I_K,r" | ||
| an.cell.naca.trans.n | "1" | stoichiometric ratio of ion transport | an.cell.naca.n_ca | 
| an.cell.naca.trans.z | valence of ion | 2 | |
| an.cell.naca.con.c_const | "mol/m3" | fixed concentration | an.cell.ca_ex | 
| an.cell.naca.con.vol | "m3" | volume of the compartment | 1.0 | 
| an.cell.naca.n_ca | "1" | stoichiometric ratio of transport | -2.0 | 
| an.cell.naca.current_name | "I_NaCa" | ||
| an.cell.naca.k_c_i | "mol/m3" | dissociation constant for channel with Ca++ bound on inside | 0.0207 | 
| an.cell.naca.k_cn_i | "mol/m3" | dissociation constant for channel with Ca++ and one Na+ bound on inside | 26.44 | 
| an.cell.naca.k_1n_i | "mol/m3" | dissociation constant for channel with one Na+ bound on inside | 395.3 | 
| an.cell.naca.k_2n_i | "mol/m3" | dissociation constant for channel with two Na+ bound on inside | 2.289 | 
| an.cell.naca.k_3n_i | "mol/m3" | dissociation constant for channel with three Na+ bound on inside | 26.44 | 
| an.cell.naca.k_c_o | "mol/m3" | dissociation constant for channel with Ca++ bound on outside | 3.663 | 
| an.cell.naca.k_1n_o | "mol/m3" | dissociation constant for channel with one Na+ bound on outside | 1628.0 | 
| an.cell.naca.k_2n_o | "mol/m3" | dissociation constant for channel with two Na+ bound on outside | 561.4 | 
| an.cell.naca.k_3n_o | "mol/m3" | dissociation constant for channel with three Na+ bound on outside | 4.663 | 
| an.cell.naca.q_ci | fractional charge movement during intracellular Ca++ occlusion reaction | 0.1369 | |
| an.cell.naca.q_co | fractional charge movement during extracellular Ca++ occlusion reaction | 0.0 | |
| an.cell.naca.q_n | fractional charge movement during Na+ occlusion reactions | 0.4315 | |
| an.cell.naca.k_NaCa | "A" | scaling factor for Na+/Ca++ exchanger current | 5.92e-09 | 
| an.cell.naca.FoRT | helper variable to simplify equations | 11604.52214706721 / an.cell.temp | |
| an.cell.nak.current_name | "I_NaK" | ||
| an.cell.nak.i_max | "A" | maximum current (actual maximum is 1.6 * i_max) | 2.46e-11 | 
| an.cell.nak.k_m_Na | "mol/m3" | Michaelis constant for Na+ binding | 5.64 | 
| an.cell.nak.k_m_K | "mol/m3" | Michaelis constant for K+ binding | 0.621 | 
| an.cell.l2.c | "F" | membrane capacitance | 4e-11 | 
| an.cell.l2.v_init | "V" | initial potential (from short initial stimulation) | -0.09 | 
| an.cell.l2.use_init | determines whether initial value for v is used | true | |
| an.cell.kir.v_eq | "V" | equilibrium potential | an.cell.v_k | 
| an.cell.kir.g_max | "S" | maximum conductance | 1.25e-08 | 
| an.cell.kir.current_name | "I_K1" | ||
| an.cell.kir.FoRT | helper variable to simplyfiy equations | 96485.33289000001 / (an.cell.temp * 8.3144598) | |
| an.cell.kir.use_vact | use voltage-dependent activation gate? (only Inada 2009) | true | |
| an.cell.na.ion_ex | "mol/m3" | extracellular concentration of ion | an.cell.na_ex | 
| an.cell.na.ion_p | "m3/(s.m2)" | permeability of ion | an.cell.na_p | 
| an.cell.na.ion_z | valence of ion | 1 | |
| an.cell.na.current_name | "I_Na" | ||
| an.cell.to.v_eq | "V" | equilibrium potential | an.cell.v_k | 
| an.cell.to.g_max | "S" | maximum conductance | 2e-08 | 
| an.cell.to.current_name | "I_to" | ||
| an.cell.cell_type | "AN" | ||
| an.cell.ca_sub.c_const | "mol/m3" | fixed concentration | 0.0001 | 
| an.cell.ca_sub.vol | "m3" | volume of the compartment | an.cell.v_sub | 
| an.cc.d_hold | "s" | holding period | 0.3 | 
| an.cc.d_pulse | "s" | pulse period | 0.001 | 
| an.cc.i_hold | "A" | current during holding period | 0.0 | 
| n.cell.use_ach | should acetylcholine sensitive potassium channel be included in the model | false | |
| n.cell.ach | "mol/m3" | concentration of acetylcholine available for I_ACh | 0.0 | 
| n.cell.na_in | "mol/m3" | intracellular sodium concentration | 8.0 | 
| n.cell.na_ex | "mol/m3" | extracellular sodium concentration | 140.0 | 
| n.cell.na_p | "m3/(s.m2)" | permeability of cell membrane to sodium ions | InaMo.Functions.Biochemical.p_from_g(2.53e-07, n.cell.na_ex, 1, n.cell.temp) | 
| n.cell.k_in | "mol/m3" | intracellular potassium concentration | 140.0 | 
| n.cell.k_ex | "mol/m3" | extracellular potassium concentration | 5.4 | 
| n.cell.ca_ex | "mol/m3" | extracellular calcium concentration | 2.0 | 
| n.cell.temp | "K" | cell medium temperature | 288.15 | 
| n.cell.v_cell | "m3" | total cell volume | InaMo.Examples.FullCell.AllCellsC.n.cell.c_to_v(n.cell.l2.c, 2.19911e-15, 7.147123e-15) | 
| n.cell.v_cyto | "m3" | volume of cytosol | 0.46 * n.cell.v_cell - n.cell.v_sub | 
| n.cell.v_sub | "m3" | volume of subspace | 0.01 * n.cell.v_cell | 
| n.cell.v_jsr | "m3" | volume of junctional SR | 0.0012 * n.cell.v_cell | 
| n.cell.v_nsr | "m3" | volume of network SR | 0.0116 * n.cell.v_cell | 
| n.cell.v_k | "V" | equilibrium potential for potassium currents | InaMo.Functions.Biochemical.nernst(n.cell.k_in, n.cell.k_ex, 1, n.cell.temp) | 
| n.cell.bg.v_eq | "V" | equilibrium potential | -0.0225 | 
| n.cell.bg.g_max | "S" | maximum conductance | 1.2e-09 | 
| n.cell.bg.current_name | "I_b" | ||
| n.cell.cal.v_eq | "V" | equilibrium potential | 0.0621 | 
| n.cell.cal.g_max | "S" | maximum conductance | 9e-09 | 
| n.cell.cal.trans.n | "1" | stoichiometric ratio of ion transport | n.cell.cal.n_ca | 
| n.cell.cal.trans.z | valence of ion | 2 | |
| n.cell.cal.con.c_const | "mol/m3" | fixed concentration | n.cell.ca_ex | 
| n.cell.cal.con.vol | "m3" | volume of the compartment | 1.0 | 
| n.cell.cal.n_ca | "1" | stoichiometric ratio of transport | 1.0 | 
| n.cell.cal.current_name | "I_Ca,L" | ||
| n.cell.cal.k_ach | "1" | ratio of maximum channel inhibition by acetylcholine | 0.0 | 
| n.cell.kr.v_eq | "V" | equilibrium potential | n.cell.v_k | 
| n.cell.kr.g_max | "S" | maximum conductance | 3.5e-09 | 
| n.cell.kr.current_name | "I_K,r" | ||
| n.cell.naca.trans.n | "1" | stoichiometric ratio of ion transport | n.cell.naca.n_ca | 
| n.cell.naca.trans.z | valence of ion | 2 | |
| n.cell.naca.con.c_const | "mol/m3" | fixed concentration | n.cell.ca_ex | 
| n.cell.naca.con.vol | "m3" | volume of the compartment | 1.0 | 
| n.cell.naca.n_ca | "1" | stoichiometric ratio of transport | -2.0 | 
| n.cell.naca.current_name | "I_NaCa" | ||
| n.cell.naca.k_c_i | "mol/m3" | dissociation constant for channel with Ca++ bound on inside | 0.0207 | 
| n.cell.naca.k_cn_i | "mol/m3" | dissociation constant for channel with Ca++ and one Na+ bound on inside | 26.44 | 
| n.cell.naca.k_1n_i | "mol/m3" | dissociation constant for channel with one Na+ bound on inside | 395.3 | 
| n.cell.naca.k_2n_i | "mol/m3" | dissociation constant for channel with two Na+ bound on inside | 2.289 | 
| n.cell.naca.k_3n_i | "mol/m3" | dissociation constant for channel with three Na+ bound on inside | 26.44 | 
| n.cell.naca.k_c_o | "mol/m3" | dissociation constant for channel with Ca++ bound on outside | 3.663 | 
| n.cell.naca.k_1n_o | "mol/m3" | dissociation constant for channel with one Na+ bound on outside | 1628.0 | 
| n.cell.naca.k_2n_o | "mol/m3" | dissociation constant for channel with two Na+ bound on outside | 561.4 | 
| n.cell.naca.k_3n_o | "mol/m3" | dissociation constant for channel with three Na+ bound on outside | 4.663 | 
| n.cell.naca.q_ci | fractional charge movement during intracellular Ca++ occlusion reaction | 0.1369 | |
| n.cell.naca.q_co | fractional charge movement during extracellular Ca++ occlusion reaction | 0.0 | |
| n.cell.naca.q_n | fractional charge movement during Na+ occlusion reactions | 0.4315 | |
| n.cell.naca.k_NaCa | "A" | scaling factor for Na+/Ca++ exchanger current | 2.14e-09 | 
| n.cell.naca.FoRT | helper variable to simplify equations | 11604.52214706721 / n.cell.temp | |
| n.cell.nak.current_name | "I_NaK" | ||
| n.cell.nak.i_max | "A" | maximum current (actual maximum is 1.6 * i_max) | 1.43e-10 | 
| n.cell.nak.k_m_Na | "mol/m3" | Michaelis constant for Na+ binding | 5.64 | 
| n.cell.nak.k_m_K | "mol/m3" | Michaelis constant for K+ binding | 0.621 | 
| n.cell.l2.c | "F" | membrane capacitance | 2.9e-11 | 
| n.cell.l2.v_init | "V" | initial potential (from short initial stimulation) | -0.09 | 
| n.cell.l2.use_init | determines whether initial value for v is used | true | |
| n.cell.hcn.v_eq | "V" | equilibrium potential | -0.03 | 
| n.cell.hcn.g_max | "S" | maximum conductance | 1e-09 | 
| n.cell.hcn.current_name | "I_f" | ||
| n.cell.hcn.act_shift | "V" | 0.0 | |
| n.cell.hcn.act.shift | "V" | n.cell.hcn.act_shift | |
| n.cell.st.v_eq | "V" | equilibrium potential | 0.0374 | 
| n.cell.st.g_max | "S" | maximum conductance | 1e-10 | 
| n.cell.st.current_name | "I_st" | ||
| n.cell.cell_type | "N" | ||
| n.cell.ca_sub.c_const | "mol/m3" | fixed concentration | 0.0001 | 
| n.cell.ca_sub.vol | "m3" | volume of the compartment | n.cell.v_sub | 
| nh.cell.use_ach | should acetylcholine sensitive potassium channel be included in the model | false | |
| nh.cell.ach | "mol/m3" | concentration of acetylcholine available for I_ACh | 0.0 | 
| nh.cell.na_in | "mol/m3" | intracellular sodium concentration | 8.0 | 
| nh.cell.na_ex | "mol/m3" | extracellular sodium concentration | 140.0 | 
| nh.cell.na_p | "m3/(s.m2)" | permeability of cell membrane to sodium ions | InaMo.Functions.Biochemical.p_from_g(2.53e-07, nh.cell.na_ex, 1, nh.cell.temp) | 
| nh.cell.k_in | "mol/m3" | intracellular potassium concentration | 140.0 | 
| nh.cell.k_ex | "mol/m3" | extracellular potassium concentration | 5.4 | 
| nh.cell.ca_ex | "mol/m3" | extracellular calcium concentration | 2.0 | 
| nh.cell.temp | "K" | cell medium temperature | 288.15 | 
| nh.cell.v_cell | "m3" | total cell volume | InaMo.Examples.FullCell.AllCellsC.nh.cell.c_to_v(nh.cell.l2.c, 2.19911e-15, 7.147123e-15) | 
| nh.cell.v_cyto | "m3" | volume of cytosol | 0.46 * nh.cell.v_cell - nh.cell.v_sub | 
| nh.cell.v_sub | "m3" | volume of subspace | 0.01 * nh.cell.v_cell | 
| nh.cell.v_jsr | "m3" | volume of junctional SR | 0.0012 * nh.cell.v_cell | 
| nh.cell.v_nsr | "m3" | volume of network SR | 0.0116 * nh.cell.v_cell | 
| nh.cell.v_k | "V" | equilibrium potential for potassium currents | InaMo.Functions.Biochemical.nernst(nh.cell.k_in, nh.cell.k_ex, 1, nh.cell.temp) | 
| nh.cell.bg.v_eq | "V" | equilibrium potential | -0.04 | 
| nh.cell.bg.g_max | "S" | maximum conductance | 2e-09 | 
| nh.cell.bg.current_name | "I_b" | ||
| nh.cell.cal.v_eq | "V" | equilibrium potential | 0.0621 | 
| nh.cell.cal.g_max | "S" | maximum conductance | 2.1e-08 | 
| nh.cell.cal.trans.n | "1" | stoichiometric ratio of ion transport | nh.cell.cal.n_ca | 
| nh.cell.cal.trans.z | valence of ion | 2 | |
| nh.cell.cal.con.c_const | "mol/m3" | fixed concentration | nh.cell.ca_ex | 
| nh.cell.cal.con.vol | "m3" | volume of the compartment | 1.0 | 
| nh.cell.cal.n_ca | "1" | stoichiometric ratio of transport | 1.0 | 
| nh.cell.cal.current_name | "I_Ca,L" | ||
| nh.cell.cal.k_ach | "1" | ratio of maximum channel inhibition by acetylcholine | 0.0 | 
| nh.cell.kr.v_eq | "V" | equilibrium potential | nh.cell.v_k | 
| nh.cell.kr.g_max | "S" | maximum conductance | 2e-09 | 
| nh.cell.kr.current_name | "I_K,r" | ||
| nh.cell.naca.trans.n | "1" | stoichiometric ratio of ion transport | nh.cell.naca.n_ca | 
| nh.cell.naca.trans.z | valence of ion | 2 | |
| nh.cell.naca.con.c_const | "mol/m3" | fixed concentration | nh.cell.ca_ex | 
| nh.cell.naca.con.vol | "m3" | volume of the compartment | 1.0 | 
| nh.cell.naca.n_ca | "1" | stoichiometric ratio of transport | -2.0 | 
| nh.cell.naca.current_name | "I_NaCa" | ||
| nh.cell.naca.k_c_i | "mol/m3" | dissociation constant for channel with Ca++ bound on inside | 0.0207 | 
| nh.cell.naca.k_cn_i | "mol/m3" | dissociation constant for channel with Ca++ and one Na+ bound on inside | 26.44 | 
| nh.cell.naca.k_1n_i | "mol/m3" | dissociation constant for channel with one Na+ bound on inside | 395.3 | 
| nh.cell.naca.k_2n_i | "mol/m3" | dissociation constant for channel with two Na+ bound on inside | 2.289 | 
| nh.cell.naca.k_3n_i | "mol/m3" | dissociation constant for channel with three Na+ bound on inside | 26.44 | 
| nh.cell.naca.k_c_o | "mol/m3" | dissociation constant for channel with Ca++ bound on outside | 3.663 | 
| nh.cell.naca.k_1n_o | "mol/m3" | dissociation constant for channel with one Na+ bound on outside | 1628.0 | 
| nh.cell.naca.k_2n_o | "mol/m3" | dissociation constant for channel with two Na+ bound on outside | 561.4 | 
| nh.cell.naca.k_3n_o | "mol/m3" | dissociation constant for channel with three Na+ bound on outside | 4.663 | 
| nh.cell.naca.q_ci | fractional charge movement during intracellular Ca++ occlusion reaction | 0.1369 | |
| nh.cell.naca.q_co | fractional charge movement during extracellular Ca++ occlusion reaction | 0.0 | |
| nh.cell.naca.q_n | fractional charge movement during Na+ occlusion reactions | 0.4315 | |
| nh.cell.naca.k_NaCa | "A" | scaling factor for Na+/Ca++ exchanger current | 5.92e-09 | 
| nh.cell.naca.FoRT | helper variable to simplify equations | 11604.52214706721 / nh.cell.temp | |
| nh.cell.nak.current_name | "I_NaK" | ||
| nh.cell.nak.i_max | "A" | maximum current (actual maximum is 1.6 * i_max) | 1.97e-10 | 
| nh.cell.nak.k_m_Na | "mol/m3" | Michaelis constant for Na+ binding | 5.64 | 
| nh.cell.nak.k_m_K | "mol/m3" | Michaelis constant for K+ binding | 0.621 | 
| nh.cell.l2.c | "F" | membrane capacitance | 4e-11 | 
| nh.cell.l2.v_init | "V" | initial potential (from short initial stimulation) | -0.09 | 
| nh.cell.l2.use_init | determines whether initial value for v is used | true | |
| nh.cell.kir.v_eq | "V" | equilibrium potential | nh.cell.v_k | 
| nh.cell.kir.g_max | "S" | maximum conductance | 1.5e-08 | 
| nh.cell.kir.current_name | "I_K1" | ||
| nh.cell.kir.FoRT | helper variable to simplyfiy equations | 96485.33289000001 / (nh.cell.temp * 8.3144598) | |
| nh.cell.kir.use_vact | use voltage-dependent activation gate? (only Inada 2009) | true | |
| nh.cell.na.ion_ex | "mol/m3" | extracellular concentration of ion | nh.cell.na_ex | 
| nh.cell.na.ion_p | "m3/(s.m2)" | permeability of ion | nh.cell.na_p | 
| nh.cell.na.ion_z | valence of ion | 1 | |
| nh.cell.na.current_name | "I_Na" | ||
| nh.cell.to.v_eq | "V" | equilibrium potential | nh.cell.v_k | 
| nh.cell.to.g_max | "S" | maximum conductance | 1.4e-08 | 
| nh.cell.to.current_name | "I_to" | ||
| nh.cell.cell_type | "NH" | ||
| nh.cell.ca_sub.c_const | "mol/m3" | fixed concentration | 0.0001 | 
| nh.cell.ca_sub.vol | "m3" | volume of the compartment | nh.cell.v_sub | 
| nh.cc.d_hold | "s" | holding period | 0.3 | 
| nh.cc.d_pulse | "s" | pulse period | 0.001 | 
| nh.cc.i_hold | "A" | current during holding period | 0.0 | 
| an.cell.na.ion_in | "mol/m3" | intracellular concentration of ion | an.cell.na_in | 
| an.cell.bg.g | "S" | ion conductance | an.cell.bg.g_max | 
| nh.cell.na.ion_in | "mol/m3" | intracellular concentration of ion | nh.cell.na_in | 
| nh.cell.bg.g | "S" | ion conductance | nh.cell.bg.g_max | 
| n.cell.bg.g | "S" | ion conductance | n.cell.bg.g_max | 
Tests for Ca2+ handling
InaMo.Examples.ComponentTests.CaBuffer
NOTE: This model does not represent any meaningful experiment, but is only used to find errors and unexpected changes in the simulation output of the tested component.
To produce unit test figure, plot ca_cyto.con against
    time.
Simulation protocol and parameters are chosen with the following rationale:
- StopTime: just large enough to see some change in variables
 - Tolerance: default value
 - Interval: same as for InaMo.Examples.ComponentTests.CaHandlingApprox
 - model parameters: same as in InaMo.Cells.VariableCa.ANCell
 
model CaBuffer "unit test for buffer model"
  // uses values for TC in AN cell from InaMo
  extends Modelica.Icons.Example;
  InaMo.Concentrations.Basic.Buffer tc(f_start = 0.02359, n_tot = 0.031 * v_cyto, k = 88.8e3 / v_cyto, kb = 0.446e3, vol = v_cyto) "troponin-Ca";
  InaMo.Concentrations.Basic.Compartment ca_cyto(c_start = 0.1206e-3, vol = v_cyto) "Ca2+ in cytosol";
  parameter SI.Volume v_cyto = 1.9792021E-15 "volume of cytosol (value for AN cell)";
equation
  connect(tc.site, ca_cyto.substance);
  annotation(
    Documentation(info = "<html>
    <p>NOTE: This model does not represent any meaningful experiment, but is
    only used to find errors and unexpected changes in the simulation output
    of the tested component.</p>
    <p>To produce unit test figure, plot <code>ca_cyto.con</code> against
    time.</p>
    <p>Simulation protocol and parameters are chosen with the following
    rationale:</p>
    <ul>
      <li>StopTime: just large enough to see some change in variables</li>
      <li>Tolerance: default value</li>
      <li>Interval: same as for InaMo.Examples.ComponentTests.CaHandlingApprox</li>
      <li>model parameters: same as in InaMo.Cells.VariableCa.ANCell</li>
    </ul>
  </html>"),
    experiment(StartTime = 0, StopTime = 0.5, Tolerance = 1e-6, Interval = 1e-4),
    __OpenModelica_simulationFlags(lv = "LOG_STATS", s = "dassl"),
    __MoST_experiment(variableFilter = "ca_cyto\\.con"));
end CaBuffer;- Within group tc (prefix _ indicates shortened variable name)
- Within group assoc (prefix _ indicates shortened variable name)
 - Within group occupied (prefix _ indicates shortened variable name)
 
 - Within group assoc (prefix _ indicates shortened variable name)
 
Functions:
| name | unit | label | value | 
|---|---|---|---|
| ca_cyto.con | "mol/m3" | concentration of substance in compartment | |
| ca_cyto.substance.amount | "mol" | amount of substance | |
| tc.occupied.con | "mol/m3" | concentration of substance in compartment | |
| tc.occupied.substance.amount | "mol" | amount of substance | |
| tc.free.con | "mol/m3" | concentration of substance in compartment | |
| tc.free.substance.amount | "mol" | amount of substance | |
| tc.site.rate | "mol/s" | molar flow rate of substance | |
| tc.n_tot | "mol" | total amount of buffer | 0.031 * v_cyto | 
| tc.f_start | "1" | initial value for f | 0.02359 | 
| tc.k | "mol-1s-1" | association constant | 88800.0 / v_cyto | 
| tc.kb | "s-1" | dissociation constant | 446.0 | 
| tc.vol | "m3" | volume of compartment in which buffer resides | v_cyto | 
| tc.assoc.k | "mol-1s-1" | association constant | tc.k | 
| tc.assoc.kb | "s-1" | dissociation constant | tc.kb | 
| tc.free.vol | "m3" | volume of the compartment | tc.vol | 
| tc.free.c_start | "mol/m3" | initial value of concentration | (1.0 - tc.f_start) * tc.n_tot / tc.vol | 
| tc.occupied.vol | "m3" | volume of the compartment | tc.vol | 
| tc.occupied.c_start | "mol/m3" | initial value of concentration | tc.f_start * tc.n_tot / tc.vol | 
| ca_cyto.vol | "m3" | volume of the compartment | v_cyto | 
| ca_cyto.c_start | "mol/m3" | initial value of concentration | 0.0001206 | 
| v_cyto | "m3" | volume of cytosol (value for AN cell) | 1.9792021e-15 | 
InaMo.Examples.ComponentTests.CaBuffer2
NOTE: This model does not represent any meaningful experiment, but is only used to find errors and unexpected changes in the simulation output of the tested component.
To produce unit test figure, plot ca_cyto.con against
    time.
Simulation protocol and parameters are chosen with the following rationale:
- StopTime: just large enough to see some change in variables
 - Tolerance: default value
 - Interval: same as for InaMo.Examples.ComponentTests.CaHandlingApprox
 - model parameters: same as in InaMo.Cells.VariableCa.ANCell
 
model CaBuffer2 "unit test for Buffer2"
  // uses values for TMC and TMM in AN cell from InaMo
  extends Modelica.Icons.Example;
  InaMo.Concentrations.Basic.Buffer2 tm(n_tot = 0.062 * v_cyto, vol = v_cyto, f_a_start = 0.3667, k_a = 227.7e3 / v_cyto, kb_a = 0.00751e3, f_b_start = 0.5594, k_b = 2.277e3 / v_cyto, kb_b = 0.751e3) "Troponin-Mg";
  InaMo.Concentrations.Basic.Compartment ca_cyto(c_start = 0.1206e-3, vol = v_cyto) "Ca2+ in cytosol";
  InaMo.Concentrations.Basic.ConstantConcentration mg(c_const = 2.5, vol = v_cyto) "Mg2+ in cytosol";
  parameter SI.Volume v_cyto = 1.9792021E-15 "volume of cytosol (value for AN cell)";
equation
  connect(tm.site_a, ca_cyto.substance);
  connect(tm.site_b, mg.substance);
  annotation(
    Documentation(info = "<html>
    <p>NOTE: This model does not represent any meaningful experiment, but is
    only used to find errors and unexpected changes in the simulation output
    of the tested component.</p>
    <p>To produce unit test figure, plot <code>ca_cyto.con</code> against
    time.</p>
    <p>Simulation protocol and parameters are chosen with the following
    rationale:</p>
    <ul>
      <li>StopTime: just large enough to see some change in variables</li>
      <li>Tolerance: default value</li>
      <li>Interval: same as for InaMo.Examples.ComponentTests.CaHandlingApprox</li>
      <li>model parameters: same as in InaMo.Cells.VariableCa.ANCell</li>
    </ul>
  </html>"),
    experiment(StartTime = 0, StopTime = 0.5, Tolerance = 1e-6, Interval = 1e-4),
    __OpenModelica_simulationFlags(lv = "LOG_STATS", s = "dassl"),
    __MoST_experiment(variableFilter = "ca_cyto\\.con"));
end CaBuffer2;- Within group tm (prefix _ indicates shortened variable name)
- Within group assoc_a (prefix _ indicates shortened variable name)
 - Within group free (prefix _ indicates shortened variable name)
 - Within group occupied_a (prefix _ indicates shortened variable name)
 - Within group occupied_b (prefix _ indicates shortened variable name)
 
 
Functions:
| name | unit | label | value | 
|---|---|---|---|
| ca_cyto.con | "mol/m3" | concentration of substance in compartment | |
| ca_cyto.substance.amount | "mol" | amount of substance | |
| tm.occupied_b.con | "mol/m3" | concentration of substance in compartment | |
| tm.occupied_b.substance.amount | "mol" | amount of substance | |
| tm.occupied_a.con | "mol/m3" | concentration of substance in compartment | |
| tm.occupied_a.substance.amount | "mol" | amount of substance | |
| tm.free.con | "mol/m3" | concentration of substance in compartment | |
| tm.free.substance.rate | "mol/s" | molar flow rate of substance | |
| tm.free.substance.amount | "mol" | amount of substance | |
| tm.site_b.rate | "mol/s" | molar flow rate of substance | |
| tm.site_a.rate | "mol/s" | molar flow rate of substance | |
| mg.substance.amount | "mol" | amount of substance | mg.c_const * mg.vol | 
| tm.n_tot | "mol" | total amount of buffer | 0.062 * v_cyto | 
| tm.f_a_start | "1" | initial value for f | 0.3667 | 
| tm.f_b_start | "1" | initial value for f | 0.5594 | 
| tm.k_a | "mol-1s-1" | association constant for binding to ligand A | 227700.0 / v_cyto | 
| tm.k_b | "mol-1s-1" | association constant for binding to ligand B | 2277.0 / v_cyto | 
| tm.kb_a | "s-1" | dissociation constant for binding to ligand A | 7.51 | 
| tm.kb_b | "s-1" | dissociation constant for binding to ligand B | 751.0 | 
| tm.vol | "m3" | volume of compartment in which buffer resides | v_cyto | 
| tm.assoc_a.k | "mol-1s-1" | association constant | tm.k_a | 
| tm.assoc_a.kb | "s-1" | dissociation constant | tm.kb_a | 
| tm.assoc_b.k | "mol-1s-1" | association constant | tm.k_b | 
| tm.assoc_b.kb | "s-1" | dissociation constant | tm.kb_b | 
| tm.free.vol | "m3" | volume of the compartment | tm.vol | 
| tm.free.c_start | "mol/m3" | initial value of concentration | (1.0 - (tm.f_a_start + tm.f_b_start)) * tm.n_tot / tm.vol | 
| tm.occupied_a.vol | "m3" | volume of the compartment | tm.vol | 
| tm.occupied_a.c_start | "mol/m3" | initial value of concentration | tm.f_a_start * tm.n_tot / tm.vol | 
| tm.occupied_b.vol | "m3" | volume of the compartment | tm.vol | 
| tm.occupied_b.c_start | "mol/m3" | initial value of concentration | tm.f_b_start * tm.n_tot / tm.vol | 
| ca_cyto.vol | "m3" | volume of the compartment | v_cyto | 
| ca_cyto.c_start | "mol/m3" | initial value of concentration | 0.0001206 | 
| mg.c_const | "mol/m3" | fixed concentration | 2.5 | 
| mg.vol | "m3" | volume of the compartment | v_cyto | 
| v_cyto | "m3" | volume of cytosol (value for AN cell) | 1.9792021e-15 | 
InaMo.Examples.ComponentTests.CaDiffusion
NOTE: This model does not represent any meaningful experiment, but is only used to find errors and unexpected changes in the simulation output of the tested component.
To produce unit test figure, plot ca_cyto.con and
    ca_sub.con against time.
Simulation protocol and parameters are chosen with the following rationale:
- StopTime: just large enough to see some change in variables
 - Tolerance: default value
 - Interval: same as for InaMo.Examples.ComponentTests.CaHandlingApprox
 - model parameters: same as in InaMo.Cells.VariableCa.ANCell
 
model CaDiffusion "unit test for Diffusion"
  // uses values for sub_cyto in AN cell
  extends Modelica.Icons.Example;
  InaMo.Concentrations.Basic.Diffusion sub_cyto(vol_src = v_sub, vol_dst = v_cyto, tau = 0.04e-3) "diffusion from subspace into cytosol";
  InaMo.Concentrations.Basic.Compartment ca_sub(c_start = 0.06397e-3, vol = v_sub) "Ca2+ in \"fuzzy\" subspace";
  InaMo.Concentrations.Basic.Compartment ca_cyto(c_start = 0.1206e-3, vol = v_cyto) "Ca2+ in cytosol";
  parameter SI.Volume v_sub = 4.398227E-17 "volume of \"fuzzy\" subspace (value for AN cell)";
  parameter SI.Volume v_cyto = 1.9792021E-15 "volume of cytosol (value for AN cell)";
equation
  connect(ca_sub.substance, sub_cyto.src);
  connect(sub_cyto.dst, ca_cyto.substance);
  annotation(
    experiment(StartTime = 0, StopTime = 0.005, Tolerance = 1e-6, Interval = 1e-6),
    __OpenModelica_simulationFlags(lv = "LOG_STATS", s = "dassl"),
    __MoST_experiment(variableFilter = "ca_(cyto|sub)\\.con"),
    Documentation(info = "<html>
    <p>NOTE: This model does not represent any meaningful experiment, but is
    only used to find errors and unexpected changes in the simulation output
    of the tested component.</p>
    <p>To produce unit test figure, plot <code>ca_cyto.con</code> and
    <code>ca_sub.con</code> against time.</p>
    <p>Simulation protocol and parameters are chosen with the following
    rationale:</p>
    <ul>
      <li>StopTime: just large enough to see some change in variables</li>
      <li>Tolerance: default value</li>
      <li>Interval: same as for InaMo.Examples.ComponentTests.CaHandlingApprox</li>
      <li>model parameters: same as in InaMo.Cells.VariableCa.ANCell</li>
    </ul>
  </html>"));
end CaDiffusion;- Within group ca_cyto (prefix _ indicates shortened variable name)
 - Within group sub_cyto (prefix _ indicates shortened variable name)
 
Functions:
| name | unit | label | value | 
|---|---|---|---|
| ca_cyto.con | "mol/m3" | concentration of substance in compartment | |
| ca_cyto.substance.amount | "mol" | amount of substance | |
| ca_sub.con | "mol/m3" | concentration of substance in compartment | |
| ca_sub.substance.amount | "mol" | amount of substance | |
| sub_cyto.rate | "mol/s" | rate of change in substance amount | |
| sub_cyto.coeff | "1/s" | coefficient of transport | 1.0 / sub_cyto.tau | 
| sub_cyto.vol_src | "m3" | volume of source compartment | v_sub | 
| sub_cyto.vol_dst | "m3" | volume of destination compartment | v_cyto | 
| sub_cyto.vol_trans | "m3" | volume of substance that is transferred between compartments over 1/coeff seconds | min(sub_cyto.vol_src, sub_cyto.vol_dst) | 
| sub_cyto.tau | "s" | time constant of diffusion | 4e-05 | 
| ca_sub.vol | "m3" | volume of the compartment | v_sub | 
| ca_sub.c_start | "mol/m3" | initial value of concentration | 6.397e-05 | 
| ca_cyto.vol | "m3" | volume of the compartment | v_cyto | 
| ca_cyto.c_start | "mol/m3" | initial value of concentration | 0.0001206 | 
| v_sub | "m3" | volume of "fuzzy" subspace (value for AN cell) | 4.398227e-17 | 
| v_cyto | "m3" | volume of cytosol (value for AN cell) | 1.9792021e-15 | 
InaMo.Examples.ComponentTests.CaHandlingApprox
This experiment approximates the behavior of the Ca2+ concentration in InaMo.Cells.Atrioventricular.NCell during a spontaneous action potential.
In order to examine the behavior of InaMo.Concentrations.Atrioventricular.CaHandling in isolation, dummy currents are defined as a rough approximation of I_Ca,L and I_NaCa during a spontaneous AP.
To produce unit test figure, plot ca.sub.con,
    ca.cyto.con, ca.jsr.con and
    ca.nsr.con against time.
Simulation protocol and parameters are chosen with the following rationale:
- StopTime: large enough to observe response to approximated action potential
 - Tolerance: default value
 - Interval: same as for InaMo.Examples.ComponentTests.CaHandlingApprox
 - model parameters: same as in InaMo.Cells.VariableCa.ANCell
 
model CaHandlingApprox "unit test for CaHandling with approximated currents"
  extends Modelica.Icons.Example;
  import InaMo.Functions.Fitting.gaussianAmp;
  model DummyCaL "dummy model replacing I_Ca,L"
    extends InaMo.Concentrations.Interfaces.TransmembraneCaFlow(n_ca = 1);
    SI.Current i = gaussianAmp(time, y_min = 0, y_max = -3e-10, x0 = 0.2, sigma = 3.54e-3) + gaussianAmp(time, y_min = 0, y_max = -1e-10, x0 = 0.23, sigma = 23.6e-3) + gaussianAmp(time, y_min = 0, y_max = -1e-10, x0 = -0.1, sigma = 118e-3);
    inner SI.Current i_ion = i;
  end DummyCaL;
  model DummyNaCa "dummy model replacing I_NaCa"
    extends InaMo.Concentrations.Interfaces.TransmembraneCaFlow(n_ca = -2);
    SI.Current i = gaussianAmp(time, y_min = -0.5e-11, y_max = -4e-11, x0 = 0.2, sigma = 3.54e-3) + gaussianAmp(time, y_min = -0.5e-11, y_max = 0.3e-11, x0 = 0.23, sigma = 14.1e-3) + gaussianAmp(time, y_min = 0, y_max = -0.5e-10, x0 = -0.1, sigma = 118e-3);
    inner SI.Current i_ion = i;
  end DummyNaCa;
  DummyCaL cal "replacement for I_Ca,L" annotation(
    Placement(transformation(extent = {{-17, 31}, {17, 65}})));
  DummyNaCa naca "replacement for I_NaCa" annotation(
    Placement(transformation(extent = {{-65, 31}, {-31, 65}})));
  InaMo.Concentrations.Atrioventricular.CaHandling ca(cyto.c_start = 0.3623e-3, sub.c_start = 0.2294e-3, jsr.c_start = 0.08227, nsr.c_start = 1.146, tc.f_start = 0.6838, tm.f_a_start = 0.6192, tm.f_b_start = 0.3363, cm_cyto.f_start = 0.1336, cm_sub.f_start = 0.08894, cq.f_start = 0.08736, cm_sl.f_start = 4.764e-5, jsr_sub.p = 1500) "Ca2+ handling with same parameter settings as in NCell" annotation(
    Placement(transformation(extent = {{17, -17}, {51, 17}})));
  inner parameter SI.Volume v_sub = 3.1887126E-17 "volume of \"fuzzy\" subspace (value from C++ for N-cell)";
  inner parameter SI.Volume v_cyto = 1.43492067E-15 "volume of cytosol (value from C++ for N-cell)";
  inner parameter SI.Volume v_nsr = 3.698906616E-17 "volume of network SR (value from C++ for N-cell)";
  inner parameter SI.Volume v_jsr = 3.82645512E-18 "volume of junctional SR (value from C++ for N-cell)";
  inner parameter SI.Concentration ca_ex = 0 "extracellular Ca2+ concentration (value not used in this simulation)";
equation
  connect(cal.ca, ca.ca_sub) annotation(
    Line(points = {{6, 32}, {6, 32}, {6, 0}, {18, 0}, {18, 0}}));
  connect(naca.ca, ca.ca_sub) annotation(
    Line(points = {{-42, 32}, {-42, 32}, {-42, 0}, {18, 0}, {18, 0}}));
  annotation(
    experiment(StartTime = 0, StopTime = 0.5, Tolerance = 1e-7, Interval = 1e-4),
    __OpenModelica_simulationFlags(lv = "LOG_STATS", s = "dassl"),
    __MoST_experiment(variableFilter = "(cal|naca)\\.i|ca\\.(sub|cyto|jsr|nsr)\\.con"),
    Documentation(info = "<html>
    <p>This experiment approximates the behavior of the Ca2+ concentration in
    InaMo.Cells.Atrioventricular.NCell during a spontaneous action potential.
    </p>
    <p>In order to examine the behavior of
    InaMo.Concentrations.Atrioventricular.CaHandling in isolation, dummy
    currents are defined as a rough approximation of I_Ca,L and I_NaCa during
    a spontaneous AP.</p>
    <p>To produce unit test figure, plot <code>ca.sub.con</code>,
    <code>ca.cyto.con</code>, <code>ca.jsr.con</code> and
    <code>ca.nsr.con</code> against time.</p>
    <p>Simulation protocol and parameters are chosen with the following
    rationale:</p>
    <ul>
      <li>StopTime: large enough to observe response to approximated action potential</li>
      <li>Tolerance: default value</li>
      <li>Interval: same as for InaMo.Examples.ComponentTests.CaHandlingApprox</li>
      <li>model parameters: same as in InaMo.Cells.VariableCa.ANCell</li>
    </ul>
  </html>"));
end CaHandlingApprox;- Within group ca (prefix _ indicates shortened variable name)
- Within group cm_cyto (prefix _ indicates shortened variable name)
- Within group assoc (prefix _ indicates shortened variable name)
 - Within group occupied (prefix _ indicates shortened variable name)
 
 - Within group assoc (prefix _ indicates shortened variable name)
 - Within group cm_sl (prefix _ indicates shortened variable name)
- Within group assoc (prefix _ indicates shortened variable name)
 - Within group occupied (prefix _ indicates shortened variable name)
 
 - Within group assoc (prefix _ indicates shortened variable name)
 - Within group cm_sub (prefix _ indicates shortened variable name)
- Within group assoc (prefix _ indicates shortened variable name)
 - Within group occupied (prefix _ indicates shortened variable name)
 
 - Within group assoc (prefix _ indicates shortened variable name)
 - Within group cq (prefix _ indicates shortened variable name)
- Within group assoc (prefix _ indicates shortened variable name)
 - Within group occupied (prefix _ indicates shortened variable name)
 
 - Within group assoc (prefix _ indicates shortened variable name)
 - Within group cyto (prefix _ indicates shortened variable name)
 - Within group jsr (prefix _ indicates shortened variable name)
 - Within group jsr_sub (prefix _ indicates shortened variable name)
 - Within group nsr (prefix _ indicates shortened variable name)
 - Within group sub (prefix _ indicates shortened variable name)
 - Within group tc (prefix _ indicates shortened variable name)
- Within group assoc (prefix _ indicates shortened variable name)
 - Within group occupied (prefix _ indicates shortened variable name)
 
 - Within group assoc (prefix _ indicates shortened variable name)
 - Within group tm (prefix _ indicates shortened variable name)
- Within group free (prefix _ indicates shortened variable name)
 - Within group occupied_a (prefix _ indicates shortened variable name)
 - Within group occupied_b (prefix _ indicates shortened variable name)
 
 
 
Functions:
function hillLangmuir "Hill-Langmuir equation measuring the occupancy of a molecule by a ligand"
  input Real c(quantity = "Concentration", unit = "mol/m3") "ligand concentration";
  input Real ka(quantity = "Concentration", unit = "mol/m3") "concentration producing half occupation";
  input Real n(unit = "1") "Hill coefficient";
  output Real rate(unit = "1") "occupancy of molecule by ligand";
algorithm
  rate := c ^ n / (c ^ n + ka ^ n);
end hillLangmuir;function michaelisMenten "equation for enzymatic reactions following Michaelis-Menten kinetics"
  input Real s(quantity = "Concentration", unit = "mol/m3") "substrate concentration";
  input Real k(quantity = "Concentration", unit = "mol/m3") "concentration producing half-maximum reaction rate (michaelis constant)";
  output Real rate(unit = "1") "reaction rate";
algorithm
  rate := s / (s + k);
end michaelisMenten;function gaussianAmp "gaussian function with freely adjustable amplitude and offset"
  input Real x "input value";
  input Real y_min = 0.0 "minimum value achieved at edges (fitting parameter)";
  input Real y_max = 1.0 "maximum value achieved at peak (fititng parameter)";
  input Real x0 = 0.0 "x-value of bell curve midpoint (fitting parameter)";
  input Real sigma = 1.0 "standard deviation determining the width of the bell curve (fitting parameter)";
  output Real y "result";
  protected Real x_adj "adjusted x with offset and standard deviation";
algorithm
  x_adj := (x - x0) / sigma;
  y := y_min + (y_max - y_min) * exp(-0.5 * x_adj ^ 2.0);
end gaussianAmp;| name | unit | label | value | 
|---|---|---|---|
| ca.cm_sl.occupied.con | "mol/m3" | concentration of substance in compartment | |
| ca.cm_sl.occupied.substance.amount | "mol" | amount of substance | |
| ca.cm_sl.free.con | "mol/m3" | concentration of substance in compartment | |
| ca.cm_sl.free.substance.amount | "mol" | amount of substance | |
| ca.cm_sl.site.rate | "mol/s" | molar flow rate of substance | |
| ca.cq.occupied.con | "mol/m3" | concentration of substance in compartment | |
| ca.cq.occupied.substance.amount | "mol" | amount of substance | |
| ca.cq.free.con | "mol/m3" | concentration of substance in compartment | |
| ca.cq.free.substance.amount | "mol" | amount of substance | |
| ca.cq.site.rate | "mol/s" | molar flow rate of substance | |
| ca.cm_sub.occupied.con | "mol/m3" | concentration of substance in compartment | |
| ca.cm_sub.occupied.substance.amount | "mol" | amount of substance | |
| ca.cm_sub.free.con | "mol/m3" | concentration of substance in compartment | |
| ca.cm_sub.free.substance.amount | "mol" | amount of substance | |
| ca.cm_sub.site.rate | "mol/s" | molar flow rate of substance | |
| ca.cm_cyto.occupied.con | "mol/m3" | concentration of substance in compartment | |
| ca.cm_cyto.occupied.substance.amount | "mol" | amount of substance | |
| ca.cm_cyto.free.con | "mol/m3" | concentration of substance in compartment | |
| ca.cm_cyto.free.substance.amount | "mol" | amount of substance | |
| ca.cm_cyto.site.rate | "mol/s" | molar flow rate of substance | |
| ca.tm.occupied_b.con | "mol/m3" | concentration of substance in compartment | |
| ca.tm.occupied_b.substance.amount | "mol" | amount of substance | |
| ca.tm.occupied_a.con | "mol/m3" | concentration of substance in compartment | |
| ca.tm.occupied_a.substance.amount | "mol" | amount of substance | |
| ca.tm.free.con | "mol/m3" | concentration of substance in compartment | |
| ca.tm.free.substance.rate | "mol/s" | molar flow rate of substance | |
| ca.tm.free.substance.amount | "mol" | amount of substance | |
| ca.tm.site_b.rate | "mol/s" | molar flow rate of substance | |
| ca.tm.site_a.rate | "mol/s" | molar flow rate of substance | |
| ca.tc.occupied.con | "mol/m3" | concentration of substance in compartment | |
| ca.tc.occupied.substance.amount | "mol" | amount of substance | |
| ca.tc.free.con | "mol/m3" | concentration of substance in compartment | |
| ca.tc.free.substance.amount | "mol" | amount of substance | |
| ca.tc.site.rate | "mol/s" | molar flow rate of substance | |
| ca.jsr_sub.coeff | "1/s" | coefficient of transport | |
| ca.jsr_sub.rate | "mol/s" | rate of change in substance amount | |
| ca.nsr_jsr.rate | "mol/s" | rate of change in substance amount | |
| ca.cyto_nsr.rate | "mol/s" | rate of change in substance amount | |
| ca.sub_cyto.rate | "mol/s" | rate of change in substance amount | |
| ca.nsr.con | "mol/m3" | concentration of substance in compartment | |
| ca.nsr.substance.rate | "mol/s" | molar flow rate of substance | |
| ca.nsr.substance.amount | "mol" | amount of substance | |
| ca.jsr.con | "mol/m3" | concentration of substance in compartment | |
| ca.jsr.substance.rate | "mol/s" | molar flow rate of substance | |
| ca.jsr.substance.amount | "mol" | amount of substance | |
| ca.cyto.con | "mol/m3" | concentration of substance in compartment | |
| ca.cyto.substance.rate | "mol/s" | molar flow rate of substance | |
| ca.cyto.substance.amount | "mol" | amount of substance | |
| ca.sub.con | "mol/m3" | concentration of substance in compartment | |
| ca.sub.substance.rate | "mol/s" | molar flow rate of substance | |
| ca.sub.substance.amount | "mol" | amount of substance | |
| ca.ca_sub.rate | "mol/s" | molar flow rate of substance | |
| naca.i_ion | "A" | ||
| naca.trans.rate | "mol/s" | rate of change in substance amount | |
| cal.i_ion | "A" | ||
| cal.trans.rate | "mol/s" | rate of change in substance amount | |
| cal.con.substance.amount | "mol" | amount of substance | cal.con.c_const * cal.con.vol | 
| naca.con.substance.amount | "mol" | amount of substance | naca.con.c_const * naca.con.vol | 
| ca.mg.substance.amount | "mol" | amount of substance | ca.mg.c_const * ca.mg.vol | 
| ca.sub_cyto.coeff | "1/s" | coefficient of transport | 1.0 / ca.sub_cyto.tau | 
| ca.nsr_jsr.coeff | "1/s" | coefficient of transport | 1.0 / ca.nsr_jsr.tau | 
| cal.trans.n | "1" | stoichiometric ratio of ion transport | cal.n_ca | 
| cal.trans.z | valence of ion | 2 | |
| cal.con.c_const | "mol/m3" | fixed concentration | ca_ex | 
| cal.con.vol | "m3" | volume of the compartment | 1.0 | 
| cal.n_ca | "1" | stoichiometric ratio of transport | 1.0 | 
| naca.trans.n | "1" | stoichiometric ratio of ion transport | naca.n_ca | 
| naca.trans.z | valence of ion | 2 | |
| naca.con.c_const | "mol/m3" | fixed concentration | ca_ex | 
| naca.con.vol | "m3" | volume of the compartment | 1.0 | 
| naca.n_ca | "1" | stoichiometric ratio of transport | -2.0 | 
| ca.tc_tot | "mol/m3" | total concentration of troponin-Ca | 0.031 | 
| ca.tmc_tot | "mol/m3" | total concentration of troponin-Mg binding to Ca2+ | 0.062 | 
| ca.cm_tot | "mol/m3" | total concentration of calmodulin | 0.045 | 
| ca.cq_tot | "mol/m3" | total concentration of calsequestrin | 10.0 | 
| ca.mg.c_const | "mol/m3" | fixed concentration | 2.5 | 
| ca.mg.vol | "m3" | volume of the compartment | v_cyto | 
| ca.sub.vol | "m3" | volume of the compartment | v_sub | 
| ca.sub.c_start | "mol/m3" | initial value of concentration | 0.0002294 | 
| ca.cyto.vol | "m3" | volume of the compartment | v_cyto | 
| ca.cyto.c_start | "mol/m3" | initial value of concentration | 0.0003623 | 
| ca.jsr.vol | "m3" | volume of the compartment | v_jsr | 
| ca.jsr.c_start | "mol/m3" | initial value of concentration | 0.08227 | 
| ca.nsr.vol | "m3" | volume of the compartment | v_nsr | 
| ca.nsr.c_start | "mol/m3" | initial value of concentration | 1.146 | 
| ca.sub_cyto.vol_src | "m3" | volume of source compartment | ca.sub.vol | 
| ca.sub_cyto.vol_dst | "m3" | volume of destination compartment | ca.cyto.vol | 
| ca.sub_cyto.vol_trans | "m3" | volume of substance that is transferred between compartments over 1/coeff seconds | min(ca.sub_cyto.vol_src, ca.sub_cyto.vol_dst) | 
| ca.sub_cyto.tau | "s" | time constant of diffusion | 4e-05 | 
| ca.cyto_nsr.current_name | "SERCA" | ||
| ca.cyto_nsr.vol_src | "m3" | volume of source compartment | ca.cyto.vol | 
| ca.cyto_nsr.p | "mol/s" | maximum flow rate | 5.0 * v_nsr | 
| ca.cyto_nsr.k | "mol/m3" | Michaelis constant | 0.0005999999999999999 | 
| ca.nsr_jsr.vol_src | "m3" | volume of source compartment | ca.nsr.vol | 
| ca.nsr_jsr.vol_dst | "m3" | volume of destination compartment | ca.jsr.vol | 
| ca.nsr_jsr.vol_trans | "m3" | volume of substance that is transferred between compartments over 1/coeff seconds | min(ca.nsr_jsr.vol_src, ca.nsr_jsr.vol_dst) | 
| ca.nsr_jsr.tau | "s" | time constant of diffusion | 0.06 | 
| ca.jsr_sub.vol_src | "m3" | volume of source compartment | ca.jsr.vol | 
| ca.jsr_sub.vol_dst | "m3" | volume of destination compartment | ca.sub.vol | 
| ca.jsr_sub.vol_trans | "m3" | volume of substance that is transferred between compartments over 1/coeff seconds | min(ca.jsr_sub.vol_src, ca.jsr_sub.vol_dst) | 
| ca.jsr_sub.current_name | "RyR" | ||
| ca.jsr_sub.p | "1/s" | rate coefficient (inverse of time constant) | 1500.0 | 
| ca.jsr_sub.ka | "mol/m3" | concentration producing half occupation | 0.0012 | 
| ca.jsr_sub.n | "1" | Hill coefficient | 2.0 | 
| ca.tc.n_tot | "mol" | total amount of buffer | ca.tc_tot * v_cyto | 
| ca.tc.f_start | "1" | initial value for f | 0.6838 | 
| ca.tc.k | "mol-1s-1" | association constant | 88800.0 / v_cyto | 
| ca.tc.kb | "s-1" | dissociation constant | 446.0 | 
| ca.tc.vol | "m3" | volume of compartment in which buffer resides | 1.0 | 
| ca.tc.assoc.k | "mol-1s-1" | association constant | ca.tc.k | 
| ca.tc.assoc.kb | "s-1" | dissociation constant | ca.tc.kb | 
| ca.tc.free.vol | "m3" | volume of the compartment | ca.tc.vol | 
| ca.tc.free.c_start | "mol/m3" | initial value of concentration | (1.0 - ca.tc.f_start) * ca.tc.n_tot / ca.tc.vol | 
| ca.tc.occupied.vol | "m3" | volume of the compartment | ca.tc.vol | 
| ca.tc.occupied.c_start | "mol/m3" | initial value of concentration | ca.tc.f_start * ca.tc.n_tot / ca.tc.vol | 
| ca.tm.n_tot | "mol" | total amount of buffer | ca.tmc_tot * v_cyto | 
| ca.tm.f_a_start | "1" | initial value for f | 0.6192 | 
| ca.tm.f_b_start | "1" | initial value for f | 0.3363 | 
| ca.tm.k_a | "mol-1s-1" | association constant for binding to ligand A | 227700.0 / v_cyto | 
| ca.tm.k_b | "mol-1s-1" | association constant for binding to ligand B | 2277.0 / v_cyto | 
| ca.tm.kb_a | "s-1" | dissociation constant for binding to ligand A | 7.51 | 
| ca.tm.kb_b | "s-1" | dissociation constant for binding to ligand B | 751.0 | 
| ca.tm.vol | "m3" | volume of compartment in which buffer resides | v_cyto | 
| ca.tm.assoc_a.k | "mol-1s-1" | association constant | ca.tm.k_a | 
| ca.tm.assoc_a.kb | "s-1" | dissociation constant | ca.tm.kb_a | 
| ca.tm.assoc_b.k | "mol-1s-1" | association constant | ca.tm.k_b | 
| ca.tm.assoc_b.kb | "s-1" | dissociation constant | ca.tm.kb_b | 
| ca.tm.free.vol | "m3" | volume of the compartment | ca.tm.vol | 
| ca.tm.free.c_start | "mol/m3" | initial value of concentration | (1.0 - (ca.tm.f_a_start + ca.tm.f_b_start)) * ca.tm.n_tot / ca.tm.vol | 
| ca.tm.occupied_a.vol | "m3" | volume of the compartment | ca.tm.vol | 
| ca.tm.occupied_a.c_start | "mol/m3" | initial value of concentration | ca.tm.f_a_start * ca.tm.n_tot / ca.tm.vol | 
| ca.tm.occupied_b.vol | "m3" | volume of the compartment | ca.tm.vol | 
| ca.tm.occupied_b.c_start | "mol/m3" | initial value of concentration | ca.tm.f_b_start * ca.tm.n_tot / ca.tm.vol | 
| ca.cm_cyto.n_tot | "mol" | total amount of buffer | ca.cm_tot * v_cyto | 
| ca.cm_cyto.f_start | "1" | initial value for f | 0.1336 | 
| ca.cm_cyto.k | "mol-1s-1" | association constant | 227700.0 / v_cyto | 
| ca.cm_cyto.kb | "s-1" | dissociation constant | 542.0 | 
| ca.cm_cyto.vol | "m3" | volume of compartment in which buffer resides | 1.0 | 
| ca.cm_cyto.assoc.k | "mol-1s-1" | association constant | ca.cm_cyto.k | 
| ca.cm_cyto.assoc.kb | "s-1" | dissociation constant | ca.cm_cyto.kb | 
| ca.cm_cyto.free.vol | "m3" | volume of the compartment | ca.cm_cyto.vol | 
| ca.cm_cyto.free.c_start | "mol/m3" | initial value of concentration | (1.0 - ca.cm_cyto.f_start) * ca.cm_cyto.n_tot / ca.cm_cyto.vol | 
| ca.cm_cyto.occupied.vol | "m3" | volume of the compartment | ca.cm_cyto.vol | 
| ca.cm_cyto.occupied.c_start | "mol/m3" | initial value of concentration | ca.cm_cyto.f_start * ca.cm_cyto.n_tot / ca.cm_cyto.vol | 
| ca.cm_sub.n_tot | "mol" | total amount of buffer | ca.cm_tot * v_sub | 
| ca.cm_sub.f_start | "1" | initial value for f | 0.08894000000000001 | 
| ca.cm_sub.k | "mol-1s-1" | association constant | ca.cm_cyto.k * v_cyto / v_sub | 
| ca.cm_sub.kb | "s-1" | dissociation constant | ca.cm_cyto.kb | 
| ca.cm_sub.vol | "m3" | volume of compartment in which buffer resides | 1.0 | 
| ca.cm_sub.assoc.k | "mol-1s-1" | association constant | ca.cm_sub.k | 
| ca.cm_sub.assoc.kb | "s-1" | dissociation constant | ca.cm_sub.kb | 
| ca.cm_sub.free.vol | "m3" | volume of the compartment | ca.cm_sub.vol | 
| ca.cm_sub.free.c_start | "mol/m3" | initial value of concentration | (1.0 - ca.cm_sub.f_start) * ca.cm_sub.n_tot / ca.cm_sub.vol | 
| ca.cm_sub.occupied.vol | "m3" | volume of the compartment | ca.cm_sub.vol | 
| ca.cm_sub.occupied.c_start | "mol/m3" | initial value of concentration | ca.cm_sub.f_start * ca.cm_sub.n_tot / ca.cm_sub.vol | 
| ca.cq.n_tot | "mol" | total amount of buffer | ca.cq_tot * v_jsr | 
| ca.cq.f_start | "1" | initial value for f | 0.08735999999999999 | 
| ca.cq.k | "mol-1s-1" | association constant | 534.0 / v_jsr | 
| ca.cq.kb | "s-1" | dissociation constant | 445.0 | 
| ca.cq.vol | "m3" | volume of compartment in which buffer resides | 1.0 | 
| ca.cq.assoc.k | "mol-1s-1" | association constant | ca.cq.k | 
| ca.cq.assoc.kb | "s-1" | dissociation constant | ca.cq.kb | 
| ca.cq.free.vol | "m3" | volume of the compartment | ca.cq.vol | 
| ca.cq.free.c_start | "mol/m3" | initial value of concentration | (1.0 - ca.cq.f_start) * ca.cq.n_tot / ca.cq.vol | 
| ca.cq.occupied.vol | "m3" | volume of the compartment | ca.cq.vol | 
| ca.cq.occupied.c_start | "mol/m3" | initial value of concentration | ca.cq.f_start * ca.cq.n_tot / ca.cq.vol | 
| ca.cm_sl_tot | "mol/m3" | total concentration of calmodulin in sarcolemma | 0.02583333333333333 | 
| ca.cm_sl.n_tot | "mol" | total amount of buffer | ca.cm_sl_tot * v_sub | 
| ca.cm_sl.f_start | "1" | initial value for f | 4.764e-05 | 
| ca.cm_sl.k | "mol-1s-1" | association constant | 115.0 / v_sub | 
| ca.cm_sl.kb | "s-1" | dissociation constant | 1000.0 | 
| ca.cm_sl.vol | "m3" | volume of compartment in which buffer resides | 1.0 | 
| ca.cm_sl.assoc.k | "mol-1s-1" | association constant | ca.cm_sl.k | 
| ca.cm_sl.assoc.kb | "s-1" | dissociation constant | ca.cm_sl.kb | 
| ca.cm_sl.free.vol | "m3" | volume of the compartment | ca.cm_sl.vol | 
| ca.cm_sl.free.c_start | "mol/m3" | initial value of concentration | (1.0 - ca.cm_sl.f_start) * ca.cm_sl.n_tot / ca.cm_sl.vol | 
| ca.cm_sl.occupied.vol | "m3" | volume of the compartment | ca.cm_sl.vol | 
| ca.cm_sl.occupied.c_start | "mol/m3" | initial value of concentration | ca.cm_sl.f_start * ca.cm_sl.n_tot / ca.cm_sl.vol | 
| v_sub | "m3" | volume of "fuzzy" subspace (value from C++ for N-cell) | 3.1887126e-17 | 
| v_cyto | "m3" | volume of cytosol (value from C++ for N-cell) | 1.43492067e-15 | 
| v_nsr | "m3" | volume of network SR (value from C++ for N-cell) | 3.698906616e-17 | 
| v_jsr | "m3" | volume of junctional SR (value from C++ for N-cell) | 3.82645512e-18 | 
| ca_ex | "mol/m3" | extracellular Ca2+ concentration (value not used in this simulation) | 0.0 | 
InaMo.Examples.ComponentTests.CaRyanodineReceptor
NOTE: This model does not represent any meaningful experiment, but is only used to find errors and unexpected changes in the simulation output of the tested component.
To produce unit test figure, plot ca_jsr.con and
    ca_sub.con against time.
Simulation protocol and parameters are chosen with the following rationale:
- StopTime: just large enough to see some change in variables
 - Tolerance: default value
 - Interval: same as for InaMo.Examples.ComponentTests.CaHandlingApprox
 - model parameters: same as in InaMo.Cells.VariableCa.ANCell
 
model CaRyanodineReceptor "unit test for RyanodineReceptor"
  // uses values for jsr_sub in AN cell
  extends Modelica.Icons.Example;
  InaMo.Concentrations.Atrioventricular.RyanodineReceptor jsr_sub(vol_src = v_jsr, vol_dst = v_sub, p = 5e3, ka = 0.0012, n = 2) "ryanodine receptor";
  InaMo.Concentrations.Basic.Compartment ca_jsr(c_start = 0.4273, vol = v_jsr) "Ca2+ in junctional SR";
  InaMo.Concentrations.Basic.Compartment ca_sub(c_start = 0.06397e-3, vol = v_sub) "Ca2+ in \"fuzzy\" subspace";
  parameter SI.Volume v_jsr = 5.2778723E-18 "volume of junctional SR (value for AN cell)";
  parameter SI.Volume v_sub = 4.398227E-17 "volume of \"fuzzy\" subspace (value for AN cell)";
equation
  connect(ca_jsr.substance, jsr_sub.src);
  connect(jsr_sub.dst, ca_sub.substance);
  annotation(
    Documentation(info = "<html>
    <p>NOTE: This model does not represent any meaningful experiment, but is
    only used to find errors and unexpected changes in the simulation output
    of the tested component.</p>
    <p>To produce unit test figure, plot <code>ca_jsr.con</code> and
    <code>ca_sub.con</code> against time.</p>
    <p>Simulation protocol and parameters are chosen with the following
    rationale:</p>
    <ul>
      <li>StopTime: just large enough to see some change in variables</li>
      <li>Tolerance: default value</li>
      <li>Interval: same as for InaMo.Examples.ComponentTests.CaHandlingApprox</li>
      <li>model parameters: same as in InaMo.Cells.VariableCa.ANCell</li>
    </ul>
  </html>"),
    experiment(StartTime = 0, StopTime = 0.002, Tolerance = 1e-8, Interval = 1e-5),
    __OpenModelica_simulationFlags(lv = "LOG_STATS", s = "dassl"),
    __MoST_experiment(variableFilter = "ca_(jsr|sub)\\.con"));
end CaRyanodineReceptor;- Within group ca_sub (prefix _ indicates shortened variable name)
 - Within group jsr_sub (prefix _ indicates shortened variable name)
 
Functions:
function hillLangmuir "Hill-Langmuir equation measuring the occupancy of a molecule by a ligand"
  input Real c(quantity = "Concentration", unit = "mol/m3") "ligand concentration";
  input Real ka(quantity = "Concentration", unit = "mol/m3") "concentration producing half occupation";
  input Real n(unit = "1") "Hill coefficient";
  output Real rate(unit = "1") "occupancy of molecule by ligand";
algorithm
  rate := c ^ n / (c ^ n + ka ^ n);
end hillLangmuir;| name | unit | label | value | 
|---|---|---|---|
| ca_sub.con | "mol/m3" | concentration of substance in compartment | |
| ca_sub.substance.amount | "mol" | amount of substance | |
| ca_jsr.con | "mol/m3" | concentration of substance in compartment | |
| ca_jsr.substance.amount | "mol" | amount of substance | |
| jsr_sub.coeff | "1/s" | coefficient of transport | |
| jsr_sub.rate | "mol/s" | rate of change in substance amount | |
| jsr_sub.vol_src | "m3" | volume of source compartment | v_jsr | 
| jsr_sub.vol_dst | "m3" | volume of destination compartment | v_sub | 
| jsr_sub.vol_trans | "m3" | volume of substance that is transferred between compartments over 1/coeff seconds | min(jsr_sub.vol_src, jsr_sub.vol_dst) | 
| jsr_sub.current_name | "RyR" | ||
| jsr_sub.p | "1/s" | rate coefficient (inverse of time constant) | 5000.0 | 
| jsr_sub.ka | "mol/m3" | concentration producing half occupation | 0.0012 | 
| jsr_sub.n | "1" | Hill coefficient | 2.0 | 
| ca_jsr.vol | "m3" | volume of the compartment | v_jsr | 
| ca_jsr.c_start | "mol/m3" | initial value of concentration | 0.4273 | 
| ca_sub.vol | "m3" | volume of the compartment | v_sub | 
| ca_sub.c_start | "mol/m3" | initial value of concentration | 6.397e-05 | 
| v_jsr | "m3" | volume of junctional SR (value for AN cell) | 5.2778723e-18 | 
| v_sub | "m3" | volume of "fuzzy" subspace (value for AN cell) | 4.398227e-17 | 
InaMo.Examples.ComponentTests.CaSERCA
NOTE: This model does not represent any meaningful experiment, but is only used to find errors and unexpected changes in the simulation output of the tested component.
To produce unit test figure, plot ca_cyto.con and
    ca_nsr.con against time.
Simulation protocol and parameters are chosen with the following rationale:
- StopTime: just large enough to see some change in variables
 - Tolerance: default value
 - Interval: same as for InaMo.Examples.ComponentTests.CaHandlingApprox
 - model parameters: same as in InaMo.Cells.VariableCa.ANCell
 
model CaSERCA "unit test for SERCAPump"
  // uses values for cyto_nsr in AN cell
  extends Modelica.Icons.Example;
  InaMo.Concentrations.Atrioventricular.SERCAPump cyto_nsr(vol_src = v_cyto, p = 0.005e3 * v_nsr, k = 0.0006) "SERCA pump";
  InaMo.Concentrations.Basic.Compartment ca_nsr(c_start = 1.068, vol = v_nsr) "Ca2+ in network SR";
  InaMo.Concentrations.Basic.Compartment ca_cyto(c_start = 0.1206e-3, vol = v_cyto) "Ca2+ in cytosol";
  parameter SI.Volume v_nsr = 5.10194319E-17 "volume of network SR (value for AN cell)";
  parameter SI.Volume v_cyto = 1.9792021E-15 "volume of cytosol (value for AN cell)";
equation
  connect(ca_cyto.substance, cyto_nsr.src);
  connect(cyto_nsr.dst, ca_nsr.substance);
  annotation(
    Documentation(info = "<html>
    <p>NOTE: This model does not represent any meaningful experiment, but is
    only used to find errors and unexpected changes in the simulation output
    of the tested component.</p>
    <p>To produce unit test figure, plot <code>ca_cyto.con</code> and
    <code>ca_nsr.con</code> against time.</p>
    <p>Simulation protocol and parameters are chosen with the following
    rationale:</p>
    <ul>
      <li>StopTime: just large enough to see some change in variables</li>
      <li>Tolerance: default value</li>
      <li>Interval: same as for InaMo.Examples.ComponentTests.CaHandlingApprox</li>
      <li>model parameters: same as in InaMo.Cells.VariableCa.ANCell</li>
    </ul>
  </html>"),
    experiment(StartTime = 0, StopTime = 0.01, Tolerance = 1e-6, Interval = 1e-5),
    __OpenModelica_simulationFlags(lv = "LOG_STATS", s = "dassl"),
    __MoST_experiment(variableFilter = "ca_(cyto|nsr)\\.con"));
end CaSERCA;- Within group ca_nsr (prefix _ indicates shortened variable name)
 - Within group cyto_nsr (prefix _ indicates shortened variable name)
 
Functions:
function michaelisMenten "equation for enzymatic reactions following Michaelis-Menten kinetics"
  input Real s(quantity = "Concentration", unit = "mol/m3") "substrate concentration";
  input Real k(quantity = "Concentration", unit = "mol/m3") "concentration producing half-maximum reaction rate (michaelis constant)";
  output Real rate(unit = "1") "reaction rate";
algorithm
  rate := s / (s + k);
end michaelisMenten;| name | unit | label | value | 
|---|---|---|---|
| ca_cyto.con | "mol/m3" | concentration of substance in compartment | |
| ca_cyto.substance.amount | "mol" | amount of substance | |
| ca_nsr.con | "mol/m3" | concentration of substance in compartment | |
| ca_nsr.substance.amount | "mol" | amount of substance | |
| cyto_nsr.rate | "mol/s" | rate of change in substance amount | |
| cyto_nsr.current_name | "SERCA" | ||
| cyto_nsr.vol_src | "m3" | volume of source compartment | v_cyto | 
| cyto_nsr.p | "mol/s" | maximum flow rate | 5.0 * v_nsr | 
| cyto_nsr.k | "mol/m3" | Michaelis constant | 0.0005999999999999999 | 
| ca_nsr.vol | "m3" | volume of the compartment | v_nsr | 
| ca_nsr.c_start | "mol/m3" | initial value of concentration | 1.068 | 
| ca_cyto.vol | "m3" | volume of the compartment | v_cyto | 
| ca_cyto.c_start | "mol/m3" | initial value of concentration | 0.0001206 | 
| v_nsr | "m3" | volume of network SR (value for AN cell) | 5.10194319e-17 | 
| v_cyto | "m3" | volume of cytosol (value for AN cell) | 1.9792021e-15 | 
Tests for $I_f$
InaMo.Examples.ComponentTests.HyperpolarizationActivatedIV
To reproduce Figure S4C from Inada 2009, plot vc.is_end against vc.vs_end. It is necessary to use vc.vs_end instead of vc.v_pulse, because cd captures the current density from the previous pulse.
For Figure S4D plot vc.i for 6 seconds following the start of the pulses with amplitude -120 to -60 mV.
Simulation protocol and parameters are chosen with the following rationale:
- StopTime: allow a plot from -120 mV to -50 mv
 - Tolerance: default value
 - Interval: enough to roughly follow time course of current
 - d_pulse: according to the description of Figure S4 in Inada 2009
 - d_hold: approximately 5 * max(act.tau)
 - l2.C: according to Table S15 in Inada 2009 (N cell model)
 
We assume the parameter values for the N cell model since I_f is only present in N cells.
NOTE: The plot has a disagreement with Figure S4C in Inada 2009 with current density being slightly lower (more negative) than in the reference, which is odd, since the same data is in perfect agreement with Figure S4D.
model HyperpolarizationActivatedIV "IV relationship of I_f, recreates Figures S4C and S4D from Inada 2009"
  extends InaMo.Examples.Interfaces.IVBase(vc(v_hold = -0.05, d_hold = 20, d_pulse = 4), v_start = -0.12, v_inc = 0.005);
  extends Modelica.Icons.Example;
  extends InaMo.Concentrations.Interfaces.NoACh;
  InaMo.Currents.Atrioventricular.HyperpolarizationActivatedChannel f "I_f" annotation(
    Placement(transformation(extent = {{-51, -17}, {-17, 17}})));
  InaMo.Membrane.LipidBilayer l2(use_init = false, c = 29e-12) "cell membrane" annotation(
    Placement(transformation(extent = {{17, -17}, {51, 17}})));
equation
  connect(l2.p, vc.p) annotation(
    Line(points = {{34, 18}, {34, 18}, {34, 40}, {0, 40}, {0, 18}, {0, 18}}, color = {0, 0, 255}));
  connect(vc.p, f.p) annotation(
    Line(points = {{0, 18}, {0, 18}, {0, 40}, {-34, 40}, {-34, 18}, {-34, 18}}, color = {0, 0, 255}));
  connect(l2.n, vc.n) annotation(
    Line(points = {{34, -16}, {34, -16}, {34, -40}, {0, -40}, {0, -16}, {0, -16}}, color = {0, 0, 255}));
  connect(vc.n, f.n) annotation(
    Line(points = {{0, -16}, {0, -16}, {0, -40}, {-34, -40}, {-34, -16}, {-34, -16}}, color = {0, 0, 255}));
  annotation(
    experiment(StartTime = 0, StopTime = 404, Tolerance = 1e-6, Interval = 1e-1),
    __OpenModelica_simulationFlags(lv = "LOG_STATS", s = "dassl"),
    __MoST_experiment(variableFilter = "vc\\.(is_end|vs_end|i|v|v_pulse)"),
    Documentation(info = "
    <html>
      <p>To reproduce Figure S4C from Inada 2009, plot vc.is_end against
      vc.vs_end.
      It is necessary to use vc.vs_end instead of vc.v_pulse, because cd
      captures the current density from the <i>previous</i> pulse.</p>
      <p>For Figure S4D plot vc.i for 6 seconds following the start of
      the pulses with amplitude -120 to -60 mV.</p>
      <p>Simulation protocol and parameters are chosen with the following
      rationale:</p>
      <ul>
        <li>StopTime: allow a plot from -120 mV to -50 mv</li>
        <li>Tolerance: default value</li>
        <li>Interval: enough to roughly follow time course of current</li>
        <li>d_pulse: according to the description of Figure S4 in Inada 2009</li>
        <li>d_hold: approximately 5 * max(act.tau)</li>
        <li>l2.C: according to Table S15 in Inada 2009 (N cell model)</li>
      </ul>
      <p>We assume the parameter values for the N cell model since I_f is
      only present in N cells.</p>
      <p>NOTE: The plot has a disagreement with Figure S4C in Inada 2009
      with current density being slightly lower (more negative) than in the
      reference, which is odd, since the same data is in perfect agreement
      with Figure S4D.</p>
    </html>
  "));
end HyperpolarizationActivatedIV;- Within group f (prefix _ indicates shortened variable name)
 - Within group vc (prefix _ indicates shortened variable name)
 
Functions:
function fsteady
  input Real x "input value";
  input Real y_min = 0.0 "lower asymptote (fitting parameter)";
  input Real y_max = 1.0 "upper asmyptote when d_off=1 and nu=1 (fititng parameter)";
  input Real x0 = -0.08319 "x-value of sigmoid midpoint when d_off=1 and nu=1 (fitting parameter)";
  input Real sx = -73.74631268436578 "scaling factor for x axis (i.e. steepness, fitting parameter)";
  input Real se = 1.0 "scaling factor for exponential part (fitting parameter)";
  input Real d_off = 1.0 "offset in denominator (affects upper asymptote, fitting parameter)";
  input Real nu = 1.0 "reciprocal of exponent of denominator (affects upper asymptote, fitting parameter)";
  output Real y "result";
  protected Real x_adj "adjusted x with offset and scaling factor";
algorithm
  x_adj := sx * (x - x0);
  y := y_min + (y_max - y_min) / (se * exp(-x_adj) + d_off) ^ (1.0 / nu);
end fsteady;function hillLangmuir "Hill-Langmuir equation measuring the occupancy of a molecule by a ligand"
  input Real c(quantity = "Concentration", unit = "mol/m3") "ligand concentration";
  input Real ka(quantity = "Concentration", unit = "mol/m3") "concentration producing half occupation";
  input Real n(unit = "1") "Hill coefficient";
  output Real rate(unit = "1") "occupancy of molecule by ligand";
algorithm
  rate := c ^ n / (c ^ n + ka ^ n);
end hillLangmuir;function absmax "returns input whose absolute value is larger, preserving the sign"
  input Real a "first input";
  input Real b "second input";
  output Real m "a if abs(a) > abs(b), otherwise b";
algorithm
  m := if abs(a) > abs(b) then a else b;
end absmax;function ftau
  input Real x "input value";
  input Real y_min = 0.25 "minimum value achieved at edges (fitting parameter)";
  input Real y_max = 2.25 "maximum value achieved at peak (fititng parameter)";
  input Real x0 = -0.07000000000000001 "x-value of bell curve midpoint (fitting parameter)";
  input Real sigma = 0.0158113883008419 "standard deviation determining the width of the bell curve (fitting parameter)";
  output Real y "result";
  protected Real x_adj "adjusted x with offset and standard deviation";
algorithm
  x_adj := (x - x0) / sigma;
  y := y_min + (y_max - y_min) * exp(-0.5 * x_adj ^ 2.0);
end ftau;| name | unit | label | value | 
|---|---|---|---|
| l2.i | "A" | Current flowing from pin p to pin n | |
| l2.v | "V" | Voltage drop of the two pins (= p.v - n.v) | |
| f.act.tau | "s" | time constant for obtaining steady state (i.e. time until difference between n and steady has reduced by a factor of 1/e) | |
| f.act.steady | value that n would reach if v_gate was held constant | ||
| f.act.n | "1" | ratio of molecules in open conformation | 0.002161140405175932 | 
| f.g | "S" | ion conductance | |
| f.i_open | "A" | i if open_ratio = 1 | |
| f.i_ion | "A" | current used for ion flux | |
| vc.after_pulse | true after pulse has passed | ||
| vc.within_pulse | true during pulse | ||
| vc.vp_last | "V" | voltage of last pulse | 0.0 | 
| vc.tp_last | "s" | time stamp of start of last pulse | 0.0 | 
| vc.peak_indicator | forces event at peak (factor of 1e12 is required to detect zero crossing) | false | |
| vc.tail_i | "A" | peak current after pulse | 0.0 | 
| vc.peak_i | "A" | peak current during pulse | 0.0 | 
| vc.vs_tail | "V" | steady step function of pulse associated with is_tail | 0.0 | 
| vc.vs_end | "V" | steady step function of pulse associated with is_end | 0.0 | 
| vc.vs_peak | "V" | steady step function of pulse associated with is_peak | 0.0 | 
| vc.is_end | "A" | steady step function of current at end of last pulse | 0.0 | 
| vc.is_tail | "A" | steady step function of peak tail current after last pulse | 0.0 | 
| vc.is_peak | "A" | steady step function of peak current during last pulse | 0.0 | 
| vc.v_pulse | "V" | voltage during pulse (must be defined externally) | |
| vc.pulse_signal | 0 during holding period, 1 during pulse | 0 | |
| vc.pulse_end | signals end of pulse | ||
| vc.pulse_start | signals start of pulse | ||
| vc.i | "A" | measured membrane current | |
| vc.g.p.i | "A" | Current flowing into the pin | |
| vc.n.i | "A" | Current flowing into the pin | |
| $whenCondition1 | vc.pulse_end | ||
| $whenCondition2 | vc.pulse_start | ||
| $whenCondition3 | vc.peak_indicator <> pre(vc.peak_indicator) and vc.after_pulse or vc.pulse_end | ||
| $whenCondition4 | vc.peak_indicator <> pre(vc.peak_indicator) and vc.within_pulse or vc.pulse_end | ||
| vc.g.p.v | "V" | Potential at the pin | 0.0 | 
| vc.d_hold | "s" | holding period | 20.0 | 
| vc.d_pulse | "s" | pulse period | 4.0 | 
| vc.v_hold | "V" | voltage during holding period | -0.05 | 
| v_start | "V" | start value for pulse amplitude | -0.12 | 
| v_inc | "V" | increment for pulse amplitude | 0.005 | 
| use_ach | false | ||
| ach | "mol/m3" | 0.0 | |
| f.v_eq | "V" | equilibrium potential | -0.03 | 
| f.g_max | "S" | maximum conductance | 1e-09 | 
| f.current_name | "I_f" | ||
| f.act_shift | "V" | if use_ach then (-7.2) * InaMo.Functions.Biochemical.hillLangmuir(ach, 1.26e-05, 0.6899999999999999) else 0.0 | |
| f.act.shift | "V" | f.act_shift | |
| l2.c | "F" | membrane capacitance | 2.9e-11 | 
| l2.v_init | "V" | initial potential (from short initial stimulation) | -0.09 | 
| l2.use_init | determines whether initial value for v is used | false | 
InaMo.Examples.ComponentTests.HyperpolarizationActivatedSteady
To reproduce Figure S4A from Inada 2009, plot act_steady against v. For Figure S4B, plot act_tau against v.
Simulation protocol and parameters are chosen with the following rationale:
- StopTime: allow a plot from -120 to -40 mV
 - Tolerance: left at default value, since derivatives are not relevant
 - Interval: enough for a smooth plot
 
model HyperpolarizationActivatedSteady "steady state of I_f, recreates Figures S4A and S4B from Inada 2009"
  extends Modelica.Icons.Example;
  extends InaMo.Concentrations.Interfaces.NoACh;
  InaMo.Membrane.LipidBilayer l2(use_init = false) "cell membrane" annotation(
    Placement(transformation(extent = {{17, -17}, {51, 17}})));
  InaMo.ExperimentalMethods.VoltageClamp.VoltageClamp vc "voltage clamp" annotation(
    Placement(transformation(extent = {{-17, -17}, {17, 17}})));
  InaMo.Currents.Atrioventricular.HyperpolarizationActivatedChannel f "I_f" annotation(
    Placement(transformation(extent = {{-51, -17}, {-17, 17}})));
  Real act_steady = f.act.steady "steady state of activation gate";
  Real act_tau = f.act.tau "time constant of activation gate";
  SI.Voltage v(start = -0.12, fixed = true);
equation
  vc.v_stim = v;
  der(v) = 0.001;
  connect(l2.p, vc.p) annotation(
    Line(points = {{34, 18}, {34, 18}, {34, 40}, {0, 40}, {0, 18}, {0, 18}}, color = {0, 0, 255}));
  connect(vc.p, f.p) annotation(
    Line(points = {{0, 18}, {0, 18}, {0, 40}, {-34, 40}, {-34, 18}, {-34, 18}}, color = {0, 0, 255}));
  connect(l2.n, vc.n) annotation(
    Line(points = {{34, -16}, {34, -16}, {34, -40}, {0, -40}, {0, -16}, {0, -16}}, color = {0, 0, 255}));
  connect(vc.n, f.n) annotation(
    Line(points = {{0, -16}, {0, -16}, {0, -40}, {-34, -40}, {-34, -16}, {-34, -16}}, color = {0, 0, 255}));
  annotation(
    experiment(StartTime = 0, StopTime = 80, Tolerance = 1e-6, Interval = 1),
    __OpenModelica_simulationFlags(lv = "LOG_STATS", s = "dassl"),
    __MoST_experiment(variableFilter = "act_steady|act_tau|v|vc.v"),
    Documentation(info = "
    <html>
      <p>To reproduce Figure S4A from Inada 2009, plot act_steady against v.
      For Figure S4B, plot act_tau against v.</p>
      <p>Simulation protocol and parameters are chosen with the following
      rationale:</p>
      <ul>
        <li>StopTime: allow a plot from -120 to -40 mV</li>
        <li>Tolerance: left at default value, since derivatives are not
        relevant</li>
        <li>Interval: enough for a smooth plot</li>
      </ul>
    </html>
  "));
end HyperpolarizationActivatedSteady;- Within group f (prefix _ indicates shortened variable name)
 - Within group vc (prefix _ indicates shortened variable name)
 
Functions:
function fsteady
  input Real x "input value";
  input Real y_min = 0.0 "lower asymptote (fitting parameter)";
  input Real y_max = 1.0 "upper asmyptote when d_off=1 and nu=1 (fititng parameter)";
  input Real x0 = -0.08319 "x-value of sigmoid midpoint when d_off=1 and nu=1 (fitting parameter)";
  input Real sx = -73.74631268436578 "scaling factor for x axis (i.e. steepness, fitting parameter)";
  input Real se = 1.0 "scaling factor for exponential part (fitting parameter)";
  input Real d_off = 1.0 "offset in denominator (affects upper asymptote, fitting parameter)";
  input Real nu = 1.0 "reciprocal of exponent of denominator (affects upper asymptote, fitting parameter)";
  output Real y "result";
  protected Real x_adj "adjusted x with offset and scaling factor";
algorithm
  x_adj := sx * (x - x0);
  y := y_min + (y_max - y_min) / (se * exp(-x_adj) + d_off) ^ (1.0 / nu);
end fsteady;function hillLangmuir "Hill-Langmuir equation measuring the occupancy of a molecule by a ligand"
  input Real c(quantity = "Concentration", unit = "mol/m3") "ligand concentration";
  input Real ka(quantity = "Concentration", unit = "mol/m3") "concentration producing half occupation";
  input Real n(unit = "1") "Hill coefficient";
  output Real rate(unit = "1") "occupancy of molecule by ligand";
algorithm
  rate := c ^ n / (c ^ n + ka ^ n);
end hillLangmuir;function ftau
  input Real x "input value";
  input Real y_min = 0.25 "minimum value achieved at edges (fitting parameter)";
  input Real y_max = 2.25 "maximum value achieved at peak (fititng parameter)";
  input Real x0 = -0.07000000000000001 "x-value of bell curve midpoint (fitting parameter)";
  input Real sigma = 0.0158113883008419 "standard deviation determining the width of the bell curve (fitting parameter)";
  output Real y "result";
  protected Real x_adj "adjusted x with offset and standard deviation";
algorithm
  x_adj := (x - x0) / sigma;
  y := y_min + (y_max - y_min) * exp(-0.5 * x_adj ^ 2.0);
end ftau;| name | unit | label | value | 
|---|---|---|---|
| act_tau | "s" | time constant of activation gate | |
| act_steady | steady state of activation gate | ||
| f.act.n | "1" | ratio of molecules in open conformation | 0.002161140405175932 | 
| f.g | "S" | ion conductance | |
| f.i_open | "A" | i if open_ratio = 1 | |
| f.i_ion | "A" | current used for ion flux | |
| vc.i | "A" | measured membrane current | |
| vc.g.p.i | "A" | Current flowing into the pin | |
| vc.n.i | "A" | Current flowing into the pin | |
| l2.i | "A" | Current flowing from pin p to pin n | |
| l2.v | "V" | Voltage drop of the two pins (= p.v - n.v) | -0.12 | 
| vc.g.p.v | "V" | Potential at the pin | 0.0 | 
| use_ach | false | ||
| ach | "mol/m3" | 0.0 | |
| l2.c | "F" | membrane capacitance | 0.01 | 
| l2.v_init | "V" | initial potential (from short initial stimulation) | -0.09 | 
| l2.use_init | determines whether initial value for v is used | false | |
| f.v_eq | "V" | equilibrium potential | -0.03 | 
| f.g_max | "S" | maximum conductance | 1e-09 | 
| f.current_name | "I_f" | ||
| f.act_shift | "V" | if use_ach then (-7.2) * InaMo.Functions.Biochemical.hillLangmuir(ach, 1.26e-05, 0.6899999999999999) else 0.0 | |
| f.act.shift | "V" | f.act_shift | 
Tests for $I_{K,1}$
InaMo.Examples.ComponentTests.InwardRectifierLin
To recreate Figure 8 of Lindblad 1996, plot kir.i / i_max against vc.v.
This example uses a linear input current, because I_K,1 is modeled as an immediate current without activation or inactivation kinetics.
The following parameters are taken from Lindblad 1996 and differ from the parameters used by Inada 2009:
- kir.g_max = 5.088 nS (Table 14, Lindblad 1996)
 - l2.c = 50pF (Table 14, Lindblad 1996)
 - temp = 35 °C (Table 14, Lindblad 1996)
 - kir.Use_vact = false
 
Simulation protocol and parameters are chosen with the following rationale:
- StopTime: allow a plot from -100 to +50 mV
 - Tolerance: default value (previously a value < 1e-9 was required for dassl will to pick up the event for i_max.)
 - Interval: enough for a smooth plot
 
model InwardRectifierLin "IV relationshio of I_K1, recreates Figure 8 of Lindblad 1996"
  extends Modelica.Icons.Example;
  InaMo.Currents.Atrioventricular.InwardRectifier kir(g_max = 5.088e-9, use_vact = false) "inward rectifier with parameter settings from Lindblad1996" annotation(
    Placement(transformation(extent = {{-51, -17}, {-17, 17}})));
  InaMo.Membrane.LipidBilayer l2(c = 5e-11, use_init = false) "lipid bilayer with Lindblad1996 settings" annotation(
    Placement(transformation(extent = {{17, -17}, {51, 17}})));
  inner parameter SI.Temperature temp = SI.Conversions.from_degC(35) "membrane temperature";
  inner parameter SI.Concentration k_ex = 5 "extracellular potassium concentration";
  InaMo.ExperimentalMethods.VoltageClamp.VoltageClamp vc "voltage clamp" annotation(
    Placement(transformation(extent = {{-17, -17}, {17, 17}})));
  discrete SI.Current i_max(start = 0, fixed = true, nominal = 1e-12) "current obtained at peak";
initial equation
  vc.v_stim = -100e-3;
equation
// factor required to push value into range where zero crossing can be detected
  when der(vc.i) * 1e12 < 0 then
    i_max = kir.i;
  end when;
  der(vc.v_stim) = 1e-3;
  connect(l2.p, vc.p) annotation(
    Line(points = {{34, 18}, {34, 18}, {34, 40}, {0, 40}, {0, 18}, {0, 18}}, color = {0, 0, 255}));
  connect(vc.p, kir.p) annotation(
    Line(points = {{0, 18}, {0, 18}, {0, 40}, {-34, 40}, {-34, 18}, {-34, 18}}, color = {0, 0, 255}));
  connect(l2.n, vc.n) annotation(
    Line(points = {{34, -16}, {34, -16}, {34, -40}, {0, -40}, {0, -16}, {0, -16}}, color = {0, 0, 255}));
  connect(vc.n, kir.n) annotation(
    Line(points = {{0, -16}, {0, -16}, {0, -40}, {-34, -40}, {-34, -16}, {-34, -16}}, color = {0, 0, 255}));
  annotation(
    experiment(StartTime = 0, StopTime = 150, Tolerance = 1e-6, Interval = 1),
    __OpenModelica_simulationFlags(lv = "LOG_STATS", s = "dassl"),
    __MoST_experiment(variableFilter = "kir\\.i|i_max|vc\\.v"),
    Documentation(info = "
    <html>
      <p>To recreate Figure 8 of Lindblad 1996, plot kir.i / i_max against
      vc.v.</p>
      <p>This example uses a linear input current, because I_K,1 is modeled
      as an immediate current without activation or inactivation kinetics.</p>
      <p>The following parameters are taken from Lindblad 1996 and differ from
      the parameters used by Inada 2009:</p>
      <ul>
        <li>kir.g_max = 5.088 nS (Table 14, Lindblad 1996)</li>
        <li>l2.c = 50pF (Table 14, Lindblad 1996)</li>
        <li>temp = 35 °C (Table 14, Lindblad 1996)</li>
        <li>kir.Use_vact = false</li>
      </ul>
      <p>Simulation protocol and parameters are chosen with the following
      rationale:</p>
      <ul>
        <li>StopTime: allow a plot from -100 to +50 mV</li>
        <li>Tolerance: default value (previously a value < 1e-9 was required
          for dassl will to pick up the event for i_max.)</li>
        <li>Interval: enough for a smooth plot</li>
      </ul>
    </html>
  "));
end InwardRectifierLin;- Within group kir (prefix _ indicates shortened variable name)
 - Within group vc (prefix _ indicates shortened variable name)
 
Functions:
function fn
  input Real x "input value";
  input Real y_min = 0.5 "lower asymptote (fitting parameter)";
  input Real y_max = 1.0 "upper asmyptote when d_off=1 and nu=1 (fititng parameter)";
  input Real x0 = -0.03 "x-value of sigmoid midpoint when d_off=1 and nu=1 (fitting parameter)";
  input Real sx = 200.0 "scaling factor for x axis (i.e. steepness, fitting parameter)";
  input Real se = 1.0 "scaling factor for exponential part (fitting parameter)";
  input Real d_off = 1.0 "offset in denominator (affects upper asymptote, fitting parameter)";
  input Real nu = 1.0 "reciprocal of exponent of denominator (affects upper asymptote, fitting parameter)";
  output Real y "result";
  protected Real x_adj "adjusted x with offset and scaling factor";
algorithm
  x_adj := sx * (x - x0);
  y := y_min + (y_max - y_min) / (se * exp(-x_adj) + d_off) ^ (1.0 / nu);
end fn;function michaelisMenten "equation for enzymatic reactions following Michaelis-Menten kinetics"
  input Real s(quantity = "Concentration", unit = "mol/m3") "substrate concentration";
  input Real k(quantity = "Concentration", unit = "mol/m3") "concentration producing half-maximum reaction rate (michaelis constant)";
  output Real rate(unit = "1") "reaction rate";
algorithm
  rate := s / (s + k);
end michaelisMenten;| name | unit | label | value | 
|---|---|---|---|
| i_max | "A" | current obtained at peak | 0.0 | 
| vc.i | "A" | measured membrane current | |
| vc.v_stim | "V" | input voltage (needs to be defined externally) | |
| vc.g.p.i | "A" | Current flowing into the pin | |
| vc.n.i | "A" | Current flowing into the pin | |
| l2.i | "A" | Current flowing from pin p to pin n | |
| kir.voltage_act.n | ratio of molecules in open conformation | ||
| kir.voltage_inact.n | ratio of molecules in open conformation | ||
| kir.g | "S" | ion conductance | |
| kir.i_open | "A" | i if open_ratio = 1 | |
| kir.open_ratio | "1" | ratio between 0 (fully closed) and 1 (fully open) | |
| kir.i_ion | "A" | current used for ion flux | |
| $whenCondition1 | der(vc.i) * 1000000000000.0 < 0.0 | ||
| vc.g.p.v | "V" | Potential at the pin | 0.0 | 
| kir.n_pot | "1" | [K+]_ex-dependent gating variable | InaMo.Functions.Biochemical.michaelisMenten(k_ex, 0.59) | 
| kir.v_eq | "V" | equilibrium potential | -0.0819 | 
| kir.g_max | "S" | maximum conductance | 5.088e-09 | 
| kir.current_name | "I_K1" | ||
| kir.FoRT | helper variable to simplyfiy equations | 96485.33289000001 / (temp * 8.3144598) | |
| kir.use_vact | use voltage-dependent activation gate? (only Inada 2009) | false | |
| l2.c | "F" | membrane capacitance | 5e-11 | 
| l2.v_init | "V" | initial potential (from short initial stimulation) | -0.09 | 
| l2.use_init | determines whether initial value for v is used | false | |
| temp | "K" | membrane temperature | 288.15 | 
| k_ex | "mol/m3" | extracellular potassium concentration | 5.0 | 
Tests for $I_{Ca,L}$
InaMo.Examples.ComponentTests.LTypeCalciumIV
To reproduce Figure S1E from Inada 2009, plot vc.is_peak against vc.vs_peak. It is necessary to use vc.vs_peak instead of vc.v_pulse, because vc.is_peak captures the peak current from the previous pulse.
Simulation protocol and parameters are chosen with the following rationale:
- StopTime: allow a plot from -60 mV to 80 mv
 - Tolerance: default value (previously a value < 1e-9 was required for dassl will to pick up the event for i_max.)
 - Interval: enough to roughly follow time course of current
 - d_pulse: according to the description of Figure S1 in Inada 2009
 - d_hold: approximately 5 * max(cal.inact.tau_fast)
 - v_hold: should be -40 mV according to the description of figure S1, but we chose -70 mV as it gives better results for pulses <= -40 mV
 - l2.C: according to Table S15 in Inada 2009
 
NOTE: We assume parameter values for the NH cell model since the plot for S1H shows that Inada et al. clearly used this model although they stated that the AN cell model was used for Figure S1H. For Figure S1E, however, the parameter value actually makes no difference because the plot shows only normalized current.
model LTypeCalciumIV "IV relationship of I_Ca,L, recreates Figure S1E of Inada 2009"
  extends InaMo.Examples.Interfaces.IVBase(vc(v_hold = -0.07, d_hold = 5, d_pulse = 0.3), v_start = -0.06, v_inc = 0.005);
  extends Modelica.Icons.Example;
  extends InaMo.Concentrations.Interfaces.CaConst;
  extends InaMo.Concentrations.Interfaces.NoACh;
  inner parameter SI.Concentration ca_ex = 0 "extracellular Ca2+ concentration (value not used in this simulation)";
  replaceable InaMo.Currents.Atrioventricular.LTypeCalciumChannel cal(g_max = 21e-9) "calcium channels with parameters from NH model" annotation(
    Placement(transformation(extent = {{-51, -17}, {-17, 17}})));
  InaMo.Concentrations.Basic.ConstantConcentration ca(vol = v_sub) "calcium concentration that is affected by channel" annotation(
    Placement(transformation(extent = {{-51, -80}, {-17, -46}})));
  InaMo.Membrane.LipidBilayer l2(use_init = false, c = 40e-12) "cell membrane" annotation(
    Placement(transformation(extent = {{17, -17}, {51, 17}})));
equation
  connect(ca.substance, cal.ca) annotation(
    Line(points = {{-34, -80}, {-14, -80}, {-14, -30}, {-28, -30}, {-28, -16}, {-28, -16}}));
  connect(l2.p, vc.p) annotation(
    Line(points = {{34, 18}, {34, 18}, {34, 40}, {0, 40}, {0, 18}, {0, 18}}, color = {0, 0, 255}));
  connect(vc.p, cal.p) annotation(
    Line(points = {{0, 18}, {0, 18}, {0, 40}, {-34, 40}, {-34, 18}, {-34, 18}}, color = {0, 0, 255}));
  connect(l2.n, vc.n) annotation(
    Line(points = {{34, -16}, {34, -16}, {34, -40}, {0, -40}, {0, -16}, {0, -16}}, color = {0, 0, 255}));
  connect(vc.n, cal.n) annotation(
    Line(points = {{0, -16}, {0, -16}, {0, -40}, {-34, -40}, {-34, -16}, {-34, -16}}, color = {0, 0, 255}));
  annotation(
    experiment(StartTime = 0, StopTime = 164, Tolerance = 1e-6, Interval = 1e-2),
    __OpenModelica_simulationFlags(lv = "LOG_STATS", s = "dassl"),
    __MoST_experiment(variableFilter = "vc\\.(is_peak|vs_peak|v|v_pulse)"),
    Documentation(info = "
    <html>
    <p>To reproduce Figure S1E from Inada 2009, plot vc.is_peak against
    vc.vs_peak.
    It is necessary to use vc.vs_peak instead of vc.v_pulse, because vc.is_peak
    captures the peak current from the <i>previous</i> pulse.</p>
    <p>Simulation protocol and parameters are chosen with the following
    rationale:</p>
    <ul>
      <li>StopTime: allow a plot from -60 mV to 80 mv</li>
      <li>Tolerance: default value (previously a value < 1e-9 was required
        for dassl will to pick up the event for i_max.)</li>
      <li>Interval: enough to roughly follow time course of current</li>
      <li>d_pulse: according to the description of Figure S1 in Inada 2009</li>
      <li>d_hold: approximately 5 * max(cal.inact.tau_fast)</li>
      <li>v_hold: should be -40 mV according to the description of figure S1,
      but we chose -70 mV as it gives better results for pulses <= -40 mV</li>
      <li>l2.C: according to Table S15 in Inada 2009</li>
    </ul>
    <p>NOTE: We assume parameter values for the NH cell model since the plot for
    S1H shows that Inada et al. clearly used this model although they stated
    that the AN cell model was used for Figure S1H.
    For Figure S1E, however, the parameter value actually makes no difference
    because the plot shows only normalized current.</p>
    </html>
  "));
end LTypeCalciumIV;- Within group cal (prefix _ indicates shortened variable name)
 - Within group vc (prefix _ indicates shortened variable name)
 
Functions:
function fa
  input Real x "input value";
  input Real x0 = -0.035 "offset for x (fitting parameter)";
  input Real sy = 65.3 "scaling factor for y (fitting parameter)";
  input Real sx = -400.0 "scaling factor for x (fitting parameter)";
  output Real y "result";
  protected Real x_adj "adjusted x with offset and scaling factor";
algorithm
  x_adj := sx * (x - x0);
  if abs(x - x0) < 1e-06 then
    y := sy;
  else
    y := sy * x_adj / (exp(x_adj) - 1.0);
  end if;
end fa;function fsteady
  input Real x "input value";
  input Real y_min = 0.0 "lower asymptote (fitting parameter)";
  input Real y_max = 1.0 "upper asmyptote when d_off=1 and nu=1 (fititng parameter)";
  input Real x0 = -0.0032 "x-value of sigmoid midpoint when d_off=1 and nu=1 (fitting parameter)";
  input Real sx = 151.285930408472 "scaling factor for x axis (i.e. steepness, fitting parameter)";
  input Real se = 1.0 "scaling factor for exponential part (fitting parameter)";
  input Real d_off = 1.0 "offset in denominator (affects upper asymptote, fitting parameter)";
  input Real nu = 1.0 "reciprocal of exponent of denominator (affects upper asymptote, fitting parameter)";
  output Real y "result";
  protected Real x_adj "adjusted x with offset and scaling factor";
algorithm
  x_adj := sx * (x - x0);
  y := y_min + (y_max - y_min) / (se * exp(-x_adj) + d_off) ^ (1.0 / nu);
end fsteady;function absmax "returns input whose absolute value is larger, preserving the sign"
  input Real a "first input";
  input Real b "second input";
  output Real m "a if abs(a) > abs(b), otherwise b";
algorithm
  m := if abs(a) > abs(b) then a else b;
end absmax;function act.ftau
  input Real x "input value";
  input Real off = 0.0 "offset added to result to increase minimum (fitting parameter)";
  output Real y "result of applying the HH-style equation tau = 1/(alpha + beta)";
algorithm
  y := 1.0 / (falpha(x) + fa(x, 0.005, 10.52 / 0.4, 400.0)) + off;
end act.ftau;function michaelisMenten "equation for enzymatic reactions following Michaelis-Menten kinetics"
  input Real s(quantity = "Concentration", unit = "mol/m3") "substrate concentration";
  input Real k(quantity = "Concentration", unit = "mol/m3") "concentration producing half-maximum reaction rate (michaelis constant)";
  output Real rate(unit = "1") "reaction rate";
algorithm
  rate := s / (s + k);
end michaelisMenten;function falpha
  input Real x "input value";
  output Real y "output value";
algorithm
  y := fa(x, -0.035, 26.12 * 2.5, -1000.0 / 2.5) + fa(x, 0.0, 78.11 / 0.208, -208.0);
end falpha;function inact_fast.ftau
  input Real x "input value";
  input Real y_min = 0.01 "minimum value achieved at edges (fitting parameter)";
  input Real y_max = 0.1639 "maximum value achieved at peak (fititng parameter)";
  input Real x0 = -0.04 "x-value of bell curve midpoint (fitting parameter)";
  input Real sigma = 0.009635092111651035 "standard deviation determining the width of the bell curve (fitting parameter)";
  output Real y "result";
  protected Real x_adj "adjusted x with offset and standard deviation";
algorithm
  x_adj := (x - x0) / sigma;
  y := y_min + (y_max - y_min) * exp(-0.5 * x_adj ^ 2.0);
end inact_fast.ftau;| name | unit | label | value | 
|---|---|---|---|
| l2.i | "A" | Current flowing from pin p to pin n | |
| l2.v | "V" | Voltage drop of the two pins (= p.v - n.v) | |
| cal.inact_total | |||
| cal.inact_fast.tau | "s" | time constant for obtaining steady state (i.e. time until difference between n and steady has reduced by a factor of 1/e) | |
| cal.inact_fast.steady | value that n would reach if v_gate was held constant | ||
| cal.inact_fast.n | ratio of molecules in open conformation | 0.009992481708450124 | |
| cal.inact_slow.tau | "s" | time constant for obtaining steady state (i.e. time until difference between n and steady has reduced by a factor of 1/e) | |
| cal.inact_slow.steady | value that n would reach if v_gate was held constant | ||
| cal.inact_slow.n | ratio of molecules in open conformation | 0.009992481708450124 | |
| cal.act.tau | "s" | time constant for obtaining steady state (i.e. time until difference between n and steady has reduced by a factor of 1/e) | |
| cal.act.steady | value that n would reach if v_gate was held constant | ||
| cal.act.n | ratio of molecules in open conformation | 0.6187190947824258 | |
| cal.trans.rate | "mol/s" | rate of change in substance amount | |
| cal.g | "S" | ion conductance | |
| cal.i_open | "A" | i if open_ratio = 1 | |
| cal.open_ratio | "1" | ratio between 0 (fully closed) and 1 (fully open) | |
| cal.i_ion | "A" | current used for ion flux | |
| vc.after_pulse | true after pulse has passed | ||
| vc.within_pulse | true during pulse | ||
| vc.vp_last | "V" | voltage of last pulse | 0.0 | 
| vc.tp_last | "s" | time stamp of start of last pulse | 0.0 | 
| vc.peak_indicator | forces event at peak (factor of 1e12 is required to detect zero crossing) | false | |
| vc.tail_i | "A" | peak current after pulse | 0.0 | 
| vc.peak_i | "A" | peak current during pulse | 0.0 | 
| vc.vs_tail | "V" | steady step function of pulse associated with is_tail | 0.0 | 
| vc.vs_end | "V" | steady step function of pulse associated with is_end | 0.0 | 
| vc.vs_peak | "V" | steady step function of pulse associated with is_peak | 0.0 | 
| vc.is_end | "A" | steady step function of current at end of last pulse | 0.0 | 
| vc.is_tail | "A" | steady step function of peak tail current after last pulse | 0.0 | 
| vc.is_peak | "A" | steady step function of peak current during last pulse | 0.0 | 
| vc.v_pulse | "V" | voltage during pulse (must be defined externally) | |
| vc.pulse_signal | 0 during holding period, 1 during pulse | 0 | |
| vc.pulse_end | signals end of pulse | ||
| vc.pulse_start | signals start of pulse | ||
| vc.i | "A" | measured membrane current | |
| vc.g.p.i | "A" | Current flowing into the pin | |
| vc.n.i | "A" | Current flowing into the pin | |
| $whenCondition1 | vc.pulse_end | ||
| $whenCondition2 | vc.pulse_start | ||
| $whenCondition3 | vc.peak_indicator <> pre(vc.peak_indicator) and vc.after_pulse or vc.pulse_end | ||
| $whenCondition4 | vc.peak_indicator <> pre(vc.peak_indicator) and vc.within_pulse or vc.pulse_end | ||
| cal.con.substance.amount | "mol" | amount of substance | cal.con.c_const * cal.con.vol | 
| ca.substance.amount | "mol" | amount of substance | ca.c_const * ca.vol | 
| vc.g.p.v | "V" | Potential at the pin | 0.0 | 
| cal.ach_factor | if use_ach then 1.0 - cal.k_ach * InaMo.Functions.Biochemical.michaelisMenten(ach, 9.000000000000001e-05) else 1.0 | ||
| vc.d_hold | "s" | holding period | 5.0 | 
| vc.d_pulse | "s" | pulse period | 0.3 | 
| vc.v_hold | "V" | voltage during holding period | -0.07000000000000001 | 
| v_start | "V" | start value for pulse amplitude | -0.06 | 
| v_inc | "V" | increment for pulse amplitude | 0.005 | 
| v_sub | "m3" | 1.0 | |
| use_ach | false | ||
| ach | "mol/m3" | 0.0 | |
| ca_ex | "mol/m3" | extracellular Ca2+ concentration (value not used in this simulation) | 0.0 | 
| cal.v_eq | "V" | equilibrium potential | 0.0621 | 
| cal.g_max | "S" | maximum conductance | 2.1e-08 | 
| cal.trans.n | "1" | stoichiometric ratio of ion transport | cal.n_ca | 
| cal.trans.z | valence of ion | 2 | |
| cal.con.c_const | "mol/m3" | fixed concentration | ca_ex | 
| cal.con.vol | "m3" | volume of the compartment | 1.0 | 
| cal.n_ca | "1" | stoichiometric ratio of transport | 1.0 | 
| cal.current_name | "I_Ca,L" | ||
| cal.k_ach | "1" | ratio of maximum channel inhibition by acetylcholine | 0.0 | 
| ca.c_const | "mol/m3" | fixed concentration | 1.0 | 
| ca.vol | "m3" | volume of the compartment | v_sub | 
| l2.c | "F" | membrane capacitance | 4e-11 | 
| l2.v_init | "V" | initial potential (from short initial stimulation) | -0.09 | 
| l2.use_init | determines whether initial value for v is used | false | 
InaMo.Examples.ComponentTests.LTypeCalciumIVN
This example uses the same settings as LTypeCalciumIV, but uses the equations for the N cell model instead of the AN/NH cell models.
To reproduce Figure S1E from Inada 2009, plot vc.is_peak against vc.vs_peak. It is necessary to use vc.vs_peak instead of vc.v_pulse, because vc.is_peak captures the peak current from the previous pulse.
All parameters are set to the same values as in LTypeCalciumIV with the same rationale.
model LTypeCalciumIVN "IV relationship of I_Ca,L, recreates Figure S1E of Inada 2009"
  // FIXME redeclare breaks icon inheritance
  extends LTypeCalciumIV(redeclare InaMo.Currents.Atrioventricular.LTypeCalciumChannelN cal(g_max = 21e-9));
  annotation(
    experiment(StartTime = 0, StopTime = 164, Tolerance = 1e-6, Interval = 1e-2),
    __OpenModelica_simulationFlags(lv = "LOG_STATS", s = "dassl"),
    __MoST_experiment(variableFilter = "vc\\.(is_peak|vs_peak|v|v_pulse)"),
    Documentation(info = "
    <html>
    <p>This example uses the same settings as LTypeCalciumIV, but uses the
    equations for the N cell model instead of the AN/NH cell models.</p>
    <p>To reproduce Figure S1E from Inada 2009, plot vc.is_peak against
    vc.vs_peak.
    It is necessary to use vc.vs_peak instead of vc.v_pulse, because vc.is_peak
    captures the peak current from the <i>previous</i> pulse.</p>
    <p>All parameters are set to the same values as in LTypeCalciumIV with the
    same rationale.</p>
    </html>
  "));
end LTypeCalciumIVN;- Within group cal (prefix _ indicates shortened variable name)
 - Within group vc (prefix _ indicates shortened variable name)
 
Functions:
function fa
  input Real x "input value";
  input Real x0 = -0.035 "offset for x (fitting parameter)";
  input Real sy = 65.3 "scaling factor for y (fitting parameter)";
  input Real sx = -400.0 "scaling factor for x (fitting parameter)";
  output Real y "result";
  protected Real x_adj "adjusted x with offset and scaling factor";
algorithm
  x_adj := sx * (x - x0);
  if abs(x - x0) < 1e-06 then
    y := sy;
  else
    y := sy * x_adj / (exp(x_adj) - 1.0);
  end if;
end fa;function fsteady
  input Real x "input value";
  input Real y_min = 0.0 "lower asymptote (fitting parameter)";
  input Real y_max = 1.0 "upper asmyptote when d_off=1 and nu=1 (fititng parameter)";
  input Real x0 = -0.0182 "x-value of sigmoid midpoint when d_off=1 and nu=1 (fitting parameter)";
  input Real sx = 200.0 "scaling factor for x axis (i.e. steepness, fitting parameter)";
  input Real se = 1.0 "scaling factor for exponential part (fitting parameter)";
  input Real d_off = 1.0 "offset in denominator (affects upper asymptote, fitting parameter)";
  input Real nu = 1.0 "reciprocal of exponent of denominator (affects upper asymptote, fitting parameter)";
  output Real y "result";
  protected Real x_adj "adjusted x with offset and scaling factor";
algorithm
  x_adj := sx * (x - x0);
  y := y_min + (y_max - y_min) / (se * exp(-x_adj) + d_off) ^ (1.0 / nu);
end fsteady;function falpha
  input Real x "input value";
  output Real y "output value";
algorithm
  y := fa(x, -0.035, 26.12 * 2.5, -1000.0 / 2.5) + fa(x, 0.0, 78.11 / 0.208, -208.0);
end falpha;function act.ftau
  input Real x "input value";
  input Real off = 0.0 "offset added to result to increase minimum (fitting parameter)";
  output Real y "result of applying the HH-style equation tau = 1/(alpha + beta)";
algorithm
  y := 1.0 / (falpha(x) + fa(x, 0.005, 10.52 / 0.4, 400.0)) + off;
end act.ftau;function absmax "returns input whose absolute value is larger, preserving the sign"
  input Real a "first input";
  input Real b "second input";
  output Real m "a if abs(a) > abs(b), otherwise b";
algorithm
  m := if abs(a) > abs(b) then a else b;
end absmax;function michaelisMenten "equation for enzymatic reactions following Michaelis-Menten kinetics"
  input Real s(quantity = "Concentration", unit = "mol/m3") "substrate concentration";
  input Real k(quantity = "Concentration", unit = "mol/m3") "concentration producing half-maximum reaction rate (michaelis constant)";
  output Real rate(unit = "1") "reaction rate";
algorithm
  rate := s / (s + k);
end michaelisMenten;function inact_fast.ftau
  input Real x "input value";
  input Real y_min = 0.01 "minimum value achieved at edges (fitting parameter)";
  input Real y_max = 0.1639 "maximum value achieved at peak (fititng parameter)";
  input Real x0 = -0.04 "x-value of bell curve midpoint (fitting parameter)";
  input Real sigma = 0.009635092111651035 "standard deviation determining the width of the bell curve (fitting parameter)";
  output Real y "result";
  protected Real x_adj "adjusted x with offset and standard deviation";
algorithm
  x_adj := (x - x0) / sigma;
  y := y_min + (y_max - y_min) * exp(-0.5 * x_adj ^ 2.0);
end inact_fast.ftau;| name | unit | label | value | 
|---|---|---|---|
| l2.i | "A" | Current flowing from pin p to pin n | |
| l2.v | "V" | Voltage drop of the two pins (= p.v - n.v) | |
| cal.inact_total | |||
| cal.inact_fast.tau | "s" | time constant for obtaining steady state (i.e. time until difference between n and steady has reduced by a factor of 1/e) | |
| cal.inact_fast.steady | value that n would reach if v_gate was held constant | ||
| cal.inact_fast.n | ratio of molecules in open conformation | 0.009992481708450124 | |
| cal.inact_slow.tau | "s" | time constant for obtaining steady state (i.e. time until difference between n and steady has reduced by a factor of 1/e) | |
| cal.inact_slow.steady | value that n would reach if v_gate was held constant | ||
| cal.inact_slow.n | ratio of molecules in open conformation | 0.009992481708450124 | |
| cal.act.tau | "s" | time constant for obtaining steady state (i.e. time until difference between n and steady has reduced by a factor of 1/e) | |
| cal.act.steady | value that n would reach if v_gate was held constant | ||
| cal.act.n | ratio of molecules in open conformation | 0.9744192116879924 | |
| cal.trans.rate | "mol/s" | rate of change in substance amount | |
| cal.g | "S" | ion conductance | |
| cal.i_open | "A" | i if open_ratio = 1 | |
| cal.open_ratio | "1" | ratio between 0 (fully closed) and 1 (fully open) | |
| cal.i_ion | "A" | current used for ion flux | |
| vc.after_pulse | true after pulse has passed | ||
| vc.within_pulse | true during pulse | ||
| vc.vp_last | "V" | voltage of last pulse | 0.0 | 
| vc.tp_last | "s" | time stamp of start of last pulse | 0.0 | 
| vc.peak_indicator | forces event at peak (factor of 1e12 is required to detect zero crossing) | false | |
| vc.tail_i | "A" | peak current after pulse | 0.0 | 
| vc.peak_i | "A" | peak current during pulse | 0.0 | 
| vc.vs_tail | "V" | steady step function of pulse associated with is_tail | 0.0 | 
| vc.vs_end | "V" | steady step function of pulse associated with is_end | 0.0 | 
| vc.vs_peak | "V" | steady step function of pulse associated with is_peak | 0.0 | 
| vc.is_end | "A" | steady step function of current at end of last pulse | 0.0 | 
| vc.is_tail | "A" | steady step function of peak tail current after last pulse | 0.0 | 
| vc.is_peak | "A" | steady step function of peak current during last pulse | 0.0 | 
| vc.v_pulse | "V" | voltage during pulse (must be defined externally) | |
| vc.pulse_signal | 0 during holding period, 1 during pulse | 0 | |
| vc.pulse_end | signals end of pulse | ||
| vc.pulse_start | signals start of pulse | ||
| vc.i | "A" | measured membrane current | |
| vc.g.p.i | "A" | Current flowing into the pin | |
| vc.n.i | "A" | Current flowing into the pin | |
| $whenCondition1 | vc.pulse_end | ||
| $whenCondition2 | vc.pulse_start | ||
| $whenCondition3 | vc.peak_indicator <> pre(vc.peak_indicator) and vc.after_pulse or vc.pulse_end | ||
| $whenCondition4 | vc.peak_indicator <> pre(vc.peak_indicator) and vc.within_pulse or vc.pulse_end | ||
| cal.con.substance.amount | "mol" | amount of substance | cal.con.c_const * cal.con.vol | 
| ca.substance.amount | "mol" | amount of substance | ca.c_const * ca.vol | 
| vc.g.p.v | "V" | Potential at the pin | 0.0 | 
| cal.ach_factor | if use_ach then 1.0 - cal.k_ach * InaMo.Functions.Biochemical.michaelisMenten(ach, 9.000000000000001e-05) else 1.0 | ||
| vc.d_hold | "s" | holding period | 5.0 | 
| vc.d_pulse | "s" | pulse period | 0.3 | 
| vc.v_hold | "V" | voltage during holding period | -0.07000000000000001 | 
| v_start | "V" | start value for pulse amplitude | -0.06 | 
| v_inc | "V" | increment for pulse amplitude | 0.005 | 
| v_sub | "m3" | 1.0 | |
| use_ach | false | ||
| ach | "mol/m3" | 0.0 | |
| ca_ex | "mol/m3" | extracellular Ca2+ concentration (value not used in this simulation) | 0.0 | 
| cal.v_eq | "V" | equilibrium potential | 0.0621 | 
| cal.g_max | "S" | maximum conductance | 2.1e-08 | 
| cal.trans.n | "1" | stoichiometric ratio of ion transport | cal.n_ca | 
| cal.trans.z | valence of ion | 2 | |
| cal.con.c_const | "mol/m3" | fixed concentration | ca_ex | 
| cal.con.vol | "m3" | volume of the compartment | 1.0 | 
| cal.n_ca | "1" | stoichiometric ratio of transport | 1.0 | 
| cal.current_name | "I_Ca,L" | ||
| cal.k_ach | "1" | ratio of maximum channel inhibition by acetylcholine | 0.0 | 
| ca.c_const | "mol/m3" | fixed concentration | 1.0 | 
| ca.vol | "m3" | volume of the compartment | v_sub | 
| l2.c | "F" | membrane capacitance | 4e-11 | 
| l2.v_init | "V" | initial potential (from short initial stimulation) | -0.09 | 
| l2.use_init | determines whether initial value for v is used | false | 
InaMo.Examples.ComponentTests.LTypeCalciumSteady
To reproduce Figure S1A and S1B from Inada 2009, plot act_steady and inact_steady against v. For Figure S1C and S1D, plot inact_tau_fast and inact_tau_slow against v.
Simulation protocol and parameters are chosen with the following rationale:
- StopTime: allow a plot from -80 to 60 mV
 - Tolerance: left at default value, since derivatives are not relevant
 - Interval: enough for a smooth plot
 
model LTypeCalciumSteady "steady state of I_Ca,L, recreates Figures S1A-S1D from Inada 2009"
  extends Modelica.Icons.Example;
  extends InaMo.Concentrations.Interfaces.CaConst;
  extends InaMo.Concentrations.Interfaces.NoACh;
  inner parameter SI.Concentration ca_ex = 0 "extracellular Ca2+ concentration (value not used in this simulation)";
  InaMo.Membrane.LipidBilayer l2(use_init = false) "cell membrane" annotation(
    Placement(transformation(extent = {{17, -17}, {51, 17}})));
  InaMo.ExperimentalMethods.VoltageClamp.VoltageClamp vc "voltage clamp" annotation(
    Placement(transformation(extent = {{-17, -17}, {17, 17}})));
  InaMo.Currents.Atrioventricular.LTypeCalciumChannel cal "I_Ca,L (AN and NH cells)" annotation(
    Placement(transformation(extent = {{-51, -17}, {-17, 17}})));
  InaMo.Currents.Atrioventricular.LTypeCalciumChannelN calN "I_Ca,L (N cell)" annotation(
    Placement(transformation(extent = {{-85, -17}, {-51, 17}})));
  InaMo.Concentrations.Basic.ConstantConcentration ca(c_const = 0, vol = 0) "dummy Ca2+ concentration required to avoid underdetermined equation system" annotation(
    Placement(transformation(extent = {{-51, -80}, {-17, -46}})));
  Real act_steady = cal.act.steady "steady state of activation gate (AN and NH cells)";
  Real act_steady_n = calN.act.steady "steady state of activation gate (N cell)";
  SI.Duration act_tau = cal.act.tau "time constant of activation gate";
  Real inact_steady = cal.inact_slow.steady "steady state of inactivation gates";
  SI.Duration inact_tau_fast = cal.inact_fast.tau "time constant of fast inactivation gate";
  SI.Duration inact_tau_slow = cal.inact_slow.tau "time constant of slow inactivation gate";
  SI.Voltage v(start = -0.08, fixed = true) "input voltage";
equation
  vc.v_stim = v;
  der(v) = 0.001;
  connect(l2.p, vc.p) annotation(
    Line(points = {{34, 18}, {34, 18}, {34, 40}, {0, 40}, {0, 18}, {0, 18}}, color = {0, 0, 255}));
  connect(l2.n, vc.n) annotation(
    Line(points = {{34, -16}, {34, -16}, {34, -40}, {0, -40}, {0, -16}, {0, -16}}, color = {0, 0, 255}));
  connect(vc.n, cal.n) annotation(
    Line(points = {{0, -16}, {0, -16}, {0, -40}, {-34, -40}, {-34, -16}, {-34, -16}}, color = {0, 0, 255}));
  connect(cal.n, calN.n) annotation(
    Line(points = {{-34, -16}, {-34, -16}, {-34, -40}, {-68, -40}, {-68, -16}, {-68, -16}}, color = {0, 0, 255}));
  connect(vc.p, cal.p) annotation(
    Line(points = {{0, 18}, {0, 18}, {0, 40}, {-34, 40}, {-34, 18}, {-34, 18}}, color = {0, 0, 255}));
  connect(cal.p, calN.p) annotation(
    Line(points = {{-34, 18}, {-34, 18}, {-34, 40}, {-68, 40}, {-68, 18}, {-68, 18}}, color = {0, 0, 255}));
  connect(ca.substance, cal.ca) annotation(
    Line(points = {{-34, -80}, {-12, -80}, {-12, -30}, {-28, -30}, {-28, -16}, {-28, -16}}));
  connect(ca.substance, calN.ca) annotation(
    Line(points = {{-34, -80}, {-62, -80}, {-62, -16}, {-62, -16}}));
  annotation(
    experiment(StartTime = 0, StopTime = 140, Tolerance = 1e-6, Interval = 1),
    __OpenModelica_simulationFlags(lv = "LOG_STATS", s = "dassl"),
    __MoST_experiment(variableFilter = "act_steady|inact_steady|act_steady_n|act_tau|inact_tau_fast|inact_tau_slow|v|vc\\.v"),
    Documentation(info = "
    <html>
      <p>To reproduce Figure S1A and S1B from Inada 2009, plot act_steady and
      inact_steady against v.
      For Figure S1C and S1D, plot inact_tau_fast and inact_tau_slow
      against v.</p>
      <p>Simulation protocol and parameters are chosen with the following
      rationale:</p>
      <ul>
        <li>StopTime: allow a plot from -80 to 60 mV</li>
        <li>Tolerance: left at default value, since derivatives are not
        relevant</li>
        <li>Interval: enough for a smooth plot</li>
      </ul>
    </html>
  "));
end LTypeCalciumSteady;- Within group cal (prefix _ indicates shortened variable name)
 - Within group calN (prefix _ indicates shortened variable name)
 
Functions:
function fa
  input Real x "input value";
  input Real x0 = -0.035 "offset for x (fitting parameter)";
  input Real sy = 65.3 "scaling factor for y (fitting parameter)";
  input Real sx = -400.0 "scaling factor for x (fitting parameter)";
  output Real y "result";
  protected Real x_adj "adjusted x with offset and scaling factor";
algorithm
  x_adj := sx * (x - x0);
  if abs(x - x0) < 1e-06 then
    y := sy;
  else
    y := sy * x_adj / (exp(x_adj) - 1.0);
  end if;
end fa;function fsteady
  input Real x "input value";
  input Real y_min = 0.0 "lower asymptote (fitting parameter)";
  input Real y_max = 1.0 "upper asmyptote when d_off=1 and nu=1 (fititng parameter)";
  input Real x0 = -0.0032 "x-value of sigmoid midpoint when d_off=1 and nu=1 (fitting parameter)";
  input Real sx = 151.285930408472 "scaling factor for x axis (i.e. steepness, fitting parameter)";
  input Real se = 1.0 "scaling factor for exponential part (fitting parameter)";
  input Real d_off = 1.0 "offset in denominator (affects upper asymptote, fitting parameter)";
  input Real nu = 1.0 "reciprocal of exponent of denominator (affects upper asymptote, fitting parameter)";
  output Real y "result";
  protected Real x_adj "adjusted x with offset and scaling factor";
algorithm
  x_adj := sx * (x - x0);
  y := y_min + (y_max - y_min) / (se * exp(-x_adj) + d_off) ^ (1.0 / nu);
end fsteady;function act.ftau
  input Real x "input value";
  input Real off = 0.0 "offset added to result to increase minimum (fitting parameter)";
  output Real y "result of applying the HH-style equation tau = 1/(alpha + beta)";
algorithm
  y := 1.0 / (falpha(x) + fa(x, 0.005, 10.52 / 0.4, 400.0)) + off;
end act.ftau;function michaelisMenten "equation for enzymatic reactions following Michaelis-Menten kinetics"
  input Real s(quantity = "Concentration", unit = "mol/m3") "substrate concentration";
  input Real k(quantity = "Concentration", unit = "mol/m3") "concentration producing half-maximum reaction rate (michaelis constant)";
  output Real rate(unit = "1") "reaction rate";
algorithm
  rate := s / (s + k);
end michaelisMenten;function falpha
  input Real x "input value";
  output Real y "output value";
algorithm
  y := fa(x, -0.035, 26.12 * 2.5, -1000.0 / 2.5) + fa(x, 0.0, 78.11 / 0.208, -208.0);
end falpha;function inact_fast.ftau
  input Real x "input value";
  input Real y_min = 0.01 "minimum value achieved at edges (fitting parameter)";
  input Real y_max = 0.1639 "maximum value achieved at peak (fititng parameter)";
  input Real x0 = -0.04 "x-value of bell curve midpoint (fitting parameter)";
  input Real sigma = 0.009635092111651035 "standard deviation determining the width of the bell curve (fitting parameter)";
  output Real y "result";
  protected Real x_adj "adjusted x with offset and standard deviation";
algorithm
  x_adj := (x - x0) / sigma;
  y := y_min + (y_max - y_min) * exp(-0.5 * x_adj ^ 2.0);
end inact_fast.ftau;| name | unit | label | value | 
|---|---|---|---|
| inact_tau_slow | "s" | time constant of slow inactivation gate | |
| inact_tau_fast | "s" | time constant of fast inactivation gate | |
| inact_steady | steady state of inactivation gates | ||
| act_tau | "s" | time constant of activation gate | |
| act_steady_n | steady state of activation gate (N cell) | ||
| act_steady | steady state of activation gate (AN and NH cells) | ||
| ca.substance.rate | "mol/s" | molar flow rate of substance | |
| calN.inact_total | |||
| calN.inact_fast.tau | "s" | time constant for obtaining steady state (i.e. time until difference between n and steady has reduced by a factor of 1/e) | |
| calN.inact_fast.steady | value that n would reach if v_gate was held constant | ||
| calN.inact_fast.n | ratio of molecules in open conformation | 0.009992481708450124 | |
| calN.inact_slow.tau | "s" | time constant for obtaining steady state (i.e. time until difference between n and steady has reduced by a factor of 1/e) | |
| calN.inact_slow.steady | value that n would reach if v_gate was held constant | ||
| calN.inact_slow.n | ratio of molecules in open conformation | 0.009992481708450124 | |
| calN.act.tau | "s" | time constant for obtaining steady state (i.e. time until difference between n and steady has reduced by a factor of 1/e) | |
| calN.act.n | ratio of molecules in open conformation | 0.9744192116879924 | |
| calN.trans.rate | "mol/s" | rate of change in substance amount | |
| calN.g | "S" | ion conductance | |
| calN.i_open | "A" | i if open_ratio = 1 | |
| calN.open_ratio | "1" | ratio between 0 (fully closed) and 1 (fully open) | |
| calN.i_ion | "A" | current used for ion flux | |
| cal.inact_total | |||
| cal.inact_fast.steady | value that n would reach if v_gate was held constant | ||
| cal.inact_fast.n | ratio of molecules in open conformation | 0.009992481708450124 | |
| cal.inact_slow.n | ratio of molecules in open conformation | 0.009992481708450124 | |
| cal.act.n | ratio of molecules in open conformation | 0.6187190947824258 | |
| cal.trans.rate | "mol/s" | rate of change in substance amount | |
| cal.g | "S" | ion conductance | |
| cal.i_open | "A" | i if open_ratio = 1 | |
| cal.open_ratio | "1" | ratio between 0 (fully closed) and 1 (fully open) | |
| cal.i_ion | "A" | current used for ion flux | |
| vc.i | "A" | measured membrane current | |
| vc.g.p.i | "A" | Current flowing into the pin | |
| vc.n.i | "A" | Current flowing into the pin | |
| l2.i | "A" | Current flowing from pin p to pin n | |
| l2.v | "V" | Voltage drop of the two pins (= p.v - n.v) | -0.08 | 
| cal.con.substance.amount | "mol" | amount of substance | cal.con.c_const * cal.con.vol | 
| calN.con.substance.amount | "mol" | amount of substance | calN.con.c_const * calN.con.vol | 
| ca.substance.amount | "mol" | amount of substance | ca.c_const * ca.vol | 
| vc.g.p.v | "V" | Potential at the pin | 0.0 | 
| cal.ach_factor | if use_ach then 1.0 - cal.k_ach * InaMo.Functions.Biochemical.michaelisMenten(ach, 9.000000000000001e-05) else 1.0 | ||
| calN.ach_factor | if use_ach then 1.0 - calN.k_ach * InaMo.Functions.Biochemical.michaelisMenten(ach, 9.000000000000001e-05) else 1.0 | ||
| v_sub | "m3" | 1.0 | |
| use_ach | false | ||
| ach | "mol/m3" | 0.0 | |
| ca_ex | "mol/m3" | extracellular Ca2+ concentration (value not used in this simulation) | 0.0 | 
| l2.c | "F" | membrane capacitance | 0.01 | 
| l2.v_init | "V" | initial potential (from short initial stimulation) | -0.09 | 
| l2.use_init | determines whether initial value for v is used | false | |
| cal.v_eq | "V" | equilibrium potential | 0.0621 | 
| cal.g_max | "S" | maximum conductance | 1.85e-08 | 
| cal.trans.n | "1" | stoichiometric ratio of ion transport | cal.n_ca | 
| cal.trans.z | valence of ion | 2 | |
| cal.con.c_const | "mol/m3" | fixed concentration | ca_ex | 
| cal.con.vol | "m3" | volume of the compartment | 1.0 | 
| cal.n_ca | "1" | stoichiometric ratio of transport | 1.0 | 
| cal.current_name | "I_Ca,L" | ||
| cal.k_ach | "1" | ratio of maximum channel inhibition by acetylcholine | 0.0 | 
| calN.v_eq | "V" | equilibrium potential | 0.0621 | 
| calN.g_max | "S" | maximum conductance | 1.85e-08 | 
| calN.trans.n | "1" | stoichiometric ratio of ion transport | calN.n_ca | 
| calN.trans.z | valence of ion | 2 | |
| calN.con.c_const | "mol/m3" | fixed concentration | ca_ex | 
| calN.con.vol | "m3" | volume of the compartment | 1.0 | 
| calN.n_ca | "1" | stoichiometric ratio of transport | 1.0 | 
| calN.current_name | "I_Ca,L" | ||
| calN.k_ach | "1" | ratio of maximum channel inhibition by acetylcholine | 0.0 | 
| ca.c_const | "mol/m3" | fixed concentration | 0.0 | 
| ca.vol | "m3" | volume of the compartment | 0.0 | 
InaMo.Examples.ComponentTests.LTypeCalciumStep
This example is required separately from LTypeCalciumIV and LTypeCalciumIVN, because it needs a much more fine grained step size to accurately show the current time course.
To reproduce Figure S1H in Inada 2009 plot vc.i against time.
NOTE: Inada et al. state that they used AN cells for plot S1H, but actual value of peak current suggests that parameters of NH cells were used instead.
NOTE: The x axis of Figure S1H seems to be scaled differently than the measuring strip in the plot suggests. To obtain a good fit, time stamps extracted from the figure have to be multiplied by a scaling factor of 0.75.
Simulation protocol and parameters are chosen with the following rationale:
- StopTime: allow that the steady state is reached both before the step and after the step
 
Tolerance: default value
Interval: accurately show time course of currentmodel LTypeCalciumStep "response of I_Ca,L to a step from -40 mV to 10 mV, recreates figure 1H from inada 2009"
  extends Modelica.Icons.Example;
  extends InaMo.Concentrations.Interfaces.CaConst;
  extends InaMo.Concentrations.Interfaces.NoACh;
  inner parameter SI.Concentration ca_ex = 0 "extracellular Ca2+ concentration (value not used in this simulation)";
  InaMo.Currents.Atrioventricular.LTypeCalciumChannel cal(g_max = 21e-9) "I_Ca,L" annotation(
    Placement(transformation(extent = {{-51, -17}, {-17, 17}})));
  InaMo.Concentrations.Basic.ConstantConcentration ca(vol = v_sub) "dummy Ca2+ concentration required to avoid underdetermined equation system" annotation(
    Placement(transformation(extent = {{-51, -80}, {-17, -46}})));
  InaMo.Membrane.LipidBilayer l2(use_init = false, c = 40e-12) "cell membrane" annotation(
    Placement(transformation(extent = {{17, -17}, {51, 17}})));
  InaMo.ExperimentalMethods.VoltageClamp.VoltageClamp vc(v_stim = if time < 1 then -0.04 else 0.01) "voltage clamp which changes voltage from 10 mV to -40 mV after 1 second" annotation(
    Placement(transformation(extent = {{-17, -17}, {17, 17}})));
equation
  connect(l2.p, vc.p) annotation(
    Line(points = {{34, 18}, {34, 18}, {34, 40}, {0, 40}, {0, 18}, {0, 18}}, color = {0, 0, 255}));
  connect(vc.p, cal.p) annotation(
    Line(points = {{0, 18}, {0, 18}, {0, 40}, {-34, 40}, {-34, 18}, {-34, 18}}, color = {0, 0, 255}));
  connect(l2.n, vc.n) annotation(
    Line(points = {{34, -16}, {34, -16}, {34, -40}, {0, -40}, {0, -16}, {0, -16}}, color = {0, 0, 255}));
  connect(vc.n, cal.n) annotation(
    Line(points = {{0, -16}, {0, -16}, {0, -40}, {-34, -40}, {-34, -16}, {-34, -16}}, color = {0, 0, 255}));
  connect(ca.substance, cal.ca) annotation(
    Line(points = {{-34, -80}, {-14, -80}, {-14, -30}, {-28, -30}, {-28, -16}, {-28, -16}}));
  annotation(
    experiment(StartTime = 0, StopTime = 2, Tolerance = 1e-6, Interval = 1e-4),
    __OpenModelica_simulationFlags(lv = "LOG_STATS", s = "dassl"),
    __MoST_experiment(variableFilter = "vc\\.i"),
    Documentation(info = "
    <html>
      <p>This example is required separately from LTypeCalciumIV and
      LTypeCalciumIVN, because it needs a much more fine grained step size to
      accurately show the current time course.</p>
      <p>To reproduce Figure S1H in Inada 2009 plot vc.i against time.</p>
      <p>NOTE: Inada et al. state that they used AN cells for plot S1H, but
      actual value of peak current suggests that parameters of NH cells were
      used instead.</p>
      <p>NOTE: The x axis of Figure S1H seems to be scaled differently than
      the measuring strip in the plot suggests. To obtain a good fit, time
      stamps extracted from the figure have to be multiplied by a scaling
      factor of 0.75.</p>
      <p>Simulation protocol and parameters are chosen with the following
      rationale:</p>
      <ul>
        <li>StopTime: allow that the steady state is reached both
        before the step and after the step</li>
        <p>Tolerance: default value</p
        <li>Interval: accurately show time course of current</li>
      </ul>
    </html>
  "));
end LTypeCalciumStep;- Within group cal (prefix _ indicates shortened variable name)
 
Functions:
function fa
  input Real x "input value";
  input Real x0 = -0.035 "offset for x (fitting parameter)";
  input Real sy = 65.3 "scaling factor for y (fitting parameter)";
  input Real sx = -400.0 "scaling factor for x (fitting parameter)";
  output Real y "result";
  protected Real x_adj "adjusted x with offset and scaling factor";
algorithm
  x_adj := sx * (x - x0);
  if abs(x - x0) < 1e-06 then
    y := sy;
  else
    y := sy * x_adj / (exp(x_adj) - 1.0);
  end if;
end fa;function fsteady
  input Real x "input value";
  input Real y_min = 0.0 "lower asymptote (fitting parameter)";
  input Real y_max = 1.0 "upper asmyptote when d_off=1 and nu=1 (fititng parameter)";
  input Real x0 = -0.0032 "x-value of sigmoid midpoint when d_off=1 and nu=1 (fitting parameter)";
  input Real sx = 151.285930408472 "scaling factor for x axis (i.e. steepness, fitting parameter)";
  input Real se = 1.0 "scaling factor for exponential part (fitting parameter)";
  input Real d_off = 1.0 "offset in denominator (affects upper asymptote, fitting parameter)";
  input Real nu = 1.0 "reciprocal of exponent of denominator (affects upper asymptote, fitting parameter)";
  output Real y "result";
  protected Real x_adj "adjusted x with offset and scaling factor";
algorithm
  x_adj := sx * (x - x0);
  y := y_min + (y_max - y_min) / (se * exp(-x_adj) + d_off) ^ (1.0 / nu);
end fsteady;function falpha
  input Real x "input value";
  output Real y "output value";
algorithm
  y := fa(x, -0.035, 26.12 * 2.5, -1000.0 / 2.5) + fa(x, 0.0, 78.11 / 0.208, -208.0);
end falpha;function act.ftau
  input Real x "input value";
  input Real off = 0.0 "offset added to result to increase minimum (fitting parameter)";
  output Real y "result of applying the HH-style equation tau = 1/(alpha + beta)";
algorithm
  y := 1.0 / (falpha(x) + fa(x, 0.005, 10.52 / 0.4, 400.0)) + off;
end act.ftau;function michaelisMenten "equation for enzymatic reactions following Michaelis-Menten kinetics"
  input Real s(quantity = "Concentration", unit = "mol/m3") "substrate concentration";
  input Real k(quantity = "Concentration", unit = "mol/m3") "concentration producing half-maximum reaction rate (michaelis constant)";
  output Real rate(unit = "1") "reaction rate";
algorithm
  rate := s / (s + k);
end michaelisMenten;function inact_fast.ftau
  input Real x "input value";
  input Real y_min = 0.01 "minimum value achieved at edges (fitting parameter)";
  input Real y_max = 0.1639 "maximum value achieved at peak (fititng parameter)";
  input Real x0 = -0.04 "x-value of bell curve midpoint (fitting parameter)";
  input Real sigma = 0.009635092111651035 "standard deviation determining the width of the bell curve (fitting parameter)";
  output Real y "result";
  protected Real x_adj "adjusted x with offset and standard deviation";
algorithm
  x_adj := (x - x0) / sigma;
  y := y_min + (y_max - y_min) * exp(-0.5 * x_adj ^ 2.0);
end inact_fast.ftau;| name | unit | label | value | 
|---|---|---|---|
| vc.i | "A" | measured membrane current | |
| vc.g.p.i | "A" | Current flowing into the pin | |
| vc.n.i | "A" | Current flowing into the pin | |
| l2.i | "A" | Current flowing from pin p to pin n | |
| l2.v | "V" | Voltage drop of the two pins (= p.v - n.v) | |
| cal.inact_total | |||
| cal.inact_fast.tau | "s" | time constant for obtaining steady state (i.e. time until difference between n and steady has reduced by a factor of 1/e) | |
| cal.inact_fast.steady | value that n would reach if v_gate was held constant | ||
| cal.inact_fast.n | ratio of molecules in open conformation | 0.009992481708450124 | |
| cal.inact_slow.tau | "s" | time constant for obtaining steady state (i.e. time until difference between n and steady has reduced by a factor of 1/e) | |
| cal.inact_slow.steady | value that n would reach if v_gate was held constant | ||
| cal.inact_slow.n | ratio of molecules in open conformation | 0.009992481708450124 | |
| cal.act.tau | "s" | time constant for obtaining steady state (i.e. time until difference between n and steady has reduced by a factor of 1/e) | |
| cal.act.steady | value that n would reach if v_gate was held constant | ||
| cal.act.n | ratio of molecules in open conformation | 0.6187190947824258 | |
| cal.trans.rate | "mol/s" | rate of change in substance amount | |
| cal.g | "S" | ion conductance | |
| cal.i_open | "A" | i if open_ratio = 1 | |
| cal.open_ratio | "1" | ratio between 0 (fully closed) and 1 (fully open) | |
| cal.i_ion | "A" | current used for ion flux | |
| cal.con.substance.amount | "mol" | amount of substance | cal.con.c_const * cal.con.vol | 
| ca.substance.amount | "mol" | amount of substance | ca.c_const * ca.vol | 
| vc.g.p.v | "V" | Potential at the pin | 0.0 | 
| cal.ach_factor | if use_ach then 1.0 - cal.k_ach * InaMo.Functions.Biochemical.michaelisMenten(ach, 9.000000000000001e-05) else 1.0 | ||
| v_sub | "m3" | 1.0 | |
| use_ach | false | ||
| ach | "mol/m3" | 0.0 | |
| ca_ex | "mol/m3" | extracellular Ca2+ concentration (value not used in this simulation) | 0.0 | 
| cal.v_eq | "V" | equilibrium potential | 0.0621 | 
| cal.g_max | "S" | maximum conductance | 2.1e-08 | 
| cal.trans.n | "1" | stoichiometric ratio of ion transport | cal.n_ca | 
| cal.trans.z | valence of ion | 2 | |
| cal.con.c_const | "mol/m3" | fixed concentration | ca_ex | 
| cal.con.vol | "m3" | volume of the compartment | 1.0 | 
| cal.n_ca | "1" | stoichiometric ratio of transport | 1.0 | 
| cal.current_name | "I_Ca,L" | ||
| cal.k_ach | "1" | ratio of maximum channel inhibition by acetylcholine | 0.0 | 
| ca.c_const | "mol/m3" | fixed concentration | 1.0 | 
| ca.vol | "m3" | volume of the compartment | v_sub | 
| l2.c | "F" | membrane capacitance | 4e-11 | 
| l2.v_init | "V" | initial potential (from short initial stimulation) | -0.09 | 
| l2.use_init | determines whether initial value for v is used | false | 
Tests for $I_{K,r}$
InaMo.Examples.ComponentTests.RapidDelayedRectifierIV
To reproduce Figure S3C from Inada 2009, plot vc.is_end against vc.vs_end. To reproduce Figure S3D from Inada 2009, plot vc.is_tail against vc.vs_tail. It is necessary to use vc.vs_end/vc.vs_tail instead of vc.v_pulse, because vc.is_end and vc.is_tail capture the current from the previous pulse.
To reproduce Figure S3E from Inada 2009, plot vc.i against time starting 5 ms before and ending 500ms after the pulses with amplitude -10 mV, 10 mV and 30 mV.
Simulation protocol and parameters are chosen with the following rationale:
- StopTime: allow a plot from -40 mV to 60 mV
 - Tolerance: default value
 - d_pulse: according to description of Figure S3 in Inada 2009
 - d_hold: approximately 5 * max(inact.tau)
 - v_hold: according to description of Figure S3 in Inada 2009
 - l2.C: according to Table S15 in Inada 2009 (AN cell model)
 - g_max: according to Table S15 in Inada 2009 (AN cell model)
 
NOTE: IV-curve in S3C seem to be shifted by 5 mV towards lower voltages. This could be explained if Inada et al. accidentally associated currents with the newly started pulse right after the current was measured instead of the previous pulse.
model RapidDelayedRectifierIV "IV relationship of I_K,r, recreates Figure S3C-S3E"
  extends InaMo.Examples.Interfaces.IVBase(vc(v_hold = -0.04, d_hold = 5, d_pulse = 0.5), v_start = -0.04, v_inc = 0.005);
  extends Modelica.Icons.Example;
  parameter SI.Concentration k_in = 140 "intracellular potassium concentration";
  parameter SI.Concentration k_ex = 5.4 "extracellular potassium concentration";
  parameter SI.Temperature temp = 310 "cell medium temperature";
  parameter SI.Voltage v_k = nernst(k_in, k_ex, 1, temp) "equilibrium potential for K+ ions";
  InaMo.Currents.Atrioventricular.RapidDelayedRectifierChannel kr(g_max = 1.5e-9, v_eq = v_k) "I_K,r channel with parameters of AN cell model" annotation(
    Placement(transformation(extent = {{-51, -17}, {-17, 17}})));
  InaMo.Membrane.LipidBilayer l2(use_init = false, c = 40e-12) "cell membrane" annotation(
    Placement(transformation(extent = {{17, -17}, {51, 17}})));
equation
  connect(l2.p, vc.p) annotation(
    Line(points = {{34, 18}, {34, 18}, {34, 40}, {0, 40}, {0, 18}, {0, 18}}, color = {0, 0, 255}));
  connect(vc.p, kr.p) annotation(
    Line(points = {{0, 18}, {0, 18}, {0, 40}, {-34, 40}, {-34, 18}, {-34, 18}}, color = {0, 0, 255}));
  connect(l2.n, vc.n) annotation(
    Line(points = {{34, -16}, {34, -16}, {34, -40}, {0, -40}, {0, -16}, {0, -16}}, color = {0, 0, 255}));
  connect(vc.n, kr.n) annotation(
    Line(points = {{0, -16}, {0, -16}, {0, -40}, {-34, -40}, {-34, -16}, {-34, -16}}, color = {0, 0, 255}));
  annotation(
    experiment(StartTime = 0, StopTime = 126, Tolerance = 1e-12, Interval = 1e-2),
    __OpenModelica_simulationFlags(lv = "LOG_STATS", s = "dassl"),
    __MoST_experiment(variableFilter = "vc\\.(is_end|vs_end|is_tail|vs_tail|is_peak|vs_peak|i|v|v_pulse)"),
    Documentation(info = "
    <html>
    <p>To reproduce Figure S3C from Inada 2009, plot vc.is_end against
    vc.vs_end.
    To reproduce Figure S3D from Inada 2009, plot vc.is_tail against
    vc.vs_tail.
    It is necessary to use vc.vs_end/vc.vs_tail instead of vc.v_pulse,
    because vc.is_end and vc.is_tail capture the current from the
    <i>previous</i> pulse.</p>
    <p>To reproduce Figure S3E from Inada 2009, plot vc.i against time starting
    5 ms before and ending 500ms after the pulses with amplitude -10 mV, 10 mV
    and 30 mV.</p>
    <p>Simulation protocol and parameters are chosen with the following
    rationale:</p>
    <ul>
      <li>StopTime: allow a plot from -40 mV to 60 mV</li>
      <li>Tolerance: default value</li>
      <li>d_pulse: according to description of Figure S3 in Inada 2009</li>
      <li>d_hold: approximately 5 * max(inact.tau)</li>
      <li>v_hold: according to description of Figure S3 in Inada 2009</li>
      <li>l2.C: according to Table S15 in Inada 2009 (AN cell model)</li>
      <li>g_max: according to Table S15 in Inada 2009 (AN cell model)</li>
    </ul>
    <p>NOTE: IV-curve in S3C seem to be shifted by 5 mV towards lower
    voltages.
    This could be explained if Inada et al. accidentally associated currents
    with the newly started pulse right after the current was measured instead
    of the previous pulse.</p>
  "));
end RapidDelayedRectifierIV;- Within group kr (prefix _ indicates shortened variable name)
 - Within group vc (prefix _ indicates shortened variable name)
 
Functions:
function inact.ftau
  input Real x "input value";
  input Real off = 0.0 "offset added to result to increase minimum (fitting parameter)";
  output Real y "result of applying the HH-style equation tau = 1/(alpha + beta)";
algorithm
  y := 1.0 / (falpha(x, 0.0, 9.42, 603.6) + falpha(x, 0.0, -18.3, 92.01000000000001)) + off;
end inact.ftau;function act_fast.fsteady
  input Real x "input value";
  input Real y_min = 0.0 "lower asymptote (fitting parameter)";
  input Real y_max = 1.0 "upper asmyptote when d_off=1 and nu=1 (fititng parameter)";
  input Real x0 = -0.01022 "x-value of sigmoid midpoint when d_off=1 and nu=1 (fitting parameter)";
  input Real sx = 117.6470588235294 "scaling factor for x axis (i.e. steepness, fitting parameter)";
  input Real se = 1.0 "scaling factor for exponential part (fitting parameter)";
  input Real d_off = 1.0 "offset in denominator (affects upper asymptote, fitting parameter)";
  input Real nu = 1.0 "reciprocal of exponent of denominator (affects upper asymptote, fitting parameter)";
  output Real y "result";
  protected Real x_adj "adjusted x with offset and scaling factor";
algorithm
  x_adj := sx * (x - x0);
  y := y_min + (y_max - y_min) / (se * exp(-x_adj) + d_off) ^ (1.0 / nu);
end act_fast.fsteady;function nernst "Nernst equation to find the equlibrium potential for a single ion"
  input Real ion_in(quantity = "Concentration", unit = "mol/m3") "intracellular ion concentration";
  input Real ion_ex(quantity = "Concentration", unit = "mol/m3") "extracellular ion concentration";
  input Integer ion_z "valence of ion";
  input Real temp(quantity = "ThermodynamicTemperature", unit = "K", displayUnit = "degC", min = 0.0, start = 288.15, nominal = 300.0) "cell medium temperature";
  output Real v_eq(quantity = "ElectricPotential", unit = "V") "equlibirium potential";
algorithm
  v_eq := 8.3144598 * temp / /*Real*/(ion_z) / 96485.33289000001 * log(ion_ex / ion_in);
end nernst;function inact.fsteady
  input Real x "input value";
  output Real y "output value";
algorithm
  y := act_fast.fsteady(x, 0.0, 1.0, -0.0049, -1000.0 / 15.14, 1.0, 1.0, 1.0) * act_slow.ftau(x, 1.0, (-0.3) + 1.0, 0.0, sqrt(500.0 / 2.0) / 1000.0);
end inact.fsteady;function absmax "returns input whose absolute value is larger, preserving the sign"
  input Real a "first input";
  input Real b "second input";
  output Real m "a if abs(a) > abs(b), otherwise b";
algorithm
  m := if abs(a) > abs(b) then a else b;
end absmax;function falpha
  input Real x "input value";
  input Real x0 = 0.0 "x-value where y = 1 (fitting parameter)";
  input Real sx = 39.8 "scaling factor for x axis (fitting parameter)";
  input Real sy = 17.0 "scaling factor for y axis (fitting parameter)";
  output Real y "result";
algorithm
  y := sy * exp(sx * (x - x0));
end falpha;function act_fast.ftau
  input Real x "input value";
  input Real off = 0.0 "offset added to result to increase minimum (fitting parameter)";
  output Real y "result of applying the HH-style equation tau = 1/(alpha + beta)";
algorithm
  y := 1.0 / (falpha(x, 0.0, 39.8, 17.0) + falpha(x, 0.0, -51.0, 0.211)) + off;
end act_fast.ftau;function act_slow.ftau
  input Real x "input value";
  input Real y_min = 0.33581 "minimum value achieved at edges (fitting parameter)";
  input Real y_max = 1.24254 "maximum value achieved at peak (fititng parameter)";
  input Real x0 = -0.01 "x-value of bell curve midpoint (fitting parameter)";
  input Real sigma = 0.02222667316536598 "standard deviation determining the width of the bell curve (fitting parameter)";
  output Real y "result";
  protected Real x_adj "adjusted x with offset and standard deviation";
algorithm
  x_adj := (x - x0) / sigma;
  y := y_min + (y_max - y_min) * exp(-0.5 * x_adj ^ 2.0);
end act_slow.ftau;| name | unit | label | value | 
|---|---|---|---|
| l2.i | "A" | Current flowing from pin p to pin n | |
| l2.v | "V" | Voltage drop of the two pins (= p.v - n.v) | |
| kr.act_total | total activation due to slow and fast activation terms | ||
| kr.inact.tau | "s" | time constant for obtaining steady state (i.e. time until difference between n and steady has reduced by a factor of 1/e) | |
| kr.inact.steady | value that n would reach if v_gate was held constant | ||
| kr.inact.n | ratio of molecules in open conformation | 0.2938512182797032 | |
| kr.act_slow.tau | "s" | time constant for obtaining steady state (i.e. time until difference between n and steady has reduced by a factor of 1/e) | |
| kr.act_slow.steady | value that n would reach if v_gate was held constant | ||
| kr.act_slow.n | ratio of molecules in open conformation | 0.7689430941621821 | |
| kr.act_fast.tau | "s" | time constant for obtaining steady state (i.e. time until difference between n and steady has reduced by a factor of 1/e) | |
| kr.act_fast.steady | value that n would reach if v_gate was held constant | ||
| kr.act_fast.n | ratio of molecules in open conformation | 0.7689430941621821 | |
| kr.g | "S" | ion conductance | |
| kr.i_open | "A" | i if open_ratio = 1 | |
| kr.open_ratio | "1" | ratio between 0 (fully closed) and 1 (fully open) | |
| kr.i_ion | "A" | current used for ion flux | |
| vc.after_pulse | true after pulse has passed | ||
| vc.within_pulse | true during pulse | ||
| vc.vp_last | "V" | voltage of last pulse | 0.0 | 
| vc.tp_last | "s" | time stamp of start of last pulse | 0.0 | 
| vc.peak_indicator | forces event at peak (factor of 1e12 is required to detect zero crossing) | false | |
| vc.tail_i | "A" | peak current after pulse | 0.0 | 
| vc.peak_i | "A" | peak current during pulse | 0.0 | 
| vc.vs_tail | "V" | steady step function of pulse associated with is_tail | 0.0 | 
| vc.vs_end | "V" | steady step function of pulse associated with is_end | 0.0 | 
| vc.vs_peak | "V" | steady step function of pulse associated with is_peak | 0.0 | 
| vc.is_end | "A" | steady step function of current at end of last pulse | 0.0 | 
| vc.is_tail | "A" | steady step function of peak tail current after last pulse | 0.0 | 
| vc.is_peak | "A" | steady step function of peak current during last pulse | 0.0 | 
| vc.v_pulse | "V" | voltage during pulse (must be defined externally) | |
| vc.pulse_signal | 0 during holding period, 1 during pulse | 0 | |
| vc.pulse_end | signals end of pulse | ||
| vc.pulse_start | signals start of pulse | ||
| vc.i | "A" | measured membrane current | |
| vc.g.p.i | "A" | Current flowing into the pin | |
| vc.n.i | "A" | Current flowing into the pin | |
| $whenCondition1 | vc.pulse_end | ||
| $whenCondition2 | vc.pulse_start | ||
| $whenCondition3 | vc.peak_indicator <> pre(vc.peak_indicator) and vc.after_pulse or vc.pulse_end | ||
| $whenCondition4 | vc.peak_indicator <> pre(vc.peak_indicator) and vc.within_pulse or vc.pulse_end | ||
| vc.g.p.v | "V" | Potential at the pin | 0.0 | 
| vc.d_hold | "s" | holding period | 5.0 | 
| vc.d_pulse | "s" | pulse period | 0.5 | 
| vc.v_hold | "V" | voltage during holding period | -0.04 | 
| v_start | "V" | start value for pulse amplitude | -0.04 | 
| v_inc | "V" | increment for pulse amplitude | 0.005 | 
| k_in | "mol/m3" | intracellular potassium concentration | 140.0 | 
| k_ex | "mol/m3" | extracellular potassium concentration | 5.4 | 
| temp | "K" | cell medium temperature | 288.15 | 
| v_k | "V" | equilibrium potential for K+ ions | InaMo.Functions.Biochemical.nernst(k_in, k_ex, 1, temp) | 
| kr.v_eq | "V" | equilibrium potential | v_k | 
| kr.g_max | "S" | maximum conductance | 1.5e-09 | 
| kr.current_name | "I_K,r" | ||
| l2.c | "F" | membrane capacitance | 4e-11 | 
| l2.v_init | "V" | initial potential (from short initial stimulation) | -0.09 | 
| l2.use_init | determines whether initial value for v is used | false | 
InaMo.Examples.ComponentTests.RapidDelayedRectifierSteady
To reproduce Figure S3A and S3B from Inada 2009, plot act_steady and act_tau_fast against v.
Simulation protocol and parameters are chosen with the following rationale:
- StopTime: allow a plot from -120 mV to 80 mV
 - Tolerance: left at default value, since derivatives are not relevant
 
model RapidDelayedRectifierSteady "steady state of I_K,r, recreates figure S3A and S3B from Inada 2009"
  extends Modelica.Icons.Example;
  InaMo.Membrane.LipidBilayer l2(use_init = false) "cell membrane" annotation(
    Placement(transformation(extent = {{17, -17}, {51, 17}})));
  InaMo.ExperimentalMethods.VoltageClamp.VoltageClamp vc "voltage clamp" annotation(
    Placement(transformation(extent = {{-17, -17}, {17, 17}})));
  parameter SI.Concentration k_in = 140 "intracellular potassium concentration";
  parameter SI.Concentration k_ex = 5.4 "extracellular potassium concentration";
  parameter SI.Temperature temp = 310 "cell medium temperature";
  parameter SI.Voltage v_k = nernst(k_in, k_ex, 1, temp) "equilibrium potential for K+ ions";
  InaMo.Currents.Atrioventricular.RapidDelayedRectifierChannel kr(g_max = 1.5e-9, v_eq = v_k) "I_K,r with parameters of AN cell model" annotation(
    Placement(transformation(extent = {{-51, -17}, {-17, 17}})));
  Real act_steady = kr.act_fast.steady "steady state of activation gates";
  SI.Duration act_tau_fast = kr.act_fast.tau "time constant of fast activation gate";
  SI.Duration act_tau_slow = kr.act_slow.tau "time constant of slow activation gate";
  Real inact_steady = kr.inact.steady "steady state of inactivation gate";
  SI.Duration inact_tau = kr.inact.tau "time constant of inactivation gate";
  SI.Voltage v(start = -0.12, fixed = true) "input voltage";
equation
  vc.v_stim = v;
  der(v) = 0.001;
  connect(l2.p, vc.p) annotation(
    Line(points = {{34, 18}, {34, 18}, {34, 40}, {0, 40}, {0, 18}, {0, 18}}, color = {0, 0, 255}));
  connect(vc.p, kr.p) annotation(
    Line(points = {{0, 18}, {0, 18}, {0, 40}, {-34, 40}, {-34, 18}, {-34, 18}}, color = {0, 0, 255}));
  connect(l2.n, vc.n) annotation(
    Line(points = {{34, -16}, {34, -16}, {34, -40}, {0, -40}, {0, -16}, {0, -16}}, color = {0, 0, 255}));
  connect(vc.n, kr.n) annotation(
    Line(points = {{0, -16}, {0, -16}, {0, -40}, {-34, -40}, {-34, -16}, {-34, -16}}, color = {0, 0, 255}));
  annotation(
    experiment(StartTime = 0, StopTime = 200, Tolerance = 1e-6, Interval = 1),
    __OpenModelica_simulationFlags(lv = "LOG_STATS", s = "dassl"),
    __MoST_experiment(variableFilter = "act_steady|act_tau_fast|v|act_tau_slow|inact_tau|inact_steady|vc.v"),
    Documentation(info = "
    <html>
      <p>To reproduce Figure S3A and S3B from Inada 2009, plot act_steady and
      act_tau_fast against v.</p>
      <p>Simulation protocol and parameters are chosen with the following
      rationale:</p>
      <ul>
        <li>StopTime: allow a plot from -120 mV to 80 mV</li>
        <li>Tolerance: left at default value, since derivatives are not
        relevant</li>
      </ul>
    </html>
  "));
end RapidDelayedRectifierSteady;- Within group kr (prefix _ indicates shortened variable name)
 - Within group vc (prefix _ indicates shortened variable name)
 
Functions:
function inact.ftau
  input Real x "input value";
  input Real off = 0.0 "offset added to result to increase minimum (fitting parameter)";
  output Real y "result of applying the HH-style equation tau = 1/(alpha + beta)";
algorithm
  y := 1.0 / (falpha(x, 0.0, 9.42, 603.6) + falpha(x, 0.0, -18.3, 92.01000000000001)) + off;
end inact.ftau;function act_fast.fsteady
  input Real x "input value";
  input Real y_min = 0.0 "lower asymptote (fitting parameter)";
  input Real y_max = 1.0 "upper asmyptote when d_off=1 and nu=1 (fititng parameter)";
  input Real x0 = -0.01022 "x-value of sigmoid midpoint when d_off=1 and nu=1 (fitting parameter)";
  input Real sx = 117.6470588235294 "scaling factor for x axis (i.e. steepness, fitting parameter)";
  input Real se = 1.0 "scaling factor for exponential part (fitting parameter)";
  input Real d_off = 1.0 "offset in denominator (affects upper asymptote, fitting parameter)";
  input Real nu = 1.0 "reciprocal of exponent of denominator (affects upper asymptote, fitting parameter)";
  output Real y "result";
  protected Real x_adj "adjusted x with offset and scaling factor";
algorithm
  x_adj := sx * (x - x0);
  y := y_min + (y_max - y_min) / (se * exp(-x_adj) + d_off) ^ (1.0 / nu);
end act_fast.fsteady;function nernst "Nernst equation to find the equlibrium potential for a single ion"
  input Real ion_in(quantity = "Concentration", unit = "mol/m3") "intracellular ion concentration";
  input Real ion_ex(quantity = "Concentration", unit = "mol/m3") "extracellular ion concentration";
  input Integer ion_z "valence of ion";
  input Real temp(quantity = "ThermodynamicTemperature", unit = "K", displayUnit = "degC", min = 0.0, start = 288.15, nominal = 300.0) "cell medium temperature";
  output Real v_eq(quantity = "ElectricPotential", unit = "V") "equlibirium potential";
algorithm
  v_eq := 8.3144598 * temp / /*Real*/(ion_z) / 96485.33289000001 * log(ion_ex / ion_in);
end nernst;function act_fast.ftau
  input Real x "input value";
  input Real off = 0.0 "offset added to result to increase minimum (fitting parameter)";
  output Real y "result of applying the HH-style equation tau = 1/(alpha + beta)";
algorithm
  y := 1.0 / (falpha(x, 0.0, 39.8, 17.0) + falpha(x, 0.0, -51.0, 0.211)) + off;
end act_fast.ftau;function falpha
  input Real x "input value";
  input Real x0 = 0.0 "x-value where y = 1 (fitting parameter)";
  input Real sx = 39.8 "scaling factor for x axis (fitting parameter)";
  input Real sy = 17.0 "scaling factor for y axis (fitting parameter)";
  output Real y "result";
algorithm
  y := sy * exp(sx * (x - x0));
end falpha;function inact.fsteady
  input Real x "input value";
  output Real y "output value";
algorithm
  y := act_fast.fsteady(x, 0.0, 1.0, -0.0049, -1000.0 / 15.14, 1.0, 1.0, 1.0) * act_slow.ftau(x, 1.0, (-0.3) + 1.0, 0.0, sqrt(500.0 / 2.0) / 1000.0);
end inact.fsteady;function act_slow.ftau
  input Real x "input value";
  input Real y_min = 0.33581 "minimum value achieved at edges (fitting parameter)";
  input Real y_max = 1.24254 "maximum value achieved at peak (fititng parameter)";
  input Real x0 = -0.01 "x-value of bell curve midpoint (fitting parameter)";
  input Real sigma = 0.02222667316536598 "standard deviation determining the width of the bell curve (fitting parameter)";
  output Real y "result";
  protected Real x_adj "adjusted x with offset and standard deviation";
algorithm
  x_adj := (x - x0) / sigma;
  y := y_min + (y_max - y_min) * exp(-0.5 * x_adj ^ 2.0);
end act_slow.ftau;| name | unit | label | value | 
|---|---|---|---|
| inact_tau | "s" | time constant of inactivation gate | |
| inact_steady | steady state of inactivation gate | ||
| act_tau_slow | "s" | time constant of slow activation gate | |
| act_tau_fast | "s" | time constant of fast activation gate | |
| act_steady | steady state of activation gates | ||
| kr.act_total | total activation due to slow and fast activation terms | ||
| kr.inact.n | ratio of molecules in open conformation | 0.2938512182797032 | |
| kr.act_slow.steady | value that n would reach if v_gate was held constant | ||
| kr.act_slow.n | ratio of molecules in open conformation | 0.7689430941621821 | |
| kr.act_fast.n | ratio of molecules in open conformation | 0.7689430941621821 | |
| kr.g | "S" | ion conductance | |
| kr.i_open | "A" | i if open_ratio = 1 | |
| kr.open_ratio | "1" | ratio between 0 (fully closed) and 1 (fully open) | |
| kr.i_ion | "A" | current used for ion flux | |
| vc.i | "A" | measured membrane current | |
| vc.g.p.i | "A" | Current flowing into the pin | |
| vc.n.i | "A" | Current flowing into the pin | |
| l2.i | "A" | Current flowing from pin p to pin n | |
| l2.v | "V" | Voltage drop of the two pins (= p.v - n.v) | -0.12 | 
| vc.g.p.v | "V" | Potential at the pin | 0.0 | 
| l2.c | "F" | membrane capacitance | 0.01 | 
| l2.v_init | "V" | initial potential (from short initial stimulation) | -0.09 | 
| l2.use_init | determines whether initial value for v is used | false | |
| k_in | "mol/m3" | intracellular potassium concentration | 140.0 | 
| k_ex | "mol/m3" | extracellular potassium concentration | 5.4 | 
| temp | "K" | cell medium temperature | 288.15 | 
| v_k | "V" | equilibrium potential for K+ ions | InaMo.Functions.Biochemical.nernst(k_in, k_ex, 1, temp) | 
| kr.v_eq | "V" | equilibrium potential | v_k | 
| kr.g_max | "S" | maximum conductance | 1.5e-09 | 
| kr.current_name | "I_K,r" | 
Tests for $I_{NaCa}$
InaMo.Examples.ComponentTests.SodiumCalciumExchangerLin
This example does not represent the settings of a specific Figure from a reference but instead serves as the basis for other models that use different variable settings for their experiment setup.
This example uses a linear input current, because I_NaCa is modeled as an immediate current without activation or inactivation kinetics.
Simulation protocol and parameters are chosen with the following rationale:
- StopTime: allow a plot from -140 to +140 mV
 - Tolerance: left at default value because derivatives are not relevant
 - Interval: enough for a smooth plot
 
model SodiumCalciumExchangerLin "IV relationship of I_NaCa, base model for recreation of Figures from Matsuoka 1992, Kurata 2002 and Inada 2009"
  extends Modelica.Icons.Example;
  extends InaMo.Concentrations.Interfaces.CaConst;
  InaMo.Currents.Atrioventricular.SodiumCalciumExchanger naca(k_NaCa = 1e-9) "I_NaCa" annotation(
    Placement(transformation(extent = {{-51, -17}, {-17, 17}})));
  inner parameter SI.Temperature temp = 310 "cell medium temperature";
  InaMo.Membrane.LipidBilayer l2(c = 40e-12, use_init = false) "cell membrane" annotation(
    Placement(transformation(extent = {{17, -17}, {51, 17}})));
  InaMo.ExperimentalMethods.VoltageClamp.VoltageClamp vc "voltage clamp" annotation(
    Placement(transformation(extent = {{-17, -17}, {17, 17}})));
  inner parameter SI.Concentration na_in = 8 "intracellular sodium concentration";
  inner parameter SI.Concentration na_ex = 140 "extracellular sodium concentration";
  inner parameter SI.Concentration ca_ex = 2 "extracellular calcium concentration";
  InaMo.Concentrations.Basic.ConstantConcentration ca_sub(c_const = 0.1e-3, vol = v_sub) "Ca2+ in \"fuzzy\" subspace" annotation(
    Placement(transformation(extent = {{-51, -80}, {-17, -46}})));
  parameter SI.Voltage v_start = -140e-3 "starting voltage";
initial equation
  vc.v_stim = v_start;
equation
  der(vc.v_stim) = 0.001;
  connect(l2.p, vc.p) annotation(
    Line(points = {{34, 18}, {34, 18}, {34, 40}, {0, 40}, {0, 18}, {0, 18}}, color = {0, 0, 255}));
  connect(vc.p, naca.p) annotation(
    Line(points = {{0, 18}, {0, 18}, {0, 40}, {-34, 40}, {-34, 18}, {-34, 18}}, color = {0, 0, 255}));
  connect(l2.n, vc.n) annotation(
    Line(points = {{34, -16}, {34, -16}, {34, -40}, {0, -40}, {0, -16}, {0, -16}}, color = {0, 0, 255}));
  connect(vc.n, naca.n) annotation(
    Line(points = {{0, -16}, {0, -16}, {0, -40}, {-34, -40}, {-34, -16}, {-34, -16}}, color = {0, 0, 255}));
  connect(ca_sub.substance, naca.ca) annotation(
    Line(points = {{-34, -80}, {-14, -80}, {-14, -30}, {-28, -30}, {-28, -16}, {-28, -16}}));
  annotation(
    experiment(StartTime = 0, StopTime = 280, Tolerance = 1e-6, Interval = 1),
    __OpenModelica_simulationFlags(lv = "LOG_STATS", s = "dassl"),
    Documentation(info = "
    <html>
      <p>This example does not represent the settings of a specific Figure from
      a reference but instead serves as the basis for other models that
      use different variable settings for their experiment setup.</p>
      <p>This example uses a linear input current, because I_NaCa is modeled
      as an immediate current without activation or inactivation kinetics.</p>
      <p>Simulation protocol and parameters are chosen with the following
      rationale:</p>
      <ul>
        <li>StopTime: allow a plot from -140 to +140 mV</li>
        <li>Tolerance: left at default value because derivatives are not
        relevant</li>
        <li>Interval: enough for a smooth plot</li>
      </ul>
    </html>
  "));
end SodiumCalciumExchangerLin;- Within group naca (prefix _ indicates shortened variable name)
 - Within group vc (prefix _ indicates shortened variable name)
 
Functions:
function michaelisMenten "equation for enzymatic reactions following Michaelis-Menten kinetics"
  input Real s(quantity = "Concentration", unit = "mol/m3") "substrate concentration";
  input Real k(quantity = "Concentration", unit = "mol/m3") "concentration producing half-maximum reaction rate (michaelis constant)";
  output Real rate(unit = "1") "reaction rate";
algorithm
  rate := s / (s + k);
end michaelisMenten;| name | unit | label | value | 
|---|---|---|---|
| vc.i | "A" | measured membrane current | |
| vc.v_stim | "V" | input voltage (needs to be defined externally) | |
| vc.g.p.i | "A" | Current flowing into the pin | |
| vc.n.i | "A" | Current flowing into the pin | |
| l2.i | "A" | Current flowing from pin p to pin n | |
| naca.e4 | "1" | ratio of exchanger molecules in state e4 | |
| naca.e3 | "1" | ratio of exchanger molecules in state e3 | |
| naca.e2 | "1" | ratio of exchanger molecules in state e2 | |
| naca.e1 | "1" | ratio of exchanger molecules in state e1 | |
| naca.d | "1" | common denominator to turn relative frequencies into actual ratios between 0 and 1 | |
| naca.x4 | "1" | relative frequancy of E4 states | |
| naca.x3 | "1" | relative frequency of E3 states | |
| naca.x2 | "1" | relative frequency of E2 states | |
| naca.x1 | "1" | relative frequency of E1 states | |
| naca.k_14 | "1" | rate constant for transition from E1 to E4 | |
| naca.k_41 | "1" | rate constant for transition from E4 to E1 | |
| naca.k_32 | "1" | rate constant for transition from E3 to E2 | |
| naca.k_23 | "1" | rate constant for transition from E2 to E3 | |
| naca.k_21 | "1" | rate constant for transition from E2 to E1 | |
| naca.k_12 | "1" | rate constant for transition from E1 to E2 | |
| naca.f1_2n_o | "1" | fraction of E2 states whose first two Na+ sites are occupied by Na+ | |
| naca.f1_2n_i | "1" | fraction of E1 states whose first two Na+ sites are occupied by Na+ | |
| naca.do | "1" | common denominator summing relative frequencies for all E2 substates | |
| naca.do_cv | "1" | relative frequency of E2 states that are occupied by Ca2+ and occluded | |
| naca.di | "1" | common denominator summing relative frequencies for all E1 substates | |
| naca.di_cv | "1" | relative frequency of E1 states that are occupied by Ca2+ and occluded | |
| naca.i_ion | "A" | current used for TransmembraneCaFlow | |
| naca.trans.rate | "mol/s" | rate of change in substance amount | |
| naca.con.substance.amount | "mol" | amount of substance | naca.con.c_const * naca.con.vol | 
| naca.di_cn | "1" | relative frequency of E1 states whose first two binding sites are occupied by Ca2+ and whose last binding site is occupied by Na+ | naca.di_c * na_in / naca.k_cn_i | 
| naca.di_3n | "1" | relative frequency of E1 states where exactly three Na+ sites are occupied by Na+ | naca.di_2n * na_in / naca.k_3n_i | 
| naca.do_3n | "1" | relative frequency of E2 states where exactly three Na+ sites are occupied by Na+ | naca.do_2n * na_ex / naca.k_3n_o | 
| naca.do_2n | "1" | relative frequency of E2 states where exactly the first two Na+ sites are occupied by Na+ | naca.do_1n * na_ex / naca.k_2n_o | 
| naca.di_2n | "1" | relative frequency of E1 states where exactly the first two Na+ sites are occupied by Na+ | naca.di_1n * na_in / naca.k_2n_i | 
| naca.di_c | "1" | relative frequency of E1 states that are occupied by Ca2+ and not occluded | ca_sub.substance.amount / (naca.k_c_i * v_sub) | 
| vc.g.p.v | "V" | Potential at the pin | 0.0 | 
| ca_sub.substance.amount | "mol" | amount of substance | ca_sub.c_const * ca_sub.vol | 
| naca.di_1n | "1" | relative frequency of E1 states where only the first Na+ site is occupied by Na+ | na_in / naca.k_1n_i | 
| naca.do_c | "1" | relative frequency of E2 states that are occupied by Ca2+ and not occluded | ca_ex / naca.k_c_o | 
| naca.do_1n | "1" | relative frequency of E2 states where only the first Na+ site is occupied by Na+ | na_ex / naca.k_1n_o | 
| naca.f1_3n_o | "1" | fraction of E2 states whose first two Na+ sites are occupied by Na+ | InaMo.Functions.Biochemical.michaelisMenten(na_ex, naca.k_3n_o) | 
| naca.f1_3n_i | "1" | fraction of E1 states whose first two Na+ sites are occupied by Na+ | InaMo.Functions.Biochemical.michaelisMenten(na_in, naca.k_3n_i) | 
| v_sub | "m3" | 1.0 | |
| naca.trans.n | "1" | stoichiometric ratio of ion transport | naca.n_ca | 
| naca.trans.z | valence of ion | 2 | |
| naca.con.c_const | "mol/m3" | fixed concentration | ca_ex | 
| naca.con.vol | "m3" | volume of the compartment | 1.0 | 
| naca.n_ca | "1" | stoichiometric ratio of transport | -2.0 | 
| naca.current_name | "I_NaCa" | ||
| naca.k_c_i | "mol/m3" | dissociation constant for channel with Ca++ bound on inside | 0.0207 | 
| naca.k_cn_i | "mol/m3" | dissociation constant for channel with Ca++ and one Na+ bound on inside | 26.44 | 
| naca.k_1n_i | "mol/m3" | dissociation constant for channel with one Na+ bound on inside | 395.3 | 
| naca.k_2n_i | "mol/m3" | dissociation constant for channel with two Na+ bound on inside | 2.289 | 
| naca.k_3n_i | "mol/m3" | dissociation constant for channel with three Na+ bound on inside | 26.44 | 
| naca.k_c_o | "mol/m3" | dissociation constant for channel with Ca++ bound on outside | 3.663 | 
| naca.k_1n_o | "mol/m3" | dissociation constant for channel with one Na+ bound on outside | 1628.0 | 
| naca.k_2n_o | "mol/m3" | dissociation constant for channel with two Na+ bound on outside | 561.4 | 
| naca.k_3n_o | "mol/m3" | dissociation constant for channel with three Na+ bound on outside | 4.663 | 
| naca.q_ci | fractional charge movement during intracellular Ca++ occlusion reaction | 0.1369 | |
| naca.q_co | fractional charge movement during extracellular Ca++ occlusion reaction | 0.0 | |
| naca.q_n | fractional charge movement during Na+ occlusion reactions | 0.4315 | |
| naca.k_NaCa | "A" | scaling factor for Na+/Ca++ exchanger current | 1e-09 | 
| naca.FoRT | helper variable to simplify equations | 11604.52214706721 / temp | |
| temp | "K" | cell medium temperature | 288.15 | 
| l2.c | "F" | membrane capacitance | 4e-11 | 
| l2.v_init | "V" | initial potential (from short initial stimulation) | -0.09 | 
| l2.use_init | determines whether initial value for v is used | false | |
| na_in | "mol/m3" | intracellular sodium concentration | 8.0 | 
| na_ex | "mol/m3" | extracellular sodium concentration | 140.0 | 
| ca_ex | "mol/m3" | extracellular calcium concentration | 2.0 | 
| ca_sub.c_const | "mol/m3" | fixed concentration | 0.0001 | 
| ca_sub.vol | "m3" | volume of the compartment | v_sub | 
| v_start | "V" | starting voltage | -0.14 | 
InaMo.Examples.ComponentTests.SodiumCalciumExchangerLinKurata
To recreate Figure 17 of Kurata 2002, plot naca.i against vc.v.
For more detail about the experiment setup see the documentation of InaMo.Examples.SodiumCalciumExchangerLin.
Simulation protocol and parameters are chosen with the following rationale:
- StopTime: allow a plot from -100 to +50 mV
 - Tolerance: left at default value because derivatives are not relevant
 - Interval: enough for a smooth plot
 - L2.C: according to Table A1 in Kurata 2002
 - naca.k_NaCa: according to Table A1 in Kurata 2002 (see note below)
 - sodium.c_in: according to description of Figure 17 of Kurata 2002
 - sodium.c_ex: according to Table A1 in Kurata 2002
 - calcium.c_ex: according to Table A1 in Kurata 2002
 - ca_sub.c_const: according to description of Figure 17 of Kurata 2002
 
NOTE: Kurata give k_NaCa as 125 1/pF (which should probably be 125 pA/pF). This means that we have to multiply the value by l2.C to obtain the actual parameter in pA.
NOTE: This is the only plot for I_NaCa where all relevant conventration parameters are given. Consequently this example can reproduce the Figure from the paper exactly while the others cannot.
model SodiumCalciumExchangerLinKurata "IV relationship of I_NaCa, recreates Figure 17 from Kurata 2002"
  extends SodiumCalciumExchangerLin(l2(c = 32e-12), temp = 310.15, naca(k_NaCa = 125 * l2.c), na_in = 10, na_ex = 140, ca_ex = 2, ca_sub(c_const = 0.1e-3), v_start = -100e-3);
  annotation(
    experiment(StartTime = 0, StopTime = 150, Tolerance = 1e-6, Interval = 1),
    __OpenModelica_simulationFlags(lv = "LOG_STATS", s = "dassl"),
    __MoST_experiment(variableFilter = "naca\\.i|vc\\.v"),
    Documentation(info = "
    <html>
      <p>To recreate Figure 17 of Kurata 2002, plot naca.i against vc.v.</p>
      <p>For more detail about the experiment setup see the documentation of
      InaMo.Examples.SodiumCalciumExchangerLin.</p>
      <p>Simulation protocol and parameters are chosen with the following
      rationale:</p>
      <ul>
        <li>StopTime: allow a plot from -100 to +50 mV</li>
        <li>Tolerance: left at default value because derivatives are not
        relevant</li>
        <li>Interval: enough for a smooth plot</li>
        <li>L2.C: according to Table A1 in Kurata 2002</li>
        <li>naca.k_NaCa: according to Table A1 in Kurata 2002 (see note below)
        </li>
        <li>sodium.c_in: according to description of Figure 17 of Kurata
        2002</li>
        <li>sodium.c_ex: according to Table A1 in Kurata 2002</li>
        <li>calcium.c_ex: according to Table A1 in Kurata 2002</li>
        <li>ca_sub.c_const: according to description of Figure 17 of Kurata
        2002</li>
      </ul>
      <p>NOTE: Kurata give k_NaCa as 125 1/pF (which should probably be
      125 pA/pF). This means that we have to multiply the value by l2.C to
      obtain the actual parameter in pA.</p>
      <p>NOTE: This is the only plot for I_NaCa where all relevant
      conventration parameters are given. Consequently this example can
      reproduce the Figure from the paper exactly while the others cannot.</p>
    </html>
  "));
end SodiumCalciumExchangerLinKurata;- Within group naca (prefix _ indicates shortened variable name)
 - Within group vc (prefix _ indicates shortened variable name)
 
Functions:
function michaelisMenten "equation for enzymatic reactions following Michaelis-Menten kinetics"
  input Real s(quantity = "Concentration", unit = "mol/m3") "substrate concentration";
  input Real k(quantity = "Concentration", unit = "mol/m3") "concentration producing half-maximum reaction rate (michaelis constant)";
  output Real rate(unit = "1") "reaction rate";
algorithm
  rate := s / (s + k);
end michaelisMenten;| name | unit | label | value | 
|---|---|---|---|
| vc.i | "A" | measured membrane current | |
| vc.v_stim | "V" | input voltage (needs to be defined externally) | |
| vc.g.p.i | "A" | Current flowing into the pin | |
| vc.n.i | "A" | Current flowing into the pin | |
| l2.i | "A" | Current flowing from pin p to pin n | |
| naca.e4 | "1" | ratio of exchanger molecules in state e4 | |
| naca.e3 | "1" | ratio of exchanger molecules in state e3 | |
| naca.e2 | "1" | ratio of exchanger molecules in state e2 | |
| naca.e1 | "1" | ratio of exchanger molecules in state e1 | |
| naca.d | "1" | common denominator to turn relative frequencies into actual ratios between 0 and 1 | |
| naca.x4 | "1" | relative frequancy of E4 states | |
| naca.x3 | "1" | relative frequency of E3 states | |
| naca.x2 | "1" | relative frequency of E2 states | |
| naca.x1 | "1" | relative frequency of E1 states | |
| naca.k_14 | "1" | rate constant for transition from E1 to E4 | |
| naca.k_41 | "1" | rate constant for transition from E4 to E1 | |
| naca.k_32 | "1" | rate constant for transition from E3 to E2 | |
| naca.k_23 | "1" | rate constant for transition from E2 to E3 | |
| naca.k_21 | "1" | rate constant for transition from E2 to E1 | |
| naca.k_12 | "1" | rate constant for transition from E1 to E2 | |
| naca.f1_2n_o | "1" | fraction of E2 states whose first two Na+ sites are occupied by Na+ | |
| naca.f1_2n_i | "1" | fraction of E1 states whose first two Na+ sites are occupied by Na+ | |
| naca.do | "1" | common denominator summing relative frequencies for all E2 substates | |
| naca.do_cv | "1" | relative frequency of E2 states that are occupied by Ca2+ and occluded | |
| naca.di | "1" | common denominator summing relative frequencies for all E1 substates | |
| naca.di_cv | "1" | relative frequency of E1 states that are occupied by Ca2+ and occluded | |
| naca.i_ion | "A" | current used for TransmembraneCaFlow | |
| naca.trans.rate | "mol/s" | rate of change in substance amount | |
| naca.con.substance.amount | "mol" | amount of substance | naca.con.c_const * naca.con.vol | 
| naca.di_cn | "1" | relative frequency of E1 states whose first two binding sites are occupied by Ca2+ and whose last binding site is occupied by Na+ | naca.di_c * na_in / naca.k_cn_i | 
| naca.di_3n | "1" | relative frequency of E1 states where exactly three Na+ sites are occupied by Na+ | naca.di_2n * na_in / naca.k_3n_i | 
| naca.do_3n | "1" | relative frequency of E2 states where exactly three Na+ sites are occupied by Na+ | naca.do_2n * na_ex / naca.k_3n_o | 
| naca.do_2n | "1" | relative frequency of E2 states where exactly the first two Na+ sites are occupied by Na+ | naca.do_1n * na_ex / naca.k_2n_o | 
| naca.di_2n | "1" | relative frequency of E1 states where exactly the first two Na+ sites are occupied by Na+ | naca.di_1n * na_in / naca.k_2n_i | 
| naca.di_c | "1" | relative frequency of E1 states that are occupied by Ca2+ and not occluded | ca_sub.substance.amount / (naca.k_c_i * v_sub) | 
| vc.g.p.v | "V" | Potential at the pin | 0.0 | 
| ca_sub.substance.amount | "mol" | amount of substance | ca_sub.c_const * ca_sub.vol | 
| naca.di_1n | "1" | relative frequency of E1 states where only the first Na+ site is occupied by Na+ | na_in / naca.k_1n_i | 
| naca.do_c | "1" | relative frequency of E2 states that are occupied by Ca2+ and not occluded | ca_ex / naca.k_c_o | 
| naca.do_1n | "1" | relative frequency of E2 states where only the first Na+ site is occupied by Na+ | na_ex / naca.k_1n_o | 
| naca.f1_3n_o | "1" | fraction of E2 states whose first two Na+ sites are occupied by Na+ | InaMo.Functions.Biochemical.michaelisMenten(na_ex, naca.k_3n_o) | 
| naca.f1_3n_i | "1" | fraction of E1 states whose first two Na+ sites are occupied by Na+ | InaMo.Functions.Biochemical.michaelisMenten(na_in, naca.k_3n_i) | 
| v_sub | "m3" | 1.0 | |
| naca.trans.n | "1" | stoichiometric ratio of ion transport | naca.n_ca | 
| naca.trans.z | valence of ion | 2 | |
| naca.con.c_const | "mol/m3" | fixed concentration | ca_ex | 
| naca.con.vol | "m3" | volume of the compartment | 1.0 | 
| naca.n_ca | "1" | stoichiometric ratio of transport | -2.0 | 
| naca.current_name | "I_NaCa" | ||
| naca.k_c_i | "mol/m3" | dissociation constant for channel with Ca++ bound on inside | 0.0207 | 
| naca.k_cn_i | "mol/m3" | dissociation constant for channel with Ca++ and one Na+ bound on inside | 26.44 | 
| naca.k_1n_i | "mol/m3" | dissociation constant for channel with one Na+ bound on inside | 395.3 | 
| naca.k_2n_i | "mol/m3" | dissociation constant for channel with two Na+ bound on inside | 2.289 | 
| naca.k_3n_i | "mol/m3" | dissociation constant for channel with three Na+ bound on inside | 26.44 | 
| naca.k_c_o | "mol/m3" | dissociation constant for channel with Ca++ bound on outside | 3.663 | 
| naca.k_1n_o | "mol/m3" | dissociation constant for channel with one Na+ bound on outside | 1628.0 | 
| naca.k_2n_o | "mol/m3" | dissociation constant for channel with two Na+ bound on outside | 561.4 | 
| naca.k_3n_o | "mol/m3" | dissociation constant for channel with three Na+ bound on outside | 4.663 | 
| naca.q_ci | fractional charge movement during intracellular Ca++ occlusion reaction | 0.1369 | |
| naca.q_co | fractional charge movement during extracellular Ca++ occlusion reaction | 0.0 | |
| naca.q_n | fractional charge movement during Na+ occlusion reactions | 0.4315 | |
| naca.k_NaCa | "A" | scaling factor for Na+/Ca++ exchanger current | 125.0 * l2.c | 
| naca.FoRT | helper variable to simplify equations | 11604.52214706721 / temp | |
| temp | "K" | cell medium temperature | 288.15 | 
| l2.c | "F" | membrane capacitance | 3.2e-11 | 
| l2.v_init | "V" | initial potential (from short initial stimulation) | -0.09 | 
| l2.use_init | determines whether initial value for v is used | false | |
| na_in | "mol/m3" | intracellular sodium concentration | 10.0 | 
| na_ex | "mol/m3" | extracellular sodium concentration | 140.0 | 
| ca_ex | "mol/m3" | extracellular calcium concentration | 2.0 | 
| ca_sub.c_const | "mol/m3" | fixed concentration | 0.0001 | 
| ca_sub.vol | "m3" | volume of the compartment | v_sub | 
| v_start | "V" | starting voltage | -0.1 | 
InaMo.Examples.ComponentTests.SodiumCalciumExchangerLinMatsuoka
To recreate Figure 19 of Matsuoka 1992, plot the following variables against a1.vc.v.
- Figure 19A: a1.naca.i, a2.naca.i, a3.naca.i
 - Figure 19B: b1.naca.i, b2.naca.i, b3.naca.i
 - Figure 19C: c1.naca.i, c2.naca.i, c3.naca.i
 - Figure 19D: d1.naca.i, d2.naca.i, d3.naca.i
 
The values for the concentration parameters are chosen as follows:
- Figure 19A
          
- sodium.c_ex = 0 (according to Figure 15A)
 - sodium.c_in = 25
 - calcium.c_ex = 8 (according to Figure 15A)
 - ca_sub.c_const = [0, 0.016, 0.234]
 
 - Figure 19B
          
- sodium.c_ex = 0 (according to Figure 15A and p. 983, paragraph about Figure 16A)
 - sodium.c_in = 100
 - calcium.c_ex = 8 (according to Figure 15A and p. 983, paragraph about Figure 16A)
 - ca_sub.c_const = [0, 0.064, 1.08]
 
 - Figure 19C
          
- sodium.c_ex = 150 (according to Figure 17A)
 - sodium.c_in = [0, 25, 50]
 - calcium.c_ex = 0 (according to Figure 17A)
 - ca_sub.c_const = 0.003
 
 - Figure 19D
          
- sodium.c_ex = 150 (according to Figure 17B)
 - sodium.c_in = [0, 25, 100]
 - calcium.c_ex = 0 (according to Figure 17B)
 - ca_sub.c_const = 1.08
 
 
Simulation protocol and parameters are chosen with the following rationale:
- StopTime: allow a plot from -140 to +140 mV
 - Tolerance: left at default value because derivatives are not relevant
 - Interval: enough for a smooth plot
 - l2.C: left at default value for AN cell because it is not relevant for the plot
 - naca.k_NaCa: chosen arbitrarily to fit order of magnitude for individual subplots of Figure 19 of Matsuoka 1992 (see note below)
 - temp: according to Matsuoka 1992, p. 993 (2 * RT/F = 53 mV <=> temp = 307.52 °K
 
For more details of parameter and simulation settings see the documentation of InaMo.Examples.SodiumCalciumExchangerLin.
NOTE: Matsuoka et al. never give a value for l2.C, because when the voltage is fixed with a voltage clamp, the capacitance of the cell has no influence on the resulting current. We therefore leave l2.C arbitrarily at the default value for AN cells.
NOTE: The subplots in Figure 19 of Matsuoka 1992 do not show the absolute value of the current, but it can be inferred from Figures 15--17. However, an agreement with thes absolute values cannot be reproduced with a single value for naca.k_NaCa. This is hinted at on page 993 of Matsuoka 1992, where the authors state that "each experiment was fitted with a scaler variable". Unfortunately the values of these variables are not given in the paper. We therefore chose arbitrary values between 0.25 and 1 nA to roughly fit the order of magnitude of the experimental data. This still leaves some differences open, which may be explained if Matsuoka et all used a different scaling variable for each indivitual line in the plot.
model SodiumCalciumExchangerLinMatsuoka "bundles all experiments required to reproduce Figure 19 of Matsuoka 1992"
  extends Modelica.Icons.Example;
  model BundleBase = SodiumCalciumExchangerLin(naca(k_NaCa = 1e-9), temp = 307.52, v_start = -140e-3);
  BundleBase a1(na_in = 25, na_ex = 0, ca_sub(c_const = 0), ca_ex = 8, naca(k_NaCa = 0.95e-9));
  BundleBase a2(na_in = 25, na_ex = 0, ca_sub(c_const = 0.016), ca_ex = 8, naca(k_NaCa = 0.95e-9));
  BundleBase a3(na_in = 25, na_ex = 0, ca_sub(c_const = 0.234), ca_ex = 8, naca(k_NaCa = 0.95e-9));
  BundleBase b1(na_in = 100, na_ex = 0, ca_sub(c_const = 0), ca_ex = 8, naca(k_NaCa = 0.25e-9));
  BundleBase b2(na_in = 100, na_ex = 0, ca_sub(c_const = 0.064), ca_ex = 8, naca(k_NaCa = 0.25e-9));
  BundleBase b3(na_in = 100, na_ex = 0, ca_sub(c_const = 1.08), ca_ex = 8, naca(k_NaCa = 0.25e-9));
  BundleBase c1(na_in = 0, na_ex = 150, ca_sub(c_const = 0.003), ca_ex = 0, naca(k_NaCa = 0.36e-9));
  BundleBase c2(na_in = 25, na_ex = 150, ca_sub(c_const = 0.003), ca_ex = 0, naca(k_NaCa = 0.36e-9));
  BundleBase c3(na_in = 50, na_ex = 150, ca_sub(c_const = 0.003), ca_ex = 0, naca(k_NaCa = 0.36e-9));
  BundleBase d1(na_in = 0, na_ex = 150, ca_sub(c_const = 1.08), ca_ex = 0, naca(k_NaCa = 0.56e-9));
  BundleBase d2(na_in = 25, na_ex = 150, ca_sub(c_const = 1.08), ca_ex = 0, naca(k_NaCa = 0.56e-9));
  BundleBase d3(na_in = 100, na_ex = 150, ca_sub(c_const = 1.08), ca_ex = 0, naca(k_NaCa = 0.56e-9));
  annotation(
    experiment(StartTime = 0, StopTime = 280, Tolerance = 1e-6, Interval = 1),
    __OpenModelica_simulationFlags(lv = "LOG_STATS", s = "dassl"),
    __MoST_experiment(variableFilter = "[a-d][1-3]\\.(naca\\.i|vc\\.v)"),
    Documentation(info = "
    <html>
      <p>To recreate Figure 19 of Matsuoka 1992, plot the following variables
      against a1.vc.v.<p>
      <ul>
        <li>Figure 19A: a1.naca.i, a2.naca.i, a3.naca.i</li>
        <li>Figure 19B: b1.naca.i, b2.naca.i, b3.naca.i</li>
        <li>Figure 19C: c1.naca.i, c2.naca.i, c3.naca.i</li>
        <li>Figure 19D: d1.naca.i, d2.naca.i, d3.naca.i</li>
      </ul>
      <p>The values for the concentration parameters are chosen as follows:</p>
      <ul>
        <li>Figure 19A
          <ul>
            <li>sodium.c_ex = 0 <i>(according to Figure 15A)</i></li>
            <li>sodium.c_in = 25</li>
            <li>calcium.c_ex = 8 <i>(according to Figure 15A)</i></li>
            <li>ca_sub.c_const = [0, 0.016, 0.234]</li>
          </ul>
        </li>
        <li>Figure 19B
          <ul>
            <li>sodium.c_ex = 0 <i>(according to Figure 15A and p. 983, paragraph about Figure 16A)</i></li>
            <li>sodium.c_in = 100</li>
            <li>calcium.c_ex = 8 <i>(according to Figure 15A and p. 983, paragraph about Figure 16A)</i></li>
            <li>ca_sub.c_const = [0, 0.064, 1.08]</li>
          </ul>
        </li>
        <li>Figure 19C
          <ul>
            <li>sodium.c_ex = 150 <i>(according to Figure 17A)</i></li>
            <li>sodium.c_in = [0, 25, 50]</li>
            <li>calcium.c_ex = 0 <i>(according to Figure 17A)</i></li>
            <li>ca_sub.c_const = 0.003</li>
          </ul>
        </li>
        <li>Figure 19D
          <ul>
            <li>sodium.c_ex = 150 <i>(according to Figure 17B)</i></li>
            <li>sodium.c_in = [0, 25, 100]</li>
            <li>calcium.c_ex = 0 <i>(according to Figure 17B)</i></li>
            <li>ca_sub.c_const = 1.08</li>
          </ul>
        </li>
      </ul>
      <p>Simulation protocol and parameters are chosen with the following
      rationale:</p>
      <ul>
        <li>StopTime: allow a plot from -140 to +140 mV</li>
        <li>Tolerance: left at default value because derivatives are not
        relevant</li>
        <li>Interval: enough for a smooth plot</li>
        <li>l2.C: left at default value for AN cell because it is not relevant
        for the plot</li>
        <li>naca.k_NaCa: chosen arbitrarily to fit order of magnitude for
        individual subplots of Figure 19 of Matsuoka 1992 (see note below)</li>
        <li>temp: according to Matsuoka 1992, p. 993 (2 * RT/F = 53 mV <=>
        temp = 307.52 °K</li>
      </ul>
      <p>For more details of parameter and simulation settings see the
      documentation of InaMo.Examples.SodiumCalciumExchangerLin.</p>
      <p>NOTE: Matsuoka et al. never give a value for l2.C, because when the
      voltage is fixed with a voltage clamp, the capacitance of the cell
      has no influence on the resulting current. We therefore leave l2.C
      arbitrarily at the default value for AN cells.</p>
      <p>NOTE: The subplots in Figure 19 of Matsuoka 1992 do not show the
      absolute value of the current, but it can be inferred from Figures
      15--17. However, an agreement with thes absolute values cannot be
      reproduced with a single value for naca.k_NaCa. This is hinted at on
      page 993 of Matsuoka 1992, where the authors state that "each
      experiment was fitted with a scaler variable". Unfortunately the
      values of these variables are not given in the paper. We therefore
      chose arbitrary values between 0.25 and 1 nA to roughly fit the order
      of magnitude of the experimental data.
      This still leaves some differences open, which may be explained if
      Matsuoka et all used a different scaling variable for each indivitual
      <i>line</i> in the plot.</p>
    </html>
  "));
end SodiumCalciumExchangerLinMatsuoka;- Within group a1 (prefix _ indicates shortened variable name)
- Within group naca (prefix _ indicates shortened variable name)
 - Within group vc (prefix _ indicates shortened variable name)
 
 - Within group a2 (prefix _ indicates shortened variable name)
- Within group naca (prefix _ indicates shortened variable name)
 - Within group vc (prefix _ indicates shortened variable name)
 
 - Within group a3 (prefix _ indicates shortened variable name)
- Within group naca (prefix _ indicates shortened variable name)
 - Within group vc (prefix _ indicates shortened variable name)
 
 - Within group b1 (prefix _ indicates shortened variable name)
- Within group naca (prefix _ indicates shortened variable name)
 - Within group vc (prefix _ indicates shortened variable name)
 
 - Within group b2 (prefix _ indicates shortened variable name)
- Within group naca (prefix _ indicates shortened variable name)
 - Within group vc (prefix _ indicates shortened variable name)
 
 - Within group b3 (prefix _ indicates shortened variable name)
- Within group naca (prefix _ indicates shortened variable name)
 - Within group vc (prefix _ indicates shortened variable name)
 
 - Within group c1 (prefix _ indicates shortened variable name)
- Within group naca (prefix _ indicates shortened variable name)
 - Within group vc (prefix _ indicates shortened variable name)
 
 - Within group c2 (prefix _ indicates shortened variable name)
- Within group naca (prefix _ indicates shortened variable name)
 - Within group vc (prefix _ indicates shortened variable name)
 
 - Within group c3 (prefix _ indicates shortened variable name)
- Within group naca (prefix _ indicates shortened variable name)
 - Within group vc (prefix _ indicates shortened variable name)
 
 - Within group d1 (prefix _ indicates shortened variable name)
- Within group naca (prefix _ indicates shortened variable name)
 - Within group vc (prefix _ indicates shortened variable name)
 
 - Within group d2 (prefix _ indicates shortened variable name)
- Within group naca (prefix _ indicates shortened variable name)
 - Within group vc (prefix _ indicates shortened variable name)
 
 - Within group d3 (prefix _ indicates shortened variable name)
- Within group naca (prefix _ indicates shortened variable name)
 - Within group vc (prefix _ indicates shortened variable name)
 
 
Functions:
function michaelisMenten "equation for enzymatic reactions following Michaelis-Menten kinetics"
  input Real s(quantity = "Concentration", unit = "mol/m3") "substrate concentration";
  input Real k(quantity = "Concentration", unit = "mol/m3") "concentration producing half-maximum reaction rate (michaelis constant)";
  output Real rate(unit = "1") "reaction rate";
algorithm
  rate := s / (s + k);
end michaelisMenten;| name | unit | label | value | 
|---|---|---|---|
| a1.vc.i | "A" | measured membrane current | |
| a1.vc.v_stim | "V" | input voltage (needs to be defined externally) | |
| a1.vc.g.p.i | "A" | Current flowing into the pin | |
| a1.vc.n.i | "A" | Current flowing into the pin | |
| a1.l2.i | "A" | Current flowing from pin p to pin n | |
| a1.naca.e4 | "1" | ratio of exchanger molecules in state e4 | |
| a1.naca.e3 | "1" | ratio of exchanger molecules in state e3 | |
| a1.naca.e2 | "1" | ratio of exchanger molecules in state e2 | |
| a1.naca.e1 | "1" | ratio of exchanger molecules in state e1 | |
| a1.naca.d | "1" | common denominator to turn relative frequencies into actual ratios between 0 and 1 | |
| a1.naca.x4 | "1" | relative frequancy of E4 states | |
| a1.naca.x3 | "1" | relative frequency of E3 states | |
| a1.naca.x2 | "1" | relative frequency of E2 states | |
| a1.naca.x1 | "1" | relative frequency of E1 states | |
| a1.naca.k_14 | "1" | rate constant for transition from E1 to E4 | |
| a1.naca.k_41 | "1" | rate constant for transition from E4 to E1 | |
| a1.naca.k_32 | "1" | rate constant for transition from E3 to E2 | |
| a1.naca.k_23 | "1" | rate constant for transition from E2 to E3 | |
| a1.naca.k_21 | "1" | rate constant for transition from E2 to E1 | |
| a1.naca.k_12 | "1" | rate constant for transition from E1 to E2 | |
| a1.naca.f1_2n_o | "1" | fraction of E2 states whose first two Na+ sites are occupied by Na+ | |
| a1.naca.f1_2n_i | "1" | fraction of E1 states whose first two Na+ sites are occupied by Na+ | |
| a1.naca.do | "1" | common denominator summing relative frequencies for all E2 substates | |
| a1.naca.do_cv | "1" | relative frequency of E2 states that are occupied by Ca2+ and occluded | |
| a1.naca.di | "1" | common denominator summing relative frequencies for all E1 substates | |
| a1.naca.di_cv | "1" | relative frequency of E1 states that are occupied by Ca2+ and occluded | |
| a1.naca.i_ion | "A" | current used for TransmembraneCaFlow | |
| a1.naca.trans.rate | "mol/s" | rate of change in substance amount | |
| a2.vc.i | "A" | measured membrane current | |
| a2.vc.v_stim | "V" | input voltage (needs to be defined externally) | |
| a2.vc.g.p.i | "A" | Current flowing into the pin | |
| a2.vc.n.i | "A" | Current flowing into the pin | |
| a2.l2.i | "A" | Current flowing from pin p to pin n | |
| a2.naca.e4 | "1" | ratio of exchanger molecules in state e4 | |
| a2.naca.e3 | "1" | ratio of exchanger molecules in state e3 | |
| a2.naca.e2 | "1" | ratio of exchanger molecules in state e2 | |
| a2.naca.e1 | "1" | ratio of exchanger molecules in state e1 | |
| a2.naca.d | "1" | common denominator to turn relative frequencies into actual ratios between 0 and 1 | |
| a2.naca.x4 | "1" | relative frequancy of E4 states | |
| a2.naca.x3 | "1" | relative frequency of E3 states | |
| a2.naca.x2 | "1" | relative frequency of E2 states | |
| a2.naca.x1 | "1" | relative frequency of E1 states | |
| a2.naca.k_14 | "1" | rate constant for transition from E1 to E4 | |
| a2.naca.k_41 | "1" | rate constant for transition from E4 to E1 | |
| a2.naca.k_32 | "1" | rate constant for transition from E3 to E2 | |
| a2.naca.k_23 | "1" | rate constant for transition from E2 to E3 | |
| a2.naca.k_21 | "1" | rate constant for transition from E2 to E1 | |
| a2.naca.k_12 | "1" | rate constant for transition from E1 to E2 | |
| a2.naca.f1_2n_o | "1" | fraction of E2 states whose first two Na+ sites are occupied by Na+ | |
| a2.naca.f1_2n_i | "1" | fraction of E1 states whose first two Na+ sites are occupied by Na+ | |
| a2.naca.do | "1" | common denominator summing relative frequencies for all E2 substates | |
| a2.naca.do_cv | "1" | relative frequency of E2 states that are occupied by Ca2+ and occluded | |
| a2.naca.di | "1" | common denominator summing relative frequencies for all E1 substates | |
| a2.naca.di_cv | "1" | relative frequency of E1 states that are occupied by Ca2+ and occluded | |
| a2.naca.i_ion | "A" | current used for TransmembraneCaFlow | |
| a2.naca.trans.rate | "mol/s" | rate of change in substance amount | |
| a3.vc.i | "A" | measured membrane current | |
| a3.vc.v_stim | "V" | input voltage (needs to be defined externally) | |
| a3.vc.g.p.i | "A" | Current flowing into the pin | |
| a3.vc.n.i | "A" | Current flowing into the pin | |
| a3.l2.i | "A" | Current flowing from pin p to pin n | |
| a3.naca.e4 | "1" | ratio of exchanger molecules in state e4 | |
| a3.naca.e3 | "1" | ratio of exchanger molecules in state e3 | |
| a3.naca.e2 | "1" | ratio of exchanger molecules in state e2 | |
| a3.naca.e1 | "1" | ratio of exchanger molecules in state e1 | |
| a3.naca.d | "1" | common denominator to turn relative frequencies into actual ratios between 0 and 1 | |
| a3.naca.x4 | "1" | relative frequancy of E4 states | |
| a3.naca.x3 | "1" | relative frequency of E3 states | |
| a3.naca.x2 | "1" | relative frequency of E2 states | |
| a3.naca.x1 | "1" | relative frequency of E1 states | |
| a3.naca.k_14 | "1" | rate constant for transition from E1 to E4 | |
| a3.naca.k_41 | "1" | rate constant for transition from E4 to E1 | |
| a3.naca.k_32 | "1" | rate constant for transition from E3 to E2 | |
| a3.naca.k_23 | "1" | rate constant for transition from E2 to E3 | |
| a3.naca.k_21 | "1" | rate constant for transition from E2 to E1 | |
| a3.naca.k_12 | "1" | rate constant for transition from E1 to E2 | |
| a3.naca.f1_2n_o | "1" | fraction of E2 states whose first two Na+ sites are occupied by Na+ | |
| a3.naca.f1_2n_i | "1" | fraction of E1 states whose first two Na+ sites are occupied by Na+ | |
| a3.naca.do | "1" | common denominator summing relative frequencies for all E2 substates | |
| a3.naca.do_cv | "1" | relative frequency of E2 states that are occupied by Ca2+ and occluded | |
| a3.naca.di | "1" | common denominator summing relative frequencies for all E1 substates | |
| a3.naca.di_cv | "1" | relative frequency of E1 states that are occupied by Ca2+ and occluded | |
| a3.naca.i_ion | "A" | current used for TransmembraneCaFlow | |
| a3.naca.trans.rate | "mol/s" | rate of change in substance amount | |
| b1.vc.i | "A" | measured membrane current | |
| b1.vc.v_stim | "V" | input voltage (needs to be defined externally) | |
| b1.vc.g.p.i | "A" | Current flowing into the pin | |
| b1.vc.n.i | "A" | Current flowing into the pin | |
| b1.l2.i | "A" | Current flowing from pin p to pin n | |
| b1.naca.e4 | "1" | ratio of exchanger molecules in state e4 | |
| b1.naca.e3 | "1" | ratio of exchanger molecules in state e3 | |
| b1.naca.e2 | "1" | ratio of exchanger molecules in state e2 | |
| b1.naca.e1 | "1" | ratio of exchanger molecules in state e1 | |
| b1.naca.d | "1" | common denominator to turn relative frequencies into actual ratios between 0 and 1 | |
| b1.naca.x4 | "1" | relative frequancy of E4 states | |
| b1.naca.x3 | "1" | relative frequency of E3 states | |
| b1.naca.x2 | "1" | relative frequency of E2 states | |
| b1.naca.x1 | "1" | relative frequency of E1 states | |
| b1.naca.k_14 | "1" | rate constant for transition from E1 to E4 | |
| b1.naca.k_41 | "1" | rate constant for transition from E4 to E1 | |
| b1.naca.k_32 | "1" | rate constant for transition from E3 to E2 | |
| b1.naca.k_23 | "1" | rate constant for transition from E2 to E3 | |
| b1.naca.k_21 | "1" | rate constant for transition from E2 to E1 | |
| b1.naca.k_12 | "1" | rate constant for transition from E1 to E2 | |
| b1.naca.f1_2n_o | "1" | fraction of E2 states whose first two Na+ sites are occupied by Na+ | |
| b1.naca.f1_2n_i | "1" | fraction of E1 states whose first two Na+ sites are occupied by Na+ | |
| b1.naca.do | "1" | common denominator summing relative frequencies for all E2 substates | |
| b1.naca.do_cv | "1" | relative frequency of E2 states that are occupied by Ca2+ and occluded | |
| b1.naca.di | "1" | common denominator summing relative frequencies for all E1 substates | |
| b1.naca.di_cv | "1" | relative frequency of E1 states that are occupied by Ca2+ and occluded | |
| b1.naca.i_ion | "A" | current used for TransmembraneCaFlow | |
| b1.naca.trans.rate | "mol/s" | rate of change in substance amount | |
| b2.vc.i | "A" | measured membrane current | |
| b2.vc.v_stim | "V" | input voltage (needs to be defined externally) | |
| b2.vc.g.p.i | "A" | Current flowing into the pin | |
| b2.vc.n.i | "A" | Current flowing into the pin | |
| b2.l2.i | "A" | Current flowing from pin p to pin n | |
| b2.naca.e4 | "1" | ratio of exchanger molecules in state e4 | |
| b2.naca.e3 | "1" | ratio of exchanger molecules in state e3 | |
| b2.naca.e2 | "1" | ratio of exchanger molecules in state e2 | |
| b2.naca.e1 | "1" | ratio of exchanger molecules in state e1 | |
| b2.naca.d | "1" | common denominator to turn relative frequencies into actual ratios between 0 and 1 | |
| b2.naca.x4 | "1" | relative frequancy of E4 states | |
| b2.naca.x3 | "1" | relative frequency of E3 states | |
| b2.naca.x2 | "1" | relative frequency of E2 states | |
| b2.naca.x1 | "1" | relative frequency of E1 states | |
| b2.naca.k_14 | "1" | rate constant for transition from E1 to E4 | |
| b2.naca.k_41 | "1" | rate constant for transition from E4 to E1 | |
| b2.naca.k_32 | "1" | rate constant for transition from E3 to E2 | |
| b2.naca.k_23 | "1" | rate constant for transition from E2 to E3 | |
| b2.naca.k_21 | "1" | rate constant for transition from E2 to E1 | |
| b2.naca.k_12 | "1" | rate constant for transition from E1 to E2 | |
| b2.naca.f1_2n_o | "1" | fraction of E2 states whose first two Na+ sites are occupied by Na+ | |
| b2.naca.f1_2n_i | "1" | fraction of E1 states whose first two Na+ sites are occupied by Na+ | |
| b2.naca.do | "1" | common denominator summing relative frequencies for all E2 substates | |
| b2.naca.do_cv | "1" | relative frequency of E2 states that are occupied by Ca2+ and occluded | |
| b2.naca.di | "1" | common denominator summing relative frequencies for all E1 substates | |
| b2.naca.di_cv | "1" | relative frequency of E1 states that are occupied by Ca2+ and occluded | |
| b2.naca.i_ion | "A" | current used for TransmembraneCaFlow | |
| b2.naca.trans.rate | "mol/s" | rate of change in substance amount | |
| b3.vc.i | "A" | measured membrane current | |
| b3.vc.v_stim | "V" | input voltage (needs to be defined externally) | |
| b3.vc.g.p.i | "A" | Current flowing into the pin | |
| b3.vc.n.i | "A" | Current flowing into the pin | |
| b3.l2.i | "A" | Current flowing from pin p to pin n | |
| b3.naca.e4 | "1" | ratio of exchanger molecules in state e4 | |
| b3.naca.e3 | "1" | ratio of exchanger molecules in state e3 | |
| b3.naca.e2 | "1" | ratio of exchanger molecules in state e2 | |
| b3.naca.e1 | "1" | ratio of exchanger molecules in state e1 | |
| b3.naca.d | "1" | common denominator to turn relative frequencies into actual ratios between 0 and 1 | |
| b3.naca.x4 | "1" | relative frequancy of E4 states | |
| b3.naca.x3 | "1" | relative frequency of E3 states | |
| b3.naca.x2 | "1" | relative frequency of E2 states | |
| b3.naca.x1 | "1" | relative frequency of E1 states | |
| b3.naca.k_14 | "1" | rate constant for transition from E1 to E4 | |
| b3.naca.k_41 | "1" | rate constant for transition from E4 to E1 | |
| b3.naca.k_32 | "1" | rate constant for transition from E3 to E2 | |
| b3.naca.k_23 | "1" | rate constant for transition from E2 to E3 | |
| b3.naca.k_21 | "1" | rate constant for transition from E2 to E1 | |
| b3.naca.k_12 | "1" | rate constant for transition from E1 to E2 | |
| b3.naca.f1_2n_o | "1" | fraction of E2 states whose first two Na+ sites are occupied by Na+ | |
| b3.naca.f1_2n_i | "1" | fraction of E1 states whose first two Na+ sites are occupied by Na+ | |
| b3.naca.do | "1" | common denominator summing relative frequencies for all E2 substates | |
| b3.naca.do_cv | "1" | relative frequency of E2 states that are occupied by Ca2+ and occluded | |
| b3.naca.di | "1" | common denominator summing relative frequencies for all E1 substates | |
| b3.naca.di_cv | "1" | relative frequency of E1 states that are occupied by Ca2+ and occluded | |
| b3.naca.i_ion | "A" | current used for TransmembraneCaFlow | |
| b3.naca.trans.rate | "mol/s" | rate of change in substance amount | |
| c1.vc.i | "A" | measured membrane current | |
| c1.vc.v_stim | "V" | input voltage (needs to be defined externally) | |
| c1.vc.g.p.i | "A" | Current flowing into the pin | |
| c1.vc.n.i | "A" | Current flowing into the pin | |
| c1.l2.i | "A" | Current flowing from pin p to pin n | |
| c1.naca.e4 | "1" | ratio of exchanger molecules in state e4 | |
| c1.naca.e3 | "1" | ratio of exchanger molecules in state e3 | |
| c1.naca.e2 | "1" | ratio of exchanger molecules in state e2 | |
| c1.naca.e1 | "1" | ratio of exchanger molecules in state e1 | |
| c1.naca.d | "1" | common denominator to turn relative frequencies into actual ratios between 0 and 1 | |
| c1.naca.x4 | "1" | relative frequancy of E4 states | |
| c1.naca.x3 | "1" | relative frequency of E3 states | |
| c1.naca.x2 | "1" | relative frequency of E2 states | |
| c1.naca.x1 | "1" | relative frequency of E1 states | |
| c1.naca.k_14 | "1" | rate constant for transition from E1 to E4 | |
| c1.naca.k_41 | "1" | rate constant for transition from E4 to E1 | |
| c1.naca.k_32 | "1" | rate constant for transition from E3 to E2 | |
| c1.naca.k_23 | "1" | rate constant for transition from E2 to E3 | |
| c1.naca.k_21 | "1" | rate constant for transition from E2 to E1 | |
| c1.naca.k_12 | "1" | rate constant for transition from E1 to E2 | |
| c1.naca.f1_2n_o | "1" | fraction of E2 states whose first two Na+ sites are occupied by Na+ | |
| c1.naca.f1_2n_i | "1" | fraction of E1 states whose first two Na+ sites are occupied by Na+ | |
| c1.naca.do | "1" | common denominator summing relative frequencies for all E2 substates | |
| c1.naca.do_cv | "1" | relative frequency of E2 states that are occupied by Ca2+ and occluded | |
| c1.naca.di | "1" | common denominator summing relative frequencies for all E1 substates | |
| c1.naca.di_cv | "1" | relative frequency of E1 states that are occupied by Ca2+ and occluded | |
| c1.naca.i_ion | "A" | current used for TransmembraneCaFlow | |
| c1.naca.trans.rate | "mol/s" | rate of change in substance amount | |
| c2.vc.i | "A" | measured membrane current | |
| c2.vc.v_stim | "V" | input voltage (needs to be defined externally) | |
| c2.vc.g.p.i | "A" | Current flowing into the pin | |
| c2.vc.n.i | "A" | Current flowing into the pin | |
| c2.l2.i | "A" | Current flowing from pin p to pin n | |
| c2.naca.e4 | "1" | ratio of exchanger molecules in state e4 | |
| c2.naca.e3 | "1" | ratio of exchanger molecules in state e3 | |
| c2.naca.e2 | "1" | ratio of exchanger molecules in state e2 | |
| c2.naca.e1 | "1" | ratio of exchanger molecules in state e1 | |
| c2.naca.d | "1" | common denominator to turn relative frequencies into actual ratios between 0 and 1 | |
| c2.naca.x4 | "1" | relative frequancy of E4 states | |
| c2.naca.x3 | "1" | relative frequency of E3 states | |
| c2.naca.x2 | "1" | relative frequency of E2 states | |
| c2.naca.x1 | "1" | relative frequency of E1 states | |
| c2.naca.k_14 | "1" | rate constant for transition from E1 to E4 | |
| c2.naca.k_41 | "1" | rate constant for transition from E4 to E1 | |
| c2.naca.k_32 | "1" | rate constant for transition from E3 to E2 | |
| c2.naca.k_23 | "1" | rate constant for transition from E2 to E3 | |
| c2.naca.k_21 | "1" | rate constant for transition from E2 to E1 | |
| c2.naca.k_12 | "1" | rate constant for transition from E1 to E2 | |
| c2.naca.f1_2n_o | "1" | fraction of E2 states whose first two Na+ sites are occupied by Na+ | |
| c2.naca.f1_2n_i | "1" | fraction of E1 states whose first two Na+ sites are occupied by Na+ | |
| c2.naca.do | "1" | common denominator summing relative frequencies for all E2 substates | |
| c2.naca.do_cv | "1" | relative frequency of E2 states that are occupied by Ca2+ and occluded | |
| c2.naca.di | "1" | common denominator summing relative frequencies for all E1 substates | |
| c2.naca.di_cv | "1" | relative frequency of E1 states that are occupied by Ca2+ and occluded | |
| c2.naca.i_ion | "A" | current used for TransmembraneCaFlow | |
| c2.naca.trans.rate | "mol/s" | rate of change in substance amount | |
| c3.vc.i | "A" | measured membrane current | |
| c3.vc.v_stim | "V" | input voltage (needs to be defined externally) | |
| c3.vc.g.p.i | "A" | Current flowing into the pin | |
| c3.vc.n.i | "A" | Current flowing into the pin | |
| c3.l2.i | "A" | Current flowing from pin p to pin n | |
| c3.naca.e4 | "1" | ratio of exchanger molecules in state e4 | |
| c3.naca.e3 | "1" | ratio of exchanger molecules in state e3 | |
| c3.naca.e2 | "1" | ratio of exchanger molecules in state e2 | |
| c3.naca.e1 | "1" | ratio of exchanger molecules in state e1 | |
| c3.naca.d | "1" | common denominator to turn relative frequencies into actual ratios between 0 and 1 | |
| c3.naca.x4 | "1" | relative frequancy of E4 states | |
| c3.naca.x3 | "1" | relative frequency of E3 states | |
| c3.naca.x2 | "1" | relative frequency of E2 states | |
| c3.naca.x1 | "1" | relative frequency of E1 states | |
| c3.naca.k_14 | "1" | rate constant for transition from E1 to E4 | |
| c3.naca.k_41 | "1" | rate constant for transition from E4 to E1 | |
| c3.naca.k_32 | "1" | rate constant for transition from E3 to E2 | |
| c3.naca.k_23 | "1" | rate constant for transition from E2 to E3 | |
| c3.naca.k_21 | "1" | rate constant for transition from E2 to E1 | |
| c3.naca.k_12 | "1" | rate constant for transition from E1 to E2 | |
| c3.naca.f1_2n_o | "1" | fraction of E2 states whose first two Na+ sites are occupied by Na+ | |
| c3.naca.f1_2n_i | "1" | fraction of E1 states whose first two Na+ sites are occupied by Na+ | |
| c3.naca.do | "1" | common denominator summing relative frequencies for all E2 substates | |
| c3.naca.do_cv | "1" | relative frequency of E2 states that are occupied by Ca2+ and occluded | |
| c3.naca.di | "1" | common denominator summing relative frequencies for all E1 substates | |
| c3.naca.di_cv | "1" | relative frequency of E1 states that are occupied by Ca2+ and occluded | |
| c3.naca.i_ion | "A" | current used for TransmembraneCaFlow | |
| c3.naca.trans.rate | "mol/s" | rate of change in substance amount | |
| d1.vc.i | "A" | measured membrane current | |
| d1.vc.v_stim | "V" | input voltage (needs to be defined externally) | |
| d1.vc.g.p.i | "A" | Current flowing into the pin | |
| d1.vc.n.i | "A" | Current flowing into the pin | |
| d1.l2.i | "A" | Current flowing from pin p to pin n | |
| d1.naca.e4 | "1" | ratio of exchanger molecules in state e4 | |
| d1.naca.e3 | "1" | ratio of exchanger molecules in state e3 | |
| d1.naca.e2 | "1" | ratio of exchanger molecules in state e2 | |
| d1.naca.e1 | "1" | ratio of exchanger molecules in state e1 | |
| d1.naca.d | "1" | common denominator to turn relative frequencies into actual ratios between 0 and 1 | |
| d1.naca.x4 | "1" | relative frequancy of E4 states | |
| d1.naca.x3 | "1" | relative frequency of E3 states | |
| d1.naca.x2 | "1" | relative frequency of E2 states | |
| d1.naca.x1 | "1" | relative frequency of E1 states | |
| d1.naca.k_14 | "1" | rate constant for transition from E1 to E4 | |
| d1.naca.k_41 | "1" | rate constant for transition from E4 to E1 | |
| d1.naca.k_32 | "1" | rate constant for transition from E3 to E2 | |
| d1.naca.k_23 | "1" | rate constant for transition from E2 to E3 | |
| d1.naca.k_21 | "1" | rate constant for transition from E2 to E1 | |
| d1.naca.k_12 | "1" | rate constant for transition from E1 to E2 | |
| d1.naca.f1_2n_o | "1" | fraction of E2 states whose first two Na+ sites are occupied by Na+ | |
| d1.naca.f1_2n_i | "1" | fraction of E1 states whose first two Na+ sites are occupied by Na+ | |
| d1.naca.do | "1" | common denominator summing relative frequencies for all E2 substates | |
| d1.naca.do_cv | "1" | relative frequency of E2 states that are occupied by Ca2+ and occluded | |
| d1.naca.di | "1" | common denominator summing relative frequencies for all E1 substates | |
| d1.naca.di_cv | "1" | relative frequency of E1 states that are occupied by Ca2+ and occluded | |
| d1.naca.i_ion | "A" | current used for TransmembraneCaFlow | |
| d1.naca.trans.rate | "mol/s" | rate of change in substance amount | |
| d2.vc.i | "A" | measured membrane current | |
| d2.vc.v_stim | "V" | input voltage (needs to be defined externally) | |
| d2.vc.g.p.i | "A" | Current flowing into the pin | |
| d2.vc.n.i | "A" | Current flowing into the pin | |
| d2.l2.i | "A" | Current flowing from pin p to pin n | |
| d2.naca.e4 | "1" | ratio of exchanger molecules in state e4 | |
| d2.naca.e3 | "1" | ratio of exchanger molecules in state e3 | |
| d2.naca.e2 | "1" | ratio of exchanger molecules in state e2 | |
| d2.naca.e1 | "1" | ratio of exchanger molecules in state e1 | |
| d2.naca.d | "1" | common denominator to turn relative frequencies into actual ratios between 0 and 1 | |
| d2.naca.x4 | "1" | relative frequancy of E4 states | |
| d2.naca.x3 | "1" | relative frequency of E3 states | |
| d2.naca.x2 | "1" | relative frequency of E2 states | |
| d2.naca.x1 | "1" | relative frequency of E1 states | |
| d2.naca.k_14 | "1" | rate constant for transition from E1 to E4 | |
| d2.naca.k_41 | "1" | rate constant for transition from E4 to E1 | |
| d2.naca.k_32 | "1" | rate constant for transition from E3 to E2 | |
| d2.naca.k_23 | "1" | rate constant for transition from E2 to E3 | |
| d2.naca.k_21 | "1" | rate constant for transition from E2 to E1 | |
| d2.naca.k_12 | "1" | rate constant for transition from E1 to E2 | |
| d2.naca.f1_2n_o | "1" | fraction of E2 states whose first two Na+ sites are occupied by Na+ | |
| d2.naca.f1_2n_i | "1" | fraction of E1 states whose first two Na+ sites are occupied by Na+ | |
| d2.naca.do | "1" | common denominator summing relative frequencies for all E2 substates | |
| d2.naca.do_cv | "1" | relative frequency of E2 states that are occupied by Ca2+ and occluded | |
| d2.naca.di | "1" | common denominator summing relative frequencies for all E1 substates | |
| d2.naca.di_cv | "1" | relative frequency of E1 states that are occupied by Ca2+ and occluded | |
| d2.naca.i_ion | "A" | current used for TransmembraneCaFlow | |
| d2.naca.trans.rate | "mol/s" | rate of change in substance amount | |
| d3.vc.i | "A" | measured membrane current | |
| d3.vc.v_stim | "V" | input voltage (needs to be defined externally) | |
| d3.vc.g.p.i | "A" | Current flowing into the pin | |
| d3.vc.n.i | "A" | Current flowing into the pin | |
| d3.l2.i | "A" | Current flowing from pin p to pin n | |
| d3.naca.e4 | "1" | ratio of exchanger molecules in state e4 | |
| d3.naca.e3 | "1" | ratio of exchanger molecules in state e3 | |
| d3.naca.e2 | "1" | ratio of exchanger molecules in state e2 | |
| d3.naca.e1 | "1" | ratio of exchanger molecules in state e1 | |
| d3.naca.d | "1" | common denominator to turn relative frequencies into actual ratios between 0 and 1 | |
| d3.naca.x4 | "1" | relative frequancy of E4 states | |
| d3.naca.x3 | "1" | relative frequency of E3 states | |
| d3.naca.x2 | "1" | relative frequency of E2 states | |
| d3.naca.x1 | "1" | relative frequency of E1 states | |
| d3.naca.k_14 | "1" | rate constant for transition from E1 to E4 | |
| d3.naca.k_41 | "1" | rate constant for transition from E4 to E1 | |
| d3.naca.k_32 | "1" | rate constant for transition from E3 to E2 | |
| d3.naca.k_23 | "1" | rate constant for transition from E2 to E3 | |
| d3.naca.k_21 | "1" | rate constant for transition from E2 to E1 | |
| d3.naca.k_12 | "1" | rate constant for transition from E1 to E2 | |
| d3.naca.f1_2n_o | "1" | fraction of E2 states whose first two Na+ sites are occupied by Na+ | |
| d3.naca.f1_2n_i | "1" | fraction of E1 states whose first two Na+ sites are occupied by Na+ | |
| d3.naca.do | "1" | common denominator summing relative frequencies for all E2 substates | |
| d3.naca.do_cv | "1" | relative frequency of E2 states that are occupied by Ca2+ and occluded | |
| d3.naca.di | "1" | common denominator summing relative frequencies for all E1 substates | |
| d3.naca.di_cv | "1" | relative frequency of E1 states that are occupied by Ca2+ and occluded | |
| d3.naca.i_ion | "A" | current used for TransmembraneCaFlow | |
| d3.naca.trans.rate | "mol/s" | rate of change in substance amount | |
| a1.naca.con.substance.amount | "mol" | amount of substance | a1.naca.con.c_const * a1.naca.con.vol | 
| a2.naca.con.substance.amount | "mol" | amount of substance | a2.naca.con.c_const * a2.naca.con.vol | 
| a3.naca.con.substance.amount | "mol" | amount of substance | a3.naca.con.c_const * a3.naca.con.vol | 
| b1.naca.con.substance.amount | "mol" | amount of substance | b1.naca.con.c_const * b1.naca.con.vol | 
| b2.naca.con.substance.amount | "mol" | amount of substance | b2.naca.con.c_const * b2.naca.con.vol | 
| b3.naca.con.substance.amount | "mol" | amount of substance | b3.naca.con.c_const * b3.naca.con.vol | 
| c1.naca.con.substance.amount | "mol" | amount of substance | c1.naca.con.c_const * c1.naca.con.vol | 
| c2.naca.con.substance.amount | "mol" | amount of substance | c2.naca.con.c_const * c2.naca.con.vol | 
| c3.naca.con.substance.amount | "mol" | amount of substance | c3.naca.con.c_const * c3.naca.con.vol | 
| d1.naca.con.substance.amount | "mol" | amount of substance | d1.naca.con.c_const * d1.naca.con.vol | 
| d2.naca.con.substance.amount | "mol" | amount of substance | d2.naca.con.c_const * d2.naca.con.vol | 
| d3.naca.con.substance.amount | "mol" | amount of substance | d3.naca.con.c_const * d3.naca.con.vol | 
| a1.naca.di_cn | "1" | relative frequency of E1 states whose first two binding sites are occupied by Ca2+ and whose last binding site is occupied by Na+ | a1.naca.di_c * a1.na_in / a1.naca.k_cn_i | 
| a1.naca.di_3n | "1" | relative frequency of E1 states where exactly three Na+ sites are occupied by Na+ | a1.naca.di_2n * a1.na_in / a1.naca.k_3n_i | 
| a1.naca.do_3n | "1" | relative frequency of E2 states where exactly three Na+ sites are occupied by Na+ | a1.naca.do_2n * a1.na_ex / a1.naca.k_3n_o | 
| a1.naca.do_2n | "1" | relative frequency of E2 states where exactly the first two Na+ sites are occupied by Na+ | a1.naca.do_1n * a1.na_ex / a1.naca.k_2n_o | 
| a1.naca.di_2n | "1" | relative frequency of E1 states where exactly the first two Na+ sites are occupied by Na+ | a1.naca.di_1n * a1.na_in / a1.naca.k_2n_i | 
| a1.naca.di_c | "1" | relative frequency of E1 states that are occupied by Ca2+ and not occluded | a1.ca_sub.substance.amount / (a1.naca.k_c_i * a1.v_sub) | 
| a1.vc.g.p.v | "V" | Potential at the pin | 0.0 | 
| a1.ca_sub.substance.amount | "mol" | amount of substance | a1.ca_sub.c_const * a1.ca_sub.vol | 
| a1.naca.di_1n | "1" | relative frequency of E1 states where only the first Na+ site is occupied by Na+ | a1.na_in / a1.naca.k_1n_i | 
| a1.naca.do_c | "1" | relative frequency of E2 states that are occupied by Ca2+ and not occluded | a1.ca_ex / a1.naca.k_c_o | 
| a1.naca.do_1n | "1" | relative frequency of E2 states where only the first Na+ site is occupied by Na+ | a1.na_ex / a1.naca.k_1n_o | 
| a1.naca.f1_3n_o | "1" | fraction of E2 states whose first two Na+ sites are occupied by Na+ | InaMo.Functions.Biochemical.michaelisMenten(a1.na_ex, a1.naca.k_3n_o) | 
| a1.naca.f1_3n_i | "1" | fraction of E1 states whose first two Na+ sites are occupied by Na+ | InaMo.Functions.Biochemical.michaelisMenten(a1.na_in, a1.naca.k_3n_i) | 
| a2.naca.di_cn | "1" | relative frequency of E1 states whose first two binding sites are occupied by Ca2+ and whose last binding site is occupied by Na+ | a2.naca.di_c * a2.na_in / a2.naca.k_cn_i | 
| a2.naca.di_3n | "1" | relative frequency of E1 states where exactly three Na+ sites are occupied by Na+ | a2.naca.di_2n * a2.na_in / a2.naca.k_3n_i | 
| a2.naca.do_3n | "1" | relative frequency of E2 states where exactly three Na+ sites are occupied by Na+ | a2.naca.do_2n * a2.na_ex / a2.naca.k_3n_o | 
| a2.naca.do_2n | "1" | relative frequency of E2 states where exactly the first two Na+ sites are occupied by Na+ | a2.naca.do_1n * a2.na_ex / a2.naca.k_2n_o | 
| a2.naca.di_2n | "1" | relative frequency of E1 states where exactly the first two Na+ sites are occupied by Na+ | a2.naca.di_1n * a2.na_in / a2.naca.k_2n_i | 
| a2.naca.di_c | "1" | relative frequency of E1 states that are occupied by Ca2+ and not occluded | a2.ca_sub.substance.amount / (a2.naca.k_c_i * a2.v_sub) | 
| a2.vc.g.p.v | "V" | Potential at the pin | 0.0 | 
| a2.ca_sub.substance.amount | "mol" | amount of substance | a2.ca_sub.c_const * a2.ca_sub.vol | 
| a2.naca.di_1n | "1" | relative frequency of E1 states where only the first Na+ site is occupied by Na+ | a2.na_in / a2.naca.k_1n_i | 
| a2.naca.do_c | "1" | relative frequency of E2 states that are occupied by Ca2+ and not occluded | a2.ca_ex / a2.naca.k_c_o | 
| a2.naca.do_1n | "1" | relative frequency of E2 states where only the first Na+ site is occupied by Na+ | a2.na_ex / a2.naca.k_1n_o | 
| a2.naca.f1_3n_o | "1" | fraction of E2 states whose first two Na+ sites are occupied by Na+ | InaMo.Functions.Biochemical.michaelisMenten(a2.na_ex, a2.naca.k_3n_o) | 
| a2.naca.f1_3n_i | "1" | fraction of E1 states whose first two Na+ sites are occupied by Na+ | InaMo.Functions.Biochemical.michaelisMenten(a2.na_in, a2.naca.k_3n_i) | 
| a3.naca.di_cn | "1" | relative frequency of E1 states whose first two binding sites are occupied by Ca2+ and whose last binding site is occupied by Na+ | a3.naca.di_c * a3.na_in / a3.naca.k_cn_i | 
| a3.naca.di_3n | "1" | relative frequency of E1 states where exactly three Na+ sites are occupied by Na+ | a3.naca.di_2n * a3.na_in / a3.naca.k_3n_i | 
| a3.naca.do_3n | "1" | relative frequency of E2 states where exactly three Na+ sites are occupied by Na+ | a3.naca.do_2n * a3.na_ex / a3.naca.k_3n_o | 
| a3.naca.do_2n | "1" | relative frequency of E2 states where exactly the first two Na+ sites are occupied by Na+ | a3.naca.do_1n * a3.na_ex / a3.naca.k_2n_o | 
| a3.naca.di_2n | "1" | relative frequency of E1 states where exactly the first two Na+ sites are occupied by Na+ | a3.naca.di_1n * a3.na_in / a3.naca.k_2n_i | 
| a3.naca.di_c | "1" | relative frequency of E1 states that are occupied by Ca2+ and not occluded | a3.ca_sub.substance.amount / (a3.naca.k_c_i * a3.v_sub) | 
| a3.vc.g.p.v | "V" | Potential at the pin | 0.0 | 
| a3.ca_sub.substance.amount | "mol" | amount of substance | a3.ca_sub.c_const * a3.ca_sub.vol | 
| a3.naca.di_1n | "1" | relative frequency of E1 states where only the first Na+ site is occupied by Na+ | a3.na_in / a3.naca.k_1n_i | 
| a3.naca.do_c | "1" | relative frequency of E2 states that are occupied by Ca2+ and not occluded | a3.ca_ex / a3.naca.k_c_o | 
| a3.naca.do_1n | "1" | relative frequency of E2 states where only the first Na+ site is occupied by Na+ | a3.na_ex / a3.naca.k_1n_o | 
| a3.naca.f1_3n_o | "1" | fraction of E2 states whose first two Na+ sites are occupied by Na+ | InaMo.Functions.Biochemical.michaelisMenten(a3.na_ex, a3.naca.k_3n_o) | 
| a3.naca.f1_3n_i | "1" | fraction of E1 states whose first two Na+ sites are occupied by Na+ | InaMo.Functions.Biochemical.michaelisMenten(a3.na_in, a3.naca.k_3n_i) | 
| b1.naca.di_cn | "1" | relative frequency of E1 states whose first two binding sites are occupied by Ca2+ and whose last binding site is occupied by Na+ | b1.naca.di_c * b1.na_in / b1.naca.k_cn_i | 
| b1.naca.di_3n | "1" | relative frequency of E1 states where exactly three Na+ sites are occupied by Na+ | b1.naca.di_2n * b1.na_in / b1.naca.k_3n_i | 
| b1.naca.do_3n | "1" | relative frequency of E2 states where exactly three Na+ sites are occupied by Na+ | b1.naca.do_2n * b1.na_ex / b1.naca.k_3n_o | 
| b1.naca.do_2n | "1" | relative frequency of E2 states where exactly the first two Na+ sites are occupied by Na+ | b1.naca.do_1n * b1.na_ex / b1.naca.k_2n_o | 
| b1.naca.di_2n | "1" | relative frequency of E1 states where exactly the first two Na+ sites are occupied by Na+ | b1.naca.di_1n * b1.na_in / b1.naca.k_2n_i | 
| b1.naca.di_c | "1" | relative frequency of E1 states that are occupied by Ca2+ and not occluded | b1.ca_sub.substance.amount / (b1.naca.k_c_i * b1.v_sub) | 
| b1.vc.g.p.v | "V" | Potential at the pin | 0.0 | 
| b1.ca_sub.substance.amount | "mol" | amount of substance | b1.ca_sub.c_const * b1.ca_sub.vol | 
| b1.naca.di_1n | "1" | relative frequency of E1 states where only the first Na+ site is occupied by Na+ | b1.na_in / b1.naca.k_1n_i | 
| b1.naca.do_c | "1" | relative frequency of E2 states that are occupied by Ca2+ and not occluded | b1.ca_ex / b1.naca.k_c_o | 
| b1.naca.do_1n | "1" | relative frequency of E2 states where only the first Na+ site is occupied by Na+ | b1.na_ex / b1.naca.k_1n_o | 
| b1.naca.f1_3n_o | "1" | fraction of E2 states whose first two Na+ sites are occupied by Na+ | InaMo.Functions.Biochemical.michaelisMenten(b1.na_ex, b1.naca.k_3n_o) | 
| b1.naca.f1_3n_i | "1" | fraction of E1 states whose first two Na+ sites are occupied by Na+ | InaMo.Functions.Biochemical.michaelisMenten(b1.na_in, b1.naca.k_3n_i) | 
| b2.naca.di_cn | "1" | relative frequency of E1 states whose first two binding sites are occupied by Ca2+ and whose last binding site is occupied by Na+ | b2.naca.di_c * b2.na_in / b2.naca.k_cn_i | 
| b2.naca.di_3n | "1" | relative frequency of E1 states where exactly three Na+ sites are occupied by Na+ | b2.naca.di_2n * b2.na_in / b2.naca.k_3n_i | 
| b2.naca.do_3n | "1" | relative frequency of E2 states where exactly three Na+ sites are occupied by Na+ | b2.naca.do_2n * b2.na_ex / b2.naca.k_3n_o | 
| b2.naca.do_2n | "1" | relative frequency of E2 states where exactly the first two Na+ sites are occupied by Na+ | b2.naca.do_1n * b2.na_ex / b2.naca.k_2n_o | 
| b2.naca.di_2n | "1" | relative frequency of E1 states where exactly the first two Na+ sites are occupied by Na+ | b2.naca.di_1n * b2.na_in / b2.naca.k_2n_i | 
| b2.naca.di_c | "1" | relative frequency of E1 states that are occupied by Ca2+ and not occluded | b2.ca_sub.substance.amount / (b2.naca.k_c_i * b2.v_sub) | 
| b2.vc.g.p.v | "V" | Potential at the pin | 0.0 | 
| b2.ca_sub.substance.amount | "mol" | amount of substance | b2.ca_sub.c_const * b2.ca_sub.vol | 
| b2.naca.di_1n | "1" | relative frequency of E1 states where only the first Na+ site is occupied by Na+ | b2.na_in / b2.naca.k_1n_i | 
| b2.naca.do_c | "1" | relative frequency of E2 states that are occupied by Ca2+ and not occluded | b2.ca_ex / b2.naca.k_c_o | 
| b2.naca.do_1n | "1" | relative frequency of E2 states where only the first Na+ site is occupied by Na+ | b2.na_ex / b2.naca.k_1n_o | 
| b2.naca.f1_3n_o | "1" | fraction of E2 states whose first two Na+ sites are occupied by Na+ | InaMo.Functions.Biochemical.michaelisMenten(b2.na_ex, b2.naca.k_3n_o) | 
| b2.naca.f1_3n_i | "1" | fraction of E1 states whose first two Na+ sites are occupied by Na+ | InaMo.Functions.Biochemical.michaelisMenten(b2.na_in, b2.naca.k_3n_i) | 
| b3.naca.di_cn | "1" | relative frequency of E1 states whose first two binding sites are occupied by Ca2+ and whose last binding site is occupied by Na+ | b3.naca.di_c * b3.na_in / b3.naca.k_cn_i | 
| b3.naca.di_3n | "1" | relative frequency of E1 states where exactly three Na+ sites are occupied by Na+ | b3.naca.di_2n * b3.na_in / b3.naca.k_3n_i | 
| b3.naca.do_3n | "1" | relative frequency of E2 states where exactly three Na+ sites are occupied by Na+ | b3.naca.do_2n * b3.na_ex / b3.naca.k_3n_o | 
| b3.naca.do_2n | "1" | relative frequency of E2 states where exactly the first two Na+ sites are occupied by Na+ | b3.naca.do_1n * b3.na_ex / b3.naca.k_2n_o | 
| b3.naca.di_2n | "1" | relative frequency of E1 states where exactly the first two Na+ sites are occupied by Na+ | b3.naca.di_1n * b3.na_in / b3.naca.k_2n_i | 
| b3.naca.di_c | "1" | relative frequency of E1 states that are occupied by Ca2+ and not occluded | b3.ca_sub.substance.amount / (b3.naca.k_c_i * b3.v_sub) | 
| b3.vc.g.p.v | "V" | Potential at the pin | 0.0 | 
| b3.ca_sub.substance.amount | "mol" | amount of substance | b3.ca_sub.c_const * b3.ca_sub.vol | 
| b3.naca.di_1n | "1" | relative frequency of E1 states where only the first Na+ site is occupied by Na+ | b3.na_in / b3.naca.k_1n_i | 
| b3.naca.do_c | "1" | relative frequency of E2 states that are occupied by Ca2+ and not occluded | b3.ca_ex / b3.naca.k_c_o | 
| b3.naca.do_1n | "1" | relative frequency of E2 states where only the first Na+ site is occupied by Na+ | b3.na_ex / b3.naca.k_1n_o | 
| b3.naca.f1_3n_o | "1" | fraction of E2 states whose first two Na+ sites are occupied by Na+ | InaMo.Functions.Biochemical.michaelisMenten(b3.na_ex, b3.naca.k_3n_o) | 
| b3.naca.f1_3n_i | "1" | fraction of E1 states whose first two Na+ sites are occupied by Na+ | InaMo.Functions.Biochemical.michaelisMenten(b3.na_in, b3.naca.k_3n_i) | 
| c1.naca.di_cn | "1" | relative frequency of E1 states whose first two binding sites are occupied by Ca2+ and whose last binding site is occupied by Na+ | c1.naca.di_c * c1.na_in / c1.naca.k_cn_i | 
| c1.naca.di_3n | "1" | relative frequency of E1 states where exactly three Na+ sites are occupied by Na+ | c1.naca.di_2n * c1.na_in / c1.naca.k_3n_i | 
| c1.naca.do_3n | "1" | relative frequency of E2 states where exactly three Na+ sites are occupied by Na+ | c1.naca.do_2n * c1.na_ex / c1.naca.k_3n_o | 
| c1.naca.do_2n | "1" | relative frequency of E2 states where exactly the first two Na+ sites are occupied by Na+ | c1.naca.do_1n * c1.na_ex / c1.naca.k_2n_o | 
| c1.naca.di_2n | "1" | relative frequency of E1 states where exactly the first two Na+ sites are occupied by Na+ | c1.naca.di_1n * c1.na_in / c1.naca.k_2n_i | 
| c1.naca.di_c | "1" | relative frequency of E1 states that are occupied by Ca2+ and not occluded | c1.ca_sub.substance.amount / (c1.naca.k_c_i * c1.v_sub) | 
| c1.vc.g.p.v | "V" | Potential at the pin | 0.0 | 
| c1.ca_sub.substance.amount | "mol" | amount of substance | c1.ca_sub.c_const * c1.ca_sub.vol | 
| c1.naca.di_1n | "1" | relative frequency of E1 states where only the first Na+ site is occupied by Na+ | c1.na_in / c1.naca.k_1n_i | 
| c1.naca.do_c | "1" | relative frequency of E2 states that are occupied by Ca2+ and not occluded | c1.ca_ex / c1.naca.k_c_o | 
| c1.naca.do_1n | "1" | relative frequency of E2 states where only the first Na+ site is occupied by Na+ | c1.na_ex / c1.naca.k_1n_o | 
| c1.naca.f1_3n_o | "1" | fraction of E2 states whose first two Na+ sites are occupied by Na+ | InaMo.Functions.Biochemical.michaelisMenten(c1.na_ex, c1.naca.k_3n_o) | 
| c1.naca.f1_3n_i | "1" | fraction of E1 states whose first two Na+ sites are occupied by Na+ | InaMo.Functions.Biochemical.michaelisMenten(c1.na_in, c1.naca.k_3n_i) | 
| c2.naca.di_cn | "1" | relative frequency of E1 states whose first two binding sites are occupied by Ca2+ and whose last binding site is occupied by Na+ | c2.naca.di_c * c2.na_in / c2.naca.k_cn_i | 
| c2.naca.di_3n | "1" | relative frequency of E1 states where exactly three Na+ sites are occupied by Na+ | c2.naca.di_2n * c2.na_in / c2.naca.k_3n_i | 
| c2.naca.do_3n | "1" | relative frequency of E2 states where exactly three Na+ sites are occupied by Na+ | c2.naca.do_2n * c2.na_ex / c2.naca.k_3n_o | 
| c2.naca.do_2n | "1" | relative frequency of E2 states where exactly the first two Na+ sites are occupied by Na+ | c2.naca.do_1n * c2.na_ex / c2.naca.k_2n_o | 
| c2.naca.di_2n | "1" | relative frequency of E1 states where exactly the first two Na+ sites are occupied by Na+ | c2.naca.di_1n * c2.na_in / c2.naca.k_2n_i | 
| c2.naca.di_c | "1" | relative frequency of E1 states that are occupied by Ca2+ and not occluded | c2.ca_sub.substance.amount / (c2.naca.k_c_i * c2.v_sub) | 
| c2.vc.g.p.v | "V" | Potential at the pin | 0.0 | 
| c2.ca_sub.substance.amount | "mol" | amount of substance | c2.ca_sub.c_const * c2.ca_sub.vol | 
| c2.naca.di_1n | "1" | relative frequency of E1 states where only the first Na+ site is occupied by Na+ | c2.na_in / c2.naca.k_1n_i | 
| c2.naca.do_c | "1" | relative frequency of E2 states that are occupied by Ca2+ and not occluded | c2.ca_ex / c2.naca.k_c_o | 
| c2.naca.do_1n | "1" | relative frequency of E2 states where only the first Na+ site is occupied by Na+ | c2.na_ex / c2.naca.k_1n_o | 
| c2.naca.f1_3n_o | "1" | fraction of E2 states whose first two Na+ sites are occupied by Na+ | InaMo.Functions.Biochemical.michaelisMenten(c2.na_ex, c2.naca.k_3n_o) | 
| c2.naca.f1_3n_i | "1" | fraction of E1 states whose first two Na+ sites are occupied by Na+ | InaMo.Functions.Biochemical.michaelisMenten(c2.na_in, c2.naca.k_3n_i) | 
| c3.naca.di_cn | "1" | relative frequency of E1 states whose first two binding sites are occupied by Ca2+ and whose last binding site is occupied by Na+ | c3.naca.di_c * c3.na_in / c3.naca.k_cn_i | 
| c3.naca.di_3n | "1" | relative frequency of E1 states where exactly three Na+ sites are occupied by Na+ | c3.naca.di_2n * c3.na_in / c3.naca.k_3n_i | 
| c3.naca.do_3n | "1" | relative frequency of E2 states where exactly three Na+ sites are occupied by Na+ | c3.naca.do_2n * c3.na_ex / c3.naca.k_3n_o | 
| c3.naca.do_2n | "1" | relative frequency of E2 states where exactly the first two Na+ sites are occupied by Na+ | c3.naca.do_1n * c3.na_ex / c3.naca.k_2n_o | 
| c3.naca.di_2n | "1" | relative frequency of E1 states where exactly the first two Na+ sites are occupied by Na+ | c3.naca.di_1n * c3.na_in / c3.naca.k_2n_i | 
| c3.naca.di_c | "1" | relative frequency of E1 states that are occupied by Ca2+ and not occluded | c3.ca_sub.substance.amount / (c3.naca.k_c_i * c3.v_sub) | 
| c3.vc.g.p.v | "V" | Potential at the pin | 0.0 | 
| c3.ca_sub.substance.amount | "mol" | amount of substance | c3.ca_sub.c_const * c3.ca_sub.vol | 
| c3.naca.di_1n | "1" | relative frequency of E1 states where only the first Na+ site is occupied by Na+ | c3.na_in / c3.naca.k_1n_i | 
| c3.naca.do_c | "1" | relative frequency of E2 states that are occupied by Ca2+ and not occluded | c3.ca_ex / c3.naca.k_c_o | 
| c3.naca.do_1n | "1" | relative frequency of E2 states where only the first Na+ site is occupied by Na+ | c3.na_ex / c3.naca.k_1n_o | 
| c3.naca.f1_3n_o | "1" | fraction of E2 states whose first two Na+ sites are occupied by Na+ | InaMo.Functions.Biochemical.michaelisMenten(c3.na_ex, c3.naca.k_3n_o) | 
| c3.naca.f1_3n_i | "1" | fraction of E1 states whose first two Na+ sites are occupied by Na+ | InaMo.Functions.Biochemical.michaelisMenten(c3.na_in, c3.naca.k_3n_i) | 
| d1.naca.di_cn | "1" | relative frequency of E1 states whose first two binding sites are occupied by Ca2+ and whose last binding site is occupied by Na+ | d1.naca.di_c * d1.na_in / d1.naca.k_cn_i | 
| d1.naca.di_3n | "1" | relative frequency of E1 states where exactly three Na+ sites are occupied by Na+ | d1.naca.di_2n * d1.na_in / d1.naca.k_3n_i | 
| d1.naca.do_3n | "1" | relative frequency of E2 states where exactly three Na+ sites are occupied by Na+ | d1.naca.do_2n * d1.na_ex / d1.naca.k_3n_o | 
| d1.naca.do_2n | "1" | relative frequency of E2 states where exactly the first two Na+ sites are occupied by Na+ | d1.naca.do_1n * d1.na_ex / d1.naca.k_2n_o | 
| d1.naca.di_2n | "1" | relative frequency of E1 states where exactly the first two Na+ sites are occupied by Na+ | d1.naca.di_1n * d1.na_in / d1.naca.k_2n_i | 
| d1.naca.di_c | "1" | relative frequency of E1 states that are occupied by Ca2+ and not occluded | d1.ca_sub.substance.amount / (d1.naca.k_c_i * d1.v_sub) | 
| d1.vc.g.p.v | "V" | Potential at the pin | 0.0 | 
| d1.ca_sub.substance.amount | "mol" | amount of substance | d1.ca_sub.c_const * d1.ca_sub.vol | 
| d1.naca.di_1n | "1" | relative frequency of E1 states where only the first Na+ site is occupied by Na+ | d1.na_in / d1.naca.k_1n_i | 
| d1.naca.do_c | "1" | relative frequency of E2 states that are occupied by Ca2+ and not occluded | d1.ca_ex / d1.naca.k_c_o | 
| d1.naca.do_1n | "1" | relative frequency of E2 states where only the first Na+ site is occupied by Na+ | d1.na_ex / d1.naca.k_1n_o | 
| d1.naca.f1_3n_o | "1" | fraction of E2 states whose first two Na+ sites are occupied by Na+ | InaMo.Functions.Biochemical.michaelisMenten(d1.na_ex, d1.naca.k_3n_o) | 
| d1.naca.f1_3n_i | "1" | fraction of E1 states whose first two Na+ sites are occupied by Na+ | InaMo.Functions.Biochemical.michaelisMenten(d1.na_in, d1.naca.k_3n_i) | 
| d2.naca.di_cn | "1" | relative frequency of E1 states whose first two binding sites are occupied by Ca2+ and whose last binding site is occupied by Na+ | d2.naca.di_c * d2.na_in / d2.naca.k_cn_i | 
| d2.naca.di_3n | "1" | relative frequency of E1 states where exactly three Na+ sites are occupied by Na+ | d2.naca.di_2n * d2.na_in / d2.naca.k_3n_i | 
| d2.naca.do_3n | "1" | relative frequency of E2 states where exactly three Na+ sites are occupied by Na+ | d2.naca.do_2n * d2.na_ex / d2.naca.k_3n_o | 
| d2.naca.do_2n | "1" | relative frequency of E2 states where exactly the first two Na+ sites are occupied by Na+ | d2.naca.do_1n * d2.na_ex / d2.naca.k_2n_o | 
| d2.naca.di_2n | "1" | relative frequency of E1 states where exactly the first two Na+ sites are occupied by Na+ | d2.naca.di_1n * d2.na_in / d2.naca.k_2n_i | 
| d2.naca.di_c | "1" | relative frequency of E1 states that are occupied by Ca2+ and not occluded | d2.ca_sub.substance.amount / (d2.naca.k_c_i * d2.v_sub) | 
| d2.vc.g.p.v | "V" | Potential at the pin | 0.0 | 
| d2.ca_sub.substance.amount | "mol" | amount of substance | d2.ca_sub.c_const * d2.ca_sub.vol | 
| d2.naca.di_1n | "1" | relative frequency of E1 states where only the first Na+ site is occupied by Na+ | d2.na_in / d2.naca.k_1n_i | 
| d2.naca.do_c | "1" | relative frequency of E2 states that are occupied by Ca2+ and not occluded | d2.ca_ex / d2.naca.k_c_o | 
| d2.naca.do_1n | "1" | relative frequency of E2 states where only the first Na+ site is occupied by Na+ | d2.na_ex / d2.naca.k_1n_o | 
| d2.naca.f1_3n_o | "1" | fraction of E2 states whose first two Na+ sites are occupied by Na+ | InaMo.Functions.Biochemical.michaelisMenten(d2.na_ex, d2.naca.k_3n_o) | 
| d2.naca.f1_3n_i | "1" | fraction of E1 states whose first two Na+ sites are occupied by Na+ | InaMo.Functions.Biochemical.michaelisMenten(d2.na_in, d2.naca.k_3n_i) | 
| d3.naca.di_cn | "1" | relative frequency of E1 states whose first two binding sites are occupied by Ca2+ and whose last binding site is occupied by Na+ | d3.naca.di_c * d3.na_in / d3.naca.k_cn_i | 
| d3.naca.di_3n | "1" | relative frequency of E1 states where exactly three Na+ sites are occupied by Na+ | d3.naca.di_2n * d3.na_in / d3.naca.k_3n_i | 
| d3.naca.do_3n | "1" | relative frequency of E2 states where exactly three Na+ sites are occupied by Na+ | d3.naca.do_2n * d3.na_ex / d3.naca.k_3n_o | 
| d3.naca.do_2n | "1" | relative frequency of E2 states where exactly the first two Na+ sites are occupied by Na+ | d3.naca.do_1n * d3.na_ex / d3.naca.k_2n_o | 
| d3.naca.di_2n | "1" | relative frequency of E1 states where exactly the first two Na+ sites are occupied by Na+ | d3.naca.di_1n * d3.na_in / d3.naca.k_2n_i | 
| d3.naca.di_c | "1" | relative frequency of E1 states that are occupied by Ca2+ and not occluded | d3.ca_sub.substance.amount / (d3.naca.k_c_i * d3.v_sub) | 
| d3.vc.g.p.v | "V" | Potential at the pin | 0.0 | 
| d3.ca_sub.substance.amount | "mol" | amount of substance | d3.ca_sub.c_const * d3.ca_sub.vol | 
| d3.naca.di_1n | "1" | relative frequency of E1 states where only the first Na+ site is occupied by Na+ | d3.na_in / d3.naca.k_1n_i | 
| d3.naca.do_c | "1" | relative frequency of E2 states that are occupied by Ca2+ and not occluded | d3.ca_ex / d3.naca.k_c_o | 
| d3.naca.do_1n | "1" | relative frequency of E2 states where only the first Na+ site is occupied by Na+ | d3.na_ex / d3.naca.k_1n_o | 
| d3.naca.f1_3n_o | "1" | fraction of E2 states whose first two Na+ sites are occupied by Na+ | InaMo.Functions.Biochemical.michaelisMenten(d3.na_ex, d3.naca.k_3n_o) | 
| d3.naca.f1_3n_i | "1" | fraction of E1 states whose first two Na+ sites are occupied by Na+ | InaMo.Functions.Biochemical.michaelisMenten(d3.na_in, d3.naca.k_3n_i) | 
| a1.v_sub | "m3" | 1.0 | |
| a1.naca.trans.n | "1" | stoichiometric ratio of ion transport | a1.naca.n_ca | 
| a1.naca.trans.z | valence of ion | 2 | |
| a1.naca.con.c_const | "mol/m3" | fixed concentration | a1.ca_ex | 
| a1.naca.con.vol | "m3" | volume of the compartment | 1.0 | 
| a1.naca.n_ca | "1" | stoichiometric ratio of transport | -2.0 | 
| a1.naca.current_name | "I_NaCa" | ||
| a1.naca.k_c_i | "mol/m3" | dissociation constant for channel with Ca++ bound on inside | 0.0207 | 
| a1.naca.k_cn_i | "mol/m3" | dissociation constant for channel with Ca++ and one Na+ bound on inside | 26.44 | 
| a1.naca.k_1n_i | "mol/m3" | dissociation constant for channel with one Na+ bound on inside | 395.3 | 
| a1.naca.k_2n_i | "mol/m3" | dissociation constant for channel with two Na+ bound on inside | 2.289 | 
| a1.naca.k_3n_i | "mol/m3" | dissociation constant for channel with three Na+ bound on inside | 26.44 | 
| a1.naca.k_c_o | "mol/m3" | dissociation constant for channel with Ca++ bound on outside | 3.663 | 
| a1.naca.k_1n_o | "mol/m3" | dissociation constant for channel with one Na+ bound on outside | 1628.0 | 
| a1.naca.k_2n_o | "mol/m3" | dissociation constant for channel with two Na+ bound on outside | 561.4 | 
| a1.naca.k_3n_o | "mol/m3" | dissociation constant for channel with three Na+ bound on outside | 4.663 | 
| a1.naca.q_ci | fractional charge movement during intracellular Ca++ occlusion reaction | 0.1369 | |
| a1.naca.q_co | fractional charge movement during extracellular Ca++ occlusion reaction | 0.0 | |
| a1.naca.q_n | fractional charge movement during Na+ occlusion reactions | 0.4315 | |
| a1.naca.k_NaCa | "A" | scaling factor for Na+/Ca++ exchanger current | 9.5e-10 | 
| a1.naca.FoRT | helper variable to simplify equations | 11604.52214706721 / a1.temp | |
| a1.temp | "K" | cell medium temperature | 288.15 | 
| a1.l2.c | "F" | membrane capacitance | 4e-11 | 
| a1.l2.v_init | "V" | initial potential (from short initial stimulation) | -0.09 | 
| a1.l2.use_init | determines whether initial value for v is used | false | |
| a1.na_in | "mol/m3" | intracellular sodium concentration | 25.0 | 
| a1.na_ex | "mol/m3" | extracellular sodium concentration | 0.0 | 
| a1.ca_ex | "mol/m3" | extracellular calcium concentration | 8.0 | 
| a1.ca_sub.c_const | "mol/m3" | fixed concentration | 0.0 | 
| a1.ca_sub.vol | "m3" | volume of the compartment | a1.v_sub | 
| a1.v_start | "V" | starting voltage | -0.14 | 
| a2.v_sub | "m3" | 1.0 | |
| a2.naca.trans.n | "1" | stoichiometric ratio of ion transport | a2.naca.n_ca | 
| a2.naca.trans.z | valence of ion | 2 | |
| a2.naca.con.c_const | "mol/m3" | fixed concentration | a2.ca_ex | 
| a2.naca.con.vol | "m3" | volume of the compartment | 1.0 | 
| a2.naca.n_ca | "1" | stoichiometric ratio of transport | -2.0 | 
| a2.naca.current_name | "I_NaCa" | ||
| a2.naca.k_c_i | "mol/m3" | dissociation constant for channel with Ca++ bound on inside | 0.0207 | 
| a2.naca.k_cn_i | "mol/m3" | dissociation constant for channel with Ca++ and one Na+ bound on inside | 26.44 | 
| a2.naca.k_1n_i | "mol/m3" | dissociation constant for channel with one Na+ bound on inside | 395.3 | 
| a2.naca.k_2n_i | "mol/m3" | dissociation constant for channel with two Na+ bound on inside | 2.289 | 
| a2.naca.k_3n_i | "mol/m3" | dissociation constant for channel with three Na+ bound on inside | 26.44 | 
| a2.naca.k_c_o | "mol/m3" | dissociation constant for channel with Ca++ bound on outside | 3.663 | 
| a2.naca.k_1n_o | "mol/m3" | dissociation constant for channel with one Na+ bound on outside | 1628.0 | 
| a2.naca.k_2n_o | "mol/m3" | dissociation constant for channel with two Na+ bound on outside | 561.4 | 
| a2.naca.k_3n_o | "mol/m3" | dissociation constant for channel with three Na+ bound on outside | 4.663 | 
| a2.naca.q_ci | fractional charge movement during intracellular Ca++ occlusion reaction | 0.1369 | |
| a2.naca.q_co | fractional charge movement during extracellular Ca++ occlusion reaction | 0.0 | |
| a2.naca.q_n | fractional charge movement during Na+ occlusion reactions | 0.4315 | |
| a2.naca.k_NaCa | "A" | scaling factor for Na+/Ca++ exchanger current | 9.5e-10 | 
| a2.naca.FoRT | helper variable to simplify equations | 11604.52214706721 / a2.temp | |
| a2.temp | "K" | cell medium temperature | 288.15 | 
| a2.l2.c | "F" | membrane capacitance | 4e-11 | 
| a2.l2.v_init | "V" | initial potential (from short initial stimulation) | -0.09 | 
| a2.l2.use_init | determines whether initial value for v is used | false | |
| a2.na_in | "mol/m3" | intracellular sodium concentration | 25.0 | 
| a2.na_ex | "mol/m3" | extracellular sodium concentration | 0.0 | 
| a2.ca_ex | "mol/m3" | extracellular calcium concentration | 8.0 | 
| a2.ca_sub.c_const | "mol/m3" | fixed concentration | 0.016 | 
| a2.ca_sub.vol | "m3" | volume of the compartment | a2.v_sub | 
| a2.v_start | "V" | starting voltage | -0.14 | 
| a3.v_sub | "m3" | 1.0 | |
| a3.naca.trans.n | "1" | stoichiometric ratio of ion transport | a3.naca.n_ca | 
| a3.naca.trans.z | valence of ion | 2 | |
| a3.naca.con.c_const | "mol/m3" | fixed concentration | a3.ca_ex | 
| a3.naca.con.vol | "m3" | volume of the compartment | 1.0 | 
| a3.naca.n_ca | "1" | stoichiometric ratio of transport | -2.0 | 
| a3.naca.current_name | "I_NaCa" | ||
| a3.naca.k_c_i | "mol/m3" | dissociation constant for channel with Ca++ bound on inside | 0.0207 | 
| a3.naca.k_cn_i | "mol/m3" | dissociation constant for channel with Ca++ and one Na+ bound on inside | 26.44 | 
| a3.naca.k_1n_i | "mol/m3" | dissociation constant for channel with one Na+ bound on inside | 395.3 | 
| a3.naca.k_2n_i | "mol/m3" | dissociation constant for channel with two Na+ bound on inside | 2.289 | 
| a3.naca.k_3n_i | "mol/m3" | dissociation constant for channel with three Na+ bound on inside | 26.44 | 
| a3.naca.k_c_o | "mol/m3" | dissociation constant for channel with Ca++ bound on outside | 3.663 | 
| a3.naca.k_1n_o | "mol/m3" | dissociation constant for channel with one Na+ bound on outside | 1628.0 | 
| a3.naca.k_2n_o | "mol/m3" | dissociation constant for channel with two Na+ bound on outside | 561.4 | 
| a3.naca.k_3n_o | "mol/m3" | dissociation constant for channel with three Na+ bound on outside | 4.663 | 
| a3.naca.q_ci | fractional charge movement during intracellular Ca++ occlusion reaction | 0.1369 | |
| a3.naca.q_co | fractional charge movement during extracellular Ca++ occlusion reaction | 0.0 | |
| a3.naca.q_n | fractional charge movement during Na+ occlusion reactions | 0.4315 | |
| a3.naca.k_NaCa | "A" | scaling factor for Na+/Ca++ exchanger current | 9.5e-10 | 
| a3.naca.FoRT | helper variable to simplify equations | 11604.52214706721 / a3.temp | |
| a3.temp | "K" | cell medium temperature | 288.15 | 
| a3.l2.c | "F" | membrane capacitance | 4e-11 | 
| a3.l2.v_init | "V" | initial potential (from short initial stimulation) | -0.09 | 
| a3.l2.use_init | determines whether initial value for v is used | false | |
| a3.na_in | "mol/m3" | intracellular sodium concentration | 25.0 | 
| a3.na_ex | "mol/m3" | extracellular sodium concentration | 0.0 | 
| a3.ca_ex | "mol/m3" | extracellular calcium concentration | 8.0 | 
| a3.ca_sub.c_const | "mol/m3" | fixed concentration | 0.234 | 
| a3.ca_sub.vol | "m3" | volume of the compartment | a3.v_sub | 
| a3.v_start | "V" | starting voltage | -0.14 | 
| b1.v_sub | "m3" | 1.0 | |
| b1.naca.trans.n | "1" | stoichiometric ratio of ion transport | b1.naca.n_ca | 
| b1.naca.trans.z | valence of ion | 2 | |
| b1.naca.con.c_const | "mol/m3" | fixed concentration | b1.ca_ex | 
| b1.naca.con.vol | "m3" | volume of the compartment | 1.0 | 
| b1.naca.n_ca | "1" | stoichiometric ratio of transport | -2.0 | 
| b1.naca.current_name | "I_NaCa" | ||
| b1.naca.k_c_i | "mol/m3" | dissociation constant for channel with Ca++ bound on inside | 0.0207 | 
| b1.naca.k_cn_i | "mol/m3" | dissociation constant for channel with Ca++ and one Na+ bound on inside | 26.44 | 
| b1.naca.k_1n_i | "mol/m3" | dissociation constant for channel with one Na+ bound on inside | 395.3 | 
| b1.naca.k_2n_i | "mol/m3" | dissociation constant for channel with two Na+ bound on inside | 2.289 | 
| b1.naca.k_3n_i | "mol/m3" | dissociation constant for channel with three Na+ bound on inside | 26.44 | 
| b1.naca.k_c_o | "mol/m3" | dissociation constant for channel with Ca++ bound on outside | 3.663 | 
| b1.naca.k_1n_o | "mol/m3" | dissociation constant for channel with one Na+ bound on outside | 1628.0 | 
| b1.naca.k_2n_o | "mol/m3" | dissociation constant for channel with two Na+ bound on outside | 561.4 | 
| b1.naca.k_3n_o | "mol/m3" | dissociation constant for channel with three Na+ bound on outside | 4.663 | 
| b1.naca.q_ci | fractional charge movement during intracellular Ca++ occlusion reaction | 0.1369 | |
| b1.naca.q_co | fractional charge movement during extracellular Ca++ occlusion reaction | 0.0 | |
| b1.naca.q_n | fractional charge movement during Na+ occlusion reactions | 0.4315 | |
| b1.naca.k_NaCa | "A" | scaling factor for Na+/Ca++ exchanger current | 2.5e-10 | 
| b1.naca.FoRT | helper variable to simplify equations | 11604.52214706721 / b1.temp | |
| b1.temp | "K" | cell medium temperature | 288.15 | 
| b1.l2.c | "F" | membrane capacitance | 4e-11 | 
| b1.l2.v_init | "V" | initial potential (from short initial stimulation) | -0.09 | 
| b1.l2.use_init | determines whether initial value for v is used | false | |
| b1.na_in | "mol/m3" | intracellular sodium concentration | 100.0 | 
| b1.na_ex | "mol/m3" | extracellular sodium concentration | 0.0 | 
| b1.ca_ex | "mol/m3" | extracellular calcium concentration | 8.0 | 
| b1.ca_sub.c_const | "mol/m3" | fixed concentration | 0.0 | 
| b1.ca_sub.vol | "m3" | volume of the compartment | b1.v_sub | 
| b1.v_start | "V" | starting voltage | -0.14 | 
| b2.v_sub | "m3" | 1.0 | |
| b2.naca.trans.n | "1" | stoichiometric ratio of ion transport | b2.naca.n_ca | 
| b2.naca.trans.z | valence of ion | 2 | |
| b2.naca.con.c_const | "mol/m3" | fixed concentration | b2.ca_ex | 
| b2.naca.con.vol | "m3" | volume of the compartment | 1.0 | 
| b2.naca.n_ca | "1" | stoichiometric ratio of transport | -2.0 | 
| b2.naca.current_name | "I_NaCa" | ||
| b2.naca.k_c_i | "mol/m3" | dissociation constant for channel with Ca++ bound on inside | 0.0207 | 
| b2.naca.k_cn_i | "mol/m3" | dissociation constant for channel with Ca++ and one Na+ bound on inside | 26.44 | 
| b2.naca.k_1n_i | "mol/m3" | dissociation constant for channel with one Na+ bound on inside | 395.3 | 
| b2.naca.k_2n_i | "mol/m3" | dissociation constant for channel with two Na+ bound on inside | 2.289 | 
| b2.naca.k_3n_i | "mol/m3" | dissociation constant for channel with three Na+ bound on inside | 26.44 | 
| b2.naca.k_c_o | "mol/m3" | dissociation constant for channel with Ca++ bound on outside | 3.663 | 
| b2.naca.k_1n_o | "mol/m3" | dissociation constant for channel with one Na+ bound on outside | 1628.0 | 
| b2.naca.k_2n_o | "mol/m3" | dissociation constant for channel with two Na+ bound on outside | 561.4 | 
| b2.naca.k_3n_o | "mol/m3" | dissociation constant for channel with three Na+ bound on outside | 4.663 | 
| b2.naca.q_ci | fractional charge movement during intracellular Ca++ occlusion reaction | 0.1369 | |
| b2.naca.q_co | fractional charge movement during extracellular Ca++ occlusion reaction | 0.0 | |
| b2.naca.q_n | fractional charge movement during Na+ occlusion reactions | 0.4315 | |
| b2.naca.k_NaCa | "A" | scaling factor for Na+/Ca++ exchanger current | 2.5e-10 | 
| b2.naca.FoRT | helper variable to simplify equations | 11604.52214706721 / b2.temp | |
| b2.temp | "K" | cell medium temperature | 288.15 | 
| b2.l2.c | "F" | membrane capacitance | 4e-11 | 
| b2.l2.v_init | "V" | initial potential (from short initial stimulation) | -0.09 | 
| b2.l2.use_init | determines whether initial value for v is used | false | |
| b2.na_in | "mol/m3" | intracellular sodium concentration | 100.0 | 
| b2.na_ex | "mol/m3" | extracellular sodium concentration | 0.0 | 
| b2.ca_ex | "mol/m3" | extracellular calcium concentration | 8.0 | 
| b2.ca_sub.c_const | "mol/m3" | fixed concentration | 0.064 | 
| b2.ca_sub.vol | "m3" | volume of the compartment | b2.v_sub | 
| b2.v_start | "V" | starting voltage | -0.14 | 
| b3.v_sub | "m3" | 1.0 | |
| b3.naca.trans.n | "1" | stoichiometric ratio of ion transport | b3.naca.n_ca | 
| b3.naca.trans.z | valence of ion | 2 | |
| b3.naca.con.c_const | "mol/m3" | fixed concentration | b3.ca_ex | 
| b3.naca.con.vol | "m3" | volume of the compartment | 1.0 | 
| b3.naca.n_ca | "1" | stoichiometric ratio of transport | -2.0 | 
| b3.naca.current_name | "I_NaCa" | ||
| b3.naca.k_c_i | "mol/m3" | dissociation constant for channel with Ca++ bound on inside | 0.0207 | 
| b3.naca.k_cn_i | "mol/m3" | dissociation constant for channel with Ca++ and one Na+ bound on inside | 26.44 | 
| b3.naca.k_1n_i | "mol/m3" | dissociation constant for channel with one Na+ bound on inside | 395.3 | 
| b3.naca.k_2n_i | "mol/m3" | dissociation constant for channel with two Na+ bound on inside | 2.289 | 
| b3.naca.k_3n_i | "mol/m3" | dissociation constant for channel with three Na+ bound on inside | 26.44 | 
| b3.naca.k_c_o | "mol/m3" | dissociation constant for channel with Ca++ bound on outside | 3.663 | 
| b3.naca.k_1n_o | "mol/m3" | dissociation constant for channel with one Na+ bound on outside | 1628.0 | 
| b3.naca.k_2n_o | "mol/m3" | dissociation constant for channel with two Na+ bound on outside | 561.4 | 
| b3.naca.k_3n_o | "mol/m3" | dissociation constant for channel with three Na+ bound on outside | 4.663 | 
| b3.naca.q_ci | fractional charge movement during intracellular Ca++ occlusion reaction | 0.1369 | |
| b3.naca.q_co | fractional charge movement during extracellular Ca++ occlusion reaction | 0.0 | |
| b3.naca.q_n | fractional charge movement during Na+ occlusion reactions | 0.4315 | |
| b3.naca.k_NaCa | "A" | scaling factor for Na+/Ca++ exchanger current | 2.5e-10 | 
| b3.naca.FoRT | helper variable to simplify equations | 11604.52214706721 / b3.temp | |
| b3.temp | "K" | cell medium temperature | 288.15 | 
| b3.l2.c | "F" | membrane capacitance | 4e-11 | 
| b3.l2.v_init | "V" | initial potential (from short initial stimulation) | -0.09 | 
| b3.l2.use_init | determines whether initial value for v is used | false | |
| b3.na_in | "mol/m3" | intracellular sodium concentration | 100.0 | 
| b3.na_ex | "mol/m3" | extracellular sodium concentration | 0.0 | 
| b3.ca_ex | "mol/m3" | extracellular calcium concentration | 8.0 | 
| b3.ca_sub.c_const | "mol/m3" | fixed concentration | 1.08 | 
| b3.ca_sub.vol | "m3" | volume of the compartment | b3.v_sub | 
| b3.v_start | "V" | starting voltage | -0.14 | 
| c1.v_sub | "m3" | 1.0 | |
| c1.naca.trans.n | "1" | stoichiometric ratio of ion transport | c1.naca.n_ca | 
| c1.naca.trans.z | valence of ion | 2 | |
| c1.naca.con.c_const | "mol/m3" | fixed concentration | c1.ca_ex | 
| c1.naca.con.vol | "m3" | volume of the compartment | 1.0 | 
| c1.naca.n_ca | "1" | stoichiometric ratio of transport | -2.0 | 
| c1.naca.current_name | "I_NaCa" | ||
| c1.naca.k_c_i | "mol/m3" | dissociation constant for channel with Ca++ bound on inside | 0.0207 | 
| c1.naca.k_cn_i | "mol/m3" | dissociation constant for channel with Ca++ and one Na+ bound on inside | 26.44 | 
| c1.naca.k_1n_i | "mol/m3" | dissociation constant for channel with one Na+ bound on inside | 395.3 | 
| c1.naca.k_2n_i | "mol/m3" | dissociation constant for channel with two Na+ bound on inside | 2.289 | 
| c1.naca.k_3n_i | "mol/m3" | dissociation constant for channel with three Na+ bound on inside | 26.44 | 
| c1.naca.k_c_o | "mol/m3" | dissociation constant for channel with Ca++ bound on outside | 3.663 | 
| c1.naca.k_1n_o | "mol/m3" | dissociation constant for channel with one Na+ bound on outside | 1628.0 | 
| c1.naca.k_2n_o | "mol/m3" | dissociation constant for channel with two Na+ bound on outside | 561.4 | 
| c1.naca.k_3n_o | "mol/m3" | dissociation constant for channel with three Na+ bound on outside | 4.663 | 
| c1.naca.q_ci | fractional charge movement during intracellular Ca++ occlusion reaction | 0.1369 | |
| c1.naca.q_co | fractional charge movement during extracellular Ca++ occlusion reaction | 0.0 | |
| c1.naca.q_n | fractional charge movement during Na+ occlusion reactions | 0.4315 | |
| c1.naca.k_NaCa | "A" | scaling factor for Na+/Ca++ exchanger current | 3.6e-10 | 
| c1.naca.FoRT | helper variable to simplify equations | 11604.52214706721 / c1.temp | |
| c1.temp | "K" | cell medium temperature | 288.15 | 
| c1.l2.c | "F" | membrane capacitance | 4e-11 | 
| c1.l2.v_init | "V" | initial potential (from short initial stimulation) | -0.09 | 
| c1.l2.use_init | determines whether initial value for v is used | false | |
| c1.na_in | "mol/m3" | intracellular sodium concentration | 0.0 | 
| c1.na_ex | "mol/m3" | extracellular sodium concentration | 150.0 | 
| c1.ca_ex | "mol/m3" | extracellular calcium concentration | 0.0 | 
| c1.ca_sub.c_const | "mol/m3" | fixed concentration | 0.003 | 
| c1.ca_sub.vol | "m3" | volume of the compartment | c1.v_sub | 
| c1.v_start | "V" | starting voltage | -0.14 | 
| c2.v_sub | "m3" | 1.0 | |
| c2.naca.trans.n | "1" | stoichiometric ratio of ion transport | c2.naca.n_ca | 
| c2.naca.trans.z | valence of ion | 2 | |
| c2.naca.con.c_const | "mol/m3" | fixed concentration | c2.ca_ex | 
| c2.naca.con.vol | "m3" | volume of the compartment | 1.0 | 
| c2.naca.n_ca | "1" | stoichiometric ratio of transport | -2.0 | 
| c2.naca.current_name | "I_NaCa" | ||
| c2.naca.k_c_i | "mol/m3" | dissociation constant for channel with Ca++ bound on inside | 0.0207 | 
| c2.naca.k_cn_i | "mol/m3" | dissociation constant for channel with Ca++ and one Na+ bound on inside | 26.44 | 
| c2.naca.k_1n_i | "mol/m3" | dissociation constant for channel with one Na+ bound on inside | 395.3 | 
| c2.naca.k_2n_i | "mol/m3" | dissociation constant for channel with two Na+ bound on inside | 2.289 | 
| c2.naca.k_3n_i | "mol/m3" | dissociation constant for channel with three Na+ bound on inside | 26.44 | 
| c2.naca.k_c_o | "mol/m3" | dissociation constant for channel with Ca++ bound on outside | 3.663 | 
| c2.naca.k_1n_o | "mol/m3" | dissociation constant for channel with one Na+ bound on outside | 1628.0 | 
| c2.naca.k_2n_o | "mol/m3" | dissociation constant for channel with two Na+ bound on outside | 561.4 | 
| c2.naca.k_3n_o | "mol/m3" | dissociation constant for channel with three Na+ bound on outside | 4.663 | 
| c2.naca.q_ci | fractional charge movement during intracellular Ca++ occlusion reaction | 0.1369 | |
| c2.naca.q_co | fractional charge movement during extracellular Ca++ occlusion reaction | 0.0 | |
| c2.naca.q_n | fractional charge movement during Na+ occlusion reactions | 0.4315 | |
| c2.naca.k_NaCa | "A" | scaling factor for Na+/Ca++ exchanger current | 3.6e-10 | 
| c2.naca.FoRT | helper variable to simplify equations | 11604.52214706721 / c2.temp | |
| c2.temp | "K" | cell medium temperature | 288.15 | 
| c2.l2.c | "F" | membrane capacitance | 4e-11 | 
| c2.l2.v_init | "V" | initial potential (from short initial stimulation) | -0.09 | 
| c2.l2.use_init | determines whether initial value for v is used | false | |
| c2.na_in | "mol/m3" | intracellular sodium concentration | 25.0 | 
| c2.na_ex | "mol/m3" | extracellular sodium concentration | 150.0 | 
| c2.ca_ex | "mol/m3" | extracellular calcium concentration | 0.0 | 
| c2.ca_sub.c_const | "mol/m3" | fixed concentration | 0.003 | 
| c2.ca_sub.vol | "m3" | volume of the compartment | c2.v_sub | 
| c2.v_start | "V" | starting voltage | -0.14 | 
| c3.v_sub | "m3" | 1.0 | |
| c3.naca.trans.n | "1" | stoichiometric ratio of ion transport | c3.naca.n_ca | 
| c3.naca.trans.z | valence of ion | 2 | |
| c3.naca.con.c_const | "mol/m3" | fixed concentration | c3.ca_ex | 
| c3.naca.con.vol | "m3" | volume of the compartment | 1.0 | 
| c3.naca.n_ca | "1" | stoichiometric ratio of transport | -2.0 | 
| c3.naca.current_name | "I_NaCa" | ||
| c3.naca.k_c_i | "mol/m3" | dissociation constant for channel with Ca++ bound on inside | 0.0207 | 
| c3.naca.k_cn_i | "mol/m3" | dissociation constant for channel with Ca++ and one Na+ bound on inside | 26.44 | 
| c3.naca.k_1n_i | "mol/m3" | dissociation constant for channel with one Na+ bound on inside | 395.3 | 
| c3.naca.k_2n_i | "mol/m3" | dissociation constant for channel with two Na+ bound on inside | 2.289 | 
| c3.naca.k_3n_i | "mol/m3" | dissociation constant for channel with three Na+ bound on inside | 26.44 | 
| c3.naca.k_c_o | "mol/m3" | dissociation constant for channel with Ca++ bound on outside | 3.663 | 
| c3.naca.k_1n_o | "mol/m3" | dissociation constant for channel with one Na+ bound on outside | 1628.0 | 
| c3.naca.k_2n_o | "mol/m3" | dissociation constant for channel with two Na+ bound on outside | 561.4 | 
| c3.naca.k_3n_o | "mol/m3" | dissociation constant for channel with three Na+ bound on outside | 4.663 | 
| c3.naca.q_ci | fractional charge movement during intracellular Ca++ occlusion reaction | 0.1369 | |
| c3.naca.q_co | fractional charge movement during extracellular Ca++ occlusion reaction | 0.0 | |
| c3.naca.q_n | fractional charge movement during Na+ occlusion reactions | 0.4315 | |
| c3.naca.k_NaCa | "A" | scaling factor for Na+/Ca++ exchanger current | 3.6e-10 | 
| c3.naca.FoRT | helper variable to simplify equations | 11604.52214706721 / c3.temp | |
| c3.temp | "K" | cell medium temperature | 288.15 | 
| c3.l2.c | "F" | membrane capacitance | 4e-11 | 
| c3.l2.v_init | "V" | initial potential (from short initial stimulation) | -0.09 | 
| c3.l2.use_init | determines whether initial value for v is used | false | |
| c3.na_in | "mol/m3" | intracellular sodium concentration | 50.0 | 
| c3.na_ex | "mol/m3" | extracellular sodium concentration | 150.0 | 
| c3.ca_ex | "mol/m3" | extracellular calcium concentration | 0.0 | 
| c3.ca_sub.c_const | "mol/m3" | fixed concentration | 0.003 | 
| c3.ca_sub.vol | "m3" | volume of the compartment | c3.v_sub | 
| c3.v_start | "V" | starting voltage | -0.14 | 
| d1.v_sub | "m3" | 1.0 | |
| d1.naca.trans.n | "1" | stoichiometric ratio of ion transport | d1.naca.n_ca | 
| d1.naca.trans.z | valence of ion | 2 | |
| d1.naca.con.c_const | "mol/m3" | fixed concentration | d1.ca_ex | 
| d1.naca.con.vol | "m3" | volume of the compartment | 1.0 | 
| d1.naca.n_ca | "1" | stoichiometric ratio of transport | -2.0 | 
| d1.naca.current_name | "I_NaCa" | ||
| d1.naca.k_c_i | "mol/m3" | dissociation constant for channel with Ca++ bound on inside | 0.0207 | 
| d1.naca.k_cn_i | "mol/m3" | dissociation constant for channel with Ca++ and one Na+ bound on inside | 26.44 | 
| d1.naca.k_1n_i | "mol/m3" | dissociation constant for channel with one Na+ bound on inside | 395.3 | 
| d1.naca.k_2n_i | "mol/m3" | dissociation constant for channel with two Na+ bound on inside | 2.289 | 
| d1.naca.k_3n_i | "mol/m3" | dissociation constant for channel with three Na+ bound on inside | 26.44 | 
| d1.naca.k_c_o | "mol/m3" | dissociation constant for channel with Ca++ bound on outside | 3.663 | 
| d1.naca.k_1n_o | "mol/m3" | dissociation constant for channel with one Na+ bound on outside | 1628.0 | 
| d1.naca.k_2n_o | "mol/m3" | dissociation constant for channel with two Na+ bound on outside | 561.4 | 
| d1.naca.k_3n_o | "mol/m3" | dissociation constant for channel with three Na+ bound on outside | 4.663 | 
| d1.naca.q_ci | fractional charge movement during intracellular Ca++ occlusion reaction | 0.1369 | |
| d1.naca.q_co | fractional charge movement during extracellular Ca++ occlusion reaction | 0.0 | |
| d1.naca.q_n | fractional charge movement during Na+ occlusion reactions | 0.4315 | |
| d1.naca.k_NaCa | "A" | scaling factor for Na+/Ca++ exchanger current | 5.6e-10 | 
| d1.naca.FoRT | helper variable to simplify equations | 11604.52214706721 / d1.temp | |
| d1.temp | "K" | cell medium temperature | 288.15 | 
| d1.l2.c | "F" | membrane capacitance | 4e-11 | 
| d1.l2.v_init | "V" | initial potential (from short initial stimulation) | -0.09 | 
| d1.l2.use_init | determines whether initial value for v is used | false | |
| d1.na_in | "mol/m3" | intracellular sodium concentration | 0.0 | 
| d1.na_ex | "mol/m3" | extracellular sodium concentration | 150.0 | 
| d1.ca_ex | "mol/m3" | extracellular calcium concentration | 0.0 | 
| d1.ca_sub.c_const | "mol/m3" | fixed concentration | 1.08 | 
| d1.ca_sub.vol | "m3" | volume of the compartment | d1.v_sub | 
| d1.v_start | "V" | starting voltage | -0.14 | 
| d2.v_sub | "m3" | 1.0 | |
| d2.naca.trans.n | "1" | stoichiometric ratio of ion transport | d2.naca.n_ca | 
| d2.naca.trans.z | valence of ion | 2 | |
| d2.naca.con.c_const | "mol/m3" | fixed concentration | d2.ca_ex | 
| d2.naca.con.vol | "m3" | volume of the compartment | 1.0 | 
| d2.naca.n_ca | "1" | stoichiometric ratio of transport | -2.0 | 
| d2.naca.current_name | "I_NaCa" | ||
| d2.naca.k_c_i | "mol/m3" | dissociation constant for channel with Ca++ bound on inside | 0.0207 | 
| d2.naca.k_cn_i | "mol/m3" | dissociation constant for channel with Ca++ and one Na+ bound on inside | 26.44 | 
| d2.naca.k_1n_i | "mol/m3" | dissociation constant for channel with one Na+ bound on inside | 395.3 | 
| d2.naca.k_2n_i | "mol/m3" | dissociation constant for channel with two Na+ bound on inside | 2.289 | 
| d2.naca.k_3n_i | "mol/m3" | dissociation constant for channel with three Na+ bound on inside | 26.44 | 
| d2.naca.k_c_o | "mol/m3" | dissociation constant for channel with Ca++ bound on outside | 3.663 | 
| d2.naca.k_1n_o | "mol/m3" | dissociation constant for channel with one Na+ bound on outside | 1628.0 | 
| d2.naca.k_2n_o | "mol/m3" | dissociation constant for channel with two Na+ bound on outside | 561.4 | 
| d2.naca.k_3n_o | "mol/m3" | dissociation constant for channel with three Na+ bound on outside | 4.663 | 
| d2.naca.q_ci | fractional charge movement during intracellular Ca++ occlusion reaction | 0.1369 | |
| d2.naca.q_co | fractional charge movement during extracellular Ca++ occlusion reaction | 0.0 | |
| d2.naca.q_n | fractional charge movement during Na+ occlusion reactions | 0.4315 | |
| d2.naca.k_NaCa | "A" | scaling factor for Na+/Ca++ exchanger current | 5.6e-10 | 
| d2.naca.FoRT | helper variable to simplify equations | 11604.52214706721 / d2.temp | |
| d2.temp | "K" | cell medium temperature | 288.15 | 
| d2.l2.c | "F" | membrane capacitance | 4e-11 | 
| d2.l2.v_init | "V" | initial potential (from short initial stimulation) | -0.09 | 
| d2.l2.use_init | determines whether initial value for v is used | false | |
| d2.na_in | "mol/m3" | intracellular sodium concentration | 25.0 | 
| d2.na_ex | "mol/m3" | extracellular sodium concentration | 150.0 | 
| d2.ca_ex | "mol/m3" | extracellular calcium concentration | 0.0 | 
| d2.ca_sub.c_const | "mol/m3" | fixed concentration | 1.08 | 
| d2.ca_sub.vol | "m3" | volume of the compartment | d2.v_sub | 
| d2.v_start | "V" | starting voltage | -0.14 | 
| d3.v_sub | "m3" | 1.0 | |
| d3.naca.trans.n | "1" | stoichiometric ratio of ion transport | d3.naca.n_ca | 
| d3.naca.trans.z | valence of ion | 2 | |
| d3.naca.con.c_const | "mol/m3" | fixed concentration | d3.ca_ex | 
| d3.naca.con.vol | "m3" | volume of the compartment | 1.0 | 
| d3.naca.n_ca | "1" | stoichiometric ratio of transport | -2.0 | 
| d3.naca.current_name | "I_NaCa" | ||
| d3.naca.k_c_i | "mol/m3" | dissociation constant for channel with Ca++ bound on inside | 0.0207 | 
| d3.naca.k_cn_i | "mol/m3" | dissociation constant for channel with Ca++ and one Na+ bound on inside | 26.44 | 
| d3.naca.k_1n_i | "mol/m3" | dissociation constant for channel with one Na+ bound on inside | 395.3 | 
| d3.naca.k_2n_i | "mol/m3" | dissociation constant for channel with two Na+ bound on inside | 2.289 | 
| d3.naca.k_3n_i | "mol/m3" | dissociation constant for channel with three Na+ bound on inside | 26.44 | 
| d3.naca.k_c_o | "mol/m3" | dissociation constant for channel with Ca++ bound on outside | 3.663 | 
| d3.naca.k_1n_o | "mol/m3" | dissociation constant for channel with one Na+ bound on outside | 1628.0 | 
| d3.naca.k_2n_o | "mol/m3" | dissociation constant for channel with two Na+ bound on outside | 561.4 | 
| d3.naca.k_3n_o | "mol/m3" | dissociation constant for channel with three Na+ bound on outside | 4.663 | 
| d3.naca.q_ci | fractional charge movement during intracellular Ca++ occlusion reaction | 0.1369 | |
| d3.naca.q_co | fractional charge movement during extracellular Ca++ occlusion reaction | 0.0 | |
| d3.naca.q_n | fractional charge movement during Na+ occlusion reactions | 0.4315 | |
| d3.naca.k_NaCa | "A" | scaling factor for Na+/Ca++ exchanger current | 5.6e-10 | 
| d3.naca.FoRT | helper variable to simplify equations | 11604.52214706721 / d3.temp | |
| d3.temp | "K" | cell medium temperature | 288.15 | 
| d3.l2.c | "F" | membrane capacitance | 4e-11 | 
| d3.l2.v_init | "V" | initial potential (from short initial stimulation) | -0.09 | 
| d3.l2.use_init | determines whether initial value for v is used | false | |
| d3.na_in | "mol/m3" | intracellular sodium concentration | 100.0 | 
| d3.na_ex | "mol/m3" | extracellular sodium concentration | 150.0 | 
| d3.ca_ex | "mol/m3" | extracellular calcium concentration | 0.0 | 
| d3.ca_sub.c_const | "mol/m3" | fixed concentration | 1.08 | 
| d3.ca_sub.vol | "m3" | volume of the compartment | d3.v_sub | 
| d3.v_start | "V" | starting voltage | -0.14 | 
InaMo.Examples.ComponentTests.SodiumCalciumExchangerRamp
This example constitutes the base setup for the voltage ramp experiment performed by Convery 2000 whose data is used by Inada 2009 for Figure S6. This model has to be simulated twice with different parameters for the AN and NH cell model and for the N cell model. This is done in SodiumCalciumExchangerRampInada.
Simulation protocol and parameters are chosen with the following rationale:
- StopTime: allow to see the whole 300 ms ramp in the plot
 - Tolerance: left at default value because derivatives are not relevant
 - Interval: enough for a smooth plot
 - t_ramp_start: according to Figure 4D of Convery 2000
 - ramp_duration: according to Convery 2000, p. 379
 - ramp_start: according to Convery 2000, p. 397
 - ramp_end: according to Convery 2000, p. 397
 - v_hold: according to Figure 4D of Convery 2000
 
model SodiumCalciumExchangerRamp "I_NaCa during voltage clamp ramp, simulation setup from Convery 2000 for Figure S6 of Inada 2009"
  extends Modelica.Icons.Example;
  extends InaMo.Concentrations.Interfaces.CaConst;
  InaMo.Currents.Atrioventricular.SodiumCalciumExchanger naca "I_NaCa" annotation(
    Placement(transformation(extent = {{-51, -17}, {-17, 17}})));
  InaMo.Membrane.LipidBilayer l2(c = 40e-12, use_init = false) "cell membrane" annotation(
    Placement(transformation(extent = {{17, -17}, {51, 17}})));
  inner parameter SI.Temperature temp = 310 "cell medium temperature";
  InaMo.ExperimentalMethods.VoltageClamp.VoltageClamp vc "voltage clamp" annotation(
    Placement(transformation(extent = {{-17, -17}, {17, 17}})));
  inner parameter SI.Concentration na_in = 8 "intracellular sodium concentration";
  inner parameter SI.Concentration na_ex = 140 "extracellular sodium concentration";
  inner parameter SI.Concentration ca_ex = 2 "extracellular calcium concentration";
  InaMo.Concentrations.Basic.ConstantConcentration ca_sub(c_const = 0.1e-3, vol = v_sub) "Ca2+ in \"fuzzy\" subspace" annotation(
    Placement(transformation(extent = {{-51, -80}, {-17, -46}})));
  parameter SI.Time t_ramp_start = 50e-3 "time at which ramp starts";
  parameter SI.Duration ramp_duration = 250e-3 "duration of ramp";
  parameter SI.Voltage ramp_start = 60e-3 "voltage at start of ramp";
  parameter SI.Voltage ramp_end = -80e-3 "voltage at end of ramp";
  parameter SI.Voltage v_hold = -40e-3 "holding potential outside of ramp";
  Boolean ramp = time > t_ramp_start and time < t_ramp_start + ramp_duration "true during ramp";
protected
  parameter Real ramp_rate = (ramp_end - ramp_start) / ramp_duration "steepness of ramp";
equation
  if ramp then
    vc.v_stim = (time - t_ramp_start) * ramp_rate + ramp_start;
  else
    vc.v_stim = v_hold;
  end if;
  connect(l2.p, vc.p) annotation(
    Line(points = {{34, 18}, {34, 18}, {34, 40}, {0, 40}, {0, 18}, {0, 18}}, color = {0, 0, 255}));
  connect(vc.p, naca.p) annotation(
    Line(points = {{0, 18}, {0, 18}, {0, 40}, {-34, 40}, {-34, 18}, {-34, 18}}, color = {0, 0, 255}));
  connect(l2.n, vc.n) annotation(
    Line(points = {{34, -16}, {34, -16}, {34, -40}, {0, -40}, {0, -16}, {0, -16}}, color = {0, 0, 255}));
  connect(vc.n, naca.n) annotation(
    Line(points = {{0, -16}, {0, -16}, {0, -40}, {-34, -40}, {-34, -16}, {-34, -16}}, color = {0, 0, 255}));
  connect(ca_sub.substance, naca.ca) annotation(
    Line(points = {{-34, -80}, {-14, -80}, {-14, -30}, {-28, -30}, {-28, -16}, {-28, -16}}));
  annotation(
    experiment(StartTime = 0, StopTime = 0.5, Tolerance = 1e-6, Interval = 1e-3),
    __OpenModelica_simulationFlags(lv = "LOG_STATS", s = "dassl"),
    Documentation(info = "
    <html>
      <p>This example constitutes the base setup for the voltage ramp
      experiment performed by Convery 2000 whose data is used by Inada 2009
      for Figure S6. This model has to be simulated twice with different
      parameters for the AN and NH cell model and for the N cell model.
      This is done in SodiumCalciumExchangerRampInada.</p>
      <p>Simulation protocol and parameters are chosen with the following
      rationale:</p>
      <ul>
        <li>StopTime: allow to see the whole 300 ms ramp in the plot</li>
        <li>Tolerance: left at default value because derivatives are not
        relevant</li>
        <li>Interval: enough for a smooth plot</li>
        <li>t_ramp_start: according to Figure 4D of Convery 2000</li>
        <li>ramp_duration: according to Convery 2000, p. 379</li>
        <li>ramp_start: according to Convery 2000, p. 397</li>
        <li>ramp_end: according to Convery 2000, p. 397</li>
        <li>v_hold: according to Figure 4D of Convery 2000</li>
      </ul>
    </html>
  "));
end SodiumCalciumExchangerRamp;- Within group naca (prefix _ indicates shortened variable name)
 
Functions:
function michaelisMenten "equation for enzymatic reactions following Michaelis-Menten kinetics"
  input Real s(quantity = "Concentration", unit = "mol/m3") "substrate concentration";
  input Real k(quantity = "Concentration", unit = "mol/m3") "concentration producing half-maximum reaction rate (michaelis constant)";
  output Real rate(unit = "1") "reaction rate";
algorithm
  rate := s / (s + k);
end michaelisMenten;| name | unit | label | value | 
|---|---|---|---|
| ramp | true during ramp | ||
| vc.i | "A" | measured membrane current | |
| vc.g.p.i | "A" | Current flowing into the pin | |
| vc.n.i | "A" | Current flowing into the pin | |
| l2.i | "A" | Current flowing from pin p to pin n | |
| l2.v | "V" | Voltage drop of the two pins (= p.v - n.v) | |
| naca.e4 | "1" | ratio of exchanger molecules in state e4 | |
| naca.e3 | "1" | ratio of exchanger molecules in state e3 | |
| naca.e2 | "1" | ratio of exchanger molecules in state e2 | |
| naca.e1 | "1" | ratio of exchanger molecules in state e1 | |
| naca.d | "1" | common denominator to turn relative frequencies into actual ratios between 0 and 1 | |
| naca.x4 | "1" | relative frequancy of E4 states | |
| naca.x3 | "1" | relative frequency of E3 states | |
| naca.x2 | "1" | relative frequency of E2 states | |
| naca.x1 | "1" | relative frequency of E1 states | |
| naca.k_14 | "1" | rate constant for transition from E1 to E4 | |
| naca.k_41 | "1" | rate constant for transition from E4 to E1 | |
| naca.k_32 | "1" | rate constant for transition from E3 to E2 | |
| naca.k_23 | "1" | rate constant for transition from E2 to E3 | |
| naca.k_21 | "1" | rate constant for transition from E2 to E1 | |
| naca.k_12 | "1" | rate constant for transition from E1 to E2 | |
| naca.f1_2n_o | "1" | fraction of E2 states whose first two Na+ sites are occupied by Na+ | |
| naca.f1_2n_i | "1" | fraction of E1 states whose first two Na+ sites are occupied by Na+ | |
| naca.do | "1" | common denominator summing relative frequencies for all E2 substates | |
| naca.do_cv | "1" | relative frequency of E2 states that are occupied by Ca2+ and occluded | |
| naca.di | "1" | common denominator summing relative frequencies for all E1 substates | |
| naca.di_cv | "1" | relative frequency of E1 states that are occupied by Ca2+ and occluded | |
| naca.i_ion | "A" | current used for TransmembraneCaFlow | |
| naca.trans.rate | "mol/s" | rate of change in substance amount | |
| naca.con.substance.amount | "mol" | amount of substance | naca.con.c_const * naca.con.vol | 
| naca.di_cn | "1" | relative frequency of E1 states whose first two binding sites are occupied by Ca2+ and whose last binding site is occupied by Na+ | naca.di_c * na_in / naca.k_cn_i | 
| naca.di_3n | "1" | relative frequency of E1 states where exactly three Na+ sites are occupied by Na+ | naca.di_2n * na_in / naca.k_3n_i | 
| naca.do_3n | "1" | relative frequency of E2 states where exactly three Na+ sites are occupied by Na+ | naca.do_2n * na_ex / naca.k_3n_o | 
| naca.do_2n | "1" | relative frequency of E2 states where exactly the first two Na+ sites are occupied by Na+ | naca.do_1n * na_ex / naca.k_2n_o | 
| naca.di_2n | "1" | relative frequency of E1 states where exactly the first two Na+ sites are occupied by Na+ | naca.di_1n * na_in / naca.k_2n_i | 
| naca.di_c | "1" | relative frequency of E1 states that are occupied by Ca2+ and not occluded | ca_sub.substance.amount / (naca.k_c_i * v_sub) | 
| vc.g.p.v | "V" | Potential at the pin | 0.0 | 
| ca_sub.substance.amount | "mol" | amount of substance | ca_sub.c_const * ca_sub.vol | 
| naca.di_1n | "1" | relative frequency of E1 states where only the first Na+ site is occupied by Na+ | na_in / naca.k_1n_i | 
| naca.do_c | "1" | relative frequency of E2 states that are occupied by Ca2+ and not occluded | ca_ex / naca.k_c_o | 
| naca.do_1n | "1" | relative frequency of E2 states where only the first Na+ site is occupied by Na+ | na_ex / naca.k_1n_o | 
| naca.f1_3n_o | "1" | fraction of E2 states whose first two Na+ sites are occupied by Na+ | InaMo.Functions.Biochemical.michaelisMenten(na_ex, naca.k_3n_o) | 
| naca.f1_3n_i | "1" | fraction of E1 states whose first two Na+ sites are occupied by Na+ | InaMo.Functions.Biochemical.michaelisMenten(na_in, naca.k_3n_i) | 
| v_sub | "m3" | 1.0 | |
| naca.trans.n | "1" | stoichiometric ratio of ion transport | naca.n_ca | 
| naca.trans.z | valence of ion | 2 | |
| naca.con.c_const | "mol/m3" | fixed concentration | ca_ex | 
| naca.con.vol | "m3" | volume of the compartment | 1.0 | 
| naca.n_ca | "1" | stoichiometric ratio of transport | -2.0 | 
| naca.current_name | "I_NaCa" | ||
| naca.k_c_i | "mol/m3" | dissociation constant for channel with Ca++ bound on inside | 0.0207 | 
| naca.k_cn_i | "mol/m3" | dissociation constant for channel with Ca++ and one Na+ bound on inside | 26.44 | 
| naca.k_1n_i | "mol/m3" | dissociation constant for channel with one Na+ bound on inside | 395.3 | 
| naca.k_2n_i | "mol/m3" | dissociation constant for channel with two Na+ bound on inside | 2.289 | 
| naca.k_3n_i | "mol/m3" | dissociation constant for channel with three Na+ bound on inside | 26.44 | 
| naca.k_c_o | "mol/m3" | dissociation constant for channel with Ca++ bound on outside | 3.663 | 
| naca.k_1n_o | "mol/m3" | dissociation constant for channel with one Na+ bound on outside | 1628.0 | 
| naca.k_2n_o | "mol/m3" | dissociation constant for channel with two Na+ bound on outside | 561.4 | 
| naca.k_3n_o | "mol/m3" | dissociation constant for channel with three Na+ bound on outside | 4.663 | 
| naca.q_ci | fractional charge movement during intracellular Ca++ occlusion reaction | 0.1369 | |
| naca.q_co | fractional charge movement during extracellular Ca++ occlusion reaction | 0.0 | |
| naca.q_n | fractional charge movement during Na+ occlusion reactions | 0.4315 | |
| naca.k_NaCa | "A" | scaling factor for Na+/Ca++ exchanger current | 5.92e-09 | 
| naca.FoRT | helper variable to simplify equations | 11604.52214706721 / temp | |
| l2.c | "F" | membrane capacitance | 4e-11 | 
| l2.v_init | "V" | initial potential (from short initial stimulation) | -0.09 | 
| l2.use_init | determines whether initial value for v is used | false | |
| temp | "K" | cell medium temperature | 288.15 | 
| na_in | "mol/m3" | intracellular sodium concentration | 8.0 | 
| na_ex | "mol/m3" | extracellular sodium concentration | 140.0 | 
| ca_ex | "mol/m3" | extracellular calcium concentration | 2.0 | 
| ca_sub.c_const | "mol/m3" | fixed concentration | 0.0001 | 
| ca_sub.vol | "m3" | volume of the compartment | v_sub | 
| t_ramp_start | "s" | time at which ramp starts | 0.05 | 
| ramp_duration | "s" | duration of ramp | 0.25 | 
| ramp_start | "V" | voltage at start of ramp | 0.06 | 
| ramp_end | "V" | voltage at end of ramp | -0.08 | 
| v_hold | "V" | holding potential outside of ramp | -0.04 | 
| ramp_rate | "km2.s-4.A-1.g" | steepness of ramp | (ramp_end - ramp_start) / ramp_duration | 
InaMo.Examples.ComponentTests.SodiumCalciumExchangerRampInada
To recreate Figure S6A of Inada 2009, plot an_nh.naca.i / an_nh.l2.C against an_nh.vc.v and n.naca.i / n.l2.C against n.vc.v.
To recreate Figure S6B of Inada 2009, plot an_nh.naca.i against an_nh.vc.v and n.naca.i against n.vc.v, choosing only the data from 50 ms <= t < 300 ms.
This example is based on InaMo.Examples.SodiumCalciumExchangerRamp. For details of the experiment setup see this base model.
Simulation protocol and parameters are chosen with the following rationale:
- StopTime: allow to see the whole 300 ms ramp in the plot
 - Tolerance: left at default value because derivatives are not relevant
 - Interval: enough for a smooth plot
 - BaseExample.sodium.c_in: according to Table S15 of Inada 2009
 - BaseExample.sodium.c_ex: according to Table S15 of Inada 2009
 - BaseExample.calcium.c_ex: according to Convery 2000, p. 394 (Tyrode's solution)
 - BaseExample.ca_sub.c_const: found by manually changing value until plot matched Figure S6B of Inada 2009
 
NOTE: Inada et al. do not state whether calcium concentration was held constant for the experiment and if so, which value was assumed for [Ca2+]_sub. Since they used Data from Convery 2000 in Figure S6, we assume that the calcium and sodium concentrations should be similar to those used in this experiment ([Na+]_i = 10 mM, [Na+]_o = 140 mM, [Ca2+]_o = 2.5 mM). However, Convery 2000 do not give a value for [Ca2+]_sub and both using all values from Table S15 of Inada 2009 and using all values from Convery 2000 does not reproduce the absolute values observed in Figure S6. We therefore used a mix of settings from both sources and manually changed [Ca2+]_sub until a good fit with the plot was achieved. The remaining differences disappear when the current densities are multiplied by a factor of 1.18.
model SodiumCalciumExchangerRampInada "IV relationship of I_NaCa, recreates Figure S6 from Inada 2009"
  extends Modelica.Icons.Example;
  model BaseExample = SodiumCalciumExchangerRamp(na_in = 8, na_ex = 140, ca_ex = 2.5, ca_sub(c_const = 0.15e-3), temp = 310);
  BaseExample an_nh(naca(k_NaCa = 5.92e-9), l2(c = 40e-12));
  BaseExample n(naca(k_NaCa = 2.14e-9), l2(c = 29e-12));
  //FIXME variableFilter behaves weird (also catches some F1_ variables)
  annotation(
    experiment(StartTime = 0, StopTime = 0.5, Tolerance = 1e-6, Interval = 1e-3),
    __OpenModelica_simulationFlags(lv = "LOG_STATS", s = "dassl"),
    __MoST_experiment(variableFilter = "(n|an_nh)\\.(vc\\.v|naca\\.(i|e[1-4]|k_[1-4][1-4]))"),
    Documentation(info = "
    <html>
      <p>To recreate Figure S6A of Inada 2009, plot an_nh.naca.i / an_nh.l2.C
      against an_nh.vc.v and n.naca.i / n.l2.C against n.vc.v.</p>
      <p>To recreate Figure S6B of Inada 2009, plot an_nh.naca.i against
      an_nh.vc.v and n.naca.i against n.vc.v, choosing only the data from
      50 ms <= t < 300 ms.</p>
      <p>This example is based on InaMo.Examples.SodiumCalciumExchangerRamp.
      For details of the experiment setup see this base model.</p>
      <p>Simulation protocol and parameters are chosen with the following
      rationale:</p>
      <ul>
        <li>StopTime: allow to see the whole 300 ms ramp in the plot</li>
        <li>Tolerance: left at default value because derivatives are not
        relevant</li>
        <li>Interval: enough for a smooth plot</li>
        <li>BaseExample.sodium.c_in: according to Table S15 of Inada 2009</li>
        <li>BaseExample.sodium.c_ex: according to Table S15 of Inada 2009</li>
        <li>BaseExample.calcium.c_ex: according to Convery 2000, p. 394
        (Tyrode's solution)</li>
        <li>BaseExample.ca_sub.c_const: found by manually changing value until
        plot matched Figure S6B of Inada 2009</li>
      </ul>
      <p>NOTE: Inada et al. do not state whether calcium concentration was held
      constant for the experiment and if so, which value was assumed for
      [Ca2+]_sub. Since they used Data from Convery 2000 in Figure S6, we
      assume that the calcium and sodium concentrations should be similar to
      those used in this experiment ([Na+]_i = 10 mM, [Na+]_o = 140 mM,
      [Ca2+]_o = 2.5 mM). However, Convery 2000 do not give a value for
      [Ca2+]_sub and both using all values from Table S15 of Inada 2009 and
      using all values from Convery 2000 does not reproduce the absolute values
      observed in Figure S6. We therefore used a mix of settings from both
      sources and manually changed [Ca2+]_sub until a good fit with the plot
      was achieved.
      The remaining differences disappear when the current densities are
      multiplied by a factor of 1.18.</p>
    </html>
  "));
end SodiumCalciumExchangerRampInada;- Within group an_nh (prefix _ indicates shortened variable name)
- Within group naca (prefix _ indicates shortened variable name)
 
 - Within group n (prefix _ indicates shortened variable name)
- Within group naca (prefix _ indicates shortened variable name)
 
 
Functions:
function michaelisMenten "equation for enzymatic reactions following Michaelis-Menten kinetics"
  input Real s(quantity = "Concentration", unit = "mol/m3") "substrate concentration";
  input Real k(quantity = "Concentration", unit = "mol/m3") "concentration producing half-maximum reaction rate (michaelis constant)";
  output Real rate(unit = "1") "reaction rate";
algorithm
  rate := s / (s + k);
end michaelisMenten;| name | unit | label | value | 
|---|---|---|---|
| an_nh.ramp | true during ramp | ||
| an_nh.vc.i | "A" | measured membrane current | |
| an_nh.vc.g.p.i | "A" | Current flowing into the pin | |
| an_nh.vc.n.i | "A" | Current flowing into the pin | |
| an_nh.l2.i | "A" | Current flowing from pin p to pin n | |
| an_nh.l2.v | "V" | Voltage drop of the two pins (= p.v - n.v) | |
| an_nh.naca.e4 | "1" | ratio of exchanger molecules in state e4 | |
| an_nh.naca.e3 | "1" | ratio of exchanger molecules in state e3 | |
| an_nh.naca.e2 | "1" | ratio of exchanger molecules in state e2 | |
| an_nh.naca.e1 | "1" | ratio of exchanger molecules in state e1 | |
| an_nh.naca.d | "1" | common denominator to turn relative frequencies into actual ratios between 0 and 1 | |
| an_nh.naca.x4 | "1" | relative frequancy of E4 states | |
| an_nh.naca.x3 | "1" | relative frequency of E3 states | |
| an_nh.naca.x2 | "1" | relative frequency of E2 states | |
| an_nh.naca.x1 | "1" | relative frequency of E1 states | |
| an_nh.naca.k_14 | "1" | rate constant for transition from E1 to E4 | |
| an_nh.naca.k_41 | "1" | rate constant for transition from E4 to E1 | |
| an_nh.naca.k_32 | "1" | rate constant for transition from E3 to E2 | |
| an_nh.naca.k_23 | "1" | rate constant for transition from E2 to E3 | |
| an_nh.naca.k_21 | "1" | rate constant for transition from E2 to E1 | |
| an_nh.naca.k_12 | "1" | rate constant for transition from E1 to E2 | |
| an_nh.naca.f1_2n_o | "1" | fraction of E2 states whose first two Na+ sites are occupied by Na+ | |
| an_nh.naca.f1_2n_i | "1" | fraction of E1 states whose first two Na+ sites are occupied by Na+ | |
| an_nh.naca.do | "1" | common denominator summing relative frequencies for all E2 substates | |
| an_nh.naca.do_cv | "1" | relative frequency of E2 states that are occupied by Ca2+ and occluded | |
| an_nh.naca.di | "1" | common denominator summing relative frequencies for all E1 substates | |
| an_nh.naca.di_cv | "1" | relative frequency of E1 states that are occupied by Ca2+ and occluded | |
| an_nh.naca.i_ion | "A" | current used for TransmembraneCaFlow | |
| an_nh.naca.trans.rate | "mol/s" | rate of change in substance amount | |
| n.ramp | true during ramp | ||
| n.vc.i | "A" | measured membrane current | |
| n.vc.g.p.i | "A" | Current flowing into the pin | |
| n.vc.n.i | "A" | Current flowing into the pin | |
| n.l2.i | "A" | Current flowing from pin p to pin n | |
| n.l2.v | "V" | Voltage drop of the two pins (= p.v - n.v) | |
| n.naca.e4 | "1" | ratio of exchanger molecules in state e4 | |
| n.naca.e3 | "1" | ratio of exchanger molecules in state e3 | |
| n.naca.e2 | "1" | ratio of exchanger molecules in state e2 | |
| n.naca.e1 | "1" | ratio of exchanger molecules in state e1 | |
| n.naca.d | "1" | common denominator to turn relative frequencies into actual ratios between 0 and 1 | |
| n.naca.x4 | "1" | relative frequancy of E4 states | |
| n.naca.x3 | "1" | relative frequency of E3 states | |
| n.naca.x2 | "1" | relative frequency of E2 states | |
| n.naca.x1 | "1" | relative frequency of E1 states | |
| n.naca.k_14 | "1" | rate constant for transition from E1 to E4 | |
| n.naca.k_41 | "1" | rate constant for transition from E4 to E1 | |
| n.naca.k_32 | "1" | rate constant for transition from E3 to E2 | |
| n.naca.k_23 | "1" | rate constant for transition from E2 to E3 | |
| n.naca.k_21 | "1" | rate constant for transition from E2 to E1 | |
| n.naca.k_12 | "1" | rate constant for transition from E1 to E2 | |
| n.naca.f1_2n_o | "1" | fraction of E2 states whose first two Na+ sites are occupied by Na+ | |
| n.naca.f1_2n_i | "1" | fraction of E1 states whose first two Na+ sites are occupied by Na+ | |
| n.naca.do | "1" | common denominator summing relative frequencies for all E2 substates | |
| n.naca.do_cv | "1" | relative frequency of E2 states that are occupied by Ca2+ and occluded | |
| n.naca.di | "1" | common denominator summing relative frequencies for all E1 substates | |
| n.naca.di_cv | "1" | relative frequency of E1 states that are occupied by Ca2+ and occluded | |
| n.naca.i_ion | "A" | current used for TransmembraneCaFlow | |
| n.naca.trans.rate | "mol/s" | rate of change in substance amount | |
| an_nh.naca.con.substance.amount | "mol" | amount of substance | an_nh.naca.con.c_const * an_nh.naca.con.vol | 
| n.naca.con.substance.amount | "mol" | amount of substance | n.naca.con.c_const * n.naca.con.vol | 
| an_nh.naca.di_cn | "1" | relative frequency of E1 states whose first two binding sites are occupied by Ca2+ and whose last binding site is occupied by Na+ | an_nh.naca.di_c * an_nh.na_in / an_nh.naca.k_cn_i | 
| an_nh.naca.di_3n | "1" | relative frequency of E1 states where exactly three Na+ sites are occupied by Na+ | an_nh.naca.di_2n * an_nh.na_in / an_nh.naca.k_3n_i | 
| an_nh.naca.do_3n | "1" | relative frequency of E2 states where exactly three Na+ sites are occupied by Na+ | an_nh.naca.do_2n * an_nh.na_ex / an_nh.naca.k_3n_o | 
| an_nh.naca.do_2n | "1" | relative frequency of E2 states where exactly the first two Na+ sites are occupied by Na+ | an_nh.naca.do_1n * an_nh.na_ex / an_nh.naca.k_2n_o | 
| an_nh.naca.di_2n | "1" | relative frequency of E1 states where exactly the first two Na+ sites are occupied by Na+ | an_nh.naca.di_1n * an_nh.na_in / an_nh.naca.k_2n_i | 
| an_nh.naca.di_c | "1" | relative frequency of E1 states that are occupied by Ca2+ and not occluded | an_nh.ca_sub.substance.amount / (an_nh.naca.k_c_i * an_nh.v_sub) | 
| an_nh.vc.g.p.v | "V" | Potential at the pin | 0.0 | 
| an_nh.ca_sub.substance.amount | "mol" | amount of substance | an_nh.ca_sub.c_const * an_nh.ca_sub.vol | 
| an_nh.naca.di_1n | "1" | relative frequency of E1 states where only the first Na+ site is occupied by Na+ | an_nh.na_in / an_nh.naca.k_1n_i | 
| an_nh.naca.do_c | "1" | relative frequency of E2 states that are occupied by Ca2+ and not occluded | an_nh.ca_ex / an_nh.naca.k_c_o | 
| an_nh.naca.do_1n | "1" | relative frequency of E2 states where only the first Na+ site is occupied by Na+ | an_nh.na_ex / an_nh.naca.k_1n_o | 
| an_nh.naca.f1_3n_o | "1" | fraction of E2 states whose first two Na+ sites are occupied by Na+ | InaMo.Functions.Biochemical.michaelisMenten(an_nh.na_ex, an_nh.naca.k_3n_o) | 
| an_nh.naca.f1_3n_i | "1" | fraction of E1 states whose first two Na+ sites are occupied by Na+ | InaMo.Functions.Biochemical.michaelisMenten(an_nh.na_in, an_nh.naca.k_3n_i) | 
| n.naca.di_cn | "1" | relative frequency of E1 states whose first two binding sites are occupied by Ca2+ and whose last binding site is occupied by Na+ | n.naca.di_c * n.na_in / n.naca.k_cn_i | 
| n.naca.di_3n | "1" | relative frequency of E1 states where exactly three Na+ sites are occupied by Na+ | n.naca.di_2n * n.na_in / n.naca.k_3n_i | 
| n.naca.do_3n | "1" | relative frequency of E2 states where exactly three Na+ sites are occupied by Na+ | n.naca.do_2n * n.na_ex / n.naca.k_3n_o | 
| n.naca.do_2n | "1" | relative frequency of E2 states where exactly the first two Na+ sites are occupied by Na+ | n.naca.do_1n * n.na_ex / n.naca.k_2n_o | 
| n.naca.di_2n | "1" | relative frequency of E1 states where exactly the first two Na+ sites are occupied by Na+ | n.naca.di_1n * n.na_in / n.naca.k_2n_i | 
| n.naca.di_c | "1" | relative frequency of E1 states that are occupied by Ca2+ and not occluded | n.ca_sub.substance.amount / (n.naca.k_c_i * n.v_sub) | 
| n.vc.g.p.v | "V" | Potential at the pin | 0.0 | 
| n.ca_sub.substance.amount | "mol" | amount of substance | n.ca_sub.c_const * n.ca_sub.vol | 
| n.naca.di_1n | "1" | relative frequency of E1 states where only the first Na+ site is occupied by Na+ | n.na_in / n.naca.k_1n_i | 
| n.naca.do_c | "1" | relative frequency of E2 states that are occupied by Ca2+ and not occluded | n.ca_ex / n.naca.k_c_o | 
| n.naca.do_1n | "1" | relative frequency of E2 states where only the first Na+ site is occupied by Na+ | n.na_ex / n.naca.k_1n_o | 
| n.naca.f1_3n_o | "1" | fraction of E2 states whose first two Na+ sites are occupied by Na+ | InaMo.Functions.Biochemical.michaelisMenten(n.na_ex, n.naca.k_3n_o) | 
| n.naca.f1_3n_i | "1" | fraction of E1 states whose first two Na+ sites are occupied by Na+ | InaMo.Functions.Biochemical.michaelisMenten(n.na_in, n.naca.k_3n_i) | 
| an_nh.v_sub | "m3" | 1.0 | |
| an_nh.naca.trans.n | "1" | stoichiometric ratio of ion transport | an_nh.naca.n_ca | 
| an_nh.naca.trans.z | valence of ion | 2 | |
| an_nh.naca.con.c_const | "mol/m3" | fixed concentration | an_nh.ca_ex | 
| an_nh.naca.con.vol | "m3" | volume of the compartment | 1.0 | 
| an_nh.naca.n_ca | "1" | stoichiometric ratio of transport | -2.0 | 
| an_nh.naca.current_name | "I_NaCa" | ||
| an_nh.naca.k_c_i | "mol/m3" | dissociation constant for channel with Ca++ bound on inside | 0.0207 | 
| an_nh.naca.k_cn_i | "mol/m3" | dissociation constant for channel with Ca++ and one Na+ bound on inside | 26.44 | 
| an_nh.naca.k_1n_i | "mol/m3" | dissociation constant for channel with one Na+ bound on inside | 395.3 | 
| an_nh.naca.k_2n_i | "mol/m3" | dissociation constant for channel with two Na+ bound on inside | 2.289 | 
| an_nh.naca.k_3n_i | "mol/m3" | dissociation constant for channel with three Na+ bound on inside | 26.44 | 
| an_nh.naca.k_c_o | "mol/m3" | dissociation constant for channel with Ca++ bound on outside | 3.663 | 
| an_nh.naca.k_1n_o | "mol/m3" | dissociation constant for channel with one Na+ bound on outside | 1628.0 | 
| an_nh.naca.k_2n_o | "mol/m3" | dissociation constant for channel with two Na+ bound on outside | 561.4 | 
| an_nh.naca.k_3n_o | "mol/m3" | dissociation constant for channel with three Na+ bound on outside | 4.663 | 
| an_nh.naca.q_ci | fractional charge movement during intracellular Ca++ occlusion reaction | 0.1369 | |
| an_nh.naca.q_co | fractional charge movement during extracellular Ca++ occlusion reaction | 0.0 | |
| an_nh.naca.q_n | fractional charge movement during Na+ occlusion reactions | 0.4315 | |
| an_nh.naca.k_NaCa | "A" | scaling factor for Na+/Ca++ exchanger current | 5.92e-09 | 
| an_nh.naca.FoRT | helper variable to simplify equations | 11604.52214706721 / an_nh.temp | |
| an_nh.l2.c | "F" | membrane capacitance | 4e-11 | 
| an_nh.l2.v_init | "V" | initial potential (from short initial stimulation) | -0.09 | 
| an_nh.l2.use_init | determines whether initial value for v is used | false | |
| an_nh.temp | "K" | cell medium temperature | 288.15 | 
| an_nh.na_in | "mol/m3" | intracellular sodium concentration | 8.0 | 
| an_nh.na_ex | "mol/m3" | extracellular sodium concentration | 140.0 | 
| an_nh.ca_ex | "mol/m3" | extracellular calcium concentration | 2.5 | 
| an_nh.ca_sub.c_const | "mol/m3" | fixed concentration | 0.00015 | 
| an_nh.ca_sub.vol | "m3" | volume of the compartment | an_nh.v_sub | 
| an_nh.t_ramp_start | "s" | time at which ramp starts | 0.05 | 
| an_nh.ramp_duration | "s" | duration of ramp | 0.25 | 
| an_nh.ramp_start | "V" | voltage at start of ramp | 0.06 | 
| an_nh.ramp_end | "V" | voltage at end of ramp | -0.08 | 
| an_nh.v_hold | "V" | holding potential outside of ramp | -0.04 | 
| an_nh.ramp_rate | "km2.s-4.A-1.g" | steepness of ramp | (an_nh.ramp_end - an_nh.ramp_start) / an_nh.ramp_duration | 
| n.v_sub | "m3" | 1.0 | |
| n.naca.trans.n | "1" | stoichiometric ratio of ion transport | n.naca.n_ca | 
| n.naca.trans.z | valence of ion | 2 | |
| n.naca.con.c_const | "mol/m3" | fixed concentration | n.ca_ex | 
| n.naca.con.vol | "m3" | volume of the compartment | 1.0 | 
| n.naca.n_ca | "1" | stoichiometric ratio of transport | -2.0 | 
| n.naca.current_name | "I_NaCa" | ||
| n.naca.k_c_i | "mol/m3" | dissociation constant for channel with Ca++ bound on inside | 0.0207 | 
| n.naca.k_cn_i | "mol/m3" | dissociation constant for channel with Ca++ and one Na+ bound on inside | 26.44 | 
| n.naca.k_1n_i | "mol/m3" | dissociation constant for channel with one Na+ bound on inside | 395.3 | 
| n.naca.k_2n_i | "mol/m3" | dissociation constant for channel with two Na+ bound on inside | 2.289 | 
| n.naca.k_3n_i | "mol/m3" | dissociation constant for channel with three Na+ bound on inside | 26.44 | 
| n.naca.k_c_o | "mol/m3" | dissociation constant for channel with Ca++ bound on outside | 3.663 | 
| n.naca.k_1n_o | "mol/m3" | dissociation constant for channel with one Na+ bound on outside | 1628.0 | 
| n.naca.k_2n_o | "mol/m3" | dissociation constant for channel with two Na+ bound on outside | 561.4 | 
| n.naca.k_3n_o | "mol/m3" | dissociation constant for channel with three Na+ bound on outside | 4.663 | 
| n.naca.q_ci | fractional charge movement during intracellular Ca++ occlusion reaction | 0.1369 | |
| n.naca.q_co | fractional charge movement during extracellular Ca++ occlusion reaction | 0.0 | |
| n.naca.q_n | fractional charge movement during Na+ occlusion reactions | 0.4315 | |
| n.naca.k_NaCa | "A" | scaling factor for Na+/Ca++ exchanger current | 2.14e-09 | 
| n.naca.FoRT | helper variable to simplify equations | 11604.52214706721 / n.temp | |
| n.l2.c | "F" | membrane capacitance | 2.9e-11 | 
| n.l2.v_init | "V" | initial potential (from short initial stimulation) | -0.09 | 
| n.l2.use_init | determines whether initial value for v is used | false | |
| n.temp | "K" | cell medium temperature | 288.15 | 
| n.na_in | "mol/m3" | intracellular sodium concentration | 8.0 | 
| n.na_ex | "mol/m3" | extracellular sodium concentration | 140.0 | 
| n.ca_ex | "mol/m3" | extracellular calcium concentration | 2.5 | 
| n.ca_sub.c_const | "mol/m3" | fixed concentration | 0.00015 | 
| n.ca_sub.vol | "m3" | volume of the compartment | n.v_sub | 
| n.t_ramp_start | "s" | time at which ramp starts | 0.05 | 
| n.ramp_duration | "s" | duration of ramp | 0.25 | 
| n.ramp_start | "V" | voltage at start of ramp | 0.06 | 
| n.ramp_end | "V" | voltage at end of ramp | -0.08 | 
| n.v_hold | "V" | holding potential outside of ramp | -0.04 | 
| n.ramp_rate | "km2.s-4.A-1.g" | steepness of ramp | (n.ramp_end - n.ramp_start) / n.ramp_duration | 
Tests for $I_{Na}$
InaMo.Examples.ComponentTests.SodiumChannelIV
To reproduce Figure 2B from Lindblad 1996, plot cd against vc.vs_peak. It is necessary to use vc.vs_peak instead of vc.v_pulse, because cd captures the current density from the previous pulse.
Note that results will not be exact as Lindblad 1996 used the full model to generate the plots.
Simulation parameters are chosen with the following rationale:
- StopTime: allow a plot from -100 mV to 70 mV
 
Tolerance: default value
Interval: roughly show time course of current (Noble 1962 remarks that 0.1 ms is the smallest step size needed for RK4.)Other parameter settings can be found in Lindblad 1996 on the following pages:
- na_in: H1673 (Table 15, initial value)
 - na_ex: H1674 (Fig. 2)
 - na_p: H1672 (Table 14) + H1673 (top right) + Inada 2009 Supporting material, 27
 - temp: H1674 (Fig 2.)
 - l2.C: H1672 (Table 14)
 - vc.v_hold: H1674 (Fig. 2)
 - vc.d_hold: H1674 (Fig. 2) -> Wendt 1992, C1235 (bottom left)
 - vc.d_pulse: H1674 (Fig. 2) -> Wendt 1992, C1235 (bottom left)
 
NOTE: na_p is the only parameter whose value is not directly taken from Lindblad 1996. Lindblad et al. use 1.4 nl while Inada et al. use 1.4 pl which gives currents in the order of nA instead of μa and therefore seems more reasonable (and is more in accordance with the plots of Lindblad et al.).
model SodiumChannelIV "IV relationship of I_Na, recreates Figure 2 B from Lindblad 1996"
  extends InaMo.Examples.Interfaces.IVBase(vc(v_hold = -0.09, d_hold = 2, d_pulse = 0.05), v_start = -0.1);
  extends Modelica.Icons.Example;
  InaMo.Currents.Atrioventricular.SodiumChannel na "I_Na" annotation(
    Placement(transformation(extent = {{-51, -17}, {-17, 17}})));
  InaMo.Membrane.LipidBilayer l2(use_init = false, c = 50e-12) "cell membrane" annotation(
    Placement(transformation(extent = {{17, -17}, {51, 17}})));
  inner parameter SI.Temperature temp = SI.Conversions.from_degC(35) "cell medium temperature";
  // Note: uses Lindblad parameters instead of Inada parameters
  // For Inada2009 we would use na_in = 8, na_ex = 140 and na_p = 1.4e-15 at 310K
  // Note: pl/s -> m³/s by setting p *= 1e-15
  inner parameter SI.Concentration na_in = 8.4 "intracellular sodium concentration";
  inner parameter SI.Concentration na_ex = 75 "extracellular sodium concentration";
  inner parameter PermeabilityFM na_p = 1.4e-15 * 1.5 "cell membrane permeability for Na+ ions";
  discrete Real cd(unit = "A/F") "current density";
initial equation
  cd = vc.is_peak / l2.c;
equation
  when change(vc.is_peak) then
    cd = vc.is_peak / l2.c;
  end when;
  connect(l2.p, vc.p) annotation(
    Line(points = {{34, 18}, {34, 18}, {34, 40}, {0, 40}, {0, 18}, {0, 18}}, color = {0, 0, 255}));
  connect(vc.p, na.p) annotation(
    Line(points = {{0, 18}, {0, 18}, {0, 40}, {-34, 40}, {-34, 18}, {-34, 18}}, color = {0, 0, 255}));
  connect(l2.n, vc.n) annotation(
    Line(points = {{34, -16}, {34, -16}, {34, -40}, {0, -40}, {0, -16}, {0, -16}}, color = {0, 0, 255}));
  connect(vc.n, na.n) annotation(
    Line(points = {{0, -16}, {0, -16}, {0, -40}, {-34, -40}, {-34, -16}, {-34, -16}}, color = {0, 0, 255}));
  annotation(
    experiment(StartTime = 0, StopTime = 75.8, Tolerance = 1e-6, Interval = 1e-3),
    __OpenModelica_simulationFlags(lv = "LOG_STATS", s = "dassl"),
    __MoST_experiment(variableFilter = "vc\\.(vs_peak|v|v_pulse)|cd"),
    Documentation(info = "
    <html>
      <p>To reproduce Figure 2B from Lindblad 1996, plot cd against
      vc.vs_peak.
      It is necessary to use vc.vs_peak instead of vc.v_pulse, because cd
      captures the current density from the <i>previous</i> pulse.</p>
      <p>Note that results will not be exact as Lindblad 1996 used the full
      model to generate the plots.</p>
      <p>Simulation parameters are chosen with the following
      rationale:</p>
      <ul>
        <li>StopTime: allow a plot from -100 mV to 70 mV</li>
        <p>Tolerance: default value</p
        <li>Interval: roughly show time course of current (Noble 1962 remarks
        that 0.1 ms is the smallest step size needed for RK4.)</li>
      </ul>
      <p>Other parameter settings can be found in Lindblad 1996 on the
      following pages:</p>
      <ul>
        <li>na_in: H1673 (Table 15, initial value)</li>
        <li>na_ex: H1674 (Fig. 2)</li>
        <li>na_p: H1672 (Table 14) + H1673 (top right) + Inada 2009 Supporting material, 27</li>
        <li>temp: H1674 (Fig 2.)</li>
        <li>l2.C: H1672 (Table 14)</li>
        <li>vc.v_hold: H1674 (Fig. 2)</li>
        <li>vc.d_hold: H1674 (Fig. 2) -> Wendt 1992, C1235 (bottom left)</li>
        <li>vc.d_pulse: H1674 (Fig. 2) -> Wendt 1992, C1235 (bottom left)</li>
      </ul>
      <p>NOTE: na_p is the only parameter whose value is not directly taken
      from Lindblad 1996. Lindblad et al. use 1.4 nl while Inada et al. use
      1.4 pl which gives currents in the order of nA instead of μa and
      therefore seems more reasonable (and is more in accordance with the
      plots of Lindblad et al.).</p>
    </html>
  "));
end SodiumChannelIV;- Within group na (prefix _ indicates shortened variable name)
- Within group act (prefix _ indicates shortened variable name)
 
 - Within group vc (prefix _ indicates shortened variable name)
 
Functions:
function falpha
  input Real x "input value";
  input Real x0 = -0.0444 "offset for x (fitting parameter)";
  input Real sy = 5829.58 "scaling factor for y (fitting parameter)";
  input Real sx = -78.90791446382072 "scaling factor for x (fitting parameter)";
  output Real y "result";
  protected Real x_adj "adjusted x with offset and scaling factor";
algorithm
  x_adj := sx * (x - x0);
  if abs(x - x0) < 1e-06 then
    y := sy;
  else
    y := sy * x_adj / (exp(x_adj) - 1.0);
  end if;
end falpha;function fsteady.fbeta
  input Real x "input value";
  input Real y_min = 0.0 "lower asymptote (fitting parameter)";
  input Real y_max = 1491.0 "upper asmyptote when d_off=1 and nu=1 (fititng parameter)";
  input Real x0 = -0.0946 "x-value of sigmoid midpoint when d_off=1 and nu=1 (fitting parameter)";
  input Real sx = 77.51937984496124 "scaling factor for x axis (i.e. steepness, fitting parameter)";
  input Real se = 323.3 "scaling factor for exponential part (fitting parameter)";
  input Real d_off = 1.0 "offset in denominator (affects upper asymptote, fitting parameter)";
  input Real nu = 1.0 "reciprocal of exponent of denominator (affects upper asymptote, fitting parameter)";
  output Real y "result";
  protected Real x_adj "adjusted x with offset and scaling factor";
algorithm
  x_adj := sx * (x - x0);
  y := y_min + (y_max - y_min) / (se * exp(-x_adj) + d_off) ^ (1.0 / nu);
end fsteady.fbeta;function nernst "Nernst equation to find the equlibrium potential for a single ion"
  input Real ion_in(quantity = "Concentration", unit = "mol/m3") "intracellular ion concentration";
  input Real ion_ex(quantity = "Concentration", unit = "mol/m3") "extracellular ion concentration";
  input Integer ion_z "valence of ion";
  input Real temp(quantity = "ThermodynamicTemperature", unit = "K", displayUnit = "degC", min = 0.0, start = 288.15, nominal = 300.0) "cell medium temperature";
  output Real v_eq(quantity = "ElectricPotential", unit = "V") "equlibirium potential";
algorithm
  v_eq := 8.3144598 * temp / /*Real*/(ion_z) / 96485.33289000001 * log(ion_ex / ion_in);
end nernst;function fsteady
  input Real x "input value";
  output Real y "result of applying the HH-style equation steady = alpha/(alpha + beta)";
algorithm
  y := act.fbeta(x, -0.0669, -1000.0 / 5.57, 44.9) / (act.fbeta(x, -0.0669, -1000.0 / 5.57, 44.9) + fsteady.fbeta(x, 0.0, 1491.0, -0.0946, 1000.0 / 12.9, 323.3, 1.0, 1.0));
end fsteady;function absmax "returns input whose absolute value is larger, preserving the sign"
  input Real a "first input";
  input Real b "second input";
  output Real m "a if abs(a) > abs(b), otherwise b";
algorithm
  m := if abs(a) > abs(b) then a else b;
end absmax;function ghkFlux "ghk flux equation for a single ion"
  input Real v(quantity = "ElectricPotential", unit = "V") "membrane potential";
  input Real temp(quantity = "ThermodynamicTemperature", unit = "K", displayUnit = "degC", min = 0.0, start = 288.15, nominal = 300.0) "cell medium temperature";
  input Real ion_in(quantity = "Concentration", unit = "mol/m3") "intracellular ion concentration";
  input Real ion_ex(quantity = "Concentration", unit = "mol/m3") "extracellular ion concentration";
  input Real ion_p(quantity = "Permeability (fluid mechanics)", unit = "m3/(s.m2)") "permeability of cell membrane to Na+ cations";
  input Integer ion_z "ion valence";
  output Real i(quantity = "CurrentDensity", unit = "A/m2") "current density resulting from ion flux through membrane";
  protected Real g_max(quantity = "Conductance", unit = "S");
  protected Real v_eq(quantity = "ElectricPotential", unit = "V");
  protected Real FoRT(unit = "1/V") = 96485.33289000001 / (8.3144598 * temp);
algorithm
  g_max := ion_p * ion_ex * FoRT * 96485.33289000001 * /*Real*/(ion_z) ^ 2.0;
  v_eq := nernst(ion_in, ion_ex, ion_z, temp);
  if abs(v) < 1e-06 then
    i := g_max / FoRT / /*Real*/(ion_z) * (exp(-v_eq * FoRT * /*Real*/(ion_z)) - 1.0);
  else
    i := g_max * v * (exp((v - v_eq) * FoRT * /*Real*/(ion_z)) - 1.0) / (exp(v * FoRT * /*Real*/(ion_z)) - 1.0);
  end if;
end ghkFlux;function act.fbeta
  input Real x "input value";
  input Real x0 = -0.0444 "x-value where y = 1 (fitting parameter)";
  input Real sx = -78.90791446382072 "scaling factor for x axis (fitting parameter)";
  input Real sy = 18400.0 "scaling factor for y axis (fitting parameter)";
  output Real y "result";
algorithm
  y := sy * exp(sx * (x - x0));
end act.fbeta;| name | unit | label | value | 
|---|---|---|---|
| cd | "A/F" | current density | |
| l2.i | "A" | Current flowing from pin p to pin n | |
| l2.v | "V" | Voltage drop of the two pins (= p.v - n.v) | |
| na.inact_total | total inactivation resulting from fast and slow inactivation terms | ||
| na.inact_slow.tau | "s" | time constant for obtaining steady state (i.e. time until difference between n and steady has reduced by a factor of 1/e) | |
| na.inact_slow.steady | value that n would reach if v_gate was held constant | ||
| na.inact_slow.n | ratio of molecules in open conformation | 2.217110758230417e-07 | |
| na.inact_fast.tau | "s" | time constant for obtaining steady state (i.e. time until difference between n and steady has reduced by a factor of 1/e) | |
| na.inact_fast.steady | value that n would reach if v_gate was held constant | ||
| na.inact_fast.n | ratio of molecules in open conformation | 2.217110758230417e-07 | |
| na.act.tau | "s" | time constant for obtaining steady state (i.e. time until difference between n and steady has reduced by a factor of 1/e) | |
| na.act.steady | "1" | steady state achieved if current voltage is held constant | |
| na.act.beta | "1" | rate of transfer from open to closed conformation | |
| na.act.alpha | "1" | rate of transfer from closed to open conformation | |
| na.act.n | ratio of molecules in open conformation | 0.9743799231069017 | |
| na.i_open | i if open_ratio = 1 | ||
| na.open_ratio | ratio between 0 (fully closed) and 1 (fully open) | ||
| na.i_ion | "A" | current used for ion flux | |
| vc.after_pulse | true after pulse has passed | ||
| vc.within_pulse | true during pulse | ||
| vc.vp_last | "V" | voltage of last pulse | 0.0 | 
| vc.tp_last | "s" | time stamp of start of last pulse | 0.0 | 
| vc.peak_indicator | forces event at peak (factor of 1e12 is required to detect zero crossing) | false | |
| vc.tail_i | "A" | peak current after pulse | 0.0 | 
| vc.peak_i | "A" | peak current during pulse | 0.0 | 
| vc.vs_tail | "V" | steady step function of pulse associated with is_tail | 0.0 | 
| vc.vs_end | "V" | steady step function of pulse associated with is_end | 0.0 | 
| vc.vs_peak | "V" | steady step function of pulse associated with is_peak | 0.0 | 
| vc.is_end | "A" | steady step function of current at end of last pulse | 0.0 | 
| vc.is_tail | "A" | steady step function of peak tail current after last pulse | 0.0 | 
| vc.is_peak | "A" | steady step function of peak current during last pulse | 0.0 | 
| vc.v_pulse | "V" | voltage during pulse (must be defined externally) | |
| vc.pulse_signal | 0 during holding period, 1 during pulse | 0 | |
| vc.pulse_end | signals end of pulse | ||
| vc.pulse_start | signals start of pulse | ||
| vc.i | "A" | measured membrane current | |
| vc.g.p.i | "A" | Current flowing into the pin | |
| vc.n.i | "A" | Current flowing into the pin | |
| $whenCondition1 | vc.pulse_end | ||
| $whenCondition2 | vc.is_peak <> pre(vc.is_peak) | ||
| $whenCondition3 | vc.pulse_start | ||
| $whenCondition4 | vc.peak_indicator <> pre(vc.peak_indicator) and vc.after_pulse or vc.pulse_end | ||
| $whenCondition5 | vc.peak_indicator <> pre(vc.peak_indicator) and vc.within_pulse or vc.pulse_end | ||
| vc.g.p.v | "V" | Potential at the pin | 0.0 | 
| vc.d_hold | "s" | holding period | 2.0 | 
| vc.d_pulse | "s" | pulse period | 0.05 | 
| vc.v_hold | "V" | voltage during holding period | -0.09 | 
| v_start | "V" | start value for pulse amplitude | -0.1 | 
| v_inc | "V" | increment for pulse amplitude | 0.005 | 
| na.ion_ex | "mol/m3" | extracellular concentration of ion | na_ex | 
| na.ion_p | "m3/(s.m2)" | permeability of ion | na_p | 
| na.ion_z | valence of ion | 1 | |
| na.current_name | "I_Na" | ||
| l2.c | "F" | membrane capacitance | 5e-11 | 
| l2.v_init | "V" | initial potential (from short initial stimulation) | -0.09 | 
| l2.use_init | determines whether initial value for v is used | false | |
| temp | "K" | cell medium temperature | 288.15 | 
| na_in | "mol/m3" | intracellular sodium concentration | 8.4 | 
| na_ex | "mol/m3" | extracellular sodium concentration | 75.0 | 
| na_p | "m3/(s.m2)" | cell membrane permeability for Na+ ions | 2.1e-15 | 
| na.ion_in | "mol/m3" | intracellular concentration of ion | na_in | 
InaMo.Examples.ComponentTests.SodiumChannelSteady
To reproduce Figure 2A from Lindblad 1996, plot m3 against (vc.v_stim - v_step) and h_total against vc.v_stim.
To reproduce Figure 2C-E, plot tau_m, tau_h1, and tau_h2 respectively against vc.v_stim.
Results should be fully accurate.
Simulation protocol and parameters are chosen with the following rationale:
- StopTime: allow a plot from -100 mV to 100 mV
 - Tolerance: default value
 - Interval: enough to get correct peak values, but to follow time course of current at least an interval of 1e-4 s is needed
 
NOTE: This model could be much simpler if we would only calculate the steady states. However, this setup allows to actually inspect the time course of the variables to see when they will reach their steady state. Since the parameter n of the activation gate has a very low time constant (10-65 μs), the default experiment setup will only let you see the point in time where the steady state is almost reached. If you want more detail, you will have to decrease the simulation interval at least to 1e-4 (i.e. 100 μs).
model SodiumChannelSteady "steady state of I_Na, recreates Figures 2A, 2C, 2D and 2E from Lindblad 1996"
  extends Modelica.Icons.Example;
  InaMo.Currents.Atrioventricular.SodiumChannel na "I_Na" annotation(
    Placement(transformation(extent = {{-51, -17}, {-17, 17}})));
  InaMo.Membrane.LipidBilayer l2(use_init = false) "cell membrane" annotation(
    Placement(transformation(extent = {{17, -17}, {51, 17}})));
  // Note: uses Lindblad parameters instead of Inada parameters (8, 140, 1.4e-9, 1), 310K
  inner parameter SI.Temperature temp = SI.Conversions.from_degC(35) "cell medium temperature";
  inner parameter SI.Concentration na_in = 8.4 "intracellular sodium concentration";
  inner parameter SI.Concentration na_ex = 75 "extracellular sodium concentration";
  inner parameter PermeabilityFM na_p = 1.4e-9 * 1.5 "cell membrane permeability for Na+ ions";
  InaMo.ExperimentalMethods.VoltageClamp.VoltageClamp vc(v_stim(start = -0.1, fixed = true)) "voltage clamp" annotation(
    Placement(transformation(extent = {{-17, -17}, {17, 17}})));
  parameter SI.Duration d_step = 2 "duration for which voltage is held constant between steps";
  parameter SI.Voltage v_step = 0.005 "size of voltage step";
  discrete Real m3(start = 0, fixed = true) "total activation of channel (m^3)";
  discrete Real h_total(start = 0, fixed = true) "total inactivation of channel";
  Real m_steady = na.act.alpha / (na.act.alpha + na.act.beta) "steady state for activation gate";
  Real m3_steady = m_steady ^ 3 "steady state of total activation";
  Real h_steady = na.inact_fast.steady "steady state of inactivation gate";
  SI.Duration tau_m = na.act.tau "time constant of activation gate";
  SI.Duration tau_m_measured(start = 0, fixed = true) "measured time until difference between na.act.n and m_stead is < 1e-6";
  SI.Duration tau_h1 = na.inact_fast.tau "time constant of fast inactivation gate";
  SI.Duration tau_h2 = na.inact_slow.tau "time constant of slow inactivation gate";
  SI.Time t_tau_m(start = 0, fixed = true) "time stamp of last voltage step";
  Real v_na = nernst(na_in, na_ex, 1, temp) "equilibrium potential for Na+ ions";
equation
  connect(l2.p, vc.p) annotation(
    Line(points = {{34, 18}, {34, 18}, {34, 40}, {0, 40}, {0, 18}, {0, 18}}, color = {0, 0, 255}));
  connect(vc.p, na.p) annotation(
    Line(points = {{0, 18}, {0, 18}, {0, 40}, {-34, 40}, {-34, 18}, {-34, 18}}, color = {0, 0, 255}));
  connect(l2.n, vc.n) annotation(
    Line(points = {{34, -16}, {34, -16}, {34, -40}, {0, -40}, {0, -16}, {0, -16}}, color = {0, 0, 255}));
  connect(vc.n, na.n) annotation(
    Line(points = {{0, -16}, {0, -16}, {0, -40}, {-34, -40}, {-34, -16}, {-34, -16}}, color = {0, 0, 255}));
  when abs(m_steady - na.act.n) < 1e-6 then
    tau_m_measured = time - pre(t_tau_m);
  end when "forces event when steady state is almost reached";
  when sample(0, d_step) then
// reset stimulation voltage
    reinit(vc.v_stim, pre(vc.v_stim) + v_step);
// record values from last cycle
    m3 = pre(na.act.n) ^ 3;
    h_total = pre(na.inact_total);
    t_tau_m = time;
  end when;
  der(vc.v_stim) = 0 "hold v_stim constant";
  annotation(
    experiment(StartTime = 0, StopTime = 82, Tolerance = 1e-6, Interval = 1e-2),
    __OpenModelica_simulationFlags(lv = "LOG_STATS", s = "dassl"),
    __MoST_experiment(variableFilter = "m3_steady|h_steady|m3|vc\\.(v_sim|v)|v_step|h_total|tau_(m|h1|h2)"),
    Documentation(info = "
    <html>
      <p>To reproduce Figure 2A from Lindblad 1996, plot m3 against
      (vc.v_stim - v_step) and h_total against vc.v_stim.</p>
      <p>To reproduce Figure 2C-E, plot tau_m, tau_h1, and tau_h2
      respectively against vc.v_stim.</p>
      <p>Results should be fully accurate.</p>
      <p>Simulation protocol and parameters are chosen with the following
      rationale:</p>
      <ul>
        <li>StopTime: allow a plot from -100 mV to 100 mV</li>
        <li>Tolerance: default value</li>
        <li>Interval: enough to get correct peak values, but to follow time
        course of current at least an interval of 1e-4 s is needed</li>
      </ul>
      <p>NOTE: This model could be much simpler if we would only
      calculate the steady states. However, this setup allows to actually
      inspect the time course of the variables to see when they will reach
      their steady state. Since the parameter n of the activation gate has a
      very low time constant (10-65 μs), the default experiment setup will
      only let you see the point in time where the steady state is almost
      reached. If you want more detail, you will have to decrease the
      simulation interval at least to 1e-4 (i.e. 100 μs).</p>
    </html>
  "));
end SodiumChannelSteady;- Within group na (prefix _ indicates shortened variable name)
- Within group act (prefix _ indicates shortened variable name)
 
 - Within group vc (prefix _ indicates shortened variable name)
 
Functions:
function falpha
  input Real x "input value";
  input Real x0 = -0.0444 "offset for x (fitting parameter)";
  input Real sy = 5829.58 "scaling factor for y (fitting parameter)";
  input Real sx = -78.90791446382072 "scaling factor for x (fitting parameter)";
  output Real y "result";
  protected Real x_adj "adjusted x with offset and scaling factor";
algorithm
  x_adj := sx * (x - x0);
  if abs(x - x0) < 1e-06 then
    y := sy;
  else
    y := sy * x_adj / (exp(x_adj) - 1.0);
  end if;
end falpha;function fsteady.fbeta
  input Real x "input value";
  input Real y_min = 0.0 "lower asymptote (fitting parameter)";
  input Real y_max = 1491.0 "upper asmyptote when d_off=1 and nu=1 (fititng parameter)";
  input Real x0 = -0.0946 "x-value of sigmoid midpoint when d_off=1 and nu=1 (fitting parameter)";
  input Real sx = 77.51937984496124 "scaling factor for x axis (i.e. steepness, fitting parameter)";
  input Real se = 323.3 "scaling factor for exponential part (fitting parameter)";
  input Real d_off = 1.0 "offset in denominator (affects upper asymptote, fitting parameter)";
  input Real nu = 1.0 "reciprocal of exponent of denominator (affects upper asymptote, fitting parameter)";
  output Real y "result";
  protected Real x_adj "adjusted x with offset and scaling factor";
algorithm
  x_adj := sx * (x - x0);
  y := y_min + (y_max - y_min) / (se * exp(-x_adj) + d_off) ^ (1.0 / nu);
end fsteady.fbeta;function nernst "Nernst equation to find the equlibrium potential for a single ion"
  input Real ion_in(quantity = "Concentration", unit = "mol/m3") "intracellular ion concentration";
  input Real ion_ex(quantity = "Concentration", unit = "mol/m3") "extracellular ion concentration";
  input Integer ion_z "valence of ion";
  input Real temp(quantity = "ThermodynamicTemperature", unit = "K", displayUnit = "degC", min = 0.0, start = 288.15, nominal = 300.0) "cell medium temperature";
  output Real v_eq(quantity = "ElectricPotential", unit = "V") "equlibirium potential";
algorithm
  v_eq := 8.3144598 * temp / /*Real*/(ion_z) / 96485.33289000001 * log(ion_ex / ion_in);
end nernst;function fsteady
  input Real x "input value";
  output Real y "result of applying the HH-style equation steady = alpha/(alpha + beta)";
algorithm
  y := act.fbeta(x, -0.0669, -1000.0 / 5.57, 44.9) / (act.fbeta(x, -0.0669, -1000.0 / 5.57, 44.9) + fsteady.fbeta(x, 0.0, 1491.0, -0.0946, 1000.0 / 12.9, 323.3, 1.0, 1.0));
end fsteady;function ghkFlux "ghk flux equation for a single ion"
  input Real v(quantity = "ElectricPotential", unit = "V") "membrane potential";
  input Real temp(quantity = "ThermodynamicTemperature", unit = "K", displayUnit = "degC", min = 0.0, start = 288.15, nominal = 300.0) "cell medium temperature";
  input Real ion_in(quantity = "Concentration", unit = "mol/m3") "intracellular ion concentration";
  input Real ion_ex(quantity = "Concentration", unit = "mol/m3") "extracellular ion concentration";
  input Real ion_p(quantity = "Permeability (fluid mechanics)", unit = "m3/(s.m2)") "permeability of cell membrane to Na+ cations";
  input Integer ion_z "ion valence";
  output Real i(quantity = "CurrentDensity", unit = "A/m2") "current density resulting from ion flux through membrane";
  protected Real g_max(quantity = "Conductance", unit = "S");
  protected Real v_eq(quantity = "ElectricPotential", unit = "V");
  protected Real FoRT(unit = "1/V") = 96485.33289000001 / (8.3144598 * temp);
algorithm
  g_max := ion_p * ion_ex * FoRT * 96485.33289000001 * /*Real*/(ion_z) ^ 2.0;
  v_eq := nernst(ion_in, ion_ex, ion_z, temp);
  if abs(v) < 1e-06 then
    i := g_max / FoRT / /*Real*/(ion_z) * (exp(-v_eq * FoRT * /*Real*/(ion_z)) - 1.0);
  else
    i := g_max * v * (exp((v - v_eq) * FoRT * /*Real*/(ion_z)) - 1.0) / (exp(v * FoRT * /*Real*/(ion_z)) - 1.0);
  end if;
end ghkFlux;function act.fbeta
  input Real x "input value";
  input Real x0 = -0.0444 "x-value where y = 1 (fitting parameter)";
  input Real sx = -78.90791446382072 "scaling factor for x axis (fitting parameter)";
  input Real sy = 18400.0 "scaling factor for y axis (fitting parameter)";
  output Real y "result";
algorithm
  y := sy * exp(sx * (x - x0));
end act.fbeta;| name | unit | label | value | 
|---|---|---|---|
| t_tau_m | "s" | time stamp of last voltage step | 0.0 | 
| tau_h2 | "s" | time constant of slow inactivation gate | |
| tau_h1 | "s" | time constant of fast inactivation gate | |
| tau_m_measured | "s" | measured time until difference between na.act.n and m_stead is < 1e-6 | 0.0 | 
| tau_m | "s" | time constant of activation gate | |
| h_steady | steady state of inactivation gate | ||
| m3_steady | steady state of total activation | ||
| m_steady | "1" | steady state for activation gate | |
| h_total | total inactivation of channel | 0.0 | |
| m3 | total activation of channel (m^3) | 0.0 | |
| vc.i | "A" | measured membrane current | |
| vc.v_stim | "V" | input voltage (needs to be defined externally) | -0.1 | 
| vc.g.p.i | "A" | Current flowing into the pin | |
| vc.n.i | "A" | Current flowing into the pin | |
| l2.i | "A" | Current flowing from pin p to pin n | |
| na.inact_total | total inactivation resulting from fast and slow inactivation terms | ||
| na.inact_slow.steady | value that n would reach if v_gate was held constant | ||
| na.inact_slow.n | ratio of molecules in open conformation | 2.217110758230417e-07 | |
| na.inact_fast.n | ratio of molecules in open conformation | 2.217110758230417e-07 | |
| na.act.beta | "1" | rate of transfer from open to closed conformation | |
| na.act.alpha | "1" | rate of transfer from closed to open conformation | |
| na.act.n | ratio of molecules in open conformation | 0.9743799231069017 | |
| na.i_open | i if open_ratio = 1 | ||
| na.open_ratio | ratio between 0 (fully closed) and 1 (fully open) | ||
| na.i_ion | "A" | current used for ion flux | |
| $whenCondition1 | sample(1, 0.0, d_step) | ||
| $whenCondition2 | abs(m_steady - na.act.n) < 1e-06 | ||
| v_na | "V" | equilibrium potential for Na+ ions | InaMo.Functions.Biochemical.nernst(na_in, na_ex, 1, temp) | 
| vc.g.p.v | "V" | Potential at the pin | 0.0 | 
| na.ion_ex | "mol/m3" | extracellular concentration of ion | na_ex | 
| na.ion_p | "m3/(s.m2)" | permeability of ion | na_p | 
| na.ion_z | valence of ion | 1 | |
| na.current_name | "I_Na" | ||
| l2.c | "F" | membrane capacitance | 0.01 | 
| l2.v_init | "V" | initial potential (from short initial stimulation) | -0.09 | 
| l2.use_init | determines whether initial value for v is used | false | |
| temp | "K" | cell medium temperature | 288.15 | 
| na_in | "mol/m3" | intracellular sodium concentration | 8.4 | 
| na_ex | "mol/m3" | extracellular sodium concentration | 75.0 | 
| na_p | "m3/(s.m2)" | cell membrane permeability for Na+ ions | 2.1e-09 | 
| d_step | "s" | duration for which voltage is held constant between steps | 2.0 | 
| v_step | "V" | size of voltage step | 0.005 | 
| na.ion_in | "mol/m3" | intracellular concentration of ion | na_in | 
Tests for $I_p$
InaMo.Examples.ComponentTests.SodiumPotassiumPumpLin
To recreate Figure 12 of Demir 1994, plot p.i against vc.v.
This example uses a linear input current, because I_p is modeled as an immediate current without activation or inactivation kinetics.
The results are not fully accurate, because Demir 1994 only report the current-voltage relationship of the sum of I_p and the three background currents included in their model.
Simulation protocol and parameters are chosen with the following rationale:
- StopTime: allow a plot from -60 to +40 mV
 - Tolerance: left at default, because derivatives are not relevant
 - Interval: enough for a smooth plot
 - l2.C: according to Table A9 from Demir 1994
 - sodium.c_in: according to Table A13 from Demir 1994 (mean)
 - sodium.c_ex: according to Table A13 from Demir 1994 (mean)
 - potassium.c_in: according to Table A13 from Demir 1994 (mean)
 - potassium.c_ex: according to Table A13 from Demir 1994 (mean)
 - p.i_max: according to Table A9 from Demir 1994
 - p.k_m_K: according to Table A9 from Demir 1994
 - p.k_m_Na: according to Table A9 from Demir 1994 and Table 10 from Zhang 2000 (identical)
 
NOTE: Inada et al. give no parameter values for p.k_m_K and p.k_m_Na. These parameters have to be taken from Zhang 2000 or Demir 1994. Fortunately, both papers agree for the value of p.k_m_K. For p.k_m_Na there seems to be a flipped digit since Demir 1994 gives the value 5.46 and Zhang 2000 gives the value 5.64. Since we want to replicate Demir 1994 in this example, we chose to use this value. For p.i_max, there exists one value in Table A9 from Demir 1994 and two different values for peripheral and central SA node cells in Zhang 2000. We assume that the "peripheral" value should be used for AN cells and the "central" value should be used for the N cell. As for the NH cell we currently have no good guess. The CellML implementation gives values for p.i_max that do not correspond to either Zhang 2000 or Demir 1994. It might be that the authors had the code of Inada et al. as reference, but we cannot be sure of that.
model SodiumPotassiumPumpLin "IV relationship of I_p, recreates Figure 12 of Demir 1994"
  extends Modelica.Icons.Example;
  InaMo.Membrane.LipidBilayer l2(c = 55e-12, use_init = false) "cell membrane" annotation(
    Placement(transformation(extent = {{17, -17}, {51, 17}})));
  InaMo.ExperimentalMethods.VoltageClamp.VoltageClamp vc "voltage clamp" annotation(
    Placement(transformation(extent = {{-17, -17}, {17, 17}})));
  inner parameter SI.Concentration na_in = 9.67 "intracellular sodium concentration";
  inner parameter SI.Concentration k_ex = 5.4 "extracellular potassium concentration";
  InaMo.Currents.Atrioventricular.SodiumPotassiumPump p(i_max = 0.2192e-9, k_m_Na = 5.46) "cell membrane permeability for Na+ ions" annotation(
    Placement(transformation(extent = {{-51, -17}, {-17, 17}})));
  parameter SI.Voltage v_start = -0.06 "starting value for voltage";
initial equation
  vc.v_stim = v_start;
equation
  der(vc.v_stim) = 0.001;
  connect(l2.p, vc.p) annotation(
    Line(points = {{34, 18}, {34, 18}, {34, 40}, {0, 40}, {0, 18}, {0, 18}}, color = {0, 0, 255}));
  connect(vc.p, p.p) annotation(
    Line(points = {{0, 18}, {0, 18}, {0, 40}, {-34, 40}, {-34, 18}, {-34, 18}}, color = {0, 0, 255}));
  connect(l2.n, vc.n) annotation(
    Line(points = {{34, -16}, {34, -16}, {34, -40}, {0, -40}, {0, -16}, {0, -16}}, color = {0, 0, 255}));
  connect(vc.n, p.n) annotation(
    Line(points = {{0, -16}, {0, -16}, {0, -40}, {-34, -40}, {-34, -16}, {-34, -16}}, color = {0, 0, 255}));
  annotation(
    experiment(StartTime = 0, StopTime = 100, Tolerance = 1e-6, Interval = 1),
    __OpenModelica_simulationFlags(lv = "LOG_STATS", s = "dassl"),
    __MoST_experiment(variableFilter = "p\\.i|vc\\.v"),
    Documentation(info = "
    <html>
      <p>To recreate Figure 12 of Demir 1994, plot p.i against vc.v.</p>
      <p>This example uses a linear input current, because I_p is modeled
      as an immediate current without activation or inactivation kinetics.</p>
      <p>The results are not fully accurate, because Demir 1994 only report
      the current-voltage relationship of the <i>sum</i> of I_p and the
      three background currents included in their model.</p>
      <p>Simulation protocol and parameters are chosen with the following
      rationale:</p>
      <ul>
        <li>StopTime: allow a plot from -60 to +40 mV</li>
        <li>Tolerance: left at default, because derivatives are not relevant
        </li>
        <li>Interval: enough for a smooth plot</li>
        <li>l2.C: according to Table A9 from Demir 1994</li>
        <li>sodium.c_in: according to Table A13 from Demir 1994 (mean)</li>
        <li>sodium.c_ex: according to Table A13 from Demir 1994 (mean)</li>
        <li>potassium.c_in: according to Table A13 from Demir 1994 (mean)</li>
        <li>potassium.c_ex: according to Table A13 from Demir 1994 (mean)</li>
        <li>p.i_max: according to Table A9 from Demir 1994</li>
        <li>p.k_m_K: according to Table A9 from Demir 1994</li>
        <li>p.k_m_Na: according to Table A9 from Demir 1994 and
        Table 10 from Zhang 2000 (identical)</li>
      </ul>
      <p>NOTE: Inada et al. give no parameter values for p.k_m_K and p.k_m_Na.
      These parameters have to be taken from Zhang 2000 or Demir 1994.
      Fortunately, both papers agree for the value of p.k_m_K. For p.k_m_Na
      there seems to be a flipped digit since Demir 1994 gives the value 5.46
      and Zhang 2000 gives the value 5.64. Since we want to replicate Demir
      1994 in this example, we chose to use this value.
      For p.i_max, there exists one value in Table A9 from Demir 1994
      and two different values for peripheral and central SA node cells in
      Zhang 2000. We assume that the "peripheral" value should be
      used for AN cells and the "central" value should be used for
      the N cell. As for the NH cell we currently have no good guess. The
      CellML implementation gives values for p.i_max that do not correspond to
      either Zhang 2000 or Demir 1994. It might be that the authors had the
      code of Inada et al. as reference, but we cannot be sure of that.</p>
    </html>
  "));
end SodiumPotassiumPumpLin;- Within group vc (prefix _ indicates shortened variable name)
 
Functions:
function genLogistic "generalized logistic function for fitting sigmoidal curves"
  input Real x "input value";
  input Real y_min = 0.0 "lower asymptote (fitting parameter)";
  input Real y_max = 1.0 "upper asmyptote when d_off=1 and nu=1 (fititng parameter)";
  input Real x0 = 0.0 "x-value of sigmoid midpoint when d_off=1 and nu=1 (fitting parameter)";
  input Real sx = 1.0 "scaling factor for x axis (i.e. steepness, fitting parameter)";
  input Real se = 1.0 "scaling factor for exponential part (fitting parameter)";
  input Real d_off = 1.0 "offset in denominator (affects upper asymptote, fitting parameter)";
  input Real nu = 1.0 "reciprocal of exponent of denominator (affects upper asymptote, fitting parameter)";
  output Real y "result";
  protected Real x_adj "adjusted x with offset and scaling factor";
algorithm
  x_adj := sx * (x - x0);
  y := y_min + (y_max - y_min) / (se * exp(-x_adj) + d_off) ^ (1.0 / nu);
end genLogistic;function michaelisMenten "equation for enzymatic reactions following Michaelis-Menten kinetics"
  input Real s(quantity = "Concentration", unit = "mol/m3") "substrate concentration";
  input Real k(quantity = "Concentration", unit = "mol/m3") "concentration producing half-maximum reaction rate (michaelis constant)";
  output Real rate(unit = "1") "reaction rate";
algorithm
  rate := s / (s + k);
end michaelisMenten;| name | unit | label | value | 
|---|---|---|---|
| p.i | "A" | Current flowing from pin p to pin n | |
| vc.i | "A" | measured membrane current | |
| vc.v_stim | "V" | input voltage (needs to be defined externally) | |
| vc.g.p.i | "A" | Current flowing into the pin | |
| vc.n.i | "A" | Current flowing into the pin | |
| l2.i | "A" | Current flowing from pin p to pin n | |
| vc.g.p.v | "V" | Potential at the pin | 0.0 | 
| l2.c | "F" | membrane capacitance | 5.5e-11 | 
| l2.v_init | "V" | initial potential (from short initial stimulation) | -0.09 | 
| l2.use_init | determines whether initial value for v is used | false | |
| na_in | "mol/m3" | intracellular sodium concentration | 9.67 | 
| k_ex | "mol/m3" | extracellular potassium concentration | 5.4 | 
| p.current_name | "I_NaK" | ||
| p.i_max | "A" | maximum current (actual maximum is 1.6 * i_max) | 2.192e-10 | 
| p.k_m_Na | "mol/m3" | Michaelis constant for Na+ binding | 5.46 | 
| p.k_m_K | "mol/m3" | Michaelis constant for K+ binding | 0.621 | 
| v_start | "V" | starting value for voltage | -0.06 | 
Tests for $I_{st}$
InaMo.Examples.ComponentTests.SustainedInwardIV
To reproduce Figure S5B from Inada 2009, plot vc.i against time starting 50 ms before and ending 100 ms after the pulses with amplitude -80 to 60 mV (in 10 mV increments).
To reproduce Figure S5C from Inada 2009, plot vc.is_peak against vc.vs_peak. It is necessary to use vc.vs_peak instead of vc.v_pulse, because vc.is_peak captures the current from the previous pulse.
Simulation protocol and parameters are chosen with the following rationale:
- StopTime: allow a plot from -80 mV to 60 mV
 - Tolerance: default value
 - d_pulse: according to description of Figure S5 in Inada 2009
 - d_hold: approximately 5 * max(inact.tau)
 - v_hold: according to description of Figure S5 in Inada 2009
 - l2.C: according to Table S15 in Inada 2009 (N cell model)
 - st.g_max: manually adjusted, because it gives better agreement with both Figures S5B and S5C (see note below)
 
NOTE: The value for g_max had to be adjusted to obtain current densities that are comparable to those in Figure S5B and S5C in Inada 2009. This is probably because Inada et al. fitted the model to experimental data without stating this in the figure description.
model SustainedInwardIV "IV relationship of I_st, recreates Figure S5B and S5C of Inada 2009"
  extends InaMo.Examples.Interfaces.IVBase(vc(v_hold = -0.08, d_hold = 15, d_pulse = 0.5), v_start = -0.08, v_inc = 0.005);
  extends Modelica.Icons.Example;
  InaMo.Currents.Atrioventricular.SustainedInwardChannel st(g_max = 0.27e-9) "I_st" annotation(
    Placement(transformation(extent = {{-51, -17}, {-17, 17}})));
  InaMo.Membrane.LipidBilayer l2(use_init = false, c = 29e-12) "cell membrane" annotation(
    Placement(transformation(extent = {{17, -17}, {51, 17}})));
equation
  connect(l2.p, vc.p) annotation(
    Line(points = {{34, 18}, {34, 18}, {34, 40}, {0, 40}, {0, 18}, {0, 18}}, color = {0, 0, 255}));
  connect(vc.p, st.p) annotation(
    Line(points = {{0, 18}, {0, 18}, {0, 40}, {-34, 40}, {-34, 18}, {-34, 18}}, color = {0, 0, 255}));
  connect(l2.n, vc.n) annotation(
    Line(points = {{34, -16}, {34, -16}, {34, -40}, {0, -40}, {0, -16}, {0, -16}}, color = {0, 0, 255}));
  connect(vc.n, st.n) annotation(
    Line(points = {{0, -16}, {0, -16}, {0, -40}, {-34, -40}, {-34, -16}, {-34, -16}}, color = {0, 0, 255}));
  annotation(
    experiment(StartTime = 0, StopTime = 480, Tolerance = 1e-6, Interval = 1e-2),
    __OpenModelica_simulationFlags(lv = "LOG_STATS", s = "dassl"),
    __MoST_experiment(variableFilter = "vc\\.(is_peak|vs_peak|i|v|v_pulse)"),
    Documentation(info = "
    <html>
    <p>To reproduce Figure S5B from Inada 2009, plot vc.i against time
    starting 50 ms before and ending 100 ms after the pulses with amplitude
    -80 to 60 mV (in 10 mV increments).</p>
    <p>To reproduce Figure S5C from Inada 2009, plot vc.is_peak against
    vc.vs_peak.
    It is necessary to use vc.vs_peak instead of vc.v_pulse,
    because vc.is_peak captures the current from the <i>previous</i> pulse.</p>
    <p>Simulation protocol and parameters are chosen with the following
    rationale:</p>
    <ul>
      <li>StopTime: allow a plot from -80 mV to 60 mV</li>
      <li>Tolerance: default value</li>
      <li>d_pulse: according to description of Figure S5 in Inada 2009</li>
      <li>d_hold: approximately 5 * max(inact.tau)</li>
      <li>v_hold: according to description of Figure S5 in Inada 2009</li>
      <li>l2.C: according to Table S15 in Inada 2009 (N cell model)</li>
      <li>st.g_max: manually adjusted, because it gives better agreement
      with both Figures S5B and S5C (see note below)</li>
    </ul>
    <p>NOTE: The value for g_max had to be adjusted to obtain
    current densities that are comparable to those in Figure S5B and S5C in
    Inada 2009.
    This is probably because Inada et al. fitted the model to experimental
    data without stating this in the figure description.</p>
    </html>
  "));
end SustainedInwardIV;- Within group st (prefix _ indicates shortened variable name)
- Within group inact (prefix _ indicates shortened variable name)
 
 - Within group vc (prefix _ indicates shortened variable name)
 
Functions:
function fa
  input Real x "input value";
  input Real off = 0.0 "offset added to result to increase minimum (fitting parameter)";
  output Real y "result of applying the HH-style equation tau = 1/(alpha + beta)";
algorithm
  y := 1.0 / (fa.falpha(x, 0.0, -1000.0 / 10.0, 95.0 / 150.4) + fa.falpha(x, 0.0, -1000.0 / 700.0, 50.0 / 150.4)) + off;
end fa;function fsteady
  input Real x "input value";
  input Real y_min = 0.0 "lower asymptote (fitting parameter)";
  input Real y_max = 1.0 "upper asmyptote when d_off=1 and nu=1 (fititng parameter)";
  input Real x0 = -0.0491 "x-value of sigmoid midpoint when d_off=1 and nu=1 (fitting parameter)";
  input Real sx = 111.358574610245 "scaling factor for x axis (i.e. steepness, fitting parameter)";
  input Real se = 1.0 "scaling factor for exponential part (fitting parameter)";
  input Real d_off = 1.0 "offset in denominator (affects upper asymptote, fitting parameter)";
  input Real nu = 1.0 "reciprocal of exponent of denominator (affects upper asymptote, fitting parameter)";
  output Real y "result";
  protected Real x_adj "adjusted x with offset and scaling factor";
algorithm
  x_adj := sx * (x - x0);
  y := y_min + (y_max - y_min) / (se * exp(-x_adj) + d_off) ^ (1.0 / nu);
end fsteady;function inact.falpha
  input Real x "input value";
  input Real off = 0.0 "offset added to result to increase minimum (fitting parameter)";
  output Real y "result of applying the HH-style equation tau = 1/(alpha + beta)";
algorithm
  y := 1.0 / (fa.falpha(x, 0.0, 1000.0 / 13.0, 3100.0 / 150.4) + fa.falpha(x, 0.0, 1000.0 / 70.0, 700.0 / 150.4)) + off;
end inact.falpha;function ftau.falpha
  input Real x "input value";
  input Real off = 0.0 "offset added to result to increase minimum (fitting parameter)";
  output Real y "result of applying the HH-style equation tau = 1/(alpha + beta)";
algorithm
  y := 1.0 / (fa.falpha(x, 0.0, -1000.0 / 11.0, 0.00015) + fa.falpha(x, 0.0, -1000.0 / 700.0, 0.0002)) + off;
end ftau.falpha;function absmax "returns input whose absolute value is larger, preserving the sign"
  input Real a "first input";
  input Real b "second input";
  output Real m "a if abs(a) > abs(b), otherwise b";
algorithm
  m := if abs(a) > abs(b) then a else b;
end absmax;function ftau.fbeta
  input Real x "input value";
  input Real off = 0.0 "offset added to result to increase minimum (fitting parameter)";
  output Real y "result of applying the HH-style equation tau = 1/(alpha + beta)";
algorithm
  y := 1.0 / (fa.falpha(x, 0.0, 1000.0 / 8.0, 0.016) + fa.falpha(x, 0.0, 1000.0 / 50.0, 0.015)) + off;
end ftau.fbeta;function fa.falpha
  input Real x "input value";
  input Real x0 = 0.0 "x-value where y = 1 (fitting parameter)";
  input Real sx = -100.0 "scaling factor for x axis (fitting parameter)";
  input Real sy = 0.6316489361702128 "scaling factor for y axis (fitting parameter)";
  output Real y "result";
algorithm
  y := sy * exp(sx * (x - x0));
end fa.falpha;function ftau
  input Real x "input value";
  input Real off = 0.0 "offset added to result to increase minimum (fitting parameter)";
  output Real y "result of applying the HH-style equation tau = 1/(alpha + beta)";
algorithm
  y := 1.0 / (ftau.falpha(x, 0.0) + ftau.fbeta(x, 0.0)) + off;
end ftau;function inact.fbeta
  input Real x "input value";
  output Real y "output value";
algorithm
  y := fa(x, 0.0) + fsteady(x, 0.0, 0.229, 0.0, 1000.0 / 5.0, 1.0, 1.0, 1.0);
end inact.fbeta;| name | unit | label | value | 
|---|---|---|---|
| l2.i | "A" | Current flowing from pin p to pin n | |
| l2.v | "V" | Voltage drop of the two pins (= p.v - n.v) | |
| st.inact.tau | "s" | time constant for obtaining steady state (i.e. time until difference between n and steady has reduced by a factor of 1/e) | |
| st.inact.steady | "1" | steady state achieved if current voltage is held constant | |
| st.inact.beta | "1" | rate of transfer from open to closed conformation | |
| st.inact.alpha | "1" | rate of transfer from closed to open conformation | |
| st.inact.n | ratio of molecules in open conformation | 0.03322275838167021 | |
| st.act.tau | "s" | time constant for obtaining steady state (i.e. time until difference between n and steady has reduced by a factor of 1/e) | |
| st.act.steady | value that n would reach if v_gate was held constant | ||
| st.act.n | ratio of molecules in open conformation | 0.9957968373875523 | |
| st.g | "S" | ion conductance | |
| st.i_open | "A" | i if open_ratio = 1 | |
| st.open_ratio | "1" | ratio between 0 (fully closed) and 1 (fully open) | |
| st.i_ion | "A" | current used for ion flux | |
| vc.after_pulse | true after pulse has passed | ||
| vc.within_pulse | true during pulse | ||
| vc.vp_last | "V" | voltage of last pulse | 0.0 | 
| vc.tp_last | "s" | time stamp of start of last pulse | 0.0 | 
| vc.peak_indicator | forces event at peak (factor of 1e12 is required to detect zero crossing) | false | |
| vc.tail_i | "A" | peak current after pulse | 0.0 | 
| vc.peak_i | "A" | peak current during pulse | 0.0 | 
| vc.vs_tail | "V" | steady step function of pulse associated with is_tail | 0.0 | 
| vc.vs_end | "V" | steady step function of pulse associated with is_end | 0.0 | 
| vc.vs_peak | "V" | steady step function of pulse associated with is_peak | 0.0 | 
| vc.is_end | "A" | steady step function of current at end of last pulse | 0.0 | 
| vc.is_tail | "A" | steady step function of peak tail current after last pulse | 0.0 | 
| vc.is_peak | "A" | steady step function of peak current during last pulse | 0.0 | 
| vc.v_pulse | "V" | voltage during pulse (must be defined externally) | |
| vc.pulse_signal | 0 during holding period, 1 during pulse | 0 | |
| vc.pulse_end | signals end of pulse | ||
| vc.pulse_start | signals start of pulse | ||
| vc.i | "A" | measured membrane current | |
| vc.g.p.i | "A" | Current flowing into the pin | |
| vc.n.i | "A" | Current flowing into the pin | |
| $whenCondition1 | vc.pulse_end | ||
| $whenCondition2 | vc.pulse_start | ||
| $whenCondition3 | vc.peak_indicator <> pre(vc.peak_indicator) and vc.after_pulse or vc.pulse_end | ||
| $whenCondition4 | vc.peak_indicator <> pre(vc.peak_indicator) and vc.within_pulse or vc.pulse_end | ||
| vc.g.p.v | "V" | Potential at the pin | 0.0 | 
| vc.d_hold | "s" | holding period | 15.0 | 
| vc.d_pulse | "s" | pulse period | 0.5 | 
| vc.v_hold | "V" | voltage during holding period | -0.08 | 
| v_start | "V" | start value for pulse amplitude | -0.08 | 
| v_inc | "V" | increment for pulse amplitude | 0.005 | 
| st.v_eq | "V" | equilibrium potential | 0.0374 | 
| st.g_max | "S" | maximum conductance | 2.7e-10 | 
| st.current_name | "I_st" | ||
| l2.c | "F" | membrane capacitance | 2.9e-11 | 
| l2.v_init | "V" | initial potential (from short initial stimulation) | -0.09 | 
| l2.use_init | determines whether initial value for v is used | false | 
InaMo.Examples.ComponentTests.SustainedInwardIVKurata
This example is identical to SustainedInwardIV with the exception that the equation for the steady state of the activation and the parameter values for g_max and C are taken from Kurata 2002.
To reproduce Figure 4 bottom left from Kurata 2002, plot vc.i against time starting 50 ms before and ending 100 ms after the pulses with amplitude -70 to 50 mV (in 10 mV increments).
To reproduce Figure 4 bottom right from Kurata 2002, plot vc.is_peak / C against vc.vs_peak. It is necessary to use vc.vs_peak instead of vc.v_pulse, because vc.is_peak captures the current from the previous pulse.
Simulation protocol and parameters are chosen with the same rationale as in SustainedInwardIV.
model SustainedInwardIVKurata "IV relationship of I_st, reproduces Figure 4 from Kurata 2002 (bottom left + bottom right)"
  // FIXME redeclare breaks icon inheritance
  extends SustainedInwardIV(st(act(redeclare function fsteady = genLogistic(x0 = -57e-3, sx = 1000 / 5)), g_max = 0.48e-9), l2(c = 32e-12));
  annotation(
    experiment(StartTime = 0, StopTime = 480, Tolerance = 1e-6, Interval = 1e-2),
    __OpenModelica_simulationFlags(lv = "LOG_STATS", s = "dassl"),
    __MoST_experiment(variableFilter = "vc\\.(i|is_peak|vs_peak|v|v_pulse)"),
    Documentation(info = "
    <html>
    <p>This example is identical to SustainedInwardIV with the exception that
    the equation for the steady state of the activation and the parameter
    values for g_max and C are taken from Kurata 2002.</p>
    <p>To reproduce Figure 4 bottom left from Kurata 2002, plot vc.i against
    time starting 50 ms before and ending 100 ms after the pulses with amplitude
    -70 to 50 mV (in 10 mV increments).</p>
    <p>To reproduce Figure 4 bottom right from Kurata 2002, plot vc.is_peak / C
    against vc.vs_peak.
    It is necessary to use vc.vs_peak instead of vc.v_pulse, because vc.is_peak
    captures the current from the <i>previous</i> pulse.</p>
    <p>Simulation protocol and parameters are chosen with the same rationale
    as in SustainedInwardIV.</p>
    </html>
  "));
end SustainedInwardIVKurata;- Within group st (prefix _ indicates shortened variable name)
- Within group inact (prefix _ indicates shortened variable name)
 
 - Within group vc (prefix _ indicates shortened variable name)
 
Functions:
function fsteady
  input Real x "input value";
  input Real y_min = 0.0 "lower asymptote (fitting parameter)";
  input Real y_max = 1.0 "upper asmyptote when d_off=1 and nu=1 (fititng parameter)";
  input Real x0 = -0.057 "x-value of sigmoid midpoint when d_off=1 and nu=1 (fitting parameter)";
  input Real sx = 200.0 "scaling factor for x axis (i.e. steepness, fitting parameter)";
  input Real se = 1.0 "scaling factor for exponential part (fitting parameter)";
  input Real d_off = 1.0 "offset in denominator (affects upper asymptote, fitting parameter)";
  input Real nu = 1.0 "reciprocal of exponent of denominator (affects upper asymptote, fitting parameter)";
  output Real y "result";
  protected Real x_adj "adjusted x with offset and scaling factor";
algorithm
  x_adj := sx * (x - x0);
  y := y_min + (y_max - y_min) / (se * exp(-x_adj) + d_off) ^ (1.0 / nu);
end fsteady;function fa
  input Real x "input value";
  input Real off = 0.0 "offset added to result to increase minimum (fitting parameter)";
  output Real y "result of applying the HH-style equation tau = 1/(alpha + beta)";
algorithm
  y := 1.0 / (fa.falpha(x, 0.0, -1000.0 / 10.0, 95.0 / 150.4) + fa.falpha(x, 0.0, -1000.0 / 700.0, 50.0 / 150.4)) + off;
end fa;function ftau.fbeta
  input Real x "input value";
  input Real off = 0.0 "offset added to result to increase minimum (fitting parameter)";
  output Real y "result of applying the HH-style equation tau = 1/(alpha + beta)";
algorithm
  y := 1.0 / (fa.falpha(x, 0.0, 1000.0 / 8.0, 0.016) + fa.falpha(x, 0.0, 1000.0 / 50.0, 0.015)) + off;
end ftau.fbeta;function inact.fbeta
  input Real x "input value";
  output Real y "output value";
algorithm
  y := fa(x, 0.0) + fsteady(x, 0.0, 0.229, 0.0, 1000.0 / 5.0, 1.0, 1.0, 1.0);
end inact.fbeta;function absmax "returns input whose absolute value is larger, preserving the sign"
  input Real a "first input";
  input Real b "second input";
  output Real m "a if abs(a) > abs(b), otherwise b";
algorithm
  m := if abs(a) > abs(b) then a else b;
end absmax;function inact.falpha
  input Real x "input value";
  input Real off = 0.0 "offset added to result to increase minimum (fitting parameter)";
  output Real y "result of applying the HH-style equation tau = 1/(alpha + beta)";
algorithm
  y := 1.0 / (fa.falpha(x, 0.0, 1000.0 / 13.0, 3100.0 / 150.4) + fa.falpha(x, 0.0, 1000.0 / 70.0, 700.0 / 150.4)) + off;
end inact.falpha;function ftau
  input Real x "input value";
  input Real off = 0.0 "offset added to result to increase minimum (fitting parameter)";
  output Real y "result of applying the HH-style equation tau = 1/(alpha + beta)";
algorithm
  y := 1.0 / (ftau.falpha(x, 0.0) + ftau.fbeta(x, 0.0)) + off;
end ftau;function fa.falpha
  input Real x "input value";
  input Real x0 = 0.0 "x-value where y = 1 (fitting parameter)";
  input Real sx = -100.0 "scaling factor for x axis (fitting parameter)";
  input Real sy = 0.6316489361702128 "scaling factor for y axis (fitting parameter)";
  output Real y "result";
algorithm
  y := sy * exp(sx * (x - x0));
end fa.falpha;function ftau.falpha
  input Real x "input value";
  input Real off = 0.0 "offset added to result to increase minimum (fitting parameter)";
  output Real y "result of applying the HH-style equation tau = 1/(alpha + beta)";
algorithm
  y := 1.0 / (fa.falpha(x, 0.0, -1000.0 / 11.0, 0.00015) + fa.falpha(x, 0.0, -1000.0 / 700.0, 0.0002)) + off;
end ftau.falpha;| name | unit | label | value | 
|---|---|---|---|
| l2.i | "A" | Current flowing from pin p to pin n | |
| l2.v | "V" | Voltage drop of the two pins (= p.v - n.v) | |
| st.inact.tau | "s" | time constant for obtaining steady state (i.e. time until difference between n and steady has reduced by a factor of 1/e) | |
| st.inact.steady | "1" | steady state achieved if current voltage is held constant | |
| st.inact.beta | "1" | rate of transfer from open to closed conformation | |
| st.inact.alpha | "1" | rate of transfer from closed to open conformation | |
| st.inact.n | ratio of molecules in open conformation | 0.03322275838167021 | |
| st.act.tau | "s" | time constant for obtaining steady state (i.e. time until difference between n and steady has reduced by a factor of 1/e) | |
| st.act.steady | value that n would reach if v_gate was held constant | ||
| st.act.n | ratio of molecules in open conformation | 0.999988804640495 | |
| st.g | "S" | ion conductance | |
| st.i_open | "A" | i if open_ratio = 1 | |
| st.open_ratio | "1" | ratio between 0 (fully closed) and 1 (fully open) | |
| st.i_ion | "A" | current used for ion flux | |
| vc.after_pulse | true after pulse has passed | ||
| vc.within_pulse | true during pulse | ||
| vc.vp_last | "V" | voltage of last pulse | 0.0 | 
| vc.tp_last | "s" | time stamp of start of last pulse | 0.0 | 
| vc.peak_indicator | forces event at peak (factor of 1e12 is required to detect zero crossing) | false | |
| vc.tail_i | "A" | peak current after pulse | 0.0 | 
| vc.peak_i | "A" | peak current during pulse | 0.0 | 
| vc.vs_tail | "V" | steady step function of pulse associated with is_tail | 0.0 | 
| vc.vs_end | "V" | steady step function of pulse associated with is_end | 0.0 | 
| vc.vs_peak | "V" | steady step function of pulse associated with is_peak | 0.0 | 
| vc.is_end | "A" | steady step function of current at end of last pulse | 0.0 | 
| vc.is_tail | "A" | steady step function of peak tail current after last pulse | 0.0 | 
| vc.is_peak | "A" | steady step function of peak current during last pulse | 0.0 | 
| vc.v_pulse | "V" | voltage during pulse (must be defined externally) | |
| vc.pulse_signal | 0 during holding period, 1 during pulse | 0 | |
| vc.pulse_end | signals end of pulse | ||
| vc.pulse_start | signals start of pulse | ||
| vc.i | "A" | measured membrane current | |
| vc.g.p.i | "A" | Current flowing into the pin | |
| vc.n.i | "A" | Current flowing into the pin | |
| $whenCondition1 | vc.pulse_end | ||
| $whenCondition2 | vc.pulse_start | ||
| $whenCondition3 | vc.peak_indicator <> pre(vc.peak_indicator) and vc.after_pulse or vc.pulse_end | ||
| $whenCondition4 | vc.peak_indicator <> pre(vc.peak_indicator) and vc.within_pulse or vc.pulse_end | ||
| vc.g.p.v | "V" | Potential at the pin | 0.0 | 
| vc.d_hold | "s" | holding period | 15.0 | 
| vc.d_pulse | "s" | pulse period | 0.5 | 
| vc.v_hold | "V" | voltage during holding period | -0.08 | 
| v_start | "V" | start value for pulse amplitude | -0.08 | 
| v_inc | "V" | increment for pulse amplitude | 0.005 | 
| st.v_eq | "V" | equilibrium potential | 0.0374 | 
| st.g_max | "S" | maximum conductance | 4.8e-10 | 
| st.current_name | "I_st" | ||
| l2.c | "F" | membrane capacitance | 3.2e-11 | 
| l2.v_init | "V" | initial potential (from short initial stimulation) | -0.09 | 
| l2.use_init | determines whether initial value for v is used | false | 
InaMo.Examples.ComponentTests.SustainedInwardSteady
To reproduce Figure S5A from Inada 2009, plot act_steady against v.
Simulation protocol and parameters are chosen with the following rationale:
- StopTime: allow a plot from -80 to 60 mV
 - Tolerance: left at default value, since derivatives are not relevant
 - Interval: enough for a smooth plot
 
model SustainedInwardSteady "steady state of I_st, recreates Figure S5A from Inada 2009"
  extends Modelica.Icons.Example;
  InaMo.Membrane.LipidBilayer l2(use_init = false) "cell membrane" annotation(
    Placement(transformation(extent = {{17, -17}, {51, 17}})));
  InaMo.ExperimentalMethods.VoltageClamp.VoltageClamp vc "voltage clamp" annotation(
    Placement(transformation(extent = {{-17, -17}, {17, 17}})));
  InaMo.Currents.Atrioventricular.SustainedInwardChannel st "I_st" annotation(
    Placement(transformation(extent = {{-51, -17}, {-17, 17}})));
  Real act_steady = st.act.steady "steady state of activation gate";
  SI.Duration act_tau = st.act.tau "time constant of activation gate";
  Real inact_steady = inact_tau * st.inact.alpha "steady state of inactivation gate";
  SI.Duration inact_tau = 1 / (st.inact.alpha + st.inact.beta) "time constant of inactivation gate";
  SI.Voltage v(start = -0.08, fixed = true) "input voltage";
  function qa "direct copy of activation steady state from Kurata 2002"
    input Real x;
    output Real y;
  algorithm
    y := 1 / (1 + exp(-(x + 57) / 5));
  end qa;
  function qi "direct copy of inactivation steady state from Kurata 2002"
    input Real x;
    output Real y;
  protected
    Real alpha;
    Real beta;
  algorithm
    alpha := 0.1504 / (3100 * exp(x / 13) + 700 * exp(x / 70));
    beta := 0.1504 / (95 * exp(-x / 10) + 50 * exp(-x / 700)) + 0.000229 / (1 + exp(-x / 5));
    y := alpha / (alpha + beta);
  end qi;
  function tau_qa "direct copy of activation time constant from Kurata 2002"
    input Real x;
    output Real y;
  protected
    Real alpha;
    Real beta;
  algorithm
    alpha := 1 / (0.15 * exp(-x / 11) + 0.2 * exp(-x / 700));
    beta := 1 / (16 * exp(x / 8) + 15 * exp(x / 50));
    y := 1 / (alpha + beta);
  end tau_qa;
  function tau_qi "direct copy of inactivation time constant from Kurata 2002"
    input Real x;
    output Real y;
  protected
    Real alpha;
    Real beta;
  algorithm
    alpha := 0.1504 / (3100 * exp(x / 13) + 700 * exp(x / 70));
    beta := 0.1504 / (95 * exp(-x / 10) + 50 * exp(-x / 700)) + 0.000229 / (1 + exp(-x / 5));
    y := 1 / (alpha + beta);
  end tau_qi;
  Real act_steady2 = qa(1000 * v) "steady state of activation gate (Kurata 2002)";
  Real inact_steady2 = qi(1000 * v) "steady state of inactivation gate (Kurata 2002)";
  Real act_tau2 = 0.001 * tau_qa(1000 * v) "time constant of activation gate (Kurata 2002)";
  Real inact_tau2 = 0.001 * tau_qi(1000 * v) "steady state of inactivation gate (Kurata 2002)";
equation
  vc.v_stim = v;
  der(v) = 0.001;
  connect(l2.p, vc.p) annotation(
    Line(points = {{34, 18}, {34, 18}, {34, 40}, {0, 40}, {0, 18}, {0, 18}}, color = {0, 0, 255}));
  connect(vc.p, st.p) annotation(
    Line(points = {{0, 18}, {0, 18}, {0, 40}, {-34, 40}, {-34, 18}, {-34, 18}}, color = {0, 0, 255}));
  connect(l2.n, vc.n) annotation(
    Line(points = {{34, -16}, {34, -16}, {34, -40}, {0, -40}, {0, -16}, {0, -16}}, color = {0, 0, 255}));
  connect(vc.n, st.n) annotation(
    Line(points = {{0, -16}, {0, -16}, {0, -40}, {-34, -40}, {-34, -16}, {-34, -16}}, color = {0, 0, 255}));
  annotation(
    experiment(StartTime = 0, StopTime = 140, Tolerance = 1e-6, Interval = 1),
    __OpenModelica_simulationFlags(lv = "LOG_STATS", s = "dassl"),
    __MoST_experiment(variableFilter = "(act_steady|act_tau|inact_steady|inact_tau)2?|v|vc.v"),
    Documentation(info = "
    <html>
      <p>To reproduce Figure S5A from Inada 2009, plot act_steady
      against v.</p>
      <p>Simulation protocol and parameters are chosen with the following
      rationale:</p>
      <ul>
        <li>StopTime: allow a plot from -80 to 60 mV</li>
        <li>Tolerance: left at default value, since derivatives are not
        relevant</li>
        <li>Interval: enough for a smooth plot</li>
      </ul>
    </html>
  "));
end SustainedInwardSteady;- Within group st (prefix _ indicates shortened variable name)
- Within group inact (prefix _ indicates shortened variable name)
 
 - Within group vc (prefix _ indicates shortened variable name)
 
Functions:
function tau_qi "direct copy of inactivation time constant from Kurata 2002"
  input Real x;
  output Real y;
  protected Real alpha;
  protected Real beta;
algorithm
  alpha := 0.1504 / (3100.0 * exp(x / 13.0) + 700.0 * exp(x / 70.0));
  beta := 0.1504 / (95.0 * exp(-x / 10.0) + 50.0 * exp(-x / 700.0)) + 0.000229 / (1.0 + exp(-x / 5.0));
  y := 1.0 / (alpha + beta);
end tau_qi;function fsteady
  input Real x "input value";
  input Real y_min = 0.0 "lower asymptote (fitting parameter)";
  input Real y_max = 1.0 "upper asmyptote when d_off=1 and nu=1 (fititng parameter)";
  input Real x0 = -0.0491 "x-value of sigmoid midpoint when d_off=1 and nu=1 (fitting parameter)";
  input Real sx = 111.358574610245 "scaling factor for x axis (i.e. steepness, fitting parameter)";
  input Real se = 1.0 "scaling factor for exponential part (fitting parameter)";
  input Real d_off = 1.0 "offset in denominator (affects upper asymptote, fitting parameter)";
  input Real nu = 1.0 "reciprocal of exponent of denominator (affects upper asymptote, fitting parameter)";
  output Real y "result";
  protected Real x_adj "adjusted x with offset and scaling factor";
algorithm
  x_adj := sx * (x - x0);
  y := y_min + (y_max - y_min) / (se * exp(-x_adj) + d_off) ^ (1.0 / nu);
end fsteady;function fa.falpha
  input Real x "input value";
  input Real x0 = 0.0 "x-value where y = 1 (fitting parameter)";
  input Real sx = -100.0 "scaling factor for x axis (fitting parameter)";
  input Real sy = 0.6316489361702128 "scaling factor for y axis (fitting parameter)";
  output Real y "result";
algorithm
  y := sy * exp(sx * (x - x0));
end fa.falpha;function fa
  input Real x "input value";
  input Real off = 0.0 "offset added to result to increase minimum (fitting parameter)";
  output Real y "result of applying the HH-style equation tau = 1/(alpha + beta)";
algorithm
  y := 1.0 / (fa.falpha(x, 0.0, -1000.0 / 10.0, 95.0 / 150.4) + fa.falpha(x, 0.0, -1000.0 / 700.0, 50.0 / 150.4)) + off;
end fa;function inact.fbeta
  input Real x "input value";
  output Real y "output value";
algorithm
  y := fa(x, 0.0) + fsteady(x, 0.0, 0.229, 0.0, 1000.0 / 5.0, 1.0, 1.0, 1.0);
end inact.fbeta;function qa "direct copy of activation steady state from Kurata 2002"
  input Real x;
  output Real y;
algorithm
  y := 1.0 / (1.0 + exp(-(x + 57.0) / 5.0));
end qa;function ftau.fbeta
  input Real x "input value";
  input Real off = 0.0 "offset added to result to increase minimum (fitting parameter)";
  output Real y "result of applying the HH-style equation tau = 1/(alpha + beta)";
algorithm
  y := 1.0 / (fa.falpha(x, 0.0, 1000.0 / 8.0, 0.016) + fa.falpha(x, 0.0, 1000.0 / 50.0, 0.015)) + off;
end ftau.fbeta;function ftau
  input Real x "input value";
  input Real off = 0.0 "offset added to result to increase minimum (fitting parameter)";
  output Real y "result of applying the HH-style equation tau = 1/(alpha + beta)";
algorithm
  y := 1.0 / (ftau.falpha(x, 0.0) + ftau.fbeta(x, 0.0)) + off;
end ftau;function qi "direct copy of inactivation steady state from Kurata 2002"
  input Real x;
  output Real y;
  protected Real alpha;
  protected Real beta;
algorithm
  alpha := 0.1504 / (3100.0 * exp(x / 13.0) + 700.0 * exp(x / 70.0));
  beta := 0.1504 / (95.0 * exp(-x / 10.0) + 50.0 * exp(-x / 700.0)) + 0.000229 / (1.0 + exp(-x / 5.0));
  y := alpha / (alpha + beta);
end qi;function inact.falpha
  input Real x "input value";
  input Real off = 0.0 "offset added to result to increase minimum (fitting parameter)";
  output Real y "result of applying the HH-style equation tau = 1/(alpha + beta)";
algorithm
  y := 1.0 / (fa.falpha(x, 0.0, 1000.0 / 13.0, 3100.0 / 150.4) + fa.falpha(x, 0.0, 1000.0 / 70.0, 700.0 / 150.4)) + off;
end inact.falpha;function ftau.falpha
  input Real x "input value";
  input Real off = 0.0 "offset added to result to increase minimum (fitting parameter)";
  output Real y "result of applying the HH-style equation tau = 1/(alpha + beta)";
algorithm
  y := 1.0 / (fa.falpha(x, 0.0, -1000.0 / 11.0, 0.00015) + fa.falpha(x, 0.0, -1000.0 / 700.0, 0.0002)) + off;
end ftau.falpha;function tau_qa "direct copy of activation time constant from Kurata 2002"
  input Real x;
  output Real y;
  protected Real alpha;
  protected Real beta;
algorithm
  alpha := 1.0 / (0.15 * exp(-x / 11.0) + 0.2 * exp(-x / 700.0));
  beta := 1.0 / (16.0 * exp(x / 8.0) + 15.0 * exp(x / 50.0));
  y := 1.0 / (alpha + beta);
end tau_qa;| name | unit | label | value | 
|---|---|---|---|
| inact_tau2 | steady state of inactivation gate (Kurata 2002) | ||
| act_tau2 | time constant of activation gate (Kurata 2002) | ||
| inact_steady2 | steady state of inactivation gate (Kurata 2002) | ||
| act_steady2 | steady state of activation gate (Kurata 2002) | ||
| inact_tau | "s" | time constant of inactivation gate | |
| inact_steady | "s" | steady state of inactivation gate | |
| act_tau | "s" | time constant of activation gate | |
| act_steady | steady state of activation gate | ||
| st.inact.steady | "1" | steady state achieved if current voltage is held constant | |
| st.inact.beta | "1" | rate of transfer from open to closed conformation | |
| st.inact.alpha | "1" | rate of transfer from closed to open conformation | |
| st.inact.n | ratio of molecules in open conformation | 0.03322275838167021 | |
| st.act.n | ratio of molecules in open conformation | 0.9957968373875523 | |
| st.g | "S" | ion conductance | |
| st.i_open | "A" | i if open_ratio = 1 | |
| st.open_ratio | "1" | ratio between 0 (fully closed) and 1 (fully open) | |
| st.i_ion | "A" | current used for ion flux | |
| vc.i | "A" | measured membrane current | |
| vc.g.p.i | "A" | Current flowing into the pin | |
| vc.n.i | "A" | Current flowing into the pin | |
| l2.i | "A" | Current flowing from pin p to pin n | |
| l2.v | "V" | Voltage drop of the two pins (= p.v - n.v) | -0.08 | 
| vc.g.p.v | "V" | Potential at the pin | 0.0 | 
| l2.c | "F" | membrane capacitance | 0.01 | 
| l2.v_init | "V" | initial potential (from short initial stimulation) | -0.09 | 
| l2.use_init | determines whether initial value for v is used | false | |
| st.v_eq | "V" | equilibrium potential | 0.0374 | 
| st.g_max | "S" | maximum conductance | 1e-10 | 
| st.current_name | "I_st" | 
Tests for $I_{to}$
InaMo.Examples.ComponentTests.TransientOutwardIV
To reproduce Figure S2E from Inada 2009, plot vc.i against time for 500 ms after the pulses with amplitude -10, 0, 20 and 40 mV.
To reproduce Figure S2F from Inada 2009, plot vc.is_peak/max(vc.is_peak) against vc.vs_peak. It is necessary to use vc.vs_peak instead of vc.v_pulse, because vc.is_peak captures the current from the previous pulse.
Simulation protocol and parameters are chosen with the following rationale:
- StopTime: allow a plot from -60 mV to 60 mV (NOTE: It is important to choose StopTime such that the pulse for 65 mV is not part of the simulation, because otherwise the normalized current would change, since the maximum current is achieved during the last pulse)
 - Tolerance: default value
 - Interval: enough to roughly plot time course of current
 - d_pulse: according to description of Figure S2 in Inada 2009
 - d_hold: approximately 5 * max(inact_slow.tau)
 - v_hold: according to description of Figure S2 in Inada 2009
 - l2.C: according to Table S15 in Inada 2009 (NH cell model)
 - to.g_max: according to Table S15 in Inada 2009 (NH cell model)
 
NOTE: Although Inada et al. state that they used the AN cell model for Figure S2E and S2F, the absolute values of the current make it seem more likely, that the NH cell model was used instead. However, with these parameters the model still shows too high absolute values for the current. We see two possible explanations for this difference: Either Inada et al. used differnet parameter settings for the plots without documenting them or they chose d_hold too small, so that recovery to the steady state at holding potential was not completed before the next pulse. The difference disappears when the current is multiplied by a factor of 0.75 (e.g. by adjusting g_max).
model TransientOutwardIV "IV relationship of I_to, recreates Figures S2E and S2F from Inada 2009"
  extends Modelica.Icons.Example;
  extends InaMo.Examples.Interfaces.IVBase(vc(v_hold = -0.08, d_hold = 20, d_pulse = 0.5), v_start = -0.06, v_inc = 0.005);
  parameter SI.Concentration k_in = 140 "intracellular potassium concentration";
  parameter SI.Concentration k_ex = 5.4 "extracellular potassium concentration";
  parameter SI.Temperature temp = 310 "cell medium temperature";
  parameter SI.Voltage v_k = nernst(k_in, k_ex, 1, temp) "equilibrium potential for K+ ions";
  InaMo.Currents.Atrioventricular.TransientOutwardChannel to(g_max = 14e-9, v_eq = v_k) "I_to (parameter values for NH cell)" annotation(
    Placement(transformation(extent = {{-51, -17}, {-17, 17}})));
  // use g_max of NH model
  InaMo.Membrane.LipidBilayer l2(use_init = false, c = 40e-12) "cell membrane" annotation(
    Placement(transformation(extent = {{17, -17}, {51, 17}})));
equation
  connect(l2.p, vc.p) annotation(
    Line(points = {{34, 18}, {34, 18}, {34, 40}, {0, 40}, {0, 18}, {0, 18}}, color = {0, 0, 255}));
  connect(vc.p, to.p) annotation(
    Line(points = {{0, 18}, {0, 18}, {0, 40}, {-34, 40}, {-34, 18}, {-34, 18}}, color = {0, 0, 255}));
  connect(l2.n, vc.n) annotation(
    Line(points = {{34, -16}, {34, -16}, {34, -40}, {0, -40}, {0, -16}, {0, -16}}, color = {0, 0, 255}));
  connect(vc.n, to.n) annotation(
    Line(points = {{0, -16}, {0, -16}, {0, -40}, {-34, -40}, {-34, -16}, {-34, -16}}, color = {0, 0, 255}));
  annotation(
    experiment(StartTime = 0, StopTime = 532.5, Tolerance = 1e-6, Interval = 1e-2),
    __MoST_experiment(variableFilter = "vc\\.(i|is_peak|vs_peak|v|v_pulse)"),
    __OpenModelica_simulationFlags(lv = "LOG_STATS", s = "dassl"),
    Documentation(info = "
    <html>
    <p>To reproduce Figure S2E from Inada 2009, plot vc.i against time for
    500 ms after the pulses with amplitude -10, 0, 20 and 40 mV.</p>
    <p>To reproduce Figure S2F from Inada 2009, plot vc.is_peak/max(vc.is_peak)
    against vc.vs_peak.
    It is necessary to use vc.vs_peak instead of vc.v_pulse,
    because vc.is_peak captures the current from the <i>previous</i> pulse.</p>
    <p>Simulation protocol and parameters are chosen with the following
    rationale:</p>
    <ul>
      <li>StopTime: allow a plot from -60 mV to 60 mV (NOTE: It is important
      to choose StopTime such that the pulse for 65 mV is not part of the
      simulation, because otherwise the normalized current would change, since
      the maximum current is achieved during the last pulse)</li>
      <li>Tolerance: default value</li>
      <li>Interval: enough to roughly plot time course of current</li>
      <li>d_pulse: according to description of Figure S2 in Inada 2009</li>
      <li>d_hold: approximately 5 * max(inact_slow.tau)</li>
      <li>v_hold: according to description of Figure S2 in Inada 2009</li>
      <li>l2.C: according to Table S15 in Inada 2009 (NH cell model)</li>
      <li>to.g_max: according to Table S15 in Inada 2009 (NH cell model)</li>
    </ul>
    <p>NOTE: Although Inada et al. state that they used the AN cell model for
    Figure S2E and S2F, the absolute values of the current make it seem more
    likely, that the NH cell model was used instead.
    However, with these parameters the model still shows too high absolute
    values for the current.
    We see two possible explanations for this difference: Either Inada et al.
    used differnet parameter settings for the plots without documenting them
    or they chose d_hold too small, so that recovery to the steady state at
    holding potential was not completed before the next pulse.
    The difference disappears when the current is multiplied by a factor of
    0.75 (e.g. by adjusting g_max).</p>
    </html>
  "));
end TransientOutwardIV;- Within group to (prefix _ indicates shortened variable name)
 - Within group vc (prefix _ indicates shortened variable name)
 
Functions:
function fsteady
  input Real x "input value";
  input Real y_min = 0.0 "lower asymptote (fitting parameter)";
  input Real y_max = 1.0 "upper asmyptote when d_off=1 and nu=1 (fititng parameter)";
  input Real x0 = 0.00744 "x-value of sigmoid midpoint when d_off=1 and nu=1 (fitting parameter)";
  input Real sx = 60.97560975609757 "scaling factor for x axis (i.e. steepness, fitting parameter)";
  input Real se = 1.0 "scaling factor for exponential part (fitting parameter)";
  input Real d_off = 1.0 "offset in denominator (affects upper asymptote, fitting parameter)";
  input Real nu = 1.0 "reciprocal of exponent of denominator (affects upper asymptote, fitting parameter)";
  output Real y "result";
  protected Real x_adj "adjusted x with offset and scaling factor";
algorithm
  x_adj := sx * (x - x0);
  y := y_min + (y_max - y_min) / (se * exp(-x_adj) + d_off) ^ (1.0 / nu);
end fsteady;function nernst "Nernst equation to find the equlibrium potential for a single ion"
  input Real ion_in(quantity = "Concentration", unit = "mol/m3") "intracellular ion concentration";
  input Real ion_ex(quantity = "Concentration", unit = "mol/m3") "extracellular ion concentration";
  input Integer ion_z "valence of ion";
  input Real temp(quantity = "ThermodynamicTemperature", unit = "K", displayUnit = "degC", min = 0.0, start = 288.15, nominal = 300.0) "cell medium temperature";
  output Real v_eq(quantity = "ElectricPotential", unit = "V") "equlibirium potential";
algorithm
  v_eq := 8.3144598 * temp / /*Real*/(ion_z) / 96485.33289000001 * log(ion_ex / ion_in);
end nernst;function absmax "returns input whose absolute value is larger, preserving the sign"
  input Real a "first input";
  input Real b "second input";
  output Real m "a if abs(a) > abs(b), otherwise b";
algorithm
  m := if abs(a) > abs(b) then a else b;
end absmax;function act.ftau
  input Real x "input value";
  input Real off = 0.000596 "offset added to result to increase minimum (fitting parameter)";
  output Real y "result of applying the HH-style equation tau = 1/(alpha + beta)";
algorithm
  y := 1.0 / (falpha(x, -0.03061, 90.0, 1.037 / 0.003188) + falpha(x, -0.02384, -120.0, 0.396 / 0.003188)) + off;
end act.ftau;function falpha
  input Real x "input value";
  input Real x0 = -0.03061 "x-value where y = 1 (fitting parameter)";
  input Real sx = 90.0 "scaling factor for x axis (fitting parameter)";
  input Real sy = 325.2823086574655 "scaling factor for y axis (fitting parameter)";
  output Real y "result";
algorithm
  y := sy * exp(sx * (x - x0));
end falpha;function inact_slow.ftau
  input Real x "input value";
  input Real y_min = 0.1 "minimum value achieved at edges (fitting parameter)";
  input Real y_max = 4.1 "maximum value achieved at peak (fititng parameter)";
  input Real x0 = -0.065 "x-value of bell curve midpoint (fitting parameter)";
  input Real sigma = 0.0158113883008419 "standard deviation determining the width of the bell curve (fitting parameter)";
  output Real y "result";
  protected Real x_adj "adjusted x with offset and standard deviation";
algorithm
  x_adj := (x - x0) / sigma;
  y := y_min + (y_max - y_min) * exp(-0.5 * x_adj ^ 2.0);
end inact_slow.ftau;| name | unit | label | value | 
|---|---|---|---|
| l2.i | "A" | Current flowing from pin p to pin n | |
| l2.v | "V" | Voltage drop of the two pins (= p.v - n.v) | |
| to.inact_total | total inactivation resulting from fast and slow inactivation gates | ||
| to.inact_fast.tau | "s" | time constant for obtaining steady state (i.e. time until difference between n and steady has reduced by a factor of 1/e) | |
| to.inact_fast.steady | value that n would reach if v_gate was held constant | ||
| to.inact_fast.n | ratio of molecules in open conformation | 0.003978453093609672 | |
| to.inact_slow.tau | "s" | time constant for obtaining steady state (i.e. time until difference between n and steady has reduced by a factor of 1/e) | |
| to.inact_slow.steady | value that n would reach if v_gate was held constant | ||
| to.inact_slow.n | ratio of molecules in open conformation | 0.003978453093609672 | |
| to.act.tau | "s" | time constant for obtaining steady state (i.e. time until difference between n and steady has reduced by a factor of 1/e) | |
| to.act.steady | value that n would reach if v_gate was held constant | ||
| to.act.n | ratio of molecules in open conformation | 0.3884912691202426 | |
| to.g | "S" | ion conductance | |
| to.i_open | "A" | i if open_ratio = 1 | |
| to.open_ratio | "1" | ratio between 0 (fully closed) and 1 (fully open) | |
| to.i_ion | "A" | current used for ion flux | |
| vc.after_pulse | true after pulse has passed | ||
| vc.within_pulse | true during pulse | ||
| vc.vp_last | "V" | voltage of last pulse | 0.0 | 
| vc.tp_last | "s" | time stamp of start of last pulse | 0.0 | 
| vc.peak_indicator | forces event at peak (factor of 1e12 is required to detect zero crossing) | false | |
| vc.tail_i | "A" | peak current after pulse | 0.0 | 
| vc.peak_i | "A" | peak current during pulse | 0.0 | 
| vc.vs_tail | "V" | steady step function of pulse associated with is_tail | 0.0 | 
| vc.vs_end | "V" | steady step function of pulse associated with is_end | 0.0 | 
| vc.vs_peak | "V" | steady step function of pulse associated with is_peak | 0.0 | 
| vc.is_end | "A" | steady step function of current at end of last pulse | 0.0 | 
| vc.is_tail | "A" | steady step function of peak tail current after last pulse | 0.0 | 
| vc.is_peak | "A" | steady step function of peak current during last pulse | 0.0 | 
| vc.v_pulse | "V" | voltage during pulse (must be defined externally) | |
| vc.pulse_signal | 0 during holding period, 1 during pulse | 0 | |
| vc.pulse_end | signals end of pulse | ||
| vc.pulse_start | signals start of pulse | ||
| vc.i | "A" | measured membrane current | |
| vc.g.p.i | "A" | Current flowing into the pin | |
| vc.n.i | "A" | Current flowing into the pin | |
| $whenCondition1 | vc.pulse_end | ||
| $whenCondition2 | vc.pulse_start | ||
| $whenCondition3 | vc.peak_indicator <> pre(vc.peak_indicator) and vc.after_pulse or vc.pulse_end | ||
| $whenCondition4 | vc.peak_indicator <> pre(vc.peak_indicator) and vc.within_pulse or vc.pulse_end | ||
| vc.g.p.v | "V" | Potential at the pin | 0.0 | 
| vc.d_hold | "s" | holding period | 20.0 | 
| vc.d_pulse | "s" | pulse period | 0.5 | 
| vc.v_hold | "V" | voltage during holding period | -0.08 | 
| v_start | "V" | start value for pulse amplitude | -0.06 | 
| v_inc | "V" | increment for pulse amplitude | 0.005 | 
| k_in | "mol/m3" | intracellular potassium concentration | 140.0 | 
| k_ex | "mol/m3" | extracellular potassium concentration | 5.4 | 
| temp | "K" | cell medium temperature | 288.15 | 
| v_k | "V" | equilibrium potential for K+ ions | InaMo.Functions.Biochemical.nernst(k_in, k_ex, 1, temp) | 
| to.v_eq | "V" | equilibrium potential | v_k | 
| to.g_max | "S" | maximum conductance | 1.4e-08 | 
| to.current_name | "I_to" | ||
| l2.c | "F" | membrane capacitance | 4e-11 | 
| l2.v_init | "V" | initial potential (from short initial stimulation) | -0.09 | 
| l2.use_init | determines whether initial value for v is used | false | 
InaMo.Examples.ComponentTests.TransientOutwardSteady
To reproduce Figure S2A-S2D from Inada 2009, plot act_steady, inact_steady, inact_tau_fast and inact_tau_slow against v.
Simulation protocol and parameters are chosen with the following rationale:
- StopTime: allow a plot from -120 to 80 mV
 - Tolerance: left at default value, since derivatives are not relevant
 - Interval: enough to give a smooth plot
 
NOTE: Figure S2D shows a higher minimum for inact_slow.ftau.y_min (0.2 s instead of 0.1 s), but the formulas both in Inada 2009 and in the C++ code use the value of 0.1 s, which is why we keep it.
model TransientOutwardSteady "steady state of I_to, recreates Figures S2A-S2D from Inada 2009"
  extends Modelica.Icons.Example;
  InaMo.Membrane.LipidBilayer l2(use_init = false) "cell membrane" annotation(
    Placement(transformation(extent = {{-17, -17}, {17, 17}})));
  InaMo.ExperimentalMethods.VoltageClamp.VoltageClamp vc "voltage clamp" annotation(
    Placement(transformation(extent = {{17, -17}, {51, 17}})));
  InaMo.Currents.Atrioventricular.TransientOutwardChannel to(v_eq = v_k) "I_to" annotation(
    Placement(transformation(extent = {{-51, -17}, {-17, 17}})));
  parameter SI.Concentration k_in = 140 "intracellular potassium concentration";
  parameter SI.Concentration k_ex = 5.4 "extracellular potassium concentration";
  parameter SI.Temperature temp = 310 "cell medium temperature";
  parameter SI.Voltage v_k = nernst(k_in, k_ex, 1, temp) "equilibrium potential for K+ ions";
  Real act_steady = to.act.steady "steady state of activation gate";
  SI.Duration act_tau = to.act.tau "time constant of activation gate";
  Real inact_steady = to.inact_slow.steady "steady state of inactivation gates";
  SI.Duration inact_tau_fast = to.inact_fast.tau "time constant of fast inactivation gate";
  SI.Duration inact_tau_slow = to.inact_slow.tau "time constant of slow inactivation gate";
  SI.Voltage v(start = -0.12, fixed = true);
equation
  vc.v_stim = v;
  der(v) = 0.001;
  connect(to.p, l2.p) annotation(
    Line(points = {{-34, 18}, {-34, 18}, {-34, 28}, {0, 28}, {0, 18}, {0, 18}}, color = {0, 0, 255}));
  connect(l2.p, vc.p) annotation(
    Line(points = {{0, 18}, {0, 18}, {0, 28}, {34, 28}, {34, 18}, {34, 18}}, color = {0, 0, 255}));
  connect(to.n, l2.n) annotation(
    Line(points = {{-34, -16}, {-34, -16}, {-34, -28}, {0, -28}, {0, -16}, {0, -16}}, color = {0, 0, 255}));
  connect(l2.n, vc.n) annotation(
    Line(points = {{0, -16}, {0, -16}, {0, -28}, {34, -28}, {34, -16}, {34, -16}}, color = {0, 0, 255}));
  annotation(
    experiment(StartTime = 0, StopTime = 200, Tolerance = 1e-6, Interval = 1),
    __OpenModelica_simulationFlags(lv = "LOG_STATS", s = "dassl"),
    __MoST_experiment(variableFilter = "act_tau|act_steady|inact_steady|inact_tau_fast|inact_tau_slow|v|vc\\.v"),
    Documentation(info = "
    <html>
      <p>To reproduce Figure S2A-S2D from Inada 2009, plot act_steady,
      inact_steady, inact_tau_fast and inact_tau_slow against v.</p>
      <p>Simulation protocol and parameters are chosen with the following
      rationale:</p>
      <ul>
        <li>StopTime: allow a plot from -120 to 80 mV</li>
        <li>Tolerance: left at default value, since derivatives are not
        relevant</li>
        <li>Interval: enough to give a smooth plot</li>
      </ul>
      <p>NOTE: Figure S2D shows a higher minimum for inact_slow.ftau.y_min
      (0.2 s instead of 0.1 s), but the formulas both in Inada 2009 and in
      the C++ code use the value of 0.1 s, which is why we keep it.</p>
    </html>
  "));
end TransientOutwardSteady;- Within group to (prefix _ indicates shortened variable name)
 - Within group vc (prefix _ indicates shortened variable name)
 
Functions:
function fsteady
  input Real x "input value";
  input Real y_min = 0.0 "lower asymptote (fitting parameter)";
  input Real y_max = 1.0 "upper asmyptote when d_off=1 and nu=1 (fititng parameter)";
  input Real x0 = 0.00744 "x-value of sigmoid midpoint when d_off=1 and nu=1 (fitting parameter)";
  input Real sx = 60.97560975609757 "scaling factor for x axis (i.e. steepness, fitting parameter)";
  input Real se = 1.0 "scaling factor for exponential part (fitting parameter)";
  input Real d_off = 1.0 "offset in denominator (affects upper asymptote, fitting parameter)";
  input Real nu = 1.0 "reciprocal of exponent of denominator (affects upper asymptote, fitting parameter)";
  output Real y "result";
  protected Real x_adj "adjusted x with offset and scaling factor";
algorithm
  x_adj := sx * (x - x0);
  y := y_min + (y_max - y_min) / (se * exp(-x_adj) + d_off) ^ (1.0 / nu);
end fsteady;function nernst "Nernst equation to find the equlibrium potential for a single ion"
  input Real ion_in(quantity = "Concentration", unit = "mol/m3") "intracellular ion concentration";
  input Real ion_ex(quantity = "Concentration", unit = "mol/m3") "extracellular ion concentration";
  input Integer ion_z "valence of ion";
  input Real temp(quantity = "ThermodynamicTemperature", unit = "K", displayUnit = "degC", min = 0.0, start = 288.15, nominal = 300.0) "cell medium temperature";
  output Real v_eq(quantity = "ElectricPotential", unit = "V") "equlibirium potential";
algorithm
  v_eq := 8.3144598 * temp / /*Real*/(ion_z) / 96485.33289000001 * log(ion_ex / ion_in);
end nernst;function act.ftau
  input Real x "input value";
  input Real off = 0.000596 "offset added to result to increase minimum (fitting parameter)";
  output Real y "result of applying the HH-style equation tau = 1/(alpha + beta)";
algorithm
  y := 1.0 / (falpha(x, -0.03061, 90.0, 1.037 / 0.003188) + falpha(x, -0.02384, -120.0, 0.396 / 0.003188)) + off;
end act.ftau;function falpha
  input Real x "input value";
  input Real x0 = -0.03061 "x-value where y = 1 (fitting parameter)";
  input Real sx = 90.0 "scaling factor for x axis (fitting parameter)";
  input Real sy = 325.2823086574655 "scaling factor for y axis (fitting parameter)";
  output Real y "result";
algorithm
  y := sy * exp(sx * (x - x0));
end falpha;function inact_slow.ftau
  input Real x "input value";
  input Real y_min = 0.1 "minimum value achieved at edges (fitting parameter)";
  input Real y_max = 4.1 "maximum value achieved at peak (fititng parameter)";
  input Real x0 = -0.065 "x-value of bell curve midpoint (fitting parameter)";
  input Real sigma = 0.0158113883008419 "standard deviation determining the width of the bell curve (fitting parameter)";
  output Real y "result";
  protected Real x_adj "adjusted x with offset and standard deviation";
algorithm
  x_adj := (x - x0) / sigma;
  y := y_min + (y_max - y_min) * exp(-0.5 * x_adj ^ 2.0);
end inact_slow.ftau;| name | unit | label | value | 
|---|---|---|---|
| inact_tau_slow | "s" | time constant of slow inactivation gate | |
| inact_tau_fast | "s" | time constant of fast inactivation gate | |
| inact_steady | steady state of inactivation gates | ||
| act_tau | "s" | time constant of activation gate | |
| act_steady | steady state of activation gate | ||
| to.inact_total | total inactivation resulting from fast and slow inactivation gates | ||
| to.inact_fast.steady | value that n would reach if v_gate was held constant | ||
| to.inact_fast.n | ratio of molecules in open conformation | 0.003978453093609672 | |
| to.inact_slow.n | ratio of molecules in open conformation | 0.003978453093609672 | |
| to.act.n | ratio of molecules in open conformation | 0.3884912691202426 | |
| to.g | "S" | ion conductance | |
| to.i_open | "A" | i if open_ratio = 1 | |
| to.open_ratio | "1" | ratio between 0 (fully closed) and 1 (fully open) | |
| to.i_ion | "A" | current used for ion flux | |
| vc.i | "A" | measured membrane current | |
| vc.g.p.i | "A" | Current flowing into the pin | |
| vc.n.i | "A" | Current flowing into the pin | |
| l2.i | "A" | Current flowing from pin p to pin n | |
| l2.v | "V" | Voltage drop of the two pins (= p.v - n.v) | -0.12 | 
| vc.g.p.v | "V" | Potential at the pin | 0.0 | 
| l2.c | "F" | membrane capacitance | 0.01 | 
| l2.v_init | "V" | initial potential (from short initial stimulation) | -0.09 | 
| l2.use_init | determines whether initial value for v is used | false | |
| to.v_eq | "V" | equilibrium potential | v_k | 
| to.g_max | "S" | maximum conductance | 2e-08 | 
| to.current_name | "I_to" | ||
| k_in | "mol/m3" | intracellular potassium concentration | 140.0 | 
| k_ex | "mol/m3" | extracellular potassium concentration | 5.4 | 
| temp | "K" | cell medium temperature | 288.15 | 
| v_k | "V" | equilibrium potential for K+ ions | InaMo.Functions.Biochemical.nernst(k_in, k_ex, 1, temp) |