23
Лекция №9 Знакомство с операторами APDL Локальные переменные Передача аргументов в макрос Локальные переменные в пределах макроса Локальные переменные вне макроса Назначение параметрам значений содержащихся базе данных ANSYS Использование команды *GET и get-функции Структура лекции: Структура лекции:

презентация лекции №9

Embed Size (px)

Citation preview

Page 1: презентация лекции №9

Лекция №9 Знакомство с операторами APDL

• Локальные переменные

• Передача аргументов в макрос

• Локальные переменные в пределах макроса

• Локальные переменные вне макроса

• Назначение параметрам значений содержащихся в базе данных ANSYS

• Использование команды *GET и get-функции

Структура лекции:Структура лекции:

Page 2: презентация лекции №9

Локальные переменные

APDL обеспечивает два набора специально именованных скалярных параметров, которые являются доступными для использования как локальные переменные. Они состоят из

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

Набора скалярных параметров, которые могут использоваться в пределах макроса. Они обеспечивают набор локальных переменных, которые могут использоваться, чтобы определять значения только в пределах этого макроса.

Page 3: презентация лекции №9

Передача аргументов в макрос

19 скалярных параметров позволяют передать аргументы из командной строки в макрос. Эти скалярные параметры могут многократно использоваться с множеством макросов; то есть, их значения являются локальными к каждому макросу. Параметры имеют имена от ARG1 до AR19 и они могут использоваться для любого из следующих элементов:

Чисел Алфавитно-цифровых строк символов (до восьми

символов заключенных в одиночные кавычки) Числовых или символьных параметров Параметрических выражений

Page 4: презентация лекции №9

Пример передачи аргументов в макрос

Пусть простой макрос требует четырех аргументов ARG1, ARG2, ARG3, и ARG4: /prep7 /view,,-1,-2,-3 block,,arg1,,arg2,,arg3 sphere,arg4 vsbv,1,2 finish Чтобы выполнить этот макрос, пользователь мог бы

ввести mymacro, 4, 3, 2.2, 1

Page 5: презентация лекции №9

Локальные переменные в пределах макроса Каждый макрос может иметь до 79 скалярных

параметров, используемых как локальные переменные (от AR20 до AR99)

Эти параметры являются полностью локальными по отношению к отдельному макросу и к множественным макросам

При этом каждый из них может иметь собственные уникальные значения, определенные для этих параметров

Эти параметры не передаются к макросу, вызванному из макроса (вложенный макрос)

Они передаются к любым файлам, обработанным через команду /INPUT, или в цикл, выполняющийся в пределах этого макроса

Page 6: презентация лекции №9

Локальные переменные вне макроса ANSYS также имеет подобный набор

скалярных параметров от ARG1 до AR99, которые являются локальными к входному файлу, и не передаются ни к какому макросу, вызванному этим входным файлом

После завершения макроса выполнение команд возвращается к входному файлу и значения от ARG1 до ARG99 возвращаются к любым значениям, которые были определены в пределах входного файла

Page 7: презентация лекции №9

Назначение параметрам значений содержащихся в базе данных ANSYS ANSYS поддерживает два метода для

того, чтобы отыскать значения: команда *GET, которая отыскивает

значение указанного элемента и хранит его в указанном параметре.

get-функции, которые могут использоваться в операциях. Каждая get-функция возвращает определенное значение из определенного примитива.

Page 8: презентация лекции №9

Использованиекоманды *GET

и *get-функции

Команда *GET (Utility Menu> Parameters> Get Scalar Data) отыскивает значение элемента из базы данных (узел, элемент, поверхность, и т.д.) и хранит его как определенный пользователем параметр. Различное ключевое слово, метка, и комбинации чисел идентифицируют найденный элемент.

Пример: *GET,A,ELEM,5,CENT,X возвращает х-координату центра тяжести элемента номер 5 и хранит результат как параметр A.

Page 9: презентация лекции №9

Общая форма записи *GET - команды

*GET, Par, Entity, ENTNUM, Item1, IT1NUM, Item2, IT2NUM где Par - имя параметра. Entity - ключевое слово элемента, который будет сохранен.

Допустимые ключе-вые слова - NODE, ELEM, KP, LINE, AREA, VOLU, и т.д. Полный список допус-тимых ключевых слов см. в описании команды *GET.

