Все ответы об инженерном анализе

20 APDL команд которые следует знать каждому пользователю ANSYS Mechanical

Аватар пользователя Sergey Khrulev
0 48588

    Одна из сильнейших сторон в ANSYS Mechanical – это создаваемый входной файл, который посылается в ANSYS Mechanical APDL (MAPDL) на решение. И это действительно замечательно потому, что вы, как пользователь, имеете полный доступ ко всем глубинам и всем возможностям классического ANSYS.  MAPDL – это хорошая старомодная программа, способная считывать команды и последовательно их исполнять. Так что единственное, что вам нужно сделать, чтобы добраться до любой опции – это просто ввести нужные команды.

Для множества пользователей со стажем это не является проблемой потому, что они «выросли» на текстовых командах. Однако у новых пользователей, как правило, возникают проблемы при желании ощутить всю мощь APDL (ANSYS Parametric Design Language) т.к. добраться до всех расширенных возможностей нелегко. 

Порой, при оказании помощи пользователям или проведении обучения, нужно рассказать, как, например, изменить тип конечного элемента (Mechanical по умолчанию использует наиболее общую формулировку, но у пользователя есть возможность использовать и другие) и иногда попадаются люди, которые признаются, что не только не работали с командами APDL, но и никогда их не встречали. 

Таким образом, чтобы помочь пользователям ANSYS Mechanical ступить на эту дорогу любви к APDL командам, мы выпустили список 20 APDL команд, которые следует знать каждому.  Правда, по факту их тут больше, чем 20 потому, что некоторые из них мы объединили в группы.  Здесь не будет приведено много подробностей по использованию каждой из них, т.к. в APDL help все превосходно расписано. 

 

Основы APDL

    APDL был разработан еще во времена перфокарт.  Он был гораздо проще других программ в использовании, поскольку вводимые команды не требовалось раскидывать по столбцам.  Вместо этого аргументы в командах разделяются запятыми.  Поэтому, при задании узла, вместо вот этого:

345   12.456    17.4567   0.0034 

(обратите внимание, что расположение запятой имеет решающее значение) нужно написать строку:

N,345,12.456,17.4567, 0.0034

По тем временам это был большой шаг вперед. Главное, что вам нужно знать об APDL командах – это то, что они начинаются с ключевого слова и далее продолжаются аргументами, назначение каждого из которых подробно расписано в разделе ANSYS help/Command Reference.  Например, по команде для создания узла там написано следующее:

Рис.1 Описание команды N в ANSYS help.

 

     Документация последовательная и вы довольно быстро разберетесь с нужными опциями для вашей задачи.  Принцип компоновки и изложения этих статей также объясняется в help: // Command Reference // 3. Command Dictionary.

Другой ключевой момент в командах MAPDL – это автоматическое присвоение большинству созданных вами объектов (кроме нагрузок и граничных условий) ID номера. К объектам нужно обращаться по этому ID номеру.  Это ключевое понятие зачастую неизвестно людям, «выросшим» только на GUI’s.  Таким образом, если вы захотите создать систему координат и использовать ее в последствии, то вам необходимо присвоить ей ID и далее на него ссылаться.

То же самое касается определения элементов (Element Types), свойств материала, и т. д…  Запомните - на этом «горит» множество пользователей. Для того, чтобы использовать MAPDL команды их нужно просто ввести строками в командный объект (command object) в дереве проекта.

Идея выбора объектов имеет фундаментальное значение для APDL.  Выше было сказано, что все объекты имеют свой ID.  Вы можете взаимодействовать с каждым объектом, указав его ID.  Но если у вас их очень много, например, узлов и элементов, то в таком взаимодействии будет огромное количество тупой и скучной работы.  APDL справляется с этим, предоставляя пользователю право выбирать группы объектов определенного типа и делать их “выбранными” или “невыбранными”.  После этого при вводе команд, вместо конкретного ID, можно указывать “ALL” и тогда будут использоваться только все выбранные объекты.  Иногда мы ссылаемся на объекты как на выбранные «selected», а иногда - как на активные “active.”  Основная концепция в том, что любой объект в ANSYS Mechanical APDL может быть в двух состояниях: active/selected или inactive/unselected.  Inactive/unselected объекты не используются ни в каких командах.

Если вы захотите посмотреть на все команды APDL, которые записывает ANSYS Mechanical, то просто выберите ветвь setup и далее Tools-> Write Input File.  Просмотреть его можно в любом текстовом редакторе.

 

