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

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


Скачать 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
страница4 из 10
1   2   3   4   5   6   7   8   9   10
Буквари для Инженеров http://cyberkolbasa.com1.ru
Рис. 3.3. Графическое представление пятимерного массива.
3.10.2. Примеры массивов
Элементы массивов типа ARRAY состоят из дискретных чисел, которые просто размещены в таблице. Рассмотрите следующие примеры. стр. 20 из 76

ANSYS Release 10.0 Documentation / APDL Programmer's Guide
Буквари для Инженеров http://cyberkolbasa.com1.ru
Параметр NTEMP мог быть массивом температур в отобранных узлах; NTEMP(1) =
-47.6 мог быть температурой в узле 27, NTEMP(2) = -5.2 мог быть температурой в узле 43, и так далее. Точно так же EVOLUM мог быть массивом объемов элементов, и COMPSTRS мог быть массивом компонент напряжения, с каждым столбцом представляющим отдель- ное направление (например X, Y, Z, XY, YZ, XZ).
Параметр массива типа CHAR структурирован подобно параметру ARRAY, с таб- личными значениями, являющимися алфавитно-цифровыми строками символов (до вось- ми символов). Два примера символьных параметров массива:
3.10.3. Параметр массива типа TABLE
Параметр массива типа TABEL состоит из чисел (алфавитно-цифровые значения не допустимы), размещенные табличным способом, также как тип массива ARRAY. Однако, есть три важных различия.

ANSYS может вычислить (через линейную интерполяцию) любые значения между явно заявленными значениями элементов массива.

Массив таблицы содержит нулевую строку и нулевой столбец, используемые для значений индекса доступа к данным, и в отличие от стандартных массивов, эти ин- дексные значения могут быть вещественными числами. Единственное ограничение это то, что индексные значения должны быть возрастающими (никогда не убы- вающими) числами. Вы должны явно объявить значение индекса доступа к данным для каждой строки и столбца, иначе назначенное значение по умолчанию "очень малое число" (7.888609052E-31).
Вы можете более удобно определить индексную отправную точку и индексировать значения через команду
*TAXIS.

Значение индекса плоскости постоянно находится в ячейке 0, 0 для каждой плоско- сти.
Следующий рисунок показывает массив TABLE со значениями индекса доступа к данным. Обратите внимание, что индексы определены в нулевых столбцах и строках. стр. 21 из 76

ANSYS Release 10.0 Documentation / APDL Programmer's Guide
Буквари для Инженеров http://cyberkolbasa.com1.ru
Рис. 3.4. Графическое представление табличного массива (TABLE).
Как показано в вышеприведенном примере, конфигурируя массив таблицы, Вы должны установить

Индекс каждой плоскости указывается в элементе массива с индексом 0,0.

Столбец доступа к данным индексирует значения в элементах в0-ых строках в плоскости 1. Обращаясь к данным из массива для всех плоскостей используются только значения индекса столбца из плоскости 1. Устанавливая значения элемента массива, Вы используете традиционный индекс строки и столбца.

Строка доступа к данным индексирует значения в элементах в0-ых столбцах в плоскости 1. Обращаясь к данным из массива для всех плоскостей используются только значения индекса строки от плоскости 1. Устанавливая значения элемента массива, Вы используете традиционный индекс строки и столбца.
3.10.4. Определение и листинг массивов
Чтобы определить параметр массива, Вы должны сначала объявить его тип и раз- мерность, используя команду
*DIM (Utility Menu> Parameters> Array Parameters>
Define/Edit).
Следующие ниже примеры иллюстрируют команду *DIM, используемую, чтобы определить размерность различных типов массивов:
*DIM,AA,,4 ! тип ARRAY по умолчанию, размерность 4[x1x1] стр. 22 из 76

