ANSYS Workbench Mechanical позволяет выполнять расчет на случайные вибрации, который также называется расчётом по спектральной плотности мощности (PSD – Power Spectral Density), или, что не очень строго, просто спектральным расчётом. PSD-расчёт по своей сути является вероятностным, поэтому для него по умолчанию не доступны многие результаты, традиционные для обычного статического расчета на прочность в модуле Mechanical. Но некоторые из этих результатов могут быть получены с помощью командных вставок Command Snippets. В этой статье пойдёт речь о командах, которые позволяют получить силы реакций в PSD-расчёте балочных моделей как в глобальной, так и в местной системе координат каждого элемента. Также будет затронут вопрос о получении результатов для различных доверительных интервалов, определяемых через среднеквадратичное отклонение (1∙σ, 2∙σ, 3∙σ).
Предварительный модальный расчёт
Перед выполнением любого расчёта по спектральной плотности мощности необходимо найти собственные формы и частоты, которые будут использованы в PSD-расчёте. Передача данных обеспечивается связью между расчётными блоками, которая создаётся в окне проекта Workbench, как показано на рисунке 1.
В целом, модальный расчёт производится как обычно. Однако, в настройках вывода результатов (Output Controls) необходимо в поле «Силы в узлах» (Nodal Forces) установить «да» («yes»), как показано на рисунке 2. Эта настройка обеспечивает вывод в файл результатов данных, которые необходимы для определения усилий в балочных элементах в PSD-расчёте. На усмотрение пользователя, в зависимости от специфических потребностей в обработке результатов расчёта, можно изменить и другие настройки вывода данных.
Определение балочных соединений на этапе обработки результатов (post-processing)
Балочные соединения создаются в модуле Mechanical в разделе Connections дерева построения модели. Однако, вплоть до начала процесса расчета балочные элементы не создаются и не имеют номеров. Значит, мы не можем заранее узнать, какой номер имеет каждый из балочных элементов, но, как будет показано далее, на этапе обработки результатов нумерация элементов нам понадобится. Чтобы решить эту проблему, нужно добавить блок команд Command Snippet для каждого балочного соединения в дереве построения. Это можно сделать, щелкнув по нему правой кнопкой мыши и выбрать Insert (вставить) → Commands (команды)
В каждом блоке команд необходимо прописать следующую команду:
BEAM1=_bid
При этом, вместо цифры 1 следует указать номер, уникальный для каждого балочного элемента. Когда решатель создает балочный элемент, в переменную _bid записывается уникальный числовой идентификатор элемента. Переменная _bid перезаписывается каждый раз, когда решатель переходит к созданию нового элемента. Поэтому и необходима указанная выше команда: она сохраняет уникальный числовой идентификатор для каждого элемента в отдельной переменной (например BEAM1), которая не будет перезаписываться и позволит обращаться к балочному элементу в процессе обработки результатов. На рисунке 3 показан пример процесса нумерации каждого балочного элемента.
Получение реакций в балочных элементах из результатов PSD-расчёта (в глобальной системе координат)
После того, как были заданы необходимые настройки в модальном расчёте, и он был связан с PSD-расчётом, получение результатов выполняется довольно просто. Результат, получаемый при помощи описанного далее подхода, соответствует глобальной декартовой системе координат и доверительному интервалу 1∙σ. Чуть ниже будет показано, как получить результаты в местной системе координат каждого балочного элемента. Итак, чтобы получить результаты в модуле Mechanical, необходимо добавить командный блок на уровне «Решение» (Solution) дерева построения модели в PSD-расчёте.
Щелчок правой кнопкой мыши → Insert (Вставить) → Commands (Блок команд)
Вы можете скопировать и вставить в созданный блок приведенные ниже команды. Они будут запущены на выполнение сразу по завершении расчёта. Изображение командного блока показано на рисунке 4. Обратите внимание на вторую командную строку, где вместо переменной NUMBEAMS необходимо указать общее количество балочных соединений в расчёте (в рассматриваемом примере – 3 штуки).
SET,3,1 ! Укажите 3-ий шаг нагрузки, он соответствует доверительному интервалу 1∙σ
NUMBEAMS=3 ! Нужно указать общее количество балочных соединений
*DO,i,1,NUMBEAMS ! Начало цикла, который проходит по каждому балочному соединению
! Данные комментирующие строки будут отображены в выводе решателя, что упрощает работу с выведенной информацией
/COM,*********************************************
/COM, The following results are for Beam %i%
/COM,*********************************************
ESEL,,TYPE,,BEAM%i% ! Выбор балочного элемента по идентификатору (TYPE), который записан в переменной BEAM%i%
PRESOL,F ! Вывести силы реакций для выбранной балки
*ENDDO ! Завершение цикла
После выполнения расчета результаты можно будет посмотреть в выводе решателя (Solver Output), который доступен в элементе дерева построения модели Solution Information. Результаты будут приведены для каждого узла каждого балочного элемента в глобальной декартовой системе координат, как показано ниже на рисунке 5. Так как в первой команде было указано SET,3,1, результат соответствует доверительному интервалу 1∙σ. Получение результатов для других доверительных интервалов будет освещено ниже.
Получение реакций в балочных элементах из результатов PSD-расчёта (в местных системах координат элементов)
Процедура получения результатов в целом аналогична предыдущему случаю и является весьма несложной. Ниже приведен способ получения результатов в местных системах координат каждого балочного элемента для доверительного интервала 1∙σ. В частности, результаты будут содержать только силы вдоль оси каждой балки (без перерезывающих сил). В модуле Mechanical принято, что ось X местной системы координат соответствует продольной оси балки. Для получения результатов необходимо добавить блок команд под элементом Solution дерева построения модели в PSD-расчёте.
Щелчок правой кнопкой мыши по «Solution» → Insert (Вставить) → Commands (Блок команд)
Далее вы можете скопировать приведенные ниже команды в созданный блок. Эти команды будут запущены на выполнение сразу после выполнения расчёта. Изображение блока команд показано на рисунке 6. Обратите внимание на вторую командную строку, где вместо переменной NUMBEAMS необходимо указать общее количество балочных соединений в расчёте (в рассматриваемом примере – 3 штуки).
SET,3,1 ! Укажите 3-ий шаг нагрузки, он соответствует доверительному интервалу 1∙σ
NUMBEAMS=3 ! Нужно указать общее количество балочных соединений *DO,i,1,NUMBEAMS ! Начало цикла, который проходит по каждому балочному соединению
! Данные комментирующие строки будут отображены в выводе решателя, что упрощает работу с выведенной информацией
/COM,*********************************************
/COM, The following results are for Beam %i%
/COM,*********************************************
ESEL,,TYPE,,BEAM%i% ! Выбор балочного элемента по идентификатору (TYPE), который записан в переменной BEAM%i%
PRESOL,SMISC,1 ! Вывести реакцию в узле I по оси X системы координат балочного элемента
PRESOL,SMISC,14 ! Вывести реакцию в узле J по оси X системы координат балочного элемента
*ENDDO ! Завершение цикла
После выполнения расчета результаты можно будет посмотреть в выводе решателя (Solver Output), который доступен в элементе дерева построения модели Solution Information. Результаты будут даны как SMIS1 (реакция в узле I) и SMIS14 (реакция в узле J), пример показан на рисунке 7. Так как в первой команде было указано SET,3,1, результат соответствует доверительному интервалу 1∙σ. Далее рассмотрим получение результатов для других доверительных интервалов.
Получение результатов для других доверительных интервалов
PSD-расчёт является примером вероятностного расчёта. Его результаты, включая реакции в балочных элементах, также носят вероятностный характер. В описанном выше подходе к получению реакций используются команды, которые сообщают постпроцессору о необходимости вывода результатов для доверительного интервала 1∙σ:
SET,3,1
Для доверительного интервала 2∙σ результаты могут быть получены с использованием следующей команды:
SET,3,1,2
Для доверительного интервала 3∙σ:
SET,3,1,3
Возможные ошибки
Единственная возможная проблема, которая может возникнуть при использовании описанного выше подхода, является попадание в ситуацию, когда пользователь уже провел расчет, и только потом добавил указанные команды к элементу Solution PSD-расчёта. В этом случае нажатие на кнопки Solve или Evaluate All Results не приведёт к обновлению вывода решателя (Solver Output), пока не будет произведен полный расчет заново. Чтобы сделать это:
Щелчок правой кнопкой мыши на элементе Solution → Выберите Clear Generated Data (удалить существующие данные).
Затем необходимо выполнить расчёт заново, вывод решателя (Solver Output) обновится и будет содержать реакции по балочным соединениям.
Выводы
Расчёт по спектральной плотности мощности силового фактора (PSD-расчёт) – это один из типов вероятностных расчётов. Использовавшийся в приведенных выше командах доверительный интервал 1∙σ соответствует тому, что полученные величины не будут превышаться в течение 68,3% времени для данной спектральной плотности мощности ускорения. Результаты для интервала 2∙σ соответствуют их непревышению с вероятностью 95,4%, а для интервала 3∙σ – с вероятностью 99,7%.
В статье также приведены команды для получения реакций в каждом балочном соединении как в глобальной декартовой системе координат, так и в местных системах координат каждого балочного элемента (с ограничением на вывод только осевых усилий). Если необходимо получить реакции во всех трех направлениях, но в системе координат, отличной от глобальной, можно использовать команду RSYS. Эта команда разворачивает результаты в произвольную систему координат перед выводом их в Solver Output. Более подробную информацию об использовании этой команды можно получить в справочной системе ANSYS.