0

LEMS 中的以下标签如何映射到 NEURON .MOD/NMODL 文件中:

<OnEvent>
   <StateAssignment .. />
</OnEvent>

<OnCondition ... >
   <StateAssignment ... >
</OnCondition>

<DerivedVariable .. />
<ConditionalDerivedVariable .. />
<TimeDerivative .. />
4

1 回答 1

1

LEMS 标签映射到 NEURON MOD 如下:

  • OnEvent -> NET_RECEIVE :StateAssignment里面的 sOnEvent被放入 NEURON .MOD 的 NET_RECEIVE 块中。分配按照它们在 LEMS 文件中出现的顺序排列。
  • OnCondition -> BREAKPOINT:每个标签的所有if语句OnCondition都聚集在一起并放置在 BREAKPOINT 部分,并按照它们在 LEMS 文件中出现的顺序执行。
  • DerivedVariable, ConditionalDerivedVariable, TimeDerivative -> DERIVATIVE:这些也聚集在一起并出现在 DERIVATIVE 部分。首先是所有DerivedVariable语句,然后是所有ConditionalDerivedVariable语句,最后是所有TimeDerivative语句。与其他人一样,它们都按照它们出现的顺序排列。

笔记:

  • 如果您需要 aDerivedVariable使用的 a OnCondition,请创建一个始终执行的 OnCondition语句,使用test="1 .eq. 1", 和 a new StateVariable,并将其放在OnCondition将使用它的任何其他语句之前。
  • 同样,如果您需要DerivedVariable依赖 a 的 a ConditionalDerivedVariable,请创建一个始终执行ConditionalDerivedVariable并将其放在其他ConditionalDerivedVariable使用它的 s 之前。
  • 转换为 NEURON MOD 后,语句将按以下顺序在每个时间步内分组和执行:

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

请参阅:在 NEURON .MOD 文件中,各部分的操作顺序是什么?

于 2016-04-28T17:57:56.060 回答