Когда мы обрабатываем результаты параметрических расчётов, то обычно имеем дело с отдельными значениями числовых параметров, которые показывают обобщённую картину результатов. Но иногда возникает необходимость более подробно изучить распределения, которые не выводятся в итоговую таблицу. Один из способов это сделать – поставить галочку в столбце “Retain” (сохранить) для интересующей нас точки в таблице конфигураций модели (Table of Design Points), как показано на рисунке ниже.
ANSYS Mechanical
Дальше всё просто – открываем ANSYS Mechanical и смотрим результаты для ранее выбранной конфигурации. Недостатком такого варианта является то, что для каждой конфигурации будут сохраняться объёмные файлы результатов.
Если же вы просто хотите экспортировать некоторые данные в текстовый файл для каждой конфигурации, не сохраняя все файлы результатов, можно воспользоваться APDL-командами (APDL – Ansys Parametric Design Language). В качестве примера рассмотрим нестационарный тепловой расчёт простой модели, показанной на рисунке ниже:
В этой модели заданы три системы координат, определяющие точки, для которых мы хотим вывести изменение температуры с течением времени:
Отдельный расчёт (без параметров)
В случае отдельного расчёта для этих целей можно воспользоваться встроенным инструментом Temperature Probe, как показано ниже:
Недостаток такого вывода результатов для параметрического расчёта – большая трудоемкость: нужно сохранить все конфигурации, открыть Mechanical отдельно для каждой, и только потом экспортировать результаты. Но, к счастью, существуют APDL команды. Экспортируя данные таким путём, можно автоматически записать их в текстовый файл.
Во-первых, для этого нам нужно задать ряд подготовительных настроек: для каждой системы координат определяем “APDL Name”, как показано на рисунке ниже. Это понадобится для экспортирования значений температуры в интересующей точке.
Использование APDL-команд
В представленном ниже примере APDL-команд я использовал обозначения систем координат “cs1”, “cs2” и “cs3”, чтобы было удобно реализовать цикл.
В разделе “Solution” необходимо добавить APDL-команды (Insert > Commands) такого содержания:
/post26 ! Входим в постпроцессор.
file,file,rth ! Читаем файл результатов file.rth.
*do,i,1,3 ! Цикл по трём системам координат (СК):
csys,cs%i% ! Сменить активную СК на cs1, cs2, cs3.
mynode=node(0,0,0) ! Найти номер узла, ближайшего к началу СК.
nsol,2,mynode,temp ! Задать номер переменной (2) для значения
! температуры в узле.
store,merge ! Сохранить результат в базе данных.
*get,size,vari,,nsets ! Получить число шагов нагрузки.
*dim,temps_cs%i%,array,size ! Создать массив.
vget,temps_cs%i%(1),2 ! Сохранить переменную 2 в массиве.
*enddo ! Конец цикла по системам координат.
*dim,timearr,array,size ! Задать массив для значений времени.
vget,timearr(1),1 ! Сохранить время в массиве.
! Поиск строки «\dp» в названии рабочей папки расчёта.
dpFolder = '\dp'
dpLoc = STRPOS(_wb_SolverFiles_dir(1),dpFolder)
! Получаем 6 знаков после строки «\dp».
CutPath = STRSUB(_wb_SolverFiles_dir(1),dpLoc+3,6)
! Поиск расположения «\» (конец названия папки).
DirSepLoc = STRPOS(CutPath,'\')
! Выделяем название папки (конфигурации).
dpNb = STRSUB(CutPath,1,DirSepLoc-1)
! Создаём файл *.csv в папке «user_files» проекта Workbench.
*cfopen,'%_wb_userfiles_dir(1)%\Temperature_curves_dp%dpNb%',csv
! Запись данных в файл в выбранном формате.
*vwrite
('Time',';','Temp_cs1',';','Temp_cs2',';','Temp_cs3')
*vwrite,timearr(1),temps_cs1(1),temps_cs2(1),temps_cs3(1)
(f12.3,';',f12.3,';',f12.3,';',f12.3)
*cfclose
Первая часть команд служит для получения результатов, а вторая – для записи их в *.csv файл. Команды в начале второй части получают номер конфигурации, который затем добавляется к названию создаваемого файла с результатами. Файл сохраняется в папке “user_files” нашего проекта. И, когда всё посчитается, мы получим несколько файлов с сохранёнными результатами:
Это намного упрощает дальнейшую обработку данных. Теперь изменения температуры в зависимости от времени для интересующих нас точек модели можно с легкостью показать на наглядном графике:
Если вы хотите узнать больше о моделировании в Ansys Mechanical и хотите пройти обучение, узнать условия лицензирования Ansys продуктов, свяжитесь пожалуйста с официальным дистрибьютером Ansys в Украине, компанией Софт Инжиниринг Групп. Чтобы не пропустить статьи Ansys, рекомендуется подписаться на Fb страницу.
Нам важно получить от вас обратную связь – это поможет нам лучше подготавливать материалы. Оставляйте свои комментарии, вопросы и предложения под статьей или можете написать на E-mail:
Источник: digitallabs.edrmedeso.com