Где 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 и поместите это перед другим ConditionalDerivedVariables, которые используют это.
  • После преобразования в NEURON MOD операторы группируются и выполняются в каждом временном шаге в следующем порядке:

    1. OnEvent
    2. OnCondition"s
    3. DerivedVariable"s
    4. ConditionalDerivedVariable"s
    5. TimeDerivative"s

Смотрите: В файлах NEURON.MOD каков порядок операций с разделами?

Другие вопросы по тегам