ANSYS Release 10.0 Documentation / APDL Programmer's Guide
Буквари для Инженеров http://cyberkolbasa.com1.ru
*DIM,XYZ,ARRAY,12 ! тип ARRAY, размерность 12[x1x1]
*DIM,FORCE,TABLE,5 ! тип TABLE, размерность 5[x1x1]
*DIM,T2,,4,3 ! размерность 4x3[x1]
*DIM,CPARR1,CHAR,5 ! тип CHAR, размерность 5[x1x1]
Примечание
Элементы массива для ARRAY и TABLE принимают значение 0 (за исключением
0-ых строк и столбца для TABLE, которые принимают очень малое значение). Элементы массива CHAR принимают пустое значение.
Следующий пример показывает, как заполнить массив 5-мерными данными. Ис- пользуйте 1-мерные таблицы, чтобы загрузить 5-мерную таблицу. Используйте команду
*TAXIS, чтобы определить значения индексов таблицы.
*dim,xval,array,X1
*dim,yval,array,Y1 yval(1)=0,20
*dim,zval,array,10 zval(1)=10,20,30,40,50,60,70,80,90,100
*dim,tval,array,5 tval(1)=1,.90,.80,.70,.60
*dim,tevl,array,5 tevl(1)=1,1.20,1.30,1.60,1.80
*dim,ccc,tab5,X1,Y1,Z1,D4,D5,X,Y,Z,TIME,TEMP
*taxis,ccc(1,1,1,1,1),1,0,wid !!! X-Dim
*taxis,ccc(1,1,1,1,1),2,0,hth !!! Y-Dim
*taxis,ccc(1,1,1,1,1),3,1,2,3,4,5,6,7,8,9,10 !!! Z-Dim
*taxis,ccc(1,1,1,1,1),4,0,10,20,30,40
!!! Time
*taxis,ccc(1,1,1,1,1),5,0,50,100,150,200 !!! Temp
*do,ii,1,2
*do,jj,1,2
*do,kk,1,10
*do,ll,1,5
*do,mm,1,5 ccc(ii,jj,kk,ll,mm)=(xval(ii)+yval(jj)+zval(kk))*tval(ll)*tevl(mm)
*enddo
*enddo
*enddo
*enddo
*enddo
3.10.5. Определение значений параметра массива
Вы можете определить значения массива

Установив индивидуальные значения массива через команду
*SET или сокращен- но через знак "=".

Заполнив отдельные векторы (столбцы) в массиве с заданными или с вычисленны- ми значениями (команда *VFILL).

В интерактивном режиме определив значения для элементов через диалоговое окно
*VEDIT.

Чтением значений из файла ASCII (команды *VREAD или
*TREAD).
Примечание
Вы не можете создать или редактировать 4-х или 5-мерные массивы в интерактив- ном режиме. Команды *VEDIT, *VREAD и
*TREAD не применимы к ним. стр. 23 из 76

ANSYS Release 10.0 Documentation / APDL Programmer's Guide
Буквари для Инженеров http://cyberkolbasa.com1.ru
3.10.5.1. Определение отдельных значений массива
Вы можете использовать команду *SET или знак "=". Используется также как и для скалярных параметров, за исключением того, что Вы теперь определяете столбец дан- ных (до десяти значений элемента массива в команде "="). Например, чтобы определить параметр XYZ размерностью массива 12x1 (12 строк на 1 столбец), Вам понадобиться ис- пользовать дважды команду "=". В следующем примере первая команда определяет пер- вые восемь элементов массива, и вторая команда определяет следующие четыре элемента массива:
XYZ(1)=59.5,42.494,-9.01,-8.98,-8.98,9.01,-30.6,51
XYZ(9)=-51.9,14.88,10.8,-10.8
Обратите внимание, что начальное местоположение элемента массива обозначено номером индекса строки параметра (1 в первой команде и 9 во второй команде).
Следующий пример показывает, как определить значения элемента для параметра массива T2 размерностью 4x3, проставленной ранее в примере использования команды
*DIM:
T2(1,1)=.6,2,-1.8,4
! эл-ты массива (1,1),(2,1),(3,1),(4,1)
T2(1,2)=7,5,9.1,62.5
! эл-ты массива (1,2),(2,2),(3,2),(4,2)
T2(1,3)=2E-4,-3.5,22,.01 ! эл-ты массива (1,3),(2,3),(3,3),(4,3)
Следующий пример определяет значения элемента для параметра FORCE таблич- ного массива (TABLE), обсуждаемого ранее.
FORCE(1)=0,560,560,238.5,0
FORCE(1,0)=1E-6,.8,7.2,8.5,9.3
Первая команда “=” определяет пять элементов параметра FORCE табличного мас- сива. Вторая команда “=” переопределяет индексы. стр. 24 из 76

