Введение и назначение

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

Важно

Информация в данном руководстве актуальна для текущей версии PRADIS с графическим интерфейсом (препроцессор PRADIS Qucs). Сведения из документации предыдущих пакетных версий адаптированы с учётом особенностей работы в графической среде.

Вычислительное ядро PRADIS реализует следующие ключевые функции:

  • Автоматическое формирование и решение систем дифференциально-алгебраических уравнений (ДАУ) на основе графической схемы модели;

  • Численное интегрирование неявными одношаговыми методами (Штермера, Ньюмарка) с автоматическим выбором шага;

  • Итерационное решение нелинейных уравнений методом Ньютона с контролем сходимости;

  • Оценка и контроль локальной погрешности интегрирования;

  • Фильтрация высокочастотных составляющих для оптимизации вычислительных затрат.

1. Запуск расчёта из препроцессора

Последовательность действий

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

    • Dynamic — задаёт параметры метода интегрирования и управления расчётом;

    • DISP — определяет параметры для вывода результатов.

  2. Настройка компонента Dynamic: Откройте свойства компонента двойным щелчком и задайте ключевые параметры (см. раздел 3).

  3. Проверка модели: Используйте встроенные средства препроцессора для проверки связности схемы и корректности параметров.

  4. Запуск: Нажмите кнопку «Моделировать» в меню «Моделирование» или используйте клавишу F2.

  5. Мониторинг: В консоли препроцессора отображается ход расчёта: текущее время, номер шага, сообщения о состоянии процесса.

  6. Завершение: По окончании расчёта автоматически запускается постпроцессор для визуализации результатов.

Предупреждение

При отсутствии компонента Dynamic или DISP в консоли будет выдано сообщение об ошибке, и расчёт не начнётся.

Оперативное отображение в ходе расчёта

В компоненте Dynamic можно задать список переменных для отображения в реальном времени. Для этого после ключевых параметров через точку с запятой указывается перечень выходных переменных:

Скорость груза = (-10, 10), Перемещение = (-2, 2), Сила упругости(2)

Формат описания переменной: Имя = (мин, макс) или Имя(номер_компоненты) для многокомпонентных величин.

2. Ключевые параметры управления ядром

Параметры компонента Dynamic позволяют гибко настраивать поведение вычислительного ядра. Ниже приведена таблица наиболее важных параметров с рекомендациями по их использованию.

Основные параметры Dynamic

Параметр

Назначение

Диапазон / Значение по умолчанию

Рекомендации

END

Время окончания интегрирования

(обязателен)

Задавайте с запасом относительно ожидаемой длительности процесса

DRLTX

Относительная составляющая допустимой локальной погрешности

(0.001)

0.001–0.01 для предварительных расчётов; 1e-5–1e-4 для окончательных

DABSX

Абсолютная составляющая допустимой локальной погрешности

(0.1)

Задавайте исходя из минимальных амплитуд интересующих переменных

SMAX

Максимальный шаг интегрирования

1e-11 … (0.01 c)

Увеличивайте для длительных процессов; уменьшайте для быстрых переходных процессов

SMIN

Минимальный шаг интегрирования

1e-11 … SMAX (1e-11 c)

Не изменяйте без необходимости; увеличение может помочь при проблемах сходимости

ITR

Максимальное число итераций Ньютона на шаге

1 … (5)

7–10 для сложных нелинейных моделей; 5 достаточно для большинства задач

CONTROL

Нижний предел шага по критерию погрешности; демпфирование ВЧ-колебаний

Задавайте ~1/10 минимального периода интересующих колебаний

WEIGHT

Коэффициент демпфирования высокочастотных колебаний

(1.0)

Увеличивайте совместно с уменьшением CONTROL для избирательной фильтрации

OUT

Минимальный интервал сохранения результатов в файл

Используйте только при очень больших объёмах вывода; не более 1/15 периода быстрых процессов

PRTTIME

Интервал вывода статусных сообщений в консоль (сек)

(30 c)

Уменьшите для детального мониторинга; увеличьте для снижения нагрузки на консоль

Примечание

Параметры DRLTU, DABSU, DRLTI, DABSI управляют точностью решения нелинейных уравнений на каждом шаге. В большинстве случаев значения по умолчанию (0.001 / 0.01) обеспечивают надёжную сходимость.

