Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ansys_release_10_0_documentation_apdl.pdf
Скачиваний:
890
Добавлен:
12.03.2015
Размер:
1.6 Mб
Скачать

ANSYS Release 10.0 Documentation / APDL Programmer's Guide

Следующий пример показывает использование команды *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

Применяет вычисление абсолютного значение к любым из параметров, вовлеченных в векторную операцию. Значение по умолчанию – использовать вещественное (алгебраическое) значение.

Буквари для Инженеров http://cyberkolbasa.com1.ru

стр. 41 из 76

ANSYS Release 10.0 Documentation / APDL Programmer's Guide

*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)

Буквари для Инженеров http://cyberkolbasa.com1.ru

стр. 42 из 76

ANSYS Release 10.0 Documentation / APDL Programmer's Guide

*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, и т.д.

Буквари для Инженеров http://cyberkolbasa.com1.ru

стр. 43 из 76

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]