NAFEMS Challenge Problem 5
Эта инструкция воспроизводит рамную постановку задачи «Dynamic Characteristics of a Truss Structure» на существующих элементах 113 МКЭ-Ф. Цель — проверить собственные частоты, концевые шарниры и сходимость сетки. Расчёт выполняется по сохранённым входным файлам; генерация геометрии, доступ к статье и ручное редактирование моделей для запуска не нужны.
1. Постановка
Два стержня соединяют узлы 2–3 и 1–3; вертикального стержня между опорами нет. В узлах 1 и 2 закреплены ux и uy. Общий узел 3 свободен. Освобождение Mz задано на четырёх физических концах: у обеих опор и отдельно у каждого стержня в общем шарнире. Повороты промежуточных сечений непрерывны; MPC не используются. Число n означает количество конечных элементов на каждом стержне, а не общее количество элементов модели.
Единицы — м, кг, с, Н и Па. Материал: E = 210·10⁹ Па, ρ = 7800 кг/м³. Сечение — сплошной круг радиуса 0.01 м: A = πr², I = πr⁴/4. Общая масса составляет 5.91589096156 кг. Сдвиговая деформация, демпфирование, предварительное натяжение и добавочные массы отсутствуют. Все эти параметры одинаковы для последовательных сеток.
2. Готовые входные данные
| Задача | n / TXT |
|---|---|
axial | 1, 2, 4, 8, 16 |
bending | 2, 4, 8, 16 |
frame | 1, 2, 4, 8, 16, 25, 50, 100, 200, 400 |
frame_static | 2 |
Каталог manifest.csv перечисляет назначение и профиль каждого файла. axial проверяет продольные колебания прямого стержня, моделируемого рамными конечными элементами: поперечные перемещения и повороты закреплены, осевое движение свободного конца разрешено. bending проверяет изгиб шарнирно опёртой балки. frame — сама конструкция NAFEMS. frame_static — отдельная проверка моментов при вертикальной силе −1 Н в узле 3.
Все двадцать файлов хранятся в Git в обычном TXT-формате, с единой точностью чисел и нумерацией. Скрипт исследования читает их без перезаписи. Генератор предназначен только для сопровождения комплекта; для независимой проверки его запускают в другой каталог. Сетка 400 также поставляется заранее и используется только при недостаточной сходимости сетки 200.
3. Воспроизведение в Octave
Откройте GNU Octave в корне репозитория. Установка и настройка пути описаны в инструкции локального запуска. Сначала выполните быстрый профиль, затем полный. Для сохранения графиков требуется доступный графический toolkit Octave, например gnuplot; окна графиков при пакетном запуске не открываются.
setup;
run_nafems_challenge5('quick');
run_nafems_challenge5('full');
Быстрый профиль включает аналитические проверки, рамные сетки до 16 и статическую задачу. Полный добавляет 25, 50, 100 и 200 конечных элементов на стержень, при необходимости 400. Полный спектр вычисляется штатным решателем; большой прогон занимает больше времени и памяти. Быстрый профиль не подтверждает сходимость всего диапазона частот.
Выходные каталоги — output/nafems-challenge-5/quick/ и output/nafems-challenge-5/full/. В них находятся frequencies.csv, checks.csv, таблица сравнения сеток, SVG-графики, формы в CSV, JSON и run.log. Журнал содержит версию Octave, Git-ревизию, изменённые файлы и итоговый статус. При ошибке статус INCOMPLETE; старые артефакты могут оставаться, поэтому ориентируйтесь на список завершённых задач текущего журнала. Успешное завершение отмечается PASS.
4. Просмотр через интерфейс
Откройте препроцессор и загрузите frame_n016.txt по ссылке из таблицы. Проверьте две опоры и четыре маркера освобождений на концах стержней, выберите модальный анализ и выполните расчёт. Для этого нужен работающий backend; порядок запуска приведён в руководстве по эксплуатации. После расчёта откройте результаты и переключите несколько мод.
Если расчёт уже выполнен в Octave, откройте постпроцессор и выберите frame_n016.json из каталога нужного профиля. Повторно считать модель не требуется. Сравните первую форму и формы около 451 и 1027 Гц; масштаб деформации условный, знак собственной формы произволен. SVG-графики используют кубическую интерполяцию с независимыми поворотами освобождённых концов.
5. Что в NAFEMS / что получается у нас
Повторный запуск 06.10.2026, Octave 11.3.0. Результаты текущего кода относятся к версии МКЭ-Ф 0.8.2, подготавливаемой к выпуску; расчётное ядро — 46971d2. Для сравнения сохранён опубликованный релиз 0.8.1 (ядро e9356d3), в котором ещё нет поддержки концевых освобождений.
| Показатель | В NAFEMS | Релиз 0.8.1 | МКЭ-Ф 0.8.2 |
|---|---|---|---|
| Осевой стержень 1 м: f₁, n=16 | ≈1297 Hz | 1297.70731 Hz | 1297.70731 Hz |
| Осевой стержень 1 м: f₂, n=16 | ≈3892 Hz | 3905.63923 Hz | 3905.63923 Hz |
| Балочная модель: форм до 1600 Гц | 22 | — | 16 |
| Балочная частота ниже 451 Гц | 366 Hz | — | 363.17069 Hz |
| Балочная частота выше 451 Гц | 496 Hz | — | 504.01439 Hz |
| Балочная частота ниже 1027 Гц | 1021 Hz | — | 995.95985 Hz |
| Балочная частота выше 1027 Гц | 1183 Hz | — | 1043.80130 Hz |
В первых двух строках NAFEMS приводит округлённые аналитические частоты (рисунок 2), а у нас показаны результаты сетки 16: это не одинаковые сеточные эталоны. Для балки использовано 200 КЭ на стержень. Сравниваются частоты по обе стороны заданного ориентира (рисунок 6), а не доказанно одинаковые собственные формы.
Прочерк означает, что релиз 0.8.1 не рассчитывает сохранённую рамную задачу: frame_n016.txt:74, MKEF:UnknownInputMarker, Unknown section marker "releases". В текущем коде 0.8.2 эта задача рассчитывается благодаря общей поддержке концевых освобождений. Подготовка и публикация релиза выполняются отдельно.
6. Что считать успешным результатом
На сетке 16 ошибки двух осевых частот должны быть менее 0.05% и 0.4%, двух изгибных — менее 0.1%. Для конструкции проверяются масса, 6n независимых степеней свободы, отсутствие механизмов и нормированная невязка собственных пар не более 10⁻⁸. Статические моменты на освобождённых концах нулевые в численном допуске; модальный расчёт проверяет полный упруго-инерционный баланс.
Между последними сетками изменение первых двух частот должно быть менее 0.1%, остальных до 1600 Гц — менее 1%. Сопоставляются формы на общей физической сетке, а также число мод в диапазоне. Наличие более низких изгибных форм объясняет, почему ферменная модель не описывает полный динамический спектр конструкции.
Между сетками 100 и 200 максимальное изменение частот до 1600 Гц — около 0.00047%. Сходимость текущей постановки подтверждена; совпадение с опубликованным спектром не достигнуто.
Источник: NAFEMS, «Challenge Problem 5 — The Solution», рисунки 1–7. Указанные авторами 22 формы и частоты 366, 496, 1021, 1183 Гц служат ориентирами. Текущая согласованная масса 113 не содержит отдельного вклада ρI; рисунок 7 и lumped mass не воспроизводятся. Это различие формулировок не доказывает причину каждого расхождения: фактическое сравнение записывается в comparison.txt. Параметры не подгоняются. Если дальнейшее воспроизведение требует изменения ПО, исследование останавливают и сначала сообщают проблему пользователю.