ANSYS Release 10.0 Documentation / APDL Programmer's Guide
Буквари для Инженеров http://cyberkolbasa.com1.ru
Символьные параметры массива могут также быть определены, используякоманду
"=". Определяемые значения могут быть до восьми символов каждый и должны быть за- ключены в одиночные кавычки. Например:
*DIM,RESULT,CHAR,3 ! параметр символьного массива размерностью (3,1,1)
RESULT(1)='SX','SY','SZ' ! присвоение значений параметру RESULT
Обратите внимание, что, определяя числовой параметр массива, начальное место- положение элемента массива должно быть определено (в этом случае, обозначен индекс строки номер 1).
Примечание
Массив типа CHAR не может использоваться как символьное имя параметра, пото- му что это создаст конфликт с меткой CHAR в команде *DIM. ANSYS заменит значение строкой символов, назначенным на параметр CHAR, когда CHAR будет введен на третьем поле команды *DIM.
3.10.5.2. Заполнение массива векторов
Вы можете использовать команду
*VFILL (Utility Menu> Parameters> Array
Parameters> Fill), чтобы "заполнять" массив ARRAY или вектор (столбец) TABLE.
Для более подробной информации о синтаксисе команды *VFILL см. справочную систему ANSYS. Следующий пример иллюстрирует возможности команды *VFILL.
*DIM,DTAB,ARRAY,4,3
! размерность числового массива 4x3
*VFILL,DTAB(1,1),DATA,-3,8,-12,57 ! четыре значения данных
! загружены в вектор 1
*VFILL,DTAB(1,2),RAMP,2.54,2.54 ! заполнение вектора 2 данными начиная
! со значения 2.54 и с шагом 2.54
*VFILL,DTAB(1,3),RAND,1.5,10 ! заполнение вектора 3 случайными числами
! между 1.5 и 10. Результат будет
! изменяться из-за случайных чисел.
3.10.5.3. Редактирование массивов в интерактивном режиме
Команда *VEDIT (Utility Menu> Parameters> Array Parameters> Define/Edit), доступная только в интерактивном режиме, запускает диалоговое окно ввода данных, ко- торое Вы можете использовать, чтобы редактировать массивы типа ARRAY или TABLE
(не CHAR). Диалоговое окно обеспечивает множество удобных возможностей: стр. 25 из 76

ANSYS Release 10.0 Documentation / APDL Programmer's Guide
Буквари для Инженеров http://cyberkolbasa.com1.ru

Редактор стиля электронной таблицы для значений элементов массива.

Навигационные управления для того, чтобы просматривать большие массивы.

Инициализирующая функция, чтобы установить в любую строку или столбец не- обходимое значение (только для ARRAY).

Функции удаления, копирования и вставки для того, чтобы перемещать строки или столбцы данных (только для ARRAY).
Полные инструкции по использованию диалоговых окон доступны при нажатии кнопки «Help» в диалоговом окне.
Примечание
Вы не можете редактировать 4-х или 5-мерные массивы типа ARRAY или TABLE в интерактивном режиме.
Рис. 3.4. Пример диалогового окна *VEDIT для редактирования массива типа ARRAY.
Рис. 3.4. Пример диалогового окна *VEDIT для редактирования массива типа TABLE.
3.10.5.4. Заполнение массива из файла данных командой *VREAD
Вы можете заполнить массив из файла данных, используя команду
*VREAD
(Utility Menu> Parameters> Array Parameters> Read from File). Команда считывает ин- формацию из файла данных ASCII и начинает записывать их в массив, начиная с индекса, который Вы определили. Вы можете управлять форматом чтения информации из файла до стр. 26 из 76

