Главная страница

Буквари для Инженеров


Скачать 1.52 Mb.
НазваниеБуквари для Инженеров
Анкорansys_release_10_0_documentation_apdl.pdf
Дата16.12.2017
Размер1.52 Mb.
Формат файлаpdf
Имя файлаansys_release_10_0_documentation_apdl.pdf
ТипСправочник
#11751
страница6 из 10
1   2   3   4   5   6   7   8   9   10
*MFUN Utility Menu> Parameters> Array Operations> Matrix Functions
Копирует или транспонирует матрицу массива (принимает одну входную матрицу и производит одну матрицу на выходе).
*MFOURI Utility Menu> Parameters> Array Operations> Matrix Fourier
Вычисляет коэффициенты или оценивает ряд Фурье.
Ниже следующие примеры иллюстрируют использование некоторых из этих ко- манд. Обратитесь к справочной системе ANSYS для информации о синтаксисе этих ко- манд.
Этот пример показывает возможности сортировки с помощью команды
*MOPER.
Для этого примера, предположим, что для массива (SORTDATA) была определена раз- мерность и значения его элементов следующим образом:
Сначала для массива OLDORDER определяется размерность.
Затем команда
*MOPER разместит первоначальную нумерацию расположения строк в массив стр. 39 из 76

ANSYS Release 10.0 Documentation / APDL Programmer's Guide
Буквари для Инженеров http://cyberkolbasa.com1.ru
OLDORDER. Далее команда
*MOPER сортирует строки в массиве SORTDATA так, чтобы вектор 1,1 был теперь в порядке возрастания.
*dim,oldorder,,5
*moper,oldorder(1),sortdata(1,1),sort,sortdata(1,1)
Следующий массив оценивает следствие
*MOPER
команды:
Вернуть массив SORTDATA в его первоначальный порядок, Вы можете использо- вав следующую команду:
*moper,oldorder(1),sortdata(1,1),sort,oldorder(1,1)
В следующем примере, команда
*MOPER решает систему уравнений. Для следую- щих двух массивов были заранее определены размерности и значения их элементов:
Команда *MOPER может решить систему уравнений для квадратной матрицы.
Уравнения принимают форму
a
n1
X
1
+ a
n2
X
2
+ , . . . , + a
nn
X
n
= b
n
В случае вышеупомянутых массивов,
команда *MOPER решит следующий набор совместных уравнений:
2X
1
+ 4X
2
+ 3X
3
+2X
4
= 2
3X
1
+ 6X
2
+ 5X
3
+ 2X
4
= 2
2X
1
+ 5X
2
+ 2X
3
- 3X
4
=3
4X
1
+ 5X
2
+14X
3
+ 14X
4
= 11
Чтобы решить уравнения, сначала для массива результатов (C) определяем размер- ность. Затем команда
*MOPER решает уравнения, используя матрицу А как коэффициенты и B как вектор значений.
*DIM,C,,4
*MOPER,C(1),A(1,1),SOLV,B(1)
Массив C теперь содержит следующие решения. стр. 40 из 76

ANSYS Release 10.0 Documentation / APDL Programmer's Guide
Буквари для Инженеров http://cyberkolbasa.com1.ru
Следующий пример показывает использование команды
*MFUN, чтобы транспони- ровать данные в массиве. Для этого примера предполагается, что для массива (DATA) бы- ла определена размерность и заполнены его элементы следующими значениями:
Как обычно, для массива результатов (DATATRAN) проставляем размерность, за- тем команда
*MFUN транспонирует значения и записывает их в массив DATATRAN.
*DIM,DATATRAN,,2,3
*MFUN,DATATRAN(1,1),TRAN,DATA(1,1)
Ниже показаны результаты в массиве DATATRAN:
3.10.7.3. Перечень команд для операций с векторами и матрицами
Все векторные и матричные команды затрагивают установки следующих команд:
*VCUM,
*VABS,
*VFACT,
*VLEN,
*VCOL,
*VMASK. (Из всех перечисленных команд толь- ко
*VLEN и
*VMASK, вместе с
*VREAD или
*VWRITE, являются допустимыми для сим- вольных параметров массива.) Вы можете проверить состояние этих команд с помощью команды
*VSTAT. Большинство этих команд (и их пути GUI) были описаны ранее в этой главе. Другие – объясняются ниже.
За исключением команды
*VSTAT, к которой Вы не можете обратиться непосред- ственно из GUI, все перечисленные команды доступны через Utility Menu> Parameters>
Array Operations> Operation Settings.
Важно: Все команды перечня сбрасываются к их настройкам по умолчанию после каждой векторной или матричной операции.
*VCUM
Определяет, будут ли результаты кумулятивными или некумулятивными (переза- пись предыдущих результатов). ParR, результат векторной операции, или добавляется к существующему параметру того же самого имени или записывается поверх. Значение по умолчанию - некумулятивные результаты, то есть, ParR записывается поверх сущест- вующего параметра с тем же самым именем.
*VABS
Применяет вычисление абсолютного значение к любым из параметров, вовлечен- ных в векторную операцию. Значение по умолчанию – использовать вещественное (алгеб- раическое) значение. стр. 41 из 76

ANSYS Release 10.0 Documentation / APDL Programmer's Guide
Буквари для Инженеров http://cyberkolbasa.com1.ru
*VFACT
Применяет масштабный коэффициент к любым из параметров, вовлеченных в век- торную операцию. Значение масштабного коэффициента по умолчанию - 1.0 (полное зна- чение).
*VCOL
Определяет число столбцов в матричных операциях. Значение по умолчанию должно заполнить все ячейки результирующего массива от указанного стартового место- положения.
*VSTAT
Перечисляет текущие настройки для параметров массива.
*VLEN Utility Menu> Parameters> Array Operations> Operation Settings
Определяет число строк, которые используются в операциях параметра массива.
*VMASK Utility Menu> Parameters> Array Operations> Operation Settings
Определяет параметр массива как маскирующий вектор.
Следующая таблица перечисляет различные команды перечня, а также векторные и матричные команды массива, которые они затрагивают.
*VABS *VFACT *VCUM
*VCOL *VLENNROW,NINC
*VMASK
*MFOURI
No
No
No
No
No
No
No
*MFUN
Yes
Yes
Yes
No
Yes
No
Yes
*MOPER
Yes
Yes
Yes
No
Yes
No
Yes
*VFILL
Yes Yes Yes N/A Yes Yes Yes
*VFUN
Yes Yes Yes N/A Yes Yes Yes
*VGET
Yes Yes Yes N/A Yes Yes Yes
*VITRP
Yes Yes Yes N/A Yes Yes Yes
*VOPER
Yes Yes Yes N/A Yes Yes Yes
VPLOT
No
No
N/A
N/A
Yes
Yes
Yes
*VPUT
Yes Yes No
N/A Yes Yes Yes
*VREAD
Yes Yes Yes N/A Yes Yes Yes
*VSCFUN
Yes Yes Yes N/A Yes Yes Yes
*VWRITE
No
No
N/A
N/A
Yes
Yes
Yes
Ниже следующие примеры иллюстрируют использование некоторых из этих ко- манд. Обратитесь к справочной системе ANSYS для информации о синтаксисе этих ко- манд.
В следующем примере проставлены размеры массива результатов (CMPR). Затем две команды
*VFUN, вместе с предшествующими командами
*VMASK и
*VLEN, сжимают отобранные данные и записывают их в указанные местоположения в массив CMPR. В ко- манде *VFUN в дополнение к операции COMP используется операция EXPA.
*DIM,CMPR,ARRAY,4,4
*VLEN,4,2 !
Выполняется следующая *V-команда
! для каждой четвертой строки,
! пропуская каждую вторую
*VFUN,CMPR(1,2),COMP,Y(1,1) стр. 42 из 76

ANSYS Release 10.0 Documentation / APDL Programmer's Guide
Буквари для Инженеров http://cyberkolbasa.com1.ru
*VMASK,X(1,3) ! используется столбец 3 массива X
! как маска для следующей *V-команды
*VFUN,CMPR(1,3),COMP,Y(1,2)
Этот пример использует
*VFACT команду для округления значений в векторе мас- сива до некоторого количества десятинных знаков, определенных скалярным параметром
NUMDP (равен 2 в данном примере). Для массива NUMDATA была определена размер- ность и значения его элементов: numdp=2
*vfact,10**numdp
*vfun,numdata(1),copy,numdata(1)
*vfun,numdata(1),nint,numdata(1)
*vfact,10**(-numdp)
*vfun,numdata(1),copy,numdata(1) или, Вы можете использовать немного более короткую версию numdp=2
*vfact,10**numdp
*vfun,numdata(1),copy,numdata(1)
*vfact,10**(-numdp)
*vfun,numdata(1),nint,numdata(1)
Тогда массив NUMDATA будет выглядеть так:
Этот пример использует команды
*VLEN и
*VMASK, чтобы найти набор простых чисел меньше чем 100. Массив, MASKVECT, создан, используя 1.0, чтобы указать, что значение строки – простое число и 0.0, чтобы указать, что значение не является простым.
Алгоритм, используемый, чтобы создать вектор маски должен инициализировать все строки, значение которых больше чем 1 к 1.0 и затем цикл через диапазон возможных факторов, исключая все однотипные факторы.
Команда *VLEN
устанавливает прираще- ние строки для того, чтобы выполнить операции с FACTOR. Когда команда
*VFILL
об- работана, номер строки увеличивается на это значение. Поскольку стартовая строка -
FACTOR x 2, строки обработываются каждым циклом в следующей манере: FACTOR x 2,
ФАКТОР x 3, ФАКТОР x 4, и т.д. стр. 43 из 76

ANSYS Release 10.0 Documentation / APDL Programmer's Guide
Буквари для Инженеров http://cyberkolbasa.com1.ru
*dim,maskvect,,100
*vfill,maskvect(2),ramp,1
*do,factor,2,10,1
*vlen,,factor
*vfill,maskvect(factor*2),ramp,0
*enddo
*vmask,maskvect(1)
*dim,numbers,,100
*vfill,numbers(1),ramp,1,1
*status,numbers(1),1,10
Результат действия команды
*STATUS, отображает первые 10 элементов в массиве
NUMBERS:
PARAMETER STATUS- NUMBERS ( 5 PARAMETERS DEFINED)
(INCLUDING 2 INTERNAL PARAMETERS)
LOCATION VALUE
1 1 1 0.000000000E+00 2 1 1 2.00000000 3 1 1 3.00000000 4 1 1 0.000000000E+00 5 1 1 5.00000000 6 1 1 0.000000000E+00 7 1 1 7.00000000 8 1 1 0.000000000E+00 9 1 1 0.000000000E+00 10 1 1 0.000000000E+00
3.10.8. Построение графиков векторных массивов
Вы можете графически отобразить значения вектора массива, используя команду
*VPLOT.
Следующий ниже пример демонстрирует некоторые из возможностей команды
*VPLOT. Для этого примера, два массива типа TABLE (TABLEVAL и TABLE2) и один числовой массив были определены и заполнены следующими значениями:
Ниже представлен результат применения команды
*VPLOT. Обратите внимание, что, так как данные массива типа ARRAY неупорядочиваются, то график представлен как гистограмма; данные массива типа TABLE упорядочиваются и поэтому график представ- лен как кривая. стр. 44 из 76

ANSYS Release 10.0 Documentation / APDL Programmer's Guide
Буквари для Инженеров http://cyberkolbasa.com1.ru
Для построения графика применяется следующая команда.
*vplot,,arrayval(1,1),2
Рис. 3.11. Пример построения графика.
Для построения графика применяется следующая команда.
*vplot,,tableval(1,1),2
Рис. 3.12. Пример построения графика. стр. 45 из 76