Перед тем как мы перейдем непосредственно к списку команд, обозначу последнее важное замечание: старый интерфейс GUI для MAPDL можно использовать для изменения и создания моделей так же, как и ANSYS Mechanical. Любое действие, которое вы производите в старом интерфейсе GUI конвертируется в команду и сохраняется в лог файле с названием проекта (например, jobname.log).  Иногда имеет смысл сначала провести необходимые операции там, а потом скопировать получившиеся команды из log файла.

И еще одно замечание: на данный момент эти команды необходимы, но с каждым релизом все больше и больше возможностей решателя переносится в интерфейс ANSYS Mechanical и все меньше требуется APDL скриптов.  Так что всякий раз перед написанием скрипта сначала убедитесь, что интерфейс ANSYS Mechanical этого пока не умеет.

Команды

1. !

    Восклицательный знак является комментарием в APDL. Любой текст справа от него игнорируется программой. Регулярно используйте эту команду и оставляйте частые подробные комментарии, чтобы другие люди и вы сами всегда могли понять, что именно в вашем файле происходит.

2. /PREP7 – /SOLU – /POST1 – FINISH

   Программа MAPDL состоит из совокупности аж 10 процессоров (было больше, но они не были задокументированы). Отдельные команды работают только в нескольких процессорах, а большинство – только в одном из них.  Если вы используете команду для препроцессора в постпроцессоре, то обязательно получите ошибку.

После создания командного объекта в ANSYS Mechanical, он может быть реализован в препроцессоре, настройках решателя (Solution processor) или в постпроцессоре, в зависимости от того, в какой ветви дерева проекта был создан.   Если есть необходимость отправить команду в другой процессор, то нужно просто ввести соответствующую команду.  ГЛАВНОЕ, НЕ ЗАБУДЬТЕ ПЕРЕЙТИ ОБРАТНО К ИСХОДНОМУ ПРОЦЕССОРУ после записи нужных команд.

/PREP7 – перейти к препроцессору. Здесь можно изменять формулировки элементов, модель материала и любым образом менять сетку конечных элементов.

/SOLU – перейти к настройкам решателя (Solution Processor).  Чаще всего вы будете начинать отсюда, так что довольно часто нужно использовать эту команду для того, чтобы перейти обратно к исходному разделу после задания команд в /PREP7. Здесь изменяются нагрузки, граничные условия, и настройки расчета.

/POST1 – перейти к постпроцессору. Здесь можно поиграть с результатами, построить собственные графики, и использовать иные возможности APDL для обработки результатов.

FINISH – перейти к самому началу. Сюда нужно заходить если вы собираетесь работать с именами файлов.

3. TYPE – MAT – REAL – SECNUM

    Вообще, вам действительно нужно знать эти команды, только если вы собираетесь писать ваши собственные элементы… но кое-что про них должен знать каждый, поскольку назначение атрибутов элементам (element attributes) имеет фундаментальное значение для работы в APDL … Так что это имеет смысл прочитать даже если вы не собираетесь писать ваши собственные элементы.

К каждому элементу в вашей модели назначаются определяющие его свойства.  Когда вы определяете элемент, вместо указания всех его свойств в каждом случае, вы создаете определения и даете им номера, а затем присваиваете их к каждому элементу.  Простейший пример – это свойства материала. Вы определяете набор свойств материала, присваиваете им номер, а затем присваиваете этот номер ко всем элементам в вашей модели, которые в соответствии с этими свойствами должны работать.

И вы не указываете ID при создании элементов, это был бы долгий и полный боли процесс. Вместо этого вы указываете ID для каждого типа свойств “активным” и каждому вновь созданному элементу будет назначен активный ID. 

Сами команды не нуждаются в пояснениях: Type устанавливает тип элемента, MAT задает ID материала, REAL задает номер реальных констант, и SECNUM задает номер активного сечения. 

Таким образом, введя следующее:

type,4
real,2
mat,34
secnum,112
e,1,2,3,4,11,12,13,14

вы получите:

     ELEM MAT TYP REL ESY SEC        NODES
      1  34   4   2   0 112      1     2     3     4    11    12    13    14
      2   3   4   4   0 200    101   102   103   104   111   112   113   114

4. ET

    Решатель MAPDL поддерживает сотни элементов. Независимо от решаемой задачи, ANSYS Mechanical выбирает наилучший исходя из общих соображений элемент.  Но он может быть и не лучшим для вашей конкретной модели. В таких случаях, вы можете переопределить используемые ANSYS Mechanical элементы.

Примечание: новый элемент обязательно должен иметь ту же топологию. Вы не сможете заменить 4х узловой оболочечный элемент на 8ми узловой гекса элемент.  Но если расположение узлов (топология) одинаковое, то вы можете произвести замену при помощи ET команды. 

