Рестарты схемы TPP, их особенности

Описание процесса настройки рестартов для схем TPP

Назначение рестартов

Расчет комплексных гидравлических проектов, связанных с моделированием сложных технологических процессов, может занимать много времени (как машинного, так и астрономического). Для того чтобы каждый раз начинать моделирование не с начального состояния системы (записанного на расчётной схеме либо в базе сигналов), а с того момента, на котором оно было остановлено когда-то ранее, в SimInTech предусмотрен механизм рестартов.

Рестарт (от англ. restart, другие названия, в т.ч. и жаргонные: исходное состояние, «спасённое» состояние, сохранённое состояние, initial conditions (IC), ай-си) – записанное в файл(ы) состояние модели по её независимым переменным (переменным состояния, или «внутренним» переменным), в какой-либо момент времени расчета. Фактически любая модель или проект содержит как минимум один рестарт – им является набор начальных значений всех переменных и сигналов. Такие начальные значения задаются разработчиком схемы и/или базы сигналов.

Механизм рестартов позволяет создавать произвольное количество таких наборов, а именно: в любой момент расчета проекта, можно создать файл рестарта, который содержит в себе текущее состояние переменных расчетной схемы (проекта). Эта мера позволит при следующем сеансе расчета загрузить состояние проекта из файла и моделирование начнется не с начальных значений, а продолжится с того состояния и момента модельного времени, в который был создан файл рестарта, т.е. в точности из того состояния модели, которое было на момент записи рестарта. Другой способ использования механизма рестартов – создание «точки восстановления», а именно: если в ходе продолжения расчета что-то «пойдет не так», то в следующий раз можно будет перезапустить расчет с того места, на котором произошло «сохранение», а не с самого начала. Третий вариант – сохранив один раз исходное состояние, например, некий стационарный режим, можно моделировать различные сценарии и переходные процессы, которые начинаются из одного и того же стационарного состояния системы.

Важной особенностью файлов рестарта является то, что они не привязаны к определенной вычислительной машине, а могут использоваться на любом компьютере, на котором происходит запуск соответствующего проекта. Однако важно, чтобы состав, топология и свойства элементов гидравлической расчётной схемы не менялись. В противном случае работоспособность файлов рестарта, созданных для версий схемы, отличной от текущей, возможна, но корректность считанного исходного состояния от «другой» расчётной схемы не гарантируется.

Опции рестарта, файлы рестарта

Для теплогидравлических схем, основанных на расчетном коде TPP, рестарт может быть записан в двоичном (бинарном) фирмате либо в текстовом формате. Двоичный вид используется для реализации механизма рестартов в среде Windows-систем. Текстовый позволяет обеспечить совместимость с Linux-версиями TPP и SimInTech.

В момент запуска расчета в директории проекта создается 2 файла: <имя рестарта TPP>.dat и <имя рестарта TPP>.dat.txt - соответственно бинарная и текстовая версии файлов, содержащие переменные состояния гидравлического кода TPP. Данные файлы играют роль буфера, в котором накапливаются данные о текущем состоянии динамических переменных теплогидравлического кода и в случае записи рестарта, именно из этих файлов формируются соответственно бинарный или текстовый файл рестарта. Имя файла рестарта TPP настраивается на вкладке «Параметры расчета» окна «Параметры проекта».

Файл <имя рестарта проекта>.tpp – файл рестарта проекта, содержащий полную информацию о переменных блоков теплогидравлической схемы (со стороны SimInTech), а также о параметрах расчетного кода TPP в определенный момент времени. Файл имеет двоичный формат, и может включать в себя рестарт для кода TPP в двоичном либо в текстовом формате, в зависимости от настроек проекта. Создается в момент записи рестарта из данных о структуре и свойствах схемы, а также из параметров, содержащихся в файлах <имя рестарта TPP>.dat или <имя рестарта TPP>.dat.txt в рабочей директории проекта. Имя файла рестарта проекта настраивается на вкладке «Рестарт» окна «Параметры проекта». Файл рестарта проекта будет содержать внутри себя и рестарт для кода TPP в том случае, если установлена опция «Использовать общий рестарт» в «Параметрах проекта».

<имя рестарта проекта>.tpp.restart.db – файл, отражающий состояние базы сигналов в момент записи рестарта. Создается в момент записи рестарта, при наличии подключенной к проекту базы сигналов.

Рисунок 1. Схема записи и чтения рестартов

Имена файлов, а также другие опции, касающиеся работы механизма рестартов, настраиваются на вкладках «Параметры расчета» и «Рестарт» в окне «Параметры проекта», вызываемом по нажатию кнопки «Параметры расчета» (см. Рисунок 2 и Рисунок 3).