3. Управление точностью интегрирования

Алгоритм контроля локальной погрешности

На каждом шаге интегрирования вычислительное ядро оценивает локальную погрешность \(lp\) по формуле:

\[lp = |V_{prontos} - V_{korrekcija}| / 2\]

где:

  • \(V_{prontos}\) — значение скорости, полученное явным прогнозом;

  • \(V_{korrekcija}\) — значение после итерационной коррекции неявным методом.

Допустимая погрешность для каждой степени свободы вычисляется как:

\[[\Delta] = \mathrm{DABSX} + \mathrm{DRLTX} \times |V_{\mathrm{tekuee}}|\]

Если \(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\) на основе:

  • Оценки локальной погрешности;

  • Сходимости итерационного процесса Ньютона;

  • Рекомендаций моделей элементов (например, для учёта разрывов или быстрых изменений).

Рекомендуемый шаг для следующего интервала вычисляется по формуле:

\[\Delta t_{\mathrm{новый}} = c \cdot \Delta t_{\mathrm{текущий}} \cdot \sqrt{(\Delta t) / lp}\]

где \(c = 0.8\) — коэффициент запаса.

Явные ограничения: SMAX и SMIN

  • SMAX — верхняя граница шага. Увеличивайте для длительных квазистатических процессов; уменьшайте для анализа быстрых переходных режимов.

  • SMIN — нижняя граница шага. Не изменяйте без необходимости. Увеличение может помочь, если расчёт останавливается с ошибкой R 008 (невозможность обеспечить точность на минимальном шаге).

Параметр CONTROL: управление ВЧ-составляющими

Параметр CONTROL выполняет две функции:

  1. Задаёт нижний предел уменьшения шага по критерию локальной погрешности (не влияет на ограничения по сходимости или рекомендациям моделей).

  2. Обеспечивает принудительное демпфирование высокочастотных колебаний с периодом \(< 10 \times \text{CONTROL}\).

Правило настройки CONTROL и WEIGHT:

Для избирательной фильтрации паразитных частот используйте соотношение:

\[\text{CONTROL}^2 \times \text{WEIGHT} = \text{const}\]

Чем меньше CONTROL и больше WEIGHT, тем избирательнее фильтрация (точные НЧ-процессы, сильное гашение ВЧ).

Пример настройки для системы с диапазоном частот:

Если интересуют процессы с периодом ? 0.01 с, а более быстрые колебания — паразитные:

CONTROL = 0.001   // 1/10 от минимального интересного периода
WEIGHT = 1.0      // стандартное демпфирование
DRLTX = 1e-4      // точность для НЧ-составляющих
DABSX = 1e-5

Такая настройка может сократить время расчёта в 10–30 раз при приемлемой точности для интересующих процессов.

5. Решение нелинейных уравнений на шаге интегрирования

Алгоритм метода Ньютона