ANSYS Release 10.0 Documentation / APDL Programmer's Guide
Буквари для Инженеров http://cyberkolbasa.com1.ru
Для построения графика применяется следующая команда.
*vplot,table2(1),tableval(1,1),2
Рис. 3.13. Пример построения графика.
График (ниже) следовавший следующая команда.
*vplot,tableval(1,0),tableval(1,1),2
Рис. 3.14. Пример построения графика. стр. 46 из 76

ANSYS Release 10.0 Documentation / APDL Programmer's Guide
Буквари для Инженеров http://cyberkolbasa.com1.ru
3.10.9. Изменение меток кривой
Когда Вы используете
*VPLOT, чтобы создать ваши кривые, используются метки по умолчанию. Обычно, метка для кривой 1 – «COL 1», метка для кривой 2 – «COL 2» и так далее; номер столбца это поле, содержащее зависимые переменные для этой конкрет- ной кривой. Вы можете использовать команду /GCOLUMN, чтобы применить ваши собст- венные метки к кривым (любая строка до восьми символов).
Ниже приводится пример использования команды /GCOLUMN в начале программы, чтобы применить метки “string01” и “string02” к кривой массива.
/gcol,1,string01
/gcol,2,string02
*dim,xxx,array,10
*dim,yyy,array,10,2 xxx( 1,1) =1e6 xxx( 2,1) = 1e6 + 1e5 xxx( 3,1) = 1e6 + 2e5 xxx( 4,1) = 1e6 + 3e5 xxx( 5,1) = 1e6 + 4e5 xxx( 6,1) = 1e6 + 5e5 xxx( 7,1) = 1e6 + 6e5 xxx( 8,1) = 1e6 + 7e5 xxx( 9,1) = 1e6 + 8e5 xxx(10,1) = 1e6 + 9e5 yyy( 1,1) = 1 yyy( 2,1) = 4 yyy( 3,1) = 9 yyy( 4,1) = 16 yyy( 5,1) = 25 yyy( 6,1) = 36 yyy( 7,1) = 49 yyy( 8,1) = 64 yyy( 9,1) = 81 yyy(10,1) = 100 yyy( 1,2) = 1 yyy( 2,2) = 2 yyy( 3,2) = 3 yyy( 4,2) = 4 yyy( 5,2) = 5 yyy( 6,2) = 6 yyy( 7,2) = 7 yyy( 8,2) = 8 yyy( 9,2) = 9 yyy(10,2) = 10
*vplo,xxx(1,1), yyy(1,1) ,2 стр. 47 из 76

ANSYS Release 10.0 Documentation / APDL Programmer's Guide
Буквари для Инженеров http://cyberkolbasa.com1.ru
Рис. 3.15. Пример построения графика с пользовательскими метками.
Метки могут быть возвращены к значениям по умолчанию (COL 1 и COL 2), ис- пользуя команду /GCOLUMN без аргумента STRING.
/gcol,1
/gcol,2
4. APDL как макроязык
Вы можете сделать запись часто используемой последовательности команд ANSYS в макрофайле (их иногда называют командными файлами). Создание макроса, в действи- тельности, подобно созданию вашей собственной команды ANSYS. Например, вычисляя потери мощности в магнитном анализе, поток данных должен был бы пройти через серию команд ANSYS в постпроцессоре. Сделав запись этого набора команд в макросе, Вы по- лучите новую отдельную команду, которая выполняет все команды, требуемые для этого вычисления. В дополнение к выполнению серии команд ANSYS, макрос может вызвать функции GUI или передать значения в параметры.
Вы можете также использовать вложенные макросы. Таким образом, один макрос может вызвать второй макрос, второй макрос может вызвать третий макрос, и так далее.
Вы можете использовать до 20 уровней вложения, включая любые смены файла, вызван- ные командой /INPUT. После того, как каждый вложенный макрос выполнится, управле- ние потоком данных возвращается программой ANSYS к предыдущему макро-уровню.
Ниже следует очень простой пример макрофайла. В этом примере, макрос создает призму с размерами 4, 3 и 2, и сферу с радиусом 1. Затем выполняется вычитание сферы из одного угла призмы.
/prep7
/view,,-1,-2,-3 block,,4,,3,,2 sphere,1 vsbv,1,2 стр. 48 из 76 finish