Рисунок 2. Кнопка вызова окна «Параметры проекта»

Рисунок 3. Опции рестарта на вкладке «Параметры расчета»

Код продолжения (для отдельного рестарта) – выбор типа файла рестарта (бинарный или текстовый). Функционально оба режима рестартов идентичны, однако текстовый используется для обеспечения совместимости с Linux-системами.

Файл рестарта проекта (файл рестарта TPP) – общее имя для бинарного и текстового файлов состояния TPP, из которых формируется соответствующий файл рестарта, нужный для работы TPP.

Использовать общий рестарт – при включенной опции, в момент загрузки рестарта происходит считывание параметров состояния гидравлического кода TPP из файла рестарта проекта. То есть для загрузки рестарта необходимо иметь только файл рестарта проекта. Если же опция отключена, то из файла рестарта проекта будут считываться только данные, касающиеся состояния схемы. А внутренние переменные кода TPP будут читаться из <имя рестарта TPP>.dat или <имя рестарта TPP>.dat.txt, в зависимости от настроек проекта. Аналогичные варианты справедливы и при сохранении рестарта.

Рисунок 4. Управление функциями рестарта на вкладке «Рестарт»

Вкладка «Рестарт» содержит два раздела – для записи и для чтения рестарта, в каждом из которых содержится поле Имя файла, позволяющее выбрать файл рестарта проекта, используемый для сохранения и загрузки соответственно.

Как и в случае рестартов для схем автоматики, существует 2 способа использования функции: ручной режим и автоматический.

Ручной режим

В ручном режиме управление записью и загрузкой рестартов осуществляется с помощью кнопок «Сохранить сейчас» и «Загрузить сейчас», расположенных на вкладке «Рестарты» окна «Параметры проекта» (см. Рисунок 4). Кнопки активны только когда происходит расчет проекта и позволяют по нажатию произвести сохранение или загрузку рестарта проекта. При этом объектом операции будет являться файл, указанный в поле Имя файла для секций записи и загрузки. Причем для них не обязательно указывать один и тот же файл. Рассмотрим работу механизма ручного сохранения рестартов на примере простого проекта.

Рисунок 5. Проект гидравлической схемы TPP

В данной схеме происходит наполнение водой бака, объемом 10м3 с поперечным сечением 6,9м2. Начальный перепад давления составляет 3 кгс/см2. На трубопроводе также установлен регулирующий клапан, открытый на 70%. После запуска модели на расчет, уровень воды в баке L начинает медленно расти, а расход внутри трубы начинает медленно снижаться из-за повышения давления в баке.

Запустив модель на расчет, откроем вкладку «Рестарт» окна «Параметры проекта», на которой кнопки загрузки и записи рестарта стали активными.

Рисунок 6. Вкладка рестарта, после запуска проекта на расчет

После нажатия кнопки «Сохранить сейчас», в рабочей директории проекта будет создан файл, имя которого указано в секции сохранения в поле «Имя файла». В нашем случае restart.tpp. Файл будет включать в себя информацию по переменным блоков схемы, записываемую ядром SimInTech, а также информацию по значениям теплогидравлических переменных схемы, записываемую ядром расчетного кода TPP. Создадим рестарт проекта примерно через 30 секунд расчета.

Рисунок 7. Сохранение рестарта проекта через 30 секунд расчета

Как видно из схемы, в этот момент уровень воды в баке достиг 0,37 м, а расход через канал снизился до 85,53 кг/с. Сохранив рестарт проекта в определенный момент, всегда можно возобновить расчет с этого же момента. Продемонстрируем это. Остановим расчет и, запустив его снова (с начального момента времени) откроем вкладку «Рестарт». На ней, убедившись в том, что для загрузки рестарта указан именно тот файл, который был создан во время записи, нажмем кнопку «Загрузить сейчас».

Рисунок 8.

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

Следующие моменты, возникшие из-за особенностей расчетного кода TPP, являются важными при использовании ручного режима загрузки рестартов:

Автоматический режим

Вторым режимом работы с функциями рестарта является автоматический режим, управление которым осуществляется с помощью галочек «Сохранять рестарт» и «Загружать рестарт при инициализации», находящихся на вкладке «Рестарты» окна «Параметры проекта» (см. Рисунок 8). Автоматический режим работы с рестартами позволяет осуществлять следующие функции:

Автоматическая запись рестарта при остановке расчета. Когда расчет будет остановлен по нажатию кнопки «Стоп», либо по достижению конечного времени расчета, то происходит автоматическая запись файла рестарта, имя которого указано на вкладке «Рестарт», в разделе, посвященном сохранению. Для включения автоматической записи рестартов, необходимо поставить галочку «Сохранять рестарт». После чего, подпись рядом с галочкой изменится на «Сохранять рестарт при останове», показывая тем самым, что именно этот режим записи рестарта активен в данный момент (см. Рисунок 9). Для применения опции необходимо нажать кнопку Ок или Применить.

