Constants & Primitives

Primitives

Primitives are special symbolic variables that are annotated with additional domain-specific metadata. Conductor.jl uses primitives found in user-defined equations to validate models and improve code generation.

Conductor.MembranePotentialType
MembranePotential(V0 = -60mV; <keyword arguments>)

The voltage in an arbitrary compartment.

If V0 == nothing, the default value of the resulting variable will be left unassigned.

Arguments

  • dynamic::Bool = true: when false, the voltage will be a static parameter.
  • source::PrimitiveSource = Intrinsic: the expected origin of a voltage state. Intrinsic sources are states from the parent compartment. Extrinsic sources come from other compartments (e.g. presynaptic compartments).
  • n::Integer = 1: when n > 1, the voltage will be a symbolic array of length n.
  • name::Symbol = :Vₘ: the symbol to use for the symbolic variable
source
Conductor.ExtrinsicPotentialFunction
ExtrinsicPotential(; n = 1, name::Symbol = :Vₓ)

A voltage derived from an external source (i.e. not the parent compartment).

Equivalent to: MembranePotential(nothing; dynamic=true, source=Extrinsic, n=n, name=name)

Arguments

  • n::Integer = 1: when n > 1, the voltage will be a symbolic array of length n.
  • name::Symbol = :Vₓ: the symbol to use for the symbolic variable
source
Conductor.IonConcentrationType
IonConcentration(ion::IonSpecies, val = nothing; <keyword arguments>)

An intra/extracellular concentration of ions.

Arguments

  • location::PrimitiveLocation = Inside: location (Inside or Outside) w.r.t. the parent compartment (intracellular or extracellular).
  • dynamic::Bool = false: when false, the concentration will be a static parameter.
  • name::Symbol = Conductor.PERIODIC_SYMBOL[ion]: the symbol to use for the symbolic variable. By default, a lookup table is used to find the ion's symbol on the periodic table of elements.
source
Conductor.IonCurrentType
IonCurrent(ion::IonSpecies, val = nothing; <keyword arguments>)

An ionic membrane current.

Arguments

  • aggregate::Bool = false: aggregate currents are the sum of all conductances (with matched ion species) flowing into the parent compartment. For example, an aggregate IonCurrent for Calcium will be the sum of all other Calcium-permeable currents.
  • dynamic::Bool = true: when dynamic == false the IonCurrent will be a static parameter value.
  • name::Symbol = Symbol("I", Conductor.PERIODIC_SYMBOL[ion]): the symbol to use for the symbolic variable. By default, a lookup table is used to find the ion's symbol on the periodic table of elements.
source
Conductor.EquilibriumPotentialType
EquilibriumPotential(ion::IonSpecies, val; <keyword arguments>)

An equilibrium (a.k.a. reversal) potential.

Arguments

  • dynamic::Bool = false: a dynamic EquilbriumPotential is assumed to vary with time (e.g. derived from the Nernst equation).
  • name::Symbol = Symbol("I", Conductor.PERIODIC_SYMBOL[ion]): the symbol to use for the symbolic variable. By default, a lookup table is used to find the ion's symbol on the periodic table of elements.
source
Conductor.TemperatureFunction
Temperature(temp; <keyword arguments>)

Temperature (in Kelvin)

Arguments

  • dynamic::Bool = false: a dynamic Temperature is assumed to vary with time.
  • name::Symbol = :T: the symbol to use for the symbolic variable.
source

Constants

Conductor.ℱConstant

Faraday's Constant

The electric charge of one mole of electrons.

Unicode ℱ can be typed by writing \scrF then pressing tab in the Julia REPL, and in many editors.

Examples

julia> Conductor.ℱ
96485.33212331001 C mol^-1
source
Conductor.IonSpeciesType

Ion species to annotate ConductanceSystem, IonCurrent, IonConcentration, etc. May be one of:

  • NonIonic
  • Sodium
  • Potassium
  • Chloride
  • Calcium
  • Cation
  • Anion
  • Glutamatergic
  • Cholinergic
  • AMPA
  • NMDA
source
Conductor.mRConstant

Universal Gas Constant (milli-)

Scaled by 1000x. Results in output

source

Quantities

In addition, Conductor.jl defines the following useful Unitful.jl-compatible units: