from tvbo import SimulationExperiment
exp = SimulationExperiment.from_string("""
label: "NeuroML Ex8: AdEx"
dynamics:
name: adExBurst2
iri: neuroml:adExIaFCell
network:
dynamics:
adExBurst2:
name: adExBurst2
iri: neuroml:adExIaFCell
parameters:
C: {value: 281, unit: pF}
gL: {value: 30, unit: nS}
EL: {value: -70.6, unit: mV}
reset: {value: -48.5, unit: mV}
VT: {value: -50.4, unit: mV}
thresh: {value: -40.4, unit: mV}
delT: {value: 2, unit: mV}
tauw: {value: 40, unit: ms}
a: {value: 4, unit: nS}
b: {value: 0.08, unit: nA}
refract: {value: 0, unit: ms}
adExBurst4:
name: adExBurst4
iri: neuroml:adExIaFCell
parameters:
C: {value: 281, unit: pF}
gL: {value: 30, unit: nS}
EL: {value: -70.6, unit: mV}
reset: {value: -47.2, unit: mV}
VT: {value: -50.4, unit: mV}
thresh: {value: -40.4, unit: mV}
delT: {value: 2, unit: mV}
tauw: {value: 40, unit: ms}
a: {value: 4, unit: nS}
b: {value: 0.08, unit: nA}
refract: {value: 0, unit: ms}
adExBurstChaos:
name: adExBurstChaos
iri: neuroml:adExIaFCell
parameters:
C: {value: 281, unit: pF}
gL: {value: 30, unit: nS}
EL: {value: -70.6, unit: mV}
reset: {value: -48, unit: mV}
VT: {value: -50.4, unit: mV}
thresh: {value: -40.4, unit: mV}
delT: {value: 2, unit: mV}
tauw: {value: 40, unit: ms}
a: {value: 4, unit: nS}
b: {value: 0.08, unit: nA}
refract: {value: 0, unit: ms}
adExRebound:
name: adExRebound
iri: neuroml:adExIaFCell
parameters:
C: {value: 281, unit: pF}
gL: {value: 30, unit: nS}
EL: {value: -60, unit: mV}
reset: {value: -51, unit: mV}
VT: {value: -54, unit: mV}
thresh: {value: -30, unit: mV}
delT: {value: 2, unit: mV}
tauw: {value: 150, unit: ms}
a: {value: 200, unit: nS}
b: {value: 0.1, unit: nA}
refract: {value: 0, unit: ms}
pulseGen1:
name: pulseGen1
iri: neuroml:pulseGenerator
parameters:
delay: {value: 0, unit: ms}
duration: {value: 2000, unit: ms}
amplitude: {value: 0.8, unit: nA}
pulseGen2:
name: pulseGen2
iri: neuroml:pulseGenerator
parameters:
delay: {value: 150, unit: ms}
duration: {value: 50, unit: ms}
amplitude: {value: -0.5, unit: nA}
nodes:
- {id: 0, dynamics: adExBurst2}
- {id: 1, dynamics: adExBurst4}
- {id: 2, dynamics: adExBurstChaos}
- {id: 3, dynamics: adExRebound}
- {id: 10, dynamics: pulseGen1, record: false}
- {id: 11, dynamics: pulseGen2, record: false}
edges:
- {source: 10, target: 0}
- {source: 10, target: 1}
- {source: 10, target: 2}
- {source: 11, target: 3}
integration:
method: euler
step_size: 0.025
duration: 300.0
time_scale: ms
""")
print(f"Network dynamics: {list(exp.network.dynamics.keys())}")