SimBiology позволяет моделировать динамическое поведение модели. До и во время симуляции SimBiology выполняет ряд шагов, включая преобразование реакций модели и правил скорости в набор обыкновенных дифференциальных уравнений (ОДУ), которые математически описывают динамику модели.
В частности, до начала симуляции SimBiology:
Проверка модели. Для получения дополнительной информации смотрите Верификация модели.
Определяет начальные условия, то есть значения в начале симуляции. В частности, SimBiology сначала инициализирует величины на основе значений, заданных в модели. Во-вторых, значения обновляются путем замены их соответствующими альтернативными значениями из вариантов, если таковые имеются. Затем значения обновляются на основе начальных присвоений и повторных присвоений. SimBiology оценивает начальные назначения и повторные назначения как набор одновременных ограничений, и их порядок не влияет на окончательные значения количества. Для получения дополнительной информации смотрите Порядок оценки правил.
Создает ОДУ на основе реакций модели и правил скорости. В частности, левая сторона (LHS) каждой ОДУ представляет производную по времени от величины модели. Правая сторона (RHS) определяется с использованием реакционных потоков, которые получают из скоростей реакции. Для получения дополнительной информации смотрите Вывод ОДУ из реакций.
Преобразует дозы в переходы состояния, которые происходят в определенные времена симуляции.
Преобразует функции события в переходы состояния, которые зависят от условий, заданных в триггерах события.
Когда симуляция начинается, то есть во времени симуляции = 0, SimBiology:
Обновляет значения на основе начальных назначений и повторных назначений.
Применяет любые переходы состояния из-за дозирования, заданного во время симуляции = 0.
Регистрирует обновленные значения количества.
Примечание
События не могут вызвать переходы во время = 0, поскольку события применяются только тогда, когда триггер изменяется с false на true. Если триггер равен true во времени симуляции = 0, то переход не произошел и событие не запускается.
Во время симуляции SimBiology использует решатель для вычисления решений для ОДУ в разное время. В частности, решатель определяет соответствующие временные шаги и выполняет следующие на каждом шаге.
Обновляет значения для всех повторных назначений.
Проверяет условие триггера каждого события. Если он переключается с false на true на данном временном шаге, то он применяет изменения состояния в соответствии с функциями события и обновляет значения для любых повторных назначений.
Регистрирует обновленные значения количества.
Чтобы увидеть систему ОДУ модели, используйте getequations в командной строке или следуйте инструкциям в Show Model Equations и Initial Conditions для приложения SimBiology Model Builder.
Примечание
Если модель имеет алгебраические уравнения, необходимо задать один из следующих решателей дифференциально-алгебраического уравнения (ДАУ): sundials, ode15s, ode23t. SimBiology преобразует алгебраические уравнения в алгебраические ограничения и решает их вместе с остальными ОДУ. Для получения дополнительной информации о доступных решателях см. Раздел «Выбор решателя симуляции».