ANSYS Release 10.0 Documentation / APDL Programmer's Guide
Буквари для Инженеров http://cyberkolbasa.com1.ru описателей данных. Описатели данных должны быть заключены в круглые скобки и по- мещены в строку после команды
*VREAD. См. раздел «Векторные операции» для получе- ния дополнительной информации об описателях данных. Описатели данных управляют числом полей, которые считываются при каждой записи, шириной полей данных и пози- цией десятичной точки в поле.
Например дан следующий файл данных с именем dataval:
1.5 7.8 12.3 15.6 -45.6 42.5 и массив по имени EXAMPLE, который определен, и которому задана размерность 2x3, следующими командами
*DIM,EXAMPLE,,2,3
*VREAD,EXAMPLE(1,1),dataval,,,JIK,3,2
(3F6.1) в результате получаем
1.5 7.8 12.3
EXAMPLE=
15.6 -45.6 42.5
Команда *VREAD не может быть использована непосредственно из окна ввода ко- манд. Однако, Utility Menu> Parameters> Array Parameters> Read from File диалоговое окнопредлагает способ определить описатели данных и использовать команду в интерак- тивном режиме.
Примечание
Вы не можете заполнить 4-х или 5-мерный массив, используя команду
*VREAD.
3.10.5.5. Заполнение табличного массива из файла данных командой
*TREAD
После того, как массив сконфигурирован, Вы имеете две опции для того, чтобы оп- ределить значения для элементов массива TABLE: Вы можете добавить значения, также как и для любого другого типа массива, или Вы можете считать в таблицу данные из внешнего файла.
Чтобы считать в таблицу данные из внешнего файла, Вы должны во первых опре- делить массив TABLE, задав число строк, столбцов, плоскостей, и меток для каждого. Вы можете тогда считать файл ASCII, содержащий таблицу данных, используя команду
*TREAD (Utility Menu> Parameters> Array Parameters> Read from File). В это время,
Вы также определяете число строк, которые необходимо пропустить (NSKIP) между заго- ловком файла и первой строки таблицы.
Считывая данные из внешнего файла, помните:

Файл, содержащий таблицу данных может быть создан в текстовом редакторе или внешнем приложении (типа Microsoft Excel), но он должен быть в форме ASCII разграниченный символами табуляции, чтобы читаться в ANSYS.

Вы должны сначала определить массив в ANSYS, не забывая учитывать индексные значения (0,0).

Значения читаются прямо поперек строк, пока все столбцы на каждой строке мас- сива не заполнятся; тогда ANSYS переходит от одной строки к следующей и начи- нает заполнять в ней столбцы, и так далее. Убедитесь, что размерность массива, который Вы определили, правильна. Если Вы по ошибке определите меньше столб- стр. 27 из 76

ANSYS Release 10.0 Documentation / APDL Programmer's Guide
Буквари для Инженеров http://cyberkolbasa.com1.ru цов в массиве чем необходимо, то ANSYS начнет заполнять в следующей строке массива, используя значения, остающиеся в первой строке читаемой таблицы дан- ных. Точно так же, если Вы определите больше столбцов в массиве чем необходи- мый, то ANSYS заполнит все столбцы массива, используя значения от следующей строки считываемой таблицы данных и только тогда перейдет на следующую стро- ку и начнет ее заполнять.
Вы можете создать 1- , 2- , и 3-мерные таблицы, считывая данные из внешнего фай- ла. Примеры того, как их создавать, последуют ниже.
Примечание
Вы не можете заполнить 4-х или 5-мерный массив типа TABLE, используя команду
*TREAD.
Пример 1: 1-мерная таблица.
Сначала, создайте 1-мерную таблицу, используя приложение по вашему выбору ( типа электронной таблицы, редактора текста, и т.д.) и затем сохраните файл как текстовый файл в формате с символами табуляции. В этом примере, таблица называется "Tdata" и содержит данные температуры в зависимости от времени. Эта таблица в форме ASCII вы- глядела бы следующим образом:
Time Temperature Table
Time Temp
0 20 1 30 2 70 4 75
В ANSYS Вы определяете параметр TABLE с именем "Tt", используя команду
*DIM (Utility Menu> Parameters> Array Parameters> Define/Edit). Определите 4 строки и 1 столбец, метку строки Time и метку столбца Temp. Обратите внимание, что таблица данных, которую Вы создали, имеет четыре строки и один столбец, плюс строка и значе- ния индекса столбца (первый столбец - TIME - является значениями индекса строки). То- гда массив TABLE считываемый из файла, который был описан ранее, с 2-мя пропущен- ными строками выглядел бы в ANSYS следующим образом:
Риз. 3.7. Пример диалогового окна для 1-мерной таблицы. стр. 28 из 76