Рисунок 9. Режим сохранения рестарта при остановке расчета

Автоматическая запись рестарта с заданным шагом. Спустя каждые n секунд после начала расчета происходит автоматическая запись файла рестарта, где n – число, заданное в настройках рестарта. При остановке счета при этом записи рестарта не происходит. Для включения автоматической записи с шагом необходимо установить галочку «Сохранять с шагом» на вкладке «Рестарт». После чего появится поле для ввода шага сохранения рестарта в секундах, а название верхней галочки этого раздела изменится на «Сохранять рестарт с шагом», отражая название активного режима сохранения рестарта (см. Рисунок 10). Для применения опции необходимо нажать кнопку Ок или Применить.

Рисунок 10. Режим сохранения рестарта с шагом

Автоматическая загрузка рестарта при инициализации проекта. Каждый раз при инициализации проекта с помощью кнопок «Инициализация», «Пуск (F9)» либо «Сделать шаг» происходит загрузка рестарта проекта из файла, указанного в разделе загрузки на вкладке «Рестарты» окна «Параметры проекта». Галочка «Изменить модельное время» используется вместе с полем ниже для задания другого модельного времени по сравнению с тем, которое было на момент сохранения используемого рестарта. Данная опция может быть полезна, например, в случае сохранения стационарного состояния модели (например, номинального состояния установки) и принятии этого момента времени за ноль для последующей серии расчетов.

Рассмотрим работу опций автоматического режима рестартов на том же примере, с заполнением двухобъемного бака.

Установим галочки на вкладке «Рестарт» в соответствие с рисунком (Рисунок 10) и подтвердим нажатием Ок.

Рисунок 11. Настройка проекта на автоматическое сохранение и загрузку рестарта

В этом режиме после каждой остановки проекта будет записываться файл рестарта, а при каждой инициализации этот же рестарт будет загружаться и расчет продолжится с того же места, обеспечивая математическую «непрерывность» расчета.

Запустим проект на расчет, предварительно удалив файл restart.tpp из рабочей директории проекта, если таковой существует. Расчет начнется с начальных условий и нулевого момента модельного времени.

Рисунок 12. Начало расчета проекта с нулевого момента времени

Спустя примерно 10 секунд остановим расчет, нажав на кнопку «Стоп» на панели инструментов главного окна SimInTech. В этот момент в рабочей директории будет создан файл restart.tpp. Теперь после повторного запуска проекта, будет осуществлена автоматическая загрузка рестарта и расчет продолжится с момента времени примерно 10 секунд и с теми состояниями переменных, которые были на момент последней остановки расчета.

Рисунок 13. Загрузка рестарта при запуске и продолжение расчета

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

Необходимо отметить, что даже при включенных автоматических опциях работы с рестартами, остается возможность использовать кнопки ручного сохранения и загрузки. Это может быть удобно для сохранения рестарта какого-то важного состояния системы в другой файл, без остановки расчета. Также наряду с полностью автоматическим и полностью ручным возможно также использовать функцию рестартов в полуавтоматическом режиме. Например, можно использовать только загрузку при инициализации некоторого стационарного состояния и проведения опытов над системой. Либо наоборот, начинать расчет каждый раз с нуля, но автоматически сохранять результаты проведенного опыта после остановки.

При использовании кнопок сохранения и загрузки совместно с автоматическими режимами необходимо помнить о нюансах их использования, связанных с особенностями расчетного кода TPP, а именно:

Примечание:
  1. В действительности, код TPP при обработке задания на расчет, формируемого по теплогидравлической схеме, всегда имеет дело со «своими» файлами рестартов, а именно: с файлами <имя рестарта TPP>.dat и/или <имя рестарта TPP>.dat.txt.
  2. При записи рестарта код TPP записывает оба файла, при чтении – считывает какой-то один (в соответствии с настройкой). Благодаря этому можно при наличии бинарных рестартов (ранее подготовленных, во времена когда TPP не умел сохранять и загружать текстовые рестарты), пересохранить их в текстовые – загрузившись с рестарта, сделав один шаг расчета (или больше для стационарных состояний), изменив опцию на текстовый формат, и сохранив рестарт, получим то же самое состояние в текстовом виде.
  3. SimInTech, при включенной опции совместного рестарта, забирает один из этих файлов и включает его в общий рестарт проекта (при сохранении рестарта). При чтении рестарта – SimInTech перезаписывает один из этих файлов перед выдачей команды коду TPP на чтение рестарта.