Где jNeuroML помещает команды LEMS в сгенерированный NEURON .MOD/NMODL?
Как следующие теги в LEMS отображаются в файлы NEURON .MOD/NMODL:
<OnEvent>
<StateAssignment .. />
</OnEvent>
<OnCondition ... >
<StateAssignment ... >
</OnCondition>
<DerivedVariable .. />
<ConditionalDerivedVariable .. />
<TimeDerivative .. />
1 ответ
Решение
Теги LEMS отображаются в NEURON MOD следующим образом:
- OnEvent -> NET_RECEIVE:
StateAssignment
внутриOnEvent
помещаются в блок NET_RECEIVE NEURON .MOD. Назначения располагаются в порядке их появления в файле LEMS. - OnCondition -> BREAKPOINT: Все
if
заявления от каждогоOnCondition
теги объединяются и помещаются в раздел BREAKPOINT, и выполняются в том порядке, в котором они появляются в файле LEMS. - DerivedVariable, ConditionalDerivedVariable, TimeDerivative -> DERIVATIVE: они также объединяются и отображаются в разделе "ПРОИЗВОДНОЕ". Во-первых, все
DerivedVariable
заявления, то всеConditionalDerivedVariable
заявления и, наконец, всеTimeDerivative
заявления. Как и с другими, они все расположены в порядке их появления.
Заметки:
- Если вам нужно
DerivedVariable
который используетсяOnCondition
создать всегда выполняющийсяOnCondition
заявление сtest="1 .eq. 1"
с новымStateVariable
и поместите его перед любым другимOnCondition
заявления, которые будут использовать его. - Точно так же, если вам нужно
DerivedVariable
это зависит отConditionalDerivedVariable
создать всегда выполняющийсяConditionalDerivedVariable
и поместите это перед другимConditionalDerivedVariable
s, которые используют это. После преобразования в NEURON MOD операторы группируются и выполняются в каждом временном шаге в следующем порядке:
OnEvent
OnCondition
"sDerivedVariable
"sConditionalDerivedVariable
"sTimeDerivative
"s
Смотрите: В файлах NEURON.MOD каков порядок операций с разделами?