ANSYS Release 10.0 Documentation / APDL Programmer's Guide
Буквари для Инженеров http://cyberkolbasa.com1.ru
Тот же самый пример, выполненный через командную строку, был бы похож на следующее:
*DIM,Tt,table,4,1,1,TIME,TEMP
*TREAD,Tt,tdata,txt,,2
Пример 2: 2-мерная таблица
Для этого примера, создайте (в текстовом редакторе или в другом приложении) 2- мерную таблицу с именем "T2data", содержащую температурные данные как функцию времени и x-координаты и считайте его в параметр массива TABLE по имени "Ttx". Эта таблица в форме ASCII выглядела бы следующим образом:
Temp (time-X-coord) Table
Time X-coordinate
0
0 .3 .5 .7 .9
0
10 15 20 25 30
1
15 20 25 35 40
2
20 25 35 55 60
4
30 40 70 90 100
В ANSYS, Вы определяете параметр TABLE "Ttx" используя команду
*DIM
(Util-
ity Menu> Parameters> Array Parameters> Define/Edit). Определите 4 строки, 5 столб- цов, 1 плоскость, метку строки Time и метку столбца X-coord. Обратите внимание, что таблица данных, которую Вы создали, имеет четыре строки и пять столбцов данных, плюс строка со значениями индекса столбца. Затем считайте данные из файла как описано ра- нее, определив 2 пропущенных строки. Этот массив в ANSYS выглядел бы следующим образом:
Рис. 3.8. Пример диалогового окна для 2-мерной таблицы.
Тот же самый пример, выполненный через командную строку, был бы похож на следующее:
*DIM,Ttx,table,4,5,,time,X-COORD
*TREAD,Ttx,t2data,txt,,2 стр. 29 из 76

ANSYS Release 10.0 Documentation / APDL Programmer's Guide
Буквари для Инженеров http://cyberkolbasa.com1.ru
Пример 3: 3-мерная таблица
Для этого примера, создайте 3-мерную таблицу по имени "T3data", содержащий температурные данные как функцию времени, x-координаты и y-координаты и считайте ее в параметр массива TABLE с именем "Ttxy". Таблица в форме ASCII выглядела бы сле- дующим образом:
Temp (time-X-coord) Table
Time
X-coordinate
0
0 .3 .5 .7 .9
0
10 15 20 25 30
1
15 20 25 35 40
2
20 25 35 55 60
4
30 40 70 90 100
1.5
0 .3 .5 .7 .9
0
20 25 30 35 40
1
25 30 35 45 50
2
30 35 45 65 70
4
40 50 80 100 120
В примере выше, полужирные значения (в позиции (0,0,Z)) указывают отдельные плоскости. Каждая плоскость данных, наряду со строкой и значениями индекса столбца, повторяется для каждой плоскости. Отличаются только значение индекса плоскости и фактические значения данных. Затененная область показывает значения, которые изме- няются от плоскости к плоскости.
В ANSYS, Вы определяете параметр TABLE "Ttxy" используя команду
1   2   3   4   5   6   7   8   9   10


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