5. EMODIF

    Если вы определили тип элемента или ID материала в APDL и хотите внести эти изменения в большой набор элементов, то используйте EMODIF.  Это наиболее быстрый способ изменения определения элемента.

 

6. MP – MPDATA – MPTEMP –TB – TBDATA – TBTEMP

    Базовые команды определения свойств материала - это возможно наиболее часто требующиеся для пользователей ANSYS Mechanical команды APDL. Линейные свойства определяются с помощью MP команды, полиноминально зависимые от температуры – с помощью MPDATA и MPTEMP используется для задания кусочно-линейного температурного отклика.  Нелинейные свойства материала определяются командами TB, TBDATA, и TBTEMP.

Никогда не помешает сохранить заданные данные по материалам, чтобы 1) иметь запись о том, что было использовано, и 2) иметь возможность использовать ту же модель материала в других проектах в будущем.

7. R – RMODIF

     Если формулировка элемента определяется опциями ET команды, а свойства материала – соответствующими командами по материалам, то как определять остальное, например, толщину оболочки, свойства контакта, или жесткость для снижения эффекта песочных часов?  Их нужно вводить в виде реальных констант.  Если вы новичок в использовании решателя MAPDL, то к идее реальных констант вам будет немного трудно привыкнуть. 

Официальное определение гласит:

Data required for the calculation of the element matrices and load vectors, but which cannot be determined by other means, are input as real constants. Typical real constants include hourglass stiffness, contact parameters, stranded coil parameters, and plane thicknesses.

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

Фактически это просто место, куда нужно писать то, что больше написать некуда.  R создает реальную константу, а RMODIF изменяет ее.

8. NSEL – ESEL

     Как уже упоминалось, логика выбора является фундаментальной частью работы в MAPDL.  Вам никогда не захочется работать с каждым объектом по отдельности, изменять, нагружать, и т. д… Вместо этого вы предпочтете объединять объекты определенного типа в “активную” группу и затем уже с работать со всеми активными объектами разом. (Этим группам также можно присваивать имена - CM-CMSEL-CMDELE команды о компонентах описаны чуть ниже)

При работе в MAPDL из-под ANSYS Mechanical вы наиболее часто будете иметь дело либо с узлами, либо с элементами.  NSEL и ESEL используются для определения того, какие узлы или элементы будут являться активными. Эти команды содержат множество опций, так что не пренебрегайте информацией в ANSYS help.

9. NSLE – ESLN

    Часто возникают ситуации, когда по выбранным узлам нужно выбрать приложенный к ним элемент, или наоборот от выбранного элемента перейти к выбору его узлов. NSLE и ESLN отвечают за это.  NSLE выбирает все узлы текущего активного выбора элементов, а ESLN – обратную процедуру.

10. ALLSEL

    При написании небольших APDL скриптов для ANSYS Mechanical люди часто совершают следующую ошибку: используют команды для выбора нужных им объектов и после всех манипуляций забывают снова выбрать все узлы и элементы модели.  Если вы, используя NSEL, выберете несколько узлов модели для того, чтобы, скажем, приложить к ним силу и на этом остановитесь, то обязательно получите ошибку, поскольку эти узлы будут единственными активными во всей модели.

ALLSEL исправит эту проблему. Эта команда попросту все делает активным. Имеет смысл ВСЕГДА вносить эту строку в конец каждого скрипта, где есть что-либо связанное с выбором отдельных объектов.

11. CM – CMSEL

    Если вы используете ANSYS Mechanical, то, должно быть, знакомы с концепцией именованных наборов (Named Selections). Это группы объектов (узлов, элементов, поверхностей, ребер, вершин) с присвоенным именем, по которому на них можно ссылаться, а не выбирать каждый раз по новой. В ANSYS MAPDL это называется компонентами, и команды, с ними работающие, начинаются с букв CM.

Любые геометрические именованные наборы, созданные вами в ANSYS Mechanical, превращаются в узловой компонент – все узлы выбранной в именованном наборе геометрии превращаются в узловой компонент. Вы также можете создать собственный узловой или элементный именованный набор, и он также будет создан в виде соответствующего компонента. 

Вы можете использовать CM для создания ваших собственных компонентов в APDL скрипах.  Ему нужно будет дать имя – и можно работать.  Вы также можете выбирать компоненты с помощью команды CMSEL.

12. *GET

     Чрезвычайно полезная команда в APDL.  Это способ просмотреть вашу модель и найти любую полезную информацию: число узлов, наибольшее значение координаты Z среди узлов, если выбраны узлы, то нагрузки на узел, информация о результатах, и т. д… 