ENTNUM - номер объекта (или ноль для всех объектов). Item1 - имя элемента части объекта. Например, если Entity будет

ELEM, то Item1 будет или NUM (самое больший или самый меньший номер элемента в ото-бранном наборе) или COUNT (количество элементов в наборе). Полный список значений Item1 см. в описании команды *GET.

Вы можете представить структуру команды *GET как путь от общего к частному.

Следующие примеры иллюстрируют использование команды *GET. Первая строка в примере ниже извлекает признак материала (МАТ – номер материала) элемента 97 и присваивает его значение параметру BCD:

Page 10: презентация лекции №9

Прмеры иллюстрации работы *GET команды

*GET,BCD,ELEM,97,ATR,MAT - BCD = номер материала элемента 97

*GET,V37,ELEM,37,VOLU - V37 = объем элемента 37 *GET,EL52,ELEM,52,HGEN - EL52 = значение

тепловыделения в элементе 52 *GET,OPER,ELEM,102,HCOE,2 - OPER = тепловой

коэффициент элемента 102 *GET,TMP,ELEM,16,TBULK,3 -TMP = средняя температура

элемента 16 *GET,NMAX,NODE,,NUM,MAX - NMAX = максимальный

номер узла в активном наборе *GET,L1,NODE,1,LOC,X присвоение параметру L1 Х-

координаты узла №1 *GET,L2,NODE,2,LOC,X то же для узла №2 MID=(L1+L2)/2 вычисление середины Используя get-функции эту операцию можно записать

короче: MID=(NX(1)+NX(2))/2 ! NX(n) – get-функция для получения Х-координаты n- узла

Page 11: презентация лекции №9

*Get функция:Статус примитивов

NSEL(N) Status of node N (-1=unselected, 0=undefined, 1=selected)

ESEL(E) Status of element E (-1=unselected, 0=undefined, 1=selected)

KSEL(K) Status of keypoint K(-1=unselected, 0=undefined, 1=selected)

LSEL(L) Status of line L(-1=unselected, 0=undefined, 1=selected)

ASEL(A) Status of area A (-1=unselected, 0=undefined, 1=selected)

VSEL(V) Status of volume E (-1=unselected, 0=undefined, 1=selected)

Page 12: презентация лекции №9

*Get функция:Следующие по номеру выбранные примитивы NDNEXT(N) Next selected node having a node

number greater than N ELNEXT(E) Next selected element having an

element number greater than E KPNEXT(K) Next selected keypoint having a

keypoint number greater than K LSNEXT(L) Next selected line having a line

number greater than L ARNEXT(A) Next selected area having an area

number greater than A VLNEXT(V) Next selected volume having a

volume number greater than V

Page 13: презентация лекции №9

*Get функция:Определение месторасположения

NX(N) X-coordinate of node N in the active coordinate system NY(N) Y-coordinate of node N in the active coordinate system NZ(N) Z-coordinate of node N in the active coordinate system KX(K) X-coordinate of keypoint K in the active coordinate system KY(K) Y-coordinate of keypoint K in the active coordinate system KZ(K) Z-coordinate of keypoint K in the active coordinate system LX(L,LFRAC) X-coordinate of line L at length fraction LFRAC (0.0 to 1.0) LY(L,LFRAC) Y-coordinate of line L at length fraction LFRAC (0.0 to 1.0) LZ(L,LFRAC) Z-coordinate of line L at length fraction LFRAC (0.0 to 1.0)

CENTRX(E) Centroid x-coordinate of element E in global Cartesian coordinate system. Centroid is determined from the selected nodes on the element.

CENTRY(E) Centroid y-coordinate of element E in global Cartesian coordinate system. Centroid is determined from the selected nodes on the element.

CENTRZ(E) Centroid z-coordinate of element E in global Cartesian coordinate system. Centroid is determined from the selected nodes on the element.

Page 14: презентация лекции №9

*Get функция:Ближайшее по месторасположению:

NODE(X,Y,Z) Number of the selected node nearest the X,Y,Z point (in the active coordinate system; lowest number for coincident nodes)

KP(X,Y,Z) Number of the selected keypoint nearest the X,Y,Z point (in the active coordinate system; lowest number for coincident keypoints)

Page 15: презентация лекции №9

*Get функция:Расстояния:

DISTND(N1,N2) Расстояние между узлами N1 и N2

