В начале моделирования (t = 0) решатель вычисляет начальные условия для определения начальной точки моделирования, как описано в разделе Вычисление начальных условий. Поиск решения означает поиск начальных значений для всех системных переменных. Можно повлиять на вычисление начальных условий путем инициализации переменной на уровне блока, то есть путем задания начальных значений приоритета и целевых значений для определенных переменных на вкладке «Переменные» соответствующих диалоговых окон блоков.
Значения, указанные при инициализации переменных на уровне блока, являются не фактическими значениями соответствующих переменных, а их целевыми значениями в начале моделирования (t = 0). В зависимости от результатов решения некоторые из этих целей могут быть удовлетворены или не удовлетворены.
Решатель пытается найти решение, которое:
В точности удовлетворяет всем уравнениям модели
В точности удовлетворяет всем высокоприоритетным целям
Аппроксимирует низкоприоритетные цели как можно ближе (в результате некоторые из низкоприоритетных целей могут быть точно выполнены, другие аппроксимированы)
Если решатель не может найти решение, в точности удовлетворяющее всем высокоприоритетным целям, он выдает предупреждение и переходит на второй этап процесса решения, где пытается найти решение, максимально приближая как высокоприоритетные, так и низкоприоритетные цели.
Если в диалоговом окне Блок решателя (Solver block) установлен флажок Начать моделирование из устойчивого состояния (Start simulation from steading state), решатель пытается найти устойчивое состояние (когда системные переменные больше не изменяются со временем). Если установившееся решение успешно, найденное состояние является некоторым установившимся состоянием (в пределах допуска), но не обязательно состоянием, ожидаемым из заданных начальных условий. Другими словами, если моделирование начинается из устойчивого состояния, даже высокоприоритетные переменные цели могут больше не удовлетворяться в начале моделирования. Однако если модель имеет несколько установившихся состояний, заданные переменные могут повлиять на то, какое установившееся решение будет выбрано решателем.
После инициализации переменных блока и перед моделированием модели можно открыть средство просмотра переменных, чтобы увидеть, какие из целей переменных были удовлетворены. Средство просмотра переменных отображает фактические начальные значения переменных, полученные в результате решения, а также целевые значения переменных, приоритет и другую информацию о переменной. Дополнительные сведения см. в разделе Просмотр переменных.
При инициализации переменной на уровне блока указывается начальное значение переменной, единица измерения и приоритет инициализации. Приоритет может быть одним из следующих:
Нет - если переменная не имеет приоритета, алгоритм инициализации начинается с начального значения для этой переменной, но не запоминает это значение, так как находит решение для системы уравнений. Решатель не пытается удовлетворить никакое конкретное начальное значение для переменной без приоритета.
Низкий - если переменная имеет низкий приоритет, начальное значение становится целью для алгоритма, и алгоритм пытается оставаться близко к цели. Решатель пытается максимально приблизить целевое значение этой переменной при поиске решения. В зависимости от результатов решения для высокоприоритетных переменных некоторые из низкоприоритетных целевых показателей могут быть выполнены точно, другие приближены.
Высокий - если переменная имеет высокий приоритет, начальное значение становится целью для алгоритма, и алгоритм пытается точно достичь цели. Решатель пытается найти решение, в котором фактические начальные значения всех высокоприоритетных переменных точно удовлетворяют их целевым значениям.
Приоритет инициализации по умолчанию, начальное значение и единица измерения для каждой из переменных блока получены из базового файла компонента Simscape™. Для каждого отдельного блока в модели можно переопределить эти настройки по умолчанию, открыв вкладку Переменные (Variables) диалогового окна блока, установив флажок Переопределить (Override) рядом с именем переменной и указав собственные значения для этой переменной.
Если указано слишком много высокоприоритетных целей для системных переменных, можно переопределить модель. В этом случае решатель может оказаться не в состоянии найти решение, в точности удовлетворяющее всем высокоприоритетным целям, или даже вообще не найти решение. Пример того, как можно справиться с избыточной спецификацией с помощью средства просмотра переменных и изменения приоритета и целей переменных, см. в разделе Инициализация переменных для системы масс-пружин-демпферов.
Дополнительные сведения о том, как задать приоритет переменной и цели в диалоговых окнах блоков, см. в разделе Задание приоритета и начального назначения для переменных блоков.
На вкладке Переменные (Variables) в соответствующих диалоговых окнах блока укажите цели переменных для инициализации, установив приоритет, целевые значения и единицы измерения для переменных блоков, как это требуется в модели.
Откройте и обновите средство просмотра переменных, чтобы увидеть, какие из начальных целей были удовлетворены. Хотя программа просмотра не моделирует модель, она выполняет моделирование в течение 0 секунд для ее инициализации, поэтому модель должна находиться в исполняемом состоянии.
В случае сбоя инициализации или неудовлетворенности результатами выполните итерацию, изменив целевые значения и приоритет переменных блока, а затем обновив средство просмотра.
После завершения инициализации запустите моделирование для просмотра результатов.