Обязательно изучите информацию в ANSYS help по этой команде. Если вы в процессе написания скрипта с грустью произносите: “Ах если бы я только знал эту величину в моей модели…”, то скорее всего вам стоит обратиться к команде *get.

13. CSYS – LOCAL – RSYS

Системы координат очень важны в ANSYS Mechanical и ANSYS MAPDL.  В большинстве случаев вы можете спокойно создать систему координат в ANSYS Mechanical. Использовать эту систему координат можно будет и в ANSYS MAPDL, но по умолчанию ANSYS Mechanical назначает автоматические ID. Для использования системы координат в MAPDL нужно указать ее номер в окне свойств: изменить предварительно свойство “Coordinate System” с “Program Defined” на “Manual” и указать номер в поле “Coordinate System ID”.

 

Рис 2. Определение ID системы координат в интерфейсе ANSYS Mechanical

Если есть необходимость создать систему координат прямо в APDL скрипте, используйте команду LOCAL. 

Когда вы захотите использовать определенную систему координат, введите команду CSYS, чтобы сделать ее активной.

Примечание: система координат 0 – это глобальная декартова система. Если вы изменили активную систему, то убедитесь, что после скрипта вы не забыли вернуться к глобальной системе координат CSYS,0

RSYS – это что-то вроде CSYS, но для результатов. Если вы хотите построить график или получить список результатов не в глобальной системе координат, то используйте RSYS для активации нужной вам системы координат.

 

14: NROTATE

Еще одна очень полезная вещь, которую нужно знать – каждый узел в модели имеет ориентацию. По умолчанию степени свободы UX, UY, и UZ ориентированы в соответствии с глобальной системой координат. В ANSYS Mechanical, при задании нагрузки или граничного условия по нормали или по касательной к поверхности, программа фактически поворачивает все узлы таким образом, чтобы степень свободы была расположена нормально к поверхности.

Если вам нужно проделать это самостоятельно, например, если вы хотите приложить нагрузку или граничное условие в определенном направлении, кроме глобального декартового, используйте NROTATE.  В первую очередь нужно выбрать узлы, которые будете поворачивать, далее следует указать активную систему координат CSYS, затем использовать NROTATE,ALL, чтобы повернуть узлы.

15. D

Наиболее распространенным граничным условием является перемещение, даже в температурных задачах.  Для задания оного в ANSYS MAPDL скрипте, используйте команду D.  Большинство людей использует набор узлов или компоненты для приложения перемещений нескольким узлам.

В простейшей форме прикладывается единственное значение для перемещения к одному узлу по одной степени свободы.  Но и узлов и степеней свободы может быть несколько.

16. F

    Команда F – это то же самое, что D, за исключением того, что определяет силу, а не перемещение. 

17. SF – SFE

     Если нужно приложить давление, то используйте либо SF для приложения к узлам, либо SFE для приложения к элементам. Работает команда во многом также как D и F.

18. /OUTPUT

     Когда решатель ANSYS MAPDL находится в процессе решения, он пишет информацию в файл jobename.out, где jobname – это название вашего проекта.  Иногда может возникнуть необходимость выписать определенную информацию, скажем, перечислить напряжения всех выбранных узлов. Используйте /OUTPUT,filename для перенаправления вывода в файл. После того как вы закончите нужно будет написать /OUTPUT без опций, и машина вернется к стандартному выводу.

19. /SHOW

     ANSYS MAPDL имеет несколько интересных возможностей по построению графиков.  Существуют тонны команд и опций для создания графиков, но наиболее важная из них - команда /SHOW,png.  Она сообщает ANSYS MAPDL, что все графики, начиная с текущего момента, будут записаны в файлы в формате PNG.

 

Рис 3. Обработанное PNG изображение результата

20. ETABLE

Решатель ANSYS MAPDL в процессе решения находит множество величин. Чем более сложные элементы вы используете, тем большее количество величин вы можете получить.  Но как добраться до наиболее скрытых? ETABLE.

 

Выводы

Это, конечно, не окончательный список.  Спросите 20 пользователей ANSYS MAPDL какие APDL команды все пользователи ANSYS Mechanical должны знать, и вы в лучшем случае услышите пять или шесть общих. Но основываясь на данных техподдержки и собственном опыте, скажу, что именно эти 20 используются чаще всего.

Command help – это ваш незаменимый друг и товарищ.  Всегда пользуйтесь им.

Кроме того, вы можете открыть ANSYS MAPDL и поиграть с этими командами, изучить их влияние на проект.

 

Информация взята с сайта http://www.padtinc.com/.

Добавить комментарий

Войдите или зарегистрируйтесь, чтобы отправлять комментарии