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.MembranePotential — TypeMembranePotential(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.Intrinsicsources are states from the parent compartment.Extrinsicsources come from other compartments (e.g. presynaptic compartments).n::Integer = 1: whenn > 1, the voltage will be a symbolic array of lengthn.name::Symbol = :Vₘ: the symbol to use for the symbolic variable
Conductor.ExtrinsicPotential — FunctionExtrinsicPotential(; 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: whenn > 1, the voltage will be a symbolic array of lengthn.name::Symbol = :Vₓ: the symbol to use for the symbolic variable
Conductor.IonConcentration — TypeIonConcentration(ion::IonSpecies, val = nothing; <keyword arguments>)An intra/extracellular concentration of ions.
Arguments
location::PrimitiveLocation = Inside: location (InsideorOutside) 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.
Conductor.IonCurrent — TypeIonCurrent(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 aggregateIonCurrentfor Calcium will be the sum of all other Calcium-permeable currents.dynamic::Bool = true: whendynamic == falsetheIonCurrentwill 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.
Conductor.EquilibriumPotential — TypeEquilibriumPotential(ion::IonSpecies, val; <keyword arguments>)An equilibrium (a.k.a. reversal) potential.
Arguments
dynamic::Bool = false: a dynamicEquilbriumPotentialis 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.
Conductor.Temperature — FunctionTemperature(temp; <keyword arguments>)Temperature (in Kelvin)
Arguments
dynamic::Bool = false: a dynamicTemperatureis assumed to vary with time.name::Symbol = :T: the symbol to use for the symbolic variable.
Constants
Conductor.t — ConstantThe independent variable for time, $t$.
Conductor.D — FunctionDifferential with respect to time, $t$.
Conductor.ℱ — ConstantFaraday'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^-1Conductor.IonSpecies — TypeIon species to annotate ConductanceSystem, IonCurrent, IonConcentration, etc. May be one of:
- NonIonic
- Sodium
- Potassium
- Chloride
- Calcium
- Cation
- Anion
- Glutamatergic
- Cholinergic
- AMPA
- NMDA
Conductor.R — ConstantUniversal Gas Constant (base units)
Conductor.mR — ConstantUniversal Gas Constant (milli-)
Scaled by 1000x. Results in output
Quantities
In addition, Conductor.jl defines the following useful Unitful.jl-compatible units:
Conductor.SpecificConductance — TypeConductance per unit area.
Conductor.SpecificCapacitance — TypeCapacitance per unit area.