DISTKP(K1, K2) Расстояние между точками K1 и K2

DISTEN(E,N) Расстояние между центром тяжести элемента E и узлом N. Центр тяжести элемента определяется по выбранным узлам элемента

Page 16: презентация лекции №9

*Get функция:Углы

ANGLEN(N1,N2,N3) Subtended angle between two lines (defined by three nodes where N1 is the vertex node). Default is in radians (see the *AFUN command to select degrees).

ANGLEK(K1, K2,K3) Subtended angle between two lines (defined by three keypoints where K1 is the vertex keypoint). Default is in radians (see the *AFUN command to select degrees).

Page 17: презентация лекции №9

*Get функция:Ближайший по номеру примитив

NNEAR(N) Selected node nearest node N

KNEAR(K) Selected keypoint nearest keypoint K

ENEARN(N) Selected element nearest node N. The element position is calculated from the selected nodes.

Page 18: презентация лекции №9

*Get функция:Площади

AREAND(N1,N2,N3) Area of the triangle with vertices at nodes N1,N2,N3

AREAKP(K1,K2,K3) Area of the triangle with vertices at keypoints K1,K2,K3

ARNODE(N) Area at node N apportioned from selected elements attached to node N. For 2-D planar solids, returns edge area associated with the node. For axisymmetric solids, returns edge surface area associated with the node. For 3-D volumetric solids, returns face area associated with the node.

Page 19: презентация лекции №9

*Get функция:Нормали

NORMNX(N1, N2, N3) X-direction cosine of the normal to the plane containing nodes N1, N2, N3

NORMNY(N1, N2, N3) Y-direction cosine of the normal to the plane containing nodes N1, N2, N3

NORMNZ(N1, N2, N3) Z-direction cosine of the normal to the plane containing nodes N1, N2, N3

NORMKX(K1,K2,K3) X-direction cosine of the normal to the plane containing keypoints K1,K2,K3

NORMKY(K1,K2,K3) Y-direction cosine of the normal to the plane containing keypoints K1,K2,K3

NORMKZ(K1,K2,K3) Z-direction cosine of the normal to the plane containing keypoints K1,K2,K3

Page 20: презентация лекции №9

*Get функция:Присоединенные примитивы

ENEXTN(N,LOC) Element connected to node N. LOC is the position in the resulting list when many elements share the node. A zero is returned at the end of the list.

NELEM(E,NPOS) Node number in position NPOS (1-20) of element E

Page 21: презентация лекции №9

*Get функция:Лицевые поверхности

ELADJ(E,FACE) Element adjacent to a face (FACE) of element E. The face number is the same as the surface load key number. Only elements of the same dimensionality and shape are considered. A -1 is returned if more than one element is adjacent; A 0 is returned if there are no adjacent elements.

NDFACE(E,FACE,LOC) Node in position LOC of a face number FACE of element E. The face number is the same as the surface load key number. LOC is the nodal position on the face (for an IJLK face, LOC = 1 is at node I, 2 is at node J, etc.).

NMFACE(E) Face number of element E containing the selected nodes. The face number output is the surface load key. If multiple load keys occur on a face (such as for line and area elements), the lowest load key for that face is output.

ARFACE(E) For 2-D planar solids and 3-D volumetric solids, returns the area of the face of element E containing the selected nodes. For axisymmetric elements, the area is the full (360 ) area.

Page 22: презентация лекции №9

*Get функция:Степени свободы в результатах:

UX(N) UX structural displacement at node N UY(N) UY structural displacement at node N UZ(N) UZ structural displacement at node N ROTX(N) ROTX structural rotation at node N ROTY(N) ROTY structural rotation at node N ROTZ(N) ROTZ structural rotation at node N TEMP(N) Temperature at node N PRES(N) Pressure at node N VX(N) VX fluid velocity at node N VY(N) VY fluid velocity at node N VZ(N) VZ fluid velocity at node N

Page 23: презентация лекции №9

Контрольные вопросы

Дайте определение локальным переменным.

Как можно передать аргумент в макрос? Дайте определение локальным

переменным в пределах макроса. Дайте определение локальным

переменным вне макроса. Как назначаются параметрам значения,

содержащихся в базе данных ANSYS? Назовите основные направления

использования команды *GET. Кратко назовите GET – Функции.