Введение и назначение
Настоящее руководство предназначено для пользователей программного комплекса PRADIS, выполняющих расчёты динамики технических систем после формирования расчётной модели в препроцессоре. Документ описывает средства управления вычислительным ядром на стадии выполнения анализа, включая настройку точности, контроль процесса интегрирования и диагностику возможных проблем.
Важно
Информация в данном руководстве актуальна для текущей версии PRADIS с графическим интерфейсом (препроцессор PRADIS Qucs). Сведения из документации предыдущих пакетных версий адаптированы с учётом особенностей работы в графической среде.
Вычислительное ядро PRADIS реализует следующие ключевые функции:
Автоматическое формирование и решение систем дифференциально-алгебраических уравнений (ДАУ) на основе графической схемы модели;
Численное интегрирование неявными одношаговыми методами (Штермера, Ньюмарка) с автоматическим выбором шага;
Итерационное решение нелинейных уравнений методом Ньютона с контролем сходимости;
Оценка и контроль локальной погрешности интегрирования;
Фильтрация высокочастотных составляющих для оптимизации вычислительных затрат.
1. Запуск расчёта из препроцессора
Последовательность действий
Подготовка модели: Убедитесь, что в схеме присутствуют обязательные компоненты:
Dynamic— задаёт параметры метода интегрирования и управления расчётом;DISP— определяет параметры для вывода результатов.
Настройка компонента Dynamic: Откройте свойства компонента двойным щелчком и задайте ключевые параметры (см. раздел 3).
Проверка модели: Используйте встроенные средства препроцессора для проверки связности схемы и корректности параметров.
Запуск: Нажмите кнопку «Моделировать» в меню «Моделирование» или используйте клавишу F2.
Мониторинг: В консоли препроцессора отображается ход расчёта: текущее время, номер шага, сообщения о состоянии процесса.
Завершение: По окончании расчёта автоматически запускается постпроцессор для визуализации результатов.
Предупреждение
При отсутствии компонента Dynamic или DISP в консоли будет выдано сообщение об ошибке, и расчёт не начнётся.
Оперативное отображение в ходе расчёта
В компоненте Dynamic можно задать список переменных для отображения в реальном времени. Для этого после ключевых параметров через точку с запятой указывается перечень выходных переменных:
Скорость груза = (-10, 10), Перемещение = (-2, 2), Сила упругости(2)
Формат описания переменной: Имя = (мин, макс) или Имя(номер_компоненты) для многокомпонентных величин.
2. Ключевые параметры управления ядром
Параметры компонента Dynamic позволяют гибко настраивать поведение вычислительного ядра. Ниже приведена таблица наиболее важных параметров с рекомендациями по их использованию.
Параметр |
Назначение |
Диапазон / Значение по умолчанию |
Рекомендации |
|---|---|---|---|
|
Время окончания интегрирования |
(обязателен) |
Задавайте с запасом относительно ожидаемой длительности процесса |
|
Относительная составляющая допустимой локальной погрешности |
(0.001) |
0.001–0.01 для предварительных расчётов; 1e-5–1e-4 для окончательных |
|
Абсолютная составляющая допустимой локальной погрешности |
(0.1) |
Задавайте исходя из минимальных амплитуд интересующих переменных |
|
Максимальный шаг интегрирования |
1e-11 … (0.01 c) |
Увеличивайте для длительных процессов; уменьшайте для быстрых переходных процессов |
|
Минимальный шаг интегрирования |
1e-11 … SMAX (1e-11 c) |
Не изменяйте без необходимости; увеличение может помочь при проблемах сходимости |
|
Максимальное число итераций Ньютона на шаге |
1 … (5) |
7–10 для сложных нелинейных моделей; 5 достаточно для большинства задач |
|
Нижний предел шага по критерию погрешности; демпфирование ВЧ-колебаний |
Задавайте ~1/10 минимального периода интересующих колебаний |
|
|
Коэффициент демпфирования высокочастотных колебаний |
(1.0) |
Увеличивайте совместно с уменьшением |
|
Минимальный интервал сохранения результатов в файл |
Используйте только при очень больших объёмах вывода; не более 1/15 периода быстрых процессов |
|
|
Интервал вывода статусных сообщений в консоль (сек) |
(30 c) |
Уменьшите для детального мониторинга; увеличьте для снижения нагрузки на консоль |
Примечание
Параметры DRLTU, DABSU, DRLTI, DABSI управляют точностью решения нелинейных уравнений на каждом шаге. В большинстве случаев значения по умолчанию (0.001 / 0.01) обеспечивают надёжную сходимость.
3. Управление точностью интегрирования
Алгоритм контроля локальной погрешности
На каждом шаге интегрирования вычислительное ядро оценивает локальную погрешность \(lp\) по формуле:
где:
\(V_{prontos}\) — значение скорости, полученное явным прогнозом;
\(V_{korrekcija}\) — значение после итерационной коррекции неявным методом.
Допустимая погрешность для каждой степени свободы вычисляется как:
Если \(lp \le [\Delta]\) — шаг принимается, расчёт продолжается. Если \(lp > [\Delta]\) — шаг уменьшается и пересчитывается.
Практические рекомендации по настройке точности
Предварительные (отладочные) расчёты:
DRLTX = 0.01,DABSX = 0.1— позволяют быстро получить оценку поведения системы.Окончательные расчёты:
DRLTX = 1e-5 ... 1e-4,DABSX = 1e-6 ... 1e-4— обеспечивают высокую точность.Мультифизические задачи: Задавайте
DABSXисходя из переменных с наименьшими амплитудами (например, давления в гидравлических узлах при наличии механических перемещений).Длительные процессы: Ужесточайте требования к локальной погрешности, так как ошибка накапливается со временем.
Важно
Значение DABSX = 0.1 по умолчанию соответствует грубому расчёту для процессов с характерными скоростями десятки-сотни единиц. Для точных расчётов всегда явно задавайте оба параметра.
4. Контроль шага интегрирования
Автоматический выбор шага
Ядро автоматически адаптирует шаг интегрирования \(\Delta t\) на основе:
Оценки локальной погрешности;
Сходимости итерационного процесса Ньютона;
Рекомендаций моделей элементов (например, для учёта разрывов или быстрых изменений).
Рекомендуемый шаг для следующего интервала вычисляется по формуле:
где \(c = 0.8\) — коэффициент запаса.
Явные ограничения: SMAX и SMIN
SMAX — верхняя граница шага. Увеличивайте для длительных квазистатических процессов; уменьшайте для анализа быстрых переходных режимов.
SMIN — нижняя граница шага. Не изменяйте без необходимости. Увеличение может помочь, если расчёт останавливается с ошибкой
R 008(невозможность обеспечить точность на минимальном шаге).
Параметр CONTROL: управление ВЧ-составляющими
Параметр CONTROL выполняет две функции:
Задаёт нижний предел уменьшения шага по критерию локальной погрешности (не влияет на ограничения по сходимости или рекомендациям моделей).
Обеспечивает принудительное демпфирование высокочастотных колебаний с периодом \(< 10 \times \text{CONTROL}\).
Правило настройки CONTROL и WEIGHT:
Для избирательной фильтрации паразитных частот используйте соотношение:
Чем меньше CONTROL и больше WEIGHT, тем избирательнее фильтрация (точные НЧ-процессы, сильное гашение ВЧ).
Пример настройки для системы с диапазоном частот:
Если интересуют процессы с периодом ? 0.01 с, а более быстрые колебания — паразитные:
CONTROL = 0.001 // 1/10 от минимального интересного периода
WEIGHT = 1.0 // стандартное демпфирование
DRLTX = 1e-4 // точность для НЧ-составляющих
DABSX = 1e-5
Такая настройка может сократить время расчёта в 10–30 раз при приемлемой точности для интересующих процессов.
5. Решение нелинейных уравнений на шаге интегрирования
Алгоритм метода Ньютона
На каждом шаге интегрирования система ДАУ преобразуется в систему нелинейных уравнений \(F(U) = 0\), решаемую итерационно:
Выбор начального приближения (прогноз по ускорению с предыдущего шага);
Вычисление невязки \(F(U)\) — суммы усилий от всех моделей элементов;
Расчёт приращения \(\Delta U = -F / F'\) с использованием якобиана системы;
Проверка сходимости по двум критериям:
По приращению аргумента: \(|\Delta U| < \text{DABSU} + \text{DRLTU} \times |U|\);
По невязке: \(|F| < \text{DABSI} + \text{DRLTI} \times \sum |F_i|\).
При достижении сходимости — переход к контролю погрешности интегрирования; иначе — следующая итерация или уменьшение шага.
Параметры управления сходимостью
Параметр |
Назначение |
Рекомендации |
|---|---|---|
|
Максимальное число итераций Ньютона |
Увеличьте до 7–10 при частых потерях шагов по несходимости. Оптимальный диапазон для большинства задач: 5–7. |
|
Требование обязательной второй итерации |
Установите |
|
Точность по приращению аргумента |
Значения по умолчанию (0.01 / 0.001) подходят для большинства задач. Ужесточайте только при необходимости высокой точности внутренних переменных. |
|
Точность по невязке уравнений равновесия |
Аналогично: по умолчанию достаточно. Уменьшайте, если требуется строгое соблюдение баланса усилий. |
Частые причины плохой сходимости
Слишком малое значение
ITRпри больших шагах интегрирования;Ошибки в описании структуры модели (некорректные связи, вырожденные элементы);
Экстремальные значения параметров моделей (например, чрезмерно высокие жёсткости);
Наличие контактных элементов или сухого трения при больших шагах;
Ошибки в реализации якобиана пользовательских моделей элементов.
6. Диагностика и обработка ошибок выполнения
Типовые сообщения и действия
R 006: Несходимость решения системы нелинейных уравнений
Причины: недостаточное число итераций, ошибки в структуре модели, экстремальные параметры.
Действия:
Увеличьте
ITRдо 7-10;Проверьте связность модели и корректность соединений;
Уменьшите
SMAXдля более плавного интегрирования;Используйте параметр
DEBUG=11для вывода отладочной информации о несходимости (см. ниже).
R 008: Минимальный шаг не обеспечивает требуемую точность
Причины: скачкообразные изменения переменных в узлах без инерционных свойств; чрезмерно жёсткие требования к точности.
Действия:
Проверьте, нет ли степеней свободы без массы/момента инерции, к которым приложены разрывные воздействия;
Используйте параметр
CONTROLдля ограничения дробления шага в таких участках;Временно увеличьте
DABSX/DRLTXдля оценки влияния на результат;Рассмотрите введение малых инерционных свойств в «безынерционные» узлы.
Отладочный вывод: параметр DEBUG
Для детальной диагностики включите отладочную информацию в компоненте Dynamic:
DEBUG = NNNNLP
где:
NNNN— внутренний номер узла (0 или пусто — все узлы);L— уровень вывода: 0 — всегда, 1 — только при проблемах;P— тип информации: 1 — решение СнЛУ, 2 — контроль локальной погрешности, 3 — оба типа.
Примеры:
DEBUG=2— вывод информации о локальной погрешности для всех узлов на каждом шаге;DEBUG=11— вывод информации о решении СнЛУ только при отсутствии сходимости;DEBUG=2413— детальный вывод по узлу №24 при проблемах с точностью или сходимостью.
Как узнать внутренние номера узлов:
Добавьте подраздел
#MAPв конец раздела$FRAGMENTмодели;Пересоберите модель — в файл
SYSPRINT.TXTбудет выведена таблица соответствия пользовательских и внутренних номеров узлов;Используйте внутренние номера при задании
DEBUG.
Журнал расчёта
Вся отладочная информация, сообщения об ошибках и статистика расчёта записываются в файл SYSPRINT.TXT. Для просмотра:
В препроцессоре: меню Моделирование > Показать журнал;
Вручную: файл находится в каталоге проекта
.qucs\имя_проекта\>.
7. Управление выводом результатов
Вывод в ходе расчёта (оперативный)
Список переменных, отображаемых в консоли и в реальном времени, задаётся в компоненте Dynamic после ключевых параметров:
END=10, DRLTX=0.001; Скорость груза = (-5, 5), Перемещение = (-2, 2), Сила упругости(2) = (-100, 100)
Формат: Имя = (мин, макс) или Имя(компонента) = (мин, макс). Если пределы не заданы, используются значения по умолчанию.
Важно
Оперативный вывод не влияет на полноту результатов после расчёта. Все переменные, описанные в компоненте DISP, будут доступны в постпроцессоре независимо от настроек Dynamic.
Сохранение результатов в файл: параметр OUT
По умолчанию значения всех выходных переменных сохраняются на каждом шаге интегрирования в файл *.RSL. Для сокращения объёма файла используйте параметр OUT:
OUT = 0.01 // сохранять данные не чаще, чем каждые 0.01 с
Рекомендации по использованию OUT:
Не используйте
OUTбез необходимости — файлы результатов обычно невелики (десятки КБ);Если шаг интегрирования <
OUT, параметр игнорируется — данные сохраняются с шагом расчёта;Если
OUTслишком велик, возможна потеря деталей быстрых процессов. Ориентир:OUT ? Tмин / 15, гдеTмин— период наиболее быстрого интересующего процесса.
Экспорт и постобработка
После завершения расчёта постпроцессор предоставляет возможности:
Визуализация: 2D-графики, фазовые портреты, 3D-анимация;
Экспорт данных в табличные форматы (CSV, TXT) для обработки в сторонних программах;
Генерация отчётов в формате PDF или DOC.
8. Многоэтапные расчёты и продолжение прерванных сессий
Последовательные вызовы программ интегрирования
В одном задании можно определить несколько вызовов компонента Dynamic с разными параметрами. Каждый последующий вызов продолжает расчёт с момента завершения предыдущего:
// Этап 1: разгон, грубая точность
Dynamic_1: END=0.5, DRLTX=0.01, SMAX=0.02;
// Этап 2: рабочий режим, высокая точность
Dynamic_2: END=1.0, DRLTX=1e-4, SMAX=0.005;
// Этап 3: анализ последействия
Dynamic_3: END=2.0, DRLTX=1e-4, CONTROL=1e-4;
Преимущества многоэтапной настройки:
Возможность адаптации точности и шага под разные фазы процесса;
Устойчивость: сбой на одном этапе не прерывает весь расчёт;
Гибкость вывода: для каждого этапа можно задать свой список отображаемых переменных.
Продолжение прерванного расчёта: директива $RESTORE
Если расчёт был прерван (ошибка, останов пользователем, сбой питания), его можно продолжить с последнего сохранённого состояния:
В новом задании укажите заголовок
$RESTOREперед разделом$RUN;Задайте новое значение
END, превышающее время последнего успешного шага;Запустите расчёт — ядро загрузит состояние из файлов предыдущей сессии и продолжит интегрирование.
Предупреждение
Запуск расчёта для уже сформированной модели без заголовка $RESTORE приведёт к потере предыдущих результатов и началу расчёта с нулевого момента времени.
9. Рекомендации по эффективной настройке
Стратегия настройки для новой модели
Этап отладки:
DRLTX=0.01,DABSX=0.1,SMAX=0.01,ITR=5;Цель: быстро проверить работоспособность модели, выявить структурные ошибки.
Этап уточнения:
Ужесточите
DRLTX/DABSXдо1e-4 / 1e-5;Проанализируйте статистику в
SYSPRINT.TXT: количество шагов, итераций, потерь;При частых потерях шагов увеличьте
ITRдо 7-10.
Этап оптимизации:
Если расчёт медленный из-за отслеживания паразитных ВЧ-колебаний — введите
CONTROLиWEIGHT;Для очень длительных процессов настройте
SAVEдля защиты от сбоев;При больших объёмах вывода — аккуратно используйте
OUT.
Чек-лист перед запуском окончательного расчёта
Модель содержит компоненты
DynamicиDISP;Задан обязательный параметр
END;Параметры точности
DRLTX/DABSXсоответствуют требуемому качеству результата;Ограничения шага
SMAX/SMINадекватны длительности и динамике процесса;При наличии быстрых/разрывных воздействий задан параметр
CONTROL;Для сложных нелинейных моделей
ITR ? 7;Для длительных расчётов задан
SAVE;Список оперативного вывода не перегружен (не более 5–7 переменных).
Типовые значения параметров для распространённых задач
Тип задачи |
DRLTX |
DABSX |
SMAX |
CONTROL |
ITR |
|---|---|---|---|---|---|
Предварительный анализ, отладка |
0.01 |
0.1 |
0.01 |
0 |
5 |
Механические колебания (НЧ) |
1e-4 |
1e-5 |
0.005 |
Tмин/10 |
7 |
Ударные/контактные задачи |
1e-5 |
1e-6 |
0.001 |
1e-6 |
10 |
Длительные процессы с ВЧ-фильтрацией |
1e-4 |
1e-5 |
0.02 |
0.001 |
7 |
Мультифизические (механика + гидравлика) |
1e-5 |
1e-7 |
0.005 |
по НЧ-процессам |
7–10 |
Примечание
Руководство подготовлено на основе официальной документации программного комплекса PRADIS версии 5.0.
При возникновении вопросов обращайтесь к встроенной справке препроцессора (Справка > Содержание справки) или к файлу SYSPRINT.TXT для детальной диагностики.