Буквари для Инженеров
Скачать 1.52 Mb.
|
Примечание Помните, что символьные параметры ограничены восьмью символами. Ниже приведен список наиболее характерных применений символьных парамет- ров. • Как аргумент к любому доступному полю команды (то есть, где ожидается алфа- витно-цифровой ввод), стр. 11 из 76 ANSYS Release 10.0 Documentation / APDL Programmer's Guide Буквари для Инженеров http://cyberkolbasa.com1.ru • Как имя файла макроса для команды *USE (Utility Menu> Macro> Execute Data Block), NAME='MACRO' ! MACRO это имя файла макроса *USE,NAME ! вызов файла MACRO • Как аргумент команды *USE и на "неизвестную команду" макроса. Любой из сле- дующих макро-запросов допускается: ABC='SX' *USE,NAME,ABC или *USE,NAME,'SX' DEF='SY' NEWMACRO,DEF ! вызов макроса NEWMACRO.MAC или NEWMACRO,'SY' 3.6. Замена числовых значений Всякий раз, когда Вы используете имя параметра в числовом поле команды, его ав- томатически заменяют значением параметра. Если никакое значение не было присвоено параметру (то есть, если параметр не был определен), то будет присвоено значение близ- кое к нулю (2 -100 ), обычно без предупреждения. Примечание Определение параметра после того, как он использован в команде, "не обновляет" команду в большинстве случаев. (Исключения – команды /TITLE, /STITLE, *ABBR, и /TLABEL. Например: Y=0 X=2.7 N,1,X,Y ! Node 1 at (2.7,0) Y=3.5 ! Redefining parameter Y now does not update node 1 3.6.1. Предотвращение замены Вы можете предотвратить замену параметра, заключая имя параметра в одиночные кавычки (‘) например, 'XYZ'. Тогда используется буквенная строка; поэтому, эта возмож- ность допустима только в нечисловых полях. Наоборот, Вы можете вызвать замену параметра в заголовках, подзаголовках, и именах файла, заключая имя параметра символами процента (%). Например, /TITLE, TEMPERATURE CONTOURS AT TIME=%TM% определяет заголовок, в котором заменяют параметр ТМ числовым значением. За- метьте, что параметр заменяется в то время, когда заголовок используется. 3.6.2. Замена значений символьных параметров Использование символьного параметра в алфавитно-цифровом поле команды при- водит к автоматической замене его значения. Принудительная замена и символьные огра- ничения параметра объясняются ниже. 3.6.2.1. Принудительная замена Как с числовыми параметрами, Вы можете вызвать замену символьного значения параметра в определенных случаях, где замена не произошла бы иначе. Это делается за- стр. 12 из 76 ANSYS Release 10.0 Documentation / APDL Programmer's Guide Буквари для Инженеров http://cyberkolbasa.com1.ru ключением имени параметра символами процента (%). Принудительная замена символь- ных параметров допустима для следующих команд: • команда /TITLE (поле Title ). Определяет заголовки для различных печатанных входных данных. • Команда /STITLE (поле Title ). Определяет подзаголовки. (Вы не можете обра- титься к этой команде непосредственно из GUI.) • Команда /TLABEL (поле Text ). Определяет текстовую строку для аннотации. • Команда *ABBR (поле Abbr ). Определяет аббревиатуру. Принудительная замена также допустима в следующих типах полей: • Любое имя файла или параметр команды расширения. Эти параметры обращаются к командам, типа /FILNAME, RESUME, /INPUT, /OUTPUT, и FILE. (Прямая за- мена параметра также допустима в этих полях.) • Любое поле на 32 символа: типичный пример - имя макроса. (Прямая замена недо- пустима для этих полей.) • Как имя команды в любом поле вызова команды. Также как "неизвестная команда" имени макроса в поле 1. Например: R='RESUME' %R%,MODEL,DB Следующий пример показывает методы вызова замены для определения подзаго- ловка и для имени каталога. A='TEST' B='.RST' C='/ANSYS' D='/MODELS/' /STITLE,,RESULTS FROM FILE %C%%D%%A%%B% SUBTITLE 1 = RESULTS FROM FILE /ANSYS/MODELS/TEST.RST /POST1 FILE,A,RST,%C%%D% ! считать результат из /ANSYS/MODELS/TEST.RST 3.6.2.2. Другие случаи, где допустимы символьные параметры В дополнение к более общим приложениям, которые уже обсуждались, есть неко- торые определенные случаи, где символьные параметры позволяются добиться большего удобства. Ниже приведены команды, с которыми это возможно и детали их использова- ния. *ASK Эта команда запрашивает ввод алфавитно-цифровой строки (до восьми символов, заключенных в одиночные кавычки), которая становится символьным значением скаляр- ного параметра. (Вы не можете обратиться к *ASK команде непосредственно в GUI.) *CFWRITE Эта команда записывает команды ANSYS в файл, открывающемуся командой *CFOPEN. Это можно использовать, чтобы написать символьное значение параметра для этого файл. Например, *CFWRITE, B = 'FILE' допустимо. (Вы не можете обратиться к *CFWRITE и *CFOPEN непосредственно из GUI.) *IF и *ELSEIF стр. 13 из 76 ANSYS Release 10.0 Documentation / APDL Programmer's Guide Буквари для Инженеров http://cyberkolbasa.com1.ru Символьные параметры могут использоваться для аргументов VAL1 И VAL2 этих команд. Для аргумента Oper , только EQ (равный) и NE (не равный) могут использовать символьные параметры. (Вы не можете обратиться к *IF и *ELSEIF непосредственно из GUI.) Например: CPARM='NO' *IF,CPARM,NE,'YES',THEN *MSG Символьные параметры допускается вводить для VAL1 … VAL8 . Дескриптор %C ис- пользуется, чтобы указать для алфавитно-цифровых данных формат вывода (который должен следовать за командой *MSG). %C соответствует дескриптору ФОРТРАНА A8. (Вы не можете обратиться к команде *MSG непосредственно из GUI.) PARSAV и PARRES Эти команды сохранят символьные параметры в файл (команда PARSAV или Util- ity Menu> Parameters> Save Parameters), и восстанавливает символьные параметры из файла (PARRES или Utility Menu> Parameters> Restore Parameters). *VREAD Эта команда (Utility Menu> Parameters> Array Parameters> Read from File) мо- жет использоваться, чтобы читать алфавитно-цифровые символьные данные из файла и создавать массив символьных параметров. Дескриптор ФОРТРАНА (A) может использо- ваться в строке форматирования, которая должна следовать за командой *VREAD. *VWRITE Эта команда (Utility Menu> Parameters> Array Parameters> Write to File), может использоваться, чтобы записать символьные данные параметра в файл в отформатирован- ной последовательности. Дескриптор ФОРТРАНА (A) может использоваться в троке фор- матирования, которая должна следовать за командой *VWRITE. 3.6.2.3. Ограничения символьных параметров Хотя символьные параметры имеют большую часть тех же самых функциональных возможностей как и числовые параметры, есть несколько случаев, где символьные пара- метры не допустимы. • Символьная замена параметра не допускается для аргумента Par команд *SET, *GET, *DIM, и *STATUS. • Интерактивное редактирование параметров массива (*VEDIT) не доступно для символьных параметров массива. • Векторные команды операции, типа *VOPER, *VSCFUN, *VFUN, *VFILL, *VGET, и *VITRP, не работают с символьными параметрами массива. • Работая с символьными параметрами, команды детализации *VMASK и *VLEN применимы только к *VWRITE и *VREAD. • Символьные параметры не допустимы в параметрических выражениях, которые используют сложение, вычитание, умножение, и т.д. 3.7. Динамическая замена числовых и символьных параметров Динамическая замена параметров встречается для следующих команд: /TITLE, /STITLE, *ABBR, /AN3D, и /TLABEL. Динамическая замена позволяет пересмотренному стр. 14 из 76 ANSYS Release 10.0 Documentation / APDL Programmer's Guide Буквари для Инженеров http://cyberkolbasa.com1.ru значению параметра использоваться, даже если команда, которая использует значение па- раметра, не была использована заново. Пример: XYZ='CASE 1' /TITLE,This is %XYZ% APLOT Заголовок "This is CASE 1", появится в области печати. Затем Вы можете изменить значение XYZ, и новый заголовок появится при после- дующих печатях, даже если Вы не использовали заново /TITLE. XYZ='CASE 2' Заголовок " This is CASE 2", появится при последующих печатях. 3.8. Параметрические выражения Параметрические выражения используют операции с параметрами и числами, типа сложения, вычитания, умножения, и деления. Например: X=A+B P=(R2+R1)/2 D=-B+(E**2)-(4*A*C) ! вычисляет D = -B + E2 - 4AC XYZ=(A! вычисляет XYZ=A+Y2 если A! иначе XYZ = B+Y2 INC=A1+(31.4/9) M=((X2-X1)**2-(Y2-Y1)**2)/2 Ниже приведен полный список операторов APDL: Оператор Операция + Сложение - Вычитание * Умножение / Деление ** Возведение в степень < Меньше > Больше Вы можете также использовать круглые скобки для определенности и для того, чтобы "вкладывать" операций, как показано выше. Порядок, в котором программа ANSYS вычисляет выражение, следующий: 1. Операции в круглых скобках (самый внутренний первый) 2. Возведение в степень (справа налево) 3. Умножение и деление (слева направо) 4. Одноместная ассоциация (типа +A или -A) 5. Сложение и вычитание (слева направо) 6. Логическое вычисление (слева направо) Таким образом выражение, типа Y2=A+B ** C/D*E будет вычислено в следующем порядке: B ** C, /D, *E , и +A. Для определенности, Вы должны использовать круглые скобки в подобных выражениях. Круглые скобки могут быть вложены до четырех уровней глубиной, и до девяти операций могут быть выполнены в пределах каждого набора круг- стр. 15 из 76 ANSYS Release 10.0 Documentation / APDL Programmer's Guide Буквари для Инженеров http://cyberkolbasa.com1.ru лых скобок. Старайтесь избегать использовать пробелы между операторами в выражени- ях. В частности никогда не включите пробел перед символом умножения *, потому что остальная часть вводимой строки (начинающаяся с *) интерпретируется как комментарий и поэтому будет игнорироваться. (Не используйте этот способ для комментариев; исполь- зуйте восклицательный знак (!) для этой цели.) ABS(x) Абсолютное значение x. SIGN(x,y) Абсолютное значение x со знаком y. Если y=0 то знак принимается положительным. EXP(x) Число е в степени x (e x ). LOG(x) Натуральный логарифм от x (ln (x)). LOG10(x) Десятичный логарифм от x (log 10 (x)). SQRT(x) Квадратный корень из x. NINT(x) Ближайшее целое к x. MOD(x,y) Остаток от деления x/y. Если y=0 возвращает ноль (0). RAND(x,y) Случайное число (равномерное распределение от x до y (x = ниж- няя граница, y = верхняя граница). GDIS(x,y) Случайная выборка Гауссовского распределения (нормальное рас- пределение) со средним х и стандартным отклонением у. SIN(x), COS(x), TAN(x) Синус, косинус и тангенс от х, где х в радианах по умолчанию. Можно изменить на градусы при помощи команды *AFUN. SINH(x), COSH(x), TANH(x) Гиперболические синус, косинус и тангенс от х. ASIN(x), ACOS(x), ATAN(x) Арксинус, арккосинус и арктангенс от x. x должен быть между -1.0 and +1.0 для ASIN и ACOS. Результат вычисления по умолчанию в радианах, но можно изменить на градусы командой *AFUN. Диапа- зон вывода результатов от -pi/2 до +pi/2 для ASIN и ATAN, и от 0 до pi для ACOS. ATAN2(y,x) Арктангенс y/x с учетом знака каждого аргумента. По умолчанию результат в радианах, но можно заменить на градусы командой *AFUN. Диапазон вывода от -pi до +pi. VALCHR ( CPARM) Числовое значение CPARM (если CPARM не числовой параметр, то возвращает 0.0). CHRVAL ( PARM ) Символьное значение числового параметра PARM . Количество деся- тичных знаков зависит от величины. UPCASE CPARM Прописные буквы эквивалентные CPARM LWCASE (CPARM) Строчные буквы эквивалентные CPARM Ниже приведены примеры использования параметрических функций: PI=ACOS(-1) ! PI = арккосинус от -1, PI вычисляется с машинной точностью Z3=COS(2*THETA)-Z1**2 R2=SQRT(ABS(R1-3)) X=RAND(-24,R2) ! X = случайное число от -24 до R2 *AFUN,DEG ! изменении угловых единиц измерения на градусы стр. 16 из 76 ANSYS Release 10.0 Documentation / APDL Programmer's Guide Буквари для Инженеров http://cyberkolbasa.com1.ru THETA=ATAN(SQRT(3)) ! вычисление THETA равной 60 градусам PHI=ATAN2(-SQRT(3),-1) ! PHI равно -120 градусам *AFUN,RAD ! изменении угловых единиц измерения на радианы X249=NX(249) ! X-координата узла 249 SLOPE=(KY(2)-KY(1))/(KX(2)-KX(1)) ! уклон линии с точками 1 и 2 CHNUM=CHRVAL(X) ! CHNUM = символьное значение X UPPER=UPCASE(LABEL) ! UPPER = верхний регистр символьного значения ! параметра LABEL 3.9. Сохранение, восстановление и запись параметров Если Вы должны использовать в настоящее время определенные параметры в дру- гом сеансе ANSYS, Вы можете записать их в файл и затем считать (восстановить) тот файл. Когда Вы считаете файл, Вы можете или полностью заменить в настоящее время определенные параметры или добавить к ним (заменяя те, что уже существует). Чтобы записать параметры в файл, используйте команду PARSAV (Utility Menu> Parameters> Save Parameters). Файл параметров - файл ASCII, состоящий в значительной степени из APDL ко- манд *SET, определяющих различные параметры. Следующий пример показывает формат этого файла. /NOPR *SET,A,10.00000000000 *SET,B,254.3948750000 *SET,C,'string' *SET,_RETURN,0.0000000000000E+00 *SET,_STATUS,1.000000000000 *SET,_ZX,' ' /GO Считать параметры из файла можно используя команду PARRES (Utility Menu> Parameters> Restore Parameters). Если Вы желаете, Вы можете написать до десяти параметров или массив парамет- ров, используя реальные форматы ФОРТРАНа для файла. Вы можете использовать эту возможность, чтобы записать ваш собственный выходной файл для использования в дру- гих программах, отчетах, и т.д. Чтобы сделать это, используйте команду *VWRITE (Utility Menu> Parameters> Array Parameters> Write to File).Массив параметров 3.10. Массивы В дополнение к скалярному параметру (единственное значение), Вы можете опре- делить параметр как массив (множественные значения). Массивы ANSYS могут быть: • 1-D (один столбец) • 2-D (строки и столбцы) • 3-D (строки, столбцы и плоскости) • 4-D (строки, столбцы, плоскости и книги) • 5-D (строки, столбцы, плоскости, книги и полки) стр. 17 из 76 ANSYS Release 10.0 Documentation / APDL Programmer's Guide Буквари для Инженеров http://cyberkolbasa.com1.ru ANSYS предусматривает три типа массивов: ARRAY Этот тип подобен массивам ФОРТРАНА 77 и по умолчанию тип массива определя- ется, когда задают его размерность. Как с массивами ФОРТРАНА, индексы для строк, столбцов, и плоскостей - последовательные целые числа, начинающиеся с единицы. Эле- менты массива могут быть или целыми числами или вещественными. CHAR Это - символьный массив, с каждым элементом, состоящим из алфавитно- цифрового значения, не превышающего восемь символов. Индексы для строк, столбцов, и плоскостей - последовательные целые числа, начинающиеся с единицы. TABLE Это - специальный тип числового массива, который позволяет ANSYS вычислять (через линейную интерполяцию) значения между этими элементами массива, явно опре- деленными в массиве. Кроме того, Вы можете определить индексы массива для каждой строки, столбца, и плоскости и эти индексы вещественные числа (не целые). Элементы массива могут быть или целыми числами или вещественными. Как мы сможем увидеть далее, в более позднем обсуждении по TABLE-массивам, эта способность обеспечивает мощный метод для того, чтобы описывать математические функции. STRING Вы можете использовать команду *DIM, STRING чтобы ввести строки символов в ваши массивы. Индексные числа для столбцов и плоскостей - последовательные значения, начинающиеся с 1. Индексы строки определены позицией символа в строке. См. команду *DIM для получения дополнительной информации. Все три типа массивов не могут превышать 2**31-1 байт. Для двоичного массива, каждый элемент данных - 8 байтов, таким образом предел на количество входных данных - (2** 31-1)/8. Далее будут рассмотрены следующие разделы по массивам: • Базовые массивы • Примеры массивов • Массивы типа TABLE • Определение и листинг массивов • Определение значений массива • Запись файла данных • Операции над массивами • Построение графика векторных массивов • Изменение меток кривой стр. 18 из 76 ANSYS Release 10.0 Documentation / APDL Programmer's Guide Буквари для Инженеров http://cyberkolbasa.com1.ru 3.10.1. Параметр основного массива Рассмотрим двумерный массив (ARRAY или CHAR) как показано ниже. Где m – количество строк и n – количество столбцов; то есть, его размерность m:n. Каждая строка идентифицируется числовым индексом i, который изменяется от 1 до m, и каждый стол- бец идентифицирован индексом j, который изменяется от 1 до n. Параметры, которые со- ставляют массив называются элементами массива. Каждый элемент массива идентифици- руется как (i, j), где i - его номер строки, и j - его номер столбца. Рис. 3.1. Графическое представление двумерного массива. Мы можем расширить эти представления трехмерным массивом, который может быть m-строк в длину, n-столбцов в ширину и p-плоскостей в глубину. Номер индекса плоскости – k, который изменяется от 1 до p. Каждый элемент массива идентифицируется как (i, j, k). Следующий рисунок показывает трехмерный массив. Рис. 3.2. Графическое представление трехмерного массива. стр. 19 из 76 |