|
||
| Правила | Регистрация | Пользователи | Поиск | Сообщения за день | Все разделы прочитаны | Справка по форуму | Файлообменник | |
|
Поиск в этой теме |
31.07.2012, 16:49 | #1 | |
Забрать результаты в массив
Инженер, преподаватель
Красногорск
Регистрация: 18.01.2012
Сообщений: 77
|
||
Просмотров: 2914
|
|
||||
Регистрация: 11.02.2011
Москва
Сообщений: 223
|
может быть формат забыли после *VREAD?
у меня вот такой макрос есть, вроде работает !Подгружаем из файла значения в массив /POST1 *dim,primer,array,16,1 *vread,primer(1,1),C:\primer,prn (1g8.0) !Заменяем напряжения по X на значения из массива *DO,i,1,16,1 *VPUT, primer(i,1), NODE, i, S, X *ENDDO !Отображаем эти значения PLNSOL, S,X, 0,1.0 |
|||
|
||||
Регистрация: 26.09.2011
Сообщений: 22
|
Создать массив напряжений Array уже с проделанными необходимыми операциями, затем перенести этот массив в ETable, после уже отображать стандартным способом.
Здесь все подробно описано: http://forum.dwg.ru/showthread.php?t=73089 |
|||
|
||||
Цитата:
|
||||
|
||||
Регистрация: 26.09.2011
Сообщений: 22
|
С помощью цикла, перебирая все узлы (в данном примере - элементы)
/POST1 ETABLE,st1_etable,S,INT ! одномерный массив интенсивности напряжений *get,n_elem,elem,,count ! присваиваем переменной n_elem общее количество элементов *DIM,ST1,ARRAY,n_elem,1,1, , , ! создаем пустой одномерный массив с количеством строк n_elem ne=0 *do,i,1,n_elem ne=elnext(ne) *GET,st1ei,ELEM,ne,ETAB,ST1_etable ! вытаскиваем значение интенсивности напряжений (st1ei) для данного элемента и делаем ним все, что хотим ST1(i)=st1ei ! заполняем пустой массив значениями интенсивности напряжений (номер строки равен номеру элемента) *enddo |
|||
|
||||
Для узла *get,....,s,x даёт ошибку - "Result not stored"
Мысли вслух: если *get работает для элементных результатов, то можно, пользуясь вашим макросом забить массив ими, а потом из них посчитать узловые вручную, в том же цикле. Непонятно в этом случае вот что: каждому элементу будет соответствовать одна величина напряжения, в то время как для элементов второго порядка, в точках интегрирования разные значения. Эта величина - простое усреднение? |
||||
|
||||
Регистрация: 26.09.2011
Сообщений: 22
|
У различных КЭ разные аппроксимирующие полиномы, это лучше в help'е посмотреть.
Возможно без цикла, сразу запросить массив ARRAY с узловыми напряжениями *VGET,SX_node,NODE, ,S,X, , ,2 Потом делаем все, что угодно со значениями напряжений через через цикл получая значения из массива SX_node так sxi=SX_node(i) У меня все работает. |
|||
|
||||
Цитата:
*DIM,sx,ARRAY,maxnode,1,1 *VGET,sx,NODE,,S,X,,,2 Вроде всё то же самое, но не работает. По крайней мере, я теперь знаю, что такая конструкция работать должна. Где-то ещё проблема. P.S. Посмотрел ETABLE - действительно, если в элементе в разных узлах разные значения, отдаётся простое арифметическое среднее. Цитата:
|
||||
|
Опции темы | Поиск в этой теме |
|
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Ответственность за результаты расчета | gvs | Конструкции зданий и сооружений | 55 | 03.06.2020 19:59 |
Результаты расчетов в записке раздела КР | ROMICH | Прочее. Архитектура и строительство | 3 | 13.03.2013 16:31 |
Неужели глюк в программе "Камин"? Странные результаты расчета на смятие кладки. | SMTrader | SCAD | 3 | 01.09.2011 13:32 |
прочитать файл в массив ансиса | funny_alex | Расчетные программы | 25 | 29.03.2010 06:23 |
Как создать массив для группы примитивов в Bricscad? | Tonic | Программирование | 8 | 19.12.2007 09:22 |