Основные параметры расчета
Рис.1. Окно параметров решателя Gynamic
После формирования математической модели необходимо задать параметры, управляющие процессом расчета. Именно они определяют порядок выполнения моделирования, требования к точности решения, правила сохранения результатов и особенности работы вычислительного алгоритма.
Параметры расчета позволяют управлять:
- продолжительностью моделирования;
- методом расчета;
- требованиями к точности решения;
- ограничениями на величину шага расчета;
- параметрами решения нелинейных систем уравнений;
- сохранением и выводом результатов;
- подавлением высокочастотных колебаний;
- диагностикой и отладкой расчета;
- оптимизацией вычислительной схемы.
Вычислительное ядро PRADIS/Dynamics использует адаптивный шаг расчета. В процессе моделирования шаг автоматически изменяется в зависимости от поведения объекта, сходимости решения и заданных требований к точности. Для управления этим процессом используется набор параметров, которые можно условно разделить на несколько функциональных групп.
Параметры времени расчета и вывода результатов
К данной группе относятся:
END— конечное время расчета;OUT— минимальный шаг вывода результатов в файл результатов;OUTPER— количество шагов расчета между выводами информации в DAT-файл;OUTVAR— режим формирования содержимого DAT-файла;SAVE— шаг сохранения текущего состояния расчета;PRTTIME— интервал вывода информации о ходе расчета в консоль.
Эти параметры определяют продолжительность моделирования, частоту записи результатов, объем формируемых файлов и периодичность отображения служебной информации во время выполнения расчета.
Параметры выбора метода расчета
На работу вычислительного алгоритма непосредственно влияют следующие параметры:
METHOD— используемый метод расчета;PREDICT— способ формирования начального прогноза на новом шаге;FLAG— выбор базисной переменной при решении нелинейной системы и оценке локальной погрешности;SECOND— признак обязательного выполнения второй итерации метода Ньютона.
Параметр METHOD позволяет выбрать одну из реализованных схем расчета:
Stoermer;Newmark;Explicit_Euler;Implicit_Euler;Trapecia.
Выбор метода влияет на устойчивость расчета, точность решения и вычислительные затраты.
Параметры управления шагом расчета
В данную группу входят:
SMAX— максимальный шаг расчета;SMIN— минимальный шаг расчета;CONTROL— предел уменьшения шага по критерию локальной погрешности;WEIGHT— коэффициент подавления высокочастотных колебаний;IGNORE— учет рекомендаций моделей элементов по выбору шага расчета.
Эти параметры участвуют в механизме автоматической адаптации шага и оказывают влияние на:
- устойчивость решения;
- скорость выполнения расчета;
- способность алгоритма отслеживать быстропротекающие процессы;
- эффективность использования вычислительных ресурсов;
- степень численного демпфирования высокочастотных колебаний.
Параметры контроля локальной погрешности
Для оценки точности расчета используются:
DRLTX— относительная допустимая локальная погрешность;DABSX— абсолютная допустимая локальная погрешность.
На основании этих параметров программа принимает решение о допустимости выполненного шага по времени и вычисляет рекомендуемую величину следующего шага расчета.
Именно параметры DRLTX и DABSX в наибольшей степени определяют компромисс между точностью и скоростью вычислений.
Параметры решения нелинейных систем уравнений
При использовании неявных методов расчета на каждом шаге выполняется решение нелинейной системы уравнений методом Ньютона.
Для управления этим процессом используются параметры:
ITR— максимальное число итераций на шаге;DRLTU— относительная допустимая погрешность определения аргумента;DABSU— абсолютная допустимая погрешность определения аргумента;DRLTI— относительная допустимая невязка правой части;DABSI— абсолютная допустимая невязка правой части.
Эти параметры определяют критерии завершения итерационного процесса и непосредственно влияют на сходимость решения нелинейной системы.
Параметры подавления высокочастотных колебаний
Для подавления численных высокочастотных колебаний используются параметры:
CONTROL;WEIGHT.
Параметр CONTROL задает предельное значение уменьшения шага расчета по критерию локальной погрешности. Если требуемый шаг становится меньше этого значения, дальнейшее уменьшение шага может быть ограничено.
Параметр WEIGHT определяет интенсивность искусственного демпфирования высокочастотных составляющих решения. Совместное использование этих параметров позволяет повысить устойчивость расчета сложных динамических систем.
Параметры формирования файлов результатов
Для управления сохранением результатов предназначены:
OUT;OUTPER;OUTVAR;SAVE.
Параметр OUTVAR определяет состав информации, записываемой в DAT-файл:
0— DAT-файл не формируется;1— вывод обязательных параметров;3— обязательные параметры и якобиан;4— только значения ПРВП.
Настройка этих параметров позволяет существенно сократить объем сохраняемых данных при длительных расчетах.
Параметры диагностики и служебные параметры
К данной группе относятся:
DEBUG— режим отладочного вывода;OPTIM— степень оптимизации матричной структуры модели;CHECKM— проверка инерционных свойств модели;ATM— глобальный служебный параметр вычислительного ядра.
Эти параметры используются преимущественно при настройке сложных моделей, поиске ошибок и анализе работы вычислительного алгоритма.
Практические рекомендации
При выполнении большинства инженерных расчетов пользователю в первую очередь рекомендуется контролировать следующие параметры:
END;METHOD;OUT;SMAX;SMIN;DRLTX;DABSX;ITR.
Именно они чаще всего оказывают наибольшее влияние на:
- точность получаемого решения;
- устойчивость расчета;
- время выполнения моделирования;
- объем сохраняемых результатов;
- общую эффективность вычислений.
Остальные параметры обычно изменяются только при анализе сложных нелинейных процессов, возникновении проблем со сходимостью или необходимости детальной настройки вычислительного алгоритма.
Для большинства практических задач достаточно правильно выбрать конечное время расчета (END), параметры точности (DRLTX, DABSX) и допустимые пределы изменения шага (SMAX, SMIN). Именно эти настройки в наибольшей степени определяют качество получаемых результатов и эффективность выполнения расчета.
После выбора метода интегрирования следующий важный вопрос — как обеспечить необходимую точность расчёта без чрезмерного увеличения времени решения.
В PRADIS управление точностью основано на контроле локальной погрешности шага интегрирования. Именно эта погрешность определяет, насколько программа может увеличить или должна уменьшить текущий шаг по времени.
Задание времени окончания расчета (END)
Параметр END задает время окончания расчета, то есть определяет, до какого момента времени будет выполняться моделирование.
Любой расчет в PRADIS начинается с момента времени:
t = 0
Поэтому значение параметра END фактически определяет продолжительность исследуемого процесса.
По умолчанию в объекте Dynamics используется значение:
end = 1.0
После достижения указанного времени решатель автоматически завершает расчет.
Когда используется параметр END
Параметр END применяется практически в каждом расчете и позволяет:
- задать продолжительность моделирования;
- ограничить временной интервал исследования;
- разделить длительный процесс на несколько этапов;
- организовать последовательное моделирование различных режимов работы системы;
- продолжить ранее выполненный расчет.
Параметр END является одним из основных параметров объекта Dynamics и обычно настраивается пользователем одним из первых.
Как используется параметр END в PRADIS
В современных версиях PRADIS пользователь задает параметр END через свойства объекта Dynamics .
В документации и старых PSL-примерах можно встретить конструкции вида:
'SHTERM (END=...)
или директивы:
$RUN
$RESTORE
Следует понимать, что данные конструкции относятся к внутреннему механизму работы решателя и PSL-описанию задачи.
Пользователь, работающий через графический интерфейс PRADIS, обычно не использует команды SHTERM , $RUN и $RESTORE напрямую. Все необходимые настройки задаются через параметры объекта Dynamics .
Поэтому примеры с использованием SHTERM следует рассматривать как описание внутренней логики работы решателя, а не как команды, которые необходимо вводить вручную.
Одноэтапный расчет
В большинстве инженерных задач весь процесс рассчитывается одним непрерывным запуском.
Пользователь задает только конечное время моделирования в параметре END , после чего решатель автоматически выполняет расчет от начального момента времени до заданного времени окончания процесса.
Такой подход используется для большинства моделей и не требует дополнительной настройки.
Одноэтапный расчет особенно удобен для:
- простых динамических моделей;
- коротких переходных процессов;
- предварительных исследований;
- задач, не требующих изменения настроек по ходу расчета.
Многоэтапный расчет
На практике исследуемый процесс часто состоит из нескольких последовательных стадий.
Например:
- разгон механизма;
- подготовительное движение;
- рабочий режим;
- ударное воздействие;
- затухание переходных процессов.
Различные этапы могут иметь разную динамику и предъявлять различные требования к расчету.
Например:
- на этапе разгона могут использоваться одни параметры точности;
- в момент удара может потребоваться уменьшение шага расчета;
- после завершения основного процесса может понадобиться только контроль затухания колебаний.
В таких случаях общий интервал моделирования удобно разделять на несколько этапов.
С точки зрения решателя это соответствует последовательному выполнению нескольких расчетных участков с различными значениями времени окончания.
С точки зрения пользователя это обычно выглядит как выполнение нескольких последовательных расчетов с различными настройками объекта Dynamics .
Зачем разбивать расчет на этапы
Использование различных настроек расчета
Для разных участков процесса могут использоваться различные значения:
drltx;dabsx;smax;smin;out;- других параметров объекта Dynamics.
Например, на подготовительном этапе можно использовать менее строгие требования к точности, а на основном рабочем участке увеличить точность расчета.
Такой подход позволяет уменьшить общее время моделирования без существенной потери качества результатов.
Повышение устойчивости расчета
Если проблемы возникают только на определенном участке процесса, разбиение на этапы позволяет быстрее локализовать проблемный интервал времени.
Это упрощает поиск причин возникновения ошибок и настройку модели.
Раздельный анализ результатов
Для различных этапов можно отдельно анализировать поведение системы и сосредоточиться только на интересующих участках процесса.
Это особенно удобно при исследовании длительных переходных режимов.
Особенности перехода между этапами
Следует учитывать, что многоэтапный расчет не всегда полностью эквивалентен расчету одним непрерывным запуском.
Причина заключается в особенностях работы адаптивного шага расчета.
При непрерывном моделировании решатель самостоятельно выбирает оптимальную последовательность шагов.
Если же процесс разделен на этапы, то каждый этап должен завершиться точно в момент времени, определенный параметром END .
Из-за этого последовательность шагов расчета может немного отличаться от последовательности шагов при непрерывном моделировании.
В большинстве инженерных задач такие различия практически не влияют на результат, однако при высокоточных исследованиях их следует учитывать.
Продолжение ранее выполненного расчета
Не всегда заранее известно, до какого момента времени необходимо выполнять моделирование.
Например:
- трудно заранее определить момент полного затухания колебаний;
- неизвестна продолжительность переходного процесса;
- исследуемое событие оказалось длиннее ожидаемого;
- после анализа результатов возникла необходимость продолжить расчет.
В таких случаях расчет можно продолжить без повторного прохождения уже рассчитанного участка времени.
Во внутренней логике решателя для этого используется механизм восстановления ранее сохраненного состояния расчета.
В PSL для этой цели применяется директива:
$RESTORE
Однако при работе через объект Dynamics пользователь обычно взаимодействует не с самой директивой, а с механизмом сохранения и восстановления состояния модели.
Что происходит при продолжении расчета
При восстановлении ранее выполненного расчета:
- загружается последнее сохраненное состояние модели;
- восстанавливаются значения всех переменных;
- восстанавливается текущее время расчета;
- сохраняются параметры модели;
- расчет продолжается с достигнутого момента времени.
При этом повторное прохождение уже рассчитанного участка не требуется.
Если восстановление состояния не используется, новый запуск всегда начинается заново с момента времени:
t = 0
и весь процесс рассчитывается повторно.
Практические рекомендации
Для большинства задач достаточно задать требуемое время окончания расчета через параметр END объекта Dynamics и выполнить моделирование одним этапом.
Разделение расчета на несколько этапов рекомендуется использовать в случаях, когда:
- различные участки процесса требуют разных настроек расчета;
- необходимо отдельно анализировать различные режимы работы системы;
- требуется локализовать проблемный участок модели;
- необходимо продолжить ранее выполненный расчет;
- моделирование занимает значительное время и требует промежуточного контроля результатов.
При выборе значения END рекомендуется задавать время с некоторым запасом относительно ожидаемой продолжительности процесса, чтобы исключить преждевременное завершение расчета.
Основные выводы
ENDзадает время окончания расчета.- Параметр определяет продолжительность моделирования.
- Значение параметра задается в свойствах объекта Dynamics (
end). - Значение по умолчанию составляет
1.0. - Команды
SHTERM,$RUNи$RESTOREотносятся к внутренней логике работы решателя и PSL-описанию задачи. - Один и тот же процесс может выполняться как одним этапом, так и несколькими последовательными этапами.
- Для продолжения ранее выполненного расчета используется механизм восстановления состояния модели.
- Без восстановления расчет всегда начинается заново с начального момента времени.
Управление шагом вывода результатов расчета (OUT)
Общие сведения
В PRADIS процесс расчета и процесс сохранения выходных результатов разделены.
Во время расчета значения выходных переменных вычисляются на каждом шаге. Если не задавать дополнительных ограничений, то значения всех выходных переменных для каждого шага будут сохранены в файл результатов *.RSL.
Каждая запись файла результатов содержит:
- текущее значение времени;
- значения всех выходных переменных, соответствующие этому моменту времени.
Поэтому объем файла результатов зависит от количества шагов расчета, количества выводимых переменных и размерности этих переменных.
Оценка объема файла результатов
Приблизительно размер файла результатов можно оценить по формуле:
V = (N + 4) \cdot 8 \cdot (1 + J_1 + J_2 + \dots + J_n)
где:
- V — размер файла результатов, байт;
- N — количество шагов расчета;
- J_i — количество компонент i-й выходной переменной.
Из формулы видно, что объем файла может быстро увеличиваться, если расчет выполняется с маленьким шагом или если в результат выводится большое количество переменных.
Назначение параметра OUT
Для ограничения объема сохраняемых данных используется параметр OUT.
Параметр OUT задает минимальный интервал времени между соседними записями в файл результатов.
Важно:
OUTне влияет на точность расчета;OUTне влияет на выбор шага расчета внутри решателя;- программа продолжает рассчитывать процесс с тем шагом, который требуется по точности и сходимости;
- изменяется только частота сохранения результатов.
Если задано значение OUT, то выходные переменные будут сохраняться в файл результатов не чаще, чем через указанный интервал времени.
Пример использования OUT
Рассмотрим расчет длительностью 1 с, в котором результаты нужно сохранять не чаще одного раза в 0.1 с.
Внутри PSL-описания такой вызов может выглядеть так:
Процесс 'SHTERM (END=1, OUT=0.1)
В современных версиях PRADIS пользователь обычно не пишет такой вызов вручную. Значение задается через параметры объекта Dynamics:
end = 1.0out = 0.1
В этом случае расчет выполняется до времени 1 с, а результаты записываются в файл не чаще чем через 0.1 с.
При этом сам расчет может выполняться с гораздо меньшим шагом. В файл попадет только часть рассчитанных точек.
Что дает использование OUT
Использование параметра OUT позволяет:
- уменьшить размер файла результатов;
- сократить объем данных для последующей обработки;
- ускорить работу постпроцессора при построении графиков;
- не сохранять избыточные точки, если они не нужны для анализа.
Но есть важное ограничение.
Информация о поведении объекта между сохраненными значениями будет утрачена. Восстановить ее после завершения расчета нельзя.
Если потребуется более подробная картина процесса, расчет нужно повторить:
- с меньшим значением
OUT; - либо без ограничения вывода результатов.
Когда применение OUT действительно необходимо
В большинстве практических расчетов файлы результатов не бывают слишком большими. Часто их размер составляет десятки килобайт, поэтому специально ограничивать вывод результатов не требуется.
Использовать OUT имеет смысл, если:
- расчет длительный;
- шаг расчета очень маленький;
- выводится много переменных;
- модель содержит большое количество степеней свободы и элементов;
- необходимо уменьшить объем файла результатов;
- нужно ускорить последующую обработку данных.
На этапе отладки модели лучше не задавать слишком большое значение OUT, чтобы не потерять важные особенности процесса.
Типичные ситуации использования параметра OUT
1. Шаг расчета намного меньше периода исследуемого процесса
Это наиболее типичный случай.
Например, программа вынуждена считать с очень маленьким шагом из-за требований точности или сходимости, но сам интересующий процесс изменяется значительно медленнее.
В этом случае в файл результатов может записываться слишком много точек, хотя большая часть из них почти не влияет на внешний вид графика.
Тогда можно использовать параметр OUT.
Для корректного отображения колебательного процесса рекомендуется иметь не менее 8–10 точек на половину периода.
Отсюда следует практическая оценка:
OUT ≤ T / (15...20)
где T — период наиболее быстрого процесса, который нужно корректно увидеть на графике.
2. Шаг расчета больше значения OUT
Если фактический шаг расчета больше заданного значения OUT, то параметр OUT фактически не влияет на вывод результатов.
В этом случае данные будут сохраняться с тем шагом, с которым идет расчет.
3. Значение OUT слишком велико
Это наиболее опасный случай.
Если OUT выбран слишком большим, то в файл результатов попадет слишком мало точек. График может выглядеть неправильно, хотя сам расчет выполнен корректно.
Именно это показано на рисунке ниже.
Пример влияния OUT на отображение результатов
Рис. 2. Влияние параметра OUT на вывод результатов расчета.
На рисунке показан один и тот же расчет, но с разной частотой сохранения результатов:
- Вывод переменных на каждом шаге расчета.
График наиболее подробно отражает реальное поведение процесса. - Параметр
OUT = 0.01 с.
Количество сохраненных точек меньше, но форма процесса еще читается достаточно хорошо. - Параметр
OUT = 0.02 с.
Сохраненных точек уже недостаточно. График становится сглаженным и плохо похож на реальный процесс.
Важно: все точки, использованные для построения графика, соответствуют корректному решению. Ошибка возникает не в расчете, а в отображении результата из-за слишком редкого сохранения данных.
Поэтому рисунок относится именно к примеру, где исследуется влияние параметра OUT на вывод результатов расчета, а не на точность самого расчета.
Что важно запомнить
OUTуправляет только частотой сохранения результатов.OUTне меняет точность расчета.OUTне меняет внутренний шаг расчета.- Слишком большое значение
OUTможет исказить вид графика. - Потерянные промежуточные данные нельзя восстановить без повторного расчета.
- Для колебательных процессов рекомендуется выбирать
OUT ≤ T/(15...20). - На первых расчетах лучше не злоупотреблять параметром
OUT, чтобы не потерять важную информацию.