ANSYS Release 10.0 Documentation / APDL Programmer's Guide
Буквари для Инженеров http://cyberkolbasa.com1.ru
Если бы этот макрос называли mymacro.mac, то Вы могли бы выполнить эту по- следовательность команд используя следующую единственную команду ANSYS
*use,mymacro или просто (потому что расширение mac) mymacro
Хотя это и не реальный макрос, однако он иллюстрирует принцип использования макросов.
Эта глава предоставляет информацию относительно различных способов, которы- ми Вы можете создавать, хранить и выполнять макрос. В ней также обсуждается основная информация о том как использовать APDL в создании макросов.
Далее рассматриваются следующие разделы:

Создание макроса

Выполнение макросов и макробиблиотек

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

Управление процессом выполнения программы в APDL

Справочник функций управления

Использование параметров _STATUS и _RETURN в макросах

Использование макросов с отдельными компонентами и сборками

Примеры макросов
4.1. Создание макроса
Вы можете создать макрос непосредственно в ANSYS или c использованием ваше- го текстового редактора ( типа emacs, vi, или wordpad). Если ваш макрос довольно прост и короток, то создать его в ANSYS может быть более удобным. Если Вы будете создавать большой и более сложный макрос или редактируете существующий макрос, то Вам пона- добиться текстовый редактор. Кроме того, текстовый редактор позволит Вам использовать похожие макросы или log-файл ANSYS как источник для вашего нового макроса.
Для любого большого и сложного макроса Вы должны всегда рассматривать похо- жие макросы или выполнение задачи в интерактивном режиме в ANSYS и использование получающегося log-файла как подоснову для нового макроса. Любой из этих методов мо- жет значительно сократить время и усилия, требуемые для создания необходимого макро- са.
Далее будут рассмотрены следующие темы по созданию макросов:

Соглашение об именах макросов

Путь поиска макрофайлов

Создание макросов в среде ANSYS

Создание макросов в текстовом редакторе

Использование библиотек макросов
4.1.1. Соглашение об именах макросов
Макрос - это последовательность команд ANSYS, сохраненных в файле. Макрос не должен иметь того же самого имени как и существующие команды ANSYS, или начи- наться с первых четырех символов команд ANSYS, потому что ANSYS выполнит внут- стр. 49 из 76

ANSYS Release 10.0 Documentation / APDL Programmer's Guide
Буквари для Инженеров http://cyberkolbasa.com1.ru реннюю команду вместо макроса. Следующие ограничения имен относятся к макрофай- лам:

Имя файла не может превышать 32 символа.

Имя файла не может начаться с цифры.

Расширение файла не может содержать больше чем восемь символов (если Вы вы- полняете макрос как команду ANSYS, то расширение должно быть
.mac.)

Имя файла или расширение не могут содержать пробелов.

Имя файла или расширение не могут содержать никаких символов запрещенных вашей файловой системой и, для совместимости, не должны содержать никаких символов запрещенных UNIX или Windows.
Для гарантии того, что Вы не используете имя команды ANSYS, перед запуском макроса наберите имя файла, которое Вы желаете использовать как команду ANSYS, в командной строке и запустите на выполнение как обычную команду. Если ANSYS выве- дет сообщение, которое показано ниже, то Вы будете знать точно, что такая команда не используется в текущем процессоре. Вы должны проверить имя макрофайла в каждом процессоре, в котором Вы планируете использовать макрос. (Вы можете также проверить соответствует ли имя макрофайла какой-нибудь команде, перечисленной в справочной документации ANSYS; однако, этот метод не может определить имен недокументирован- ных команд.)
Рис. 4.1. Окно сообщения ANSYS о неизвестной команде.
Использование расширения
.mac позволяет ANSYS выполнять макрос как любую другую внутреннюю команду. Вы должны избегать использовать расширения
.MAC, по- тому что оно используется для внутренних макросов ANSYS.
1   2   3   4   5   6   7   8   9   10


написать администратору сайта