На каждом шаге интегрирования система ДАУ преобразуется в систему нелинейных уравнений \(F(U) = 0\), решаемую итерационно:

  1. Выбор начального приближения (прогноз по ускорению с предыдущего шага);

  2. Вычисление невязки \(F(U)\) — суммы усилий от всех моделей элементов;

  3. Расчёт приращения \(\Delta U = -F / F'\) с использованием якобиана системы;

  4. Проверка сходимости по двум критериям:

    • По приращению аргумента: \(|\Delta U| < \text{DABSU} + \text{DRLTU} \times |U|\);

    • По невязке: \(|F| < \text{DABSI} + \text{DRLTI} \times \sum |F_i|\).

  5. При достижении сходимости — переход к контролю погрешности интегрирования; иначе — следующая итерация или уменьшение шага.

Параметры управления сходимостью

Параметры сходимости

Параметр

Назначение

Рекомендации

ITR

Максимальное число итераций Ньютона

Увеличьте до 7–10 при частых потерях шагов по несходимости. Оптимальный диапазон для большинства задач: 5–7.

SECOND

Требование обязательной второй итерации

Установите SECOND=1, если при ужесточении точности растёт погрешность решения СнЛУ. Гарантирует проверку сходимости даже при быстром достижении формальных критериев.

DABSU / DRLTU

Точность по приращению аргумента

Значения по умолчанию (0.01 / 0.001) подходят для большинства задач. Ужесточайте только при необходимости высокой точности внутренних переменных.

DABSI / DRLTI

Точность по невязке уравнений равновесия

Аналогично: по умолчанию достаточно. Уменьшайте, если требуется строгое соблюдение баланса усилий.

Частые причины плохой сходимости

  • Слишком малое значение ITR при больших шагах интегрирования;

  • Ошибки в описании структуры модели (некорректные связи, вырожденные элементы);

  • Экстремальные значения параметров моделей (например, чрезмерно высокие жёсткости);

  • Наличие контактных элементов или сухого трения при больших шагах;

  • Ошибки в реализации якобиана пользовательских моделей элементов.

6. Диагностика и обработка ошибок выполнения

Типовые сообщения и действия

R 006: Несходимость решения системы нелинейных уравнений

Причины: недостаточное число итераций, ошибки в структуре модели, экстремальные параметры.

Действия:

  1. Увеличьте ITR до 7-10;

  2. Проверьте связность модели и корректность соединений;

  3. Уменьшите SMAX для более плавного интегрирования;

  4. Используйте параметр DEBUG=11 для вывода отладочной информации о несходимости (см. ниже).

R 008: Минимальный шаг не обеспечивает требуемую точность

Причины: скачкообразные изменения переменных в узлах без инерционных свойств; чрезмерно жёсткие требования к точности.

Действия:

  1. Проверьте, нет ли степеней свободы без массы/момента инерции, к которым приложены разрывные воздействия;

  2. Используйте параметр CONTROL для ограничения дробления шага в таких участках;

  3. Временно увеличьте DABSX/DRLTX для оценки влияния на результат;

  4. Рассмотрите введение малых инерционных свойств в «безынерционные» узлы.

Отладочный вывод: параметр DEBUG

Для детальной диагностики включите отладочную информацию в компоненте Dynamic:

DEBUG = NNNNLP

где:

  • NNNN — внутренний номер узла (0 или пусто — все узлы);

  • L — уровень вывода: 0 — всегда, 1 — только при проблемах;

  • P — тип информации: 1 — решение СнЛУ, 2 — контроль локальной погрешности, 3 — оба типа.

Примеры:

  • DEBUG=2 — вывод информации о локальной погрешности для всех узлов на каждом шаге;

  • DEBUG=11 — вывод информации о решении СнЛУ только при отсутствии сходимости;

  • DEBUG=2413 — детальный вывод по узлу №24 при проблемах с точностью или сходимостью.

Как узнать внутренние номера узлов:

  1. Добавьте подраздел #MAP в конец раздела $FRAGMENT модели;

  2. Пересоберите модель — в файл SYSPRINT.TXT будет выведена таблица соответствия пользовательских и внутренних номеров узлов;

  3. Используйте внутренние номера при задании 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

Если расчёт был прерван (ошибка, останов пользователем, сбой питания), его можно продолжить с последнего сохранённого состояния:

  1. В новом задании укажите заголовок $RESTORE перед разделом $RUN;

  2. Задайте новое значение END, превышающее время последнего успешного шага;

  3. Запустите расчёт — ядро загрузит состояние из файлов предыдущей сессии и продолжит интегрирование.

Предупреждение

Запуск расчёта для уже сформированной модели без заголовка $RESTORE приведёт к потере предыдущих результатов и началу расчёта с нулевого момента времени.

9. Рекомендации по эффективной настройке

Стратегия настройки для новой модели

  1. Этап отладки:

    • DRLTX=0.01, DABSX=0.1, SMAX=0.01, ITR=5;

    • Цель: быстро проверить работоспособность модели, выявить структурные ошибки.

  2. Этап уточнения:

    • Ужесточите DRLTX/DABSX до 1e-4 / 1e-5;

    • Проанализируйте статистику в SYSPRINT.TXT: количество шагов, итераций, потерь;

    • При частых потерях шагов увеличьте ITR до 7-10.

  3. Этап оптимизации:

    • Если расчёт медленный из-за отслеживания паразитных ВЧ-колебаний — введите 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 для детальной диагностики.