Инициализация переменной блочного уровня

Инициализация основных переменных для симуляции модели

В начале симуляции (t = 0), решатель вычисляет начальные условия, чтобы определить отправную точку симуляции, как описано в Вычислении Начальных условий. Нахождение решения означает находить начальные значения для всех системных переменных. Можно влиять на вычисление начальных условий block-level variable initialization, то есть, путем определения приоритета и предназначаться для начальных значений для определенных переменных на вкладке Variables соответствующих диалоговых окон блока.

Значения, которые вы задаете во время инициализации переменной блочного уровня, не являются фактическими значениями соответствующих переменных, а скорее их целевыми значениями в начале симуляции (t = 0). В зависимости от результатов решения некоторые из этих целей могут или не могут быть удовлетворены.

Решатель пытается найти решение что:

  • Точно удовлетворяет все образцовые уравнения

  • Точно удовлетворяет все высокоприоритетные цели

  • Аппроксимирует низкоприоритетные цели максимально тесно (в результате, некоторые низкоприоритетные цели могут быть удовлетворены точно, другие аппроксимированы),

Если решатель не может найти решение, которое точно удовлетворяет все высокоприоритетные цели, он выдает предупреждение и вводит второй этап решить процесса, где он пытается найти решение путем приближения и высокого приоритета и низкоприоритетных целей максимально тесно.

Если вы установили флажок Start simulation from steady state в диалоговом окне блока Solver, решатель пытается найти устойчивое состояние (когда системные переменные больше не изменяются со временем). Если установившиеся решают, успешно выполняется, найденное состояние является некоторым устойчивым состоянием (в допуске), но не обязательно состояние, ожидаемое от данных начальных условий. Другими словами, если симуляция начинает с устойчивого состояния, даже высокоприоритетные переменные цели больше не могут удовлетворяться в начале симуляции. Однако, если модель имеет больше чем одно устойчивое состояние, переменные цели, которые вы задаете, могут влиять, какое установившееся решение выбрано решателем.

После того, как вы инициализируете основные переменные и до симуляции модели, можно открыть Переменное Средство просмотра, чтобы видеть, какая из переменных целей была удовлетворена. Переменное Средство просмотра отображает фактические начальные значения переменных, полученных в результате решения, наряду с переменными целевыми значениями, приоритетом и другой информацией о переменной. Для получения дополнительной информации смотрите Переменное Средство просмотра.

Переменный приоритет инициализации

Во время инициализации переменной блочного уровня вы задаете переменное значение начала, модуль и приоритет инициализации. Приоритет может быть одним из следующего:

  • Ни один — Если переменная имеет приоритет ни одного, алгоритм инициализации, не запускает вначале значение для этой переменной, но не помнит это значение, когда это находит решение для системы уравнений. Решатель не пытается удовлетворить любое определенное начальное значение для переменной без приоритета.

  • Низко — Если переменная имеет низкий приоритет, начинающееся значение становится целью для алгоритма, и алгоритм пытается остаться близко к цели. Решатель пытается аппроксимировать целевое значение этой переменной максимально тесно при нахождении решения. В зависимости от результатов решения для высокоприоритетных переменных некоторые низкоприоритетные цели могут быть достигнуты точно, другие аппроксимированы.

  • Высоко — Если переменная имеет высокий приоритет, начинающееся значение становится целью для алгоритма, и алгоритм пытается достигнуть цели точно. Решатель пытается найти решение, где фактические начальные значения всех высокоприоритетных переменных точно удовлетворяют свои целевые значения.

Приоритет инициализации по умолчанию, начиная значение и модуль для каждой из основных переменных прибывает из базового файла компонента Simscape™. Для каждого отдельного блока в вашей модели можно заменить эти настройки по умолчанию путем открытия вкладки Variables диалогового окна блока, установки флажка Override рядом с именем переменной и определения собственных значений для той переменной.

Когда вы задаете слишком много высокоприоритетных целей для системных переменных, возможно чрезмерно определить вашу модель. В этом случае решатель не может смочь найти решение, которое точно удовлетворяет все высокоприоритетные цели, или даже не удаются найти решение в целом. Для примера того, как можно иметь дело со сверхспецификацией при помощи Переменного Средства просмотра и изменения переменного приоритета и целей, смотрите, Инициализируют Переменные для Системы Массового Демпфера Spring.

Для получения дальнейшей информации о том, как задать переменный приоритет и цели в диалоговых окнах блока, смотрите Приоритет Набора и Начальную Цель для Основных переменных.

Предложенный рабочий процесс

  1. Используя вкладку Variables соответствующих диалоговых окон блока, задайте переменные цели для инициализации, путем установки приоритета, целевых значений и модулей для основных переменных как требуется моделью.

  2. Откройте и обновите Переменное Средство просмотра, чтобы видеть, какая из начальных целей была удовлетворена. Несмотря на то, что средство просмотра не моделирует модель, оно запускает симуляцию в течение 0 секунд, чтобы инициализировать его, и поэтому модель должна быть в исполняемом состоянии.

  3. Если инициализация перестала работать, или вы не удовлетворены результатами, выполняете итерации путем изменения целевых значений основной переменной и приоритета, то обновление средства просмотра.

  4. Когда удовлетворенный инициализацией, запустите симуляцию, чтобы видеть результаты.

Похожие темы