| Правила | Регистрация | Пользователи | Поиск | Сообщения за день | Все разделы прочитаны |  Справка по форуму | Файлообменник |

Вернуться   Форум DWG.RU > Программное обеспечение > Расчетные программы > ANSYS > Забрать результаты в массив

Забрать результаты в массив

Ответ
Поиск в этой теме
Непрочитано 31.07.2012, 16:49 #1
Забрать результаты в массив
Graf Kim
 
Инженер, преподаватель
 
Красногорск
Регистрация: 18.01.2012
Сообщений: 77

Вопрос по постпроцессингу. Имеется результат прочностного расчёта из него нужно вытащить узловые (осреднённые) напряжения по X и по Y, провернуть с ними некую операцию и результат визуализировать PLNSOL'ом.
Раньше, пользовался такой строкой
*VGET,strx,NODE,,U,X
Всё работало.
При попытке считать *VGET'ом напряжения ничего не выходит - в массиве нули. Пытался повторить то же самое с использованием *GET - пишет "result not stored". После этого проверил описание элемента - написано, что результаты для напряжений доступны всегда.
Что мог упустить? Где ошибиться? Есть ли альтернативные способы считать результаты?

Последний раз редактировалось Graf Kim, 01.08.2012 в 09:57.
Просмотров: 2914
 
Непрочитано 01.08.2012, 08:13
#2
Фролов Дмитрий


 
Регистрация: 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
Фролов Дмитрий вне форума  
 
Автор темы   Непрочитано 01.08.2012, 09:58
#3
Graf Kim

Инженер, преподаватель
 
Регистрация: 18.01.2012
Красногорск
Сообщений: 77
Отправить сообщение для Graf Kim с помощью Skype™


Моя ошибка - имелось в виду *VGET, а не *VREAD. Исправил сообщение.
Graf Kim вне форума  
 
Непрочитано 06.08.2012, 13:37
#4
sms


 
Регистрация: 26.09.2011
Сообщений: 22


Создать массив напряжений Array уже с проделанными необходимыми операциями, затем перенести этот массив в ETable, после уже отображать стандартным способом.
Здесь все подробно описано:
http://forum.dwg.ru/showthread.php?t=73089
sms вне форума  
 
Автор темы   Непрочитано 06.08.2012, 15:24
#5
Graf Kim

Инженер, преподаватель
 
Регистрация: 18.01.2012
Красногорск
Сообщений: 77
Отправить сообщение для Graf Kim с помощью Skype™


Цитата:
Сообщение от sms Посмотреть сообщение
Создать массив напряжений Array уже с проделанными необходимыми операциями, затем перенести этот массив в ETable, после уже отображать стандартным способом.
Здесь все подробно описано:
http://forum.dwg.ru/showthread.php?t=73089
Как в этот массив считать узловые напряжения? Как подложить их постпроцессору потом я знаю.
Graf Kim вне форума  
 
Непрочитано 07.08.2012, 07:46
#6
sms


 
Регистрация: 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
sms вне форума  
 
Автор темы   Непрочитано 07.08.2012, 12:56
#7
Graf Kim

Инженер, преподаватель
 
Регистрация: 18.01.2012
Красногорск
Сообщений: 77
Отправить сообщение для Graf Kim с помощью Skype™


Для узла *get,....,s,x даёт ошибку - "Result not stored"

Мысли вслух: если *get работает для элементных результатов, то можно, пользуясь вашим макросом забить массив ими, а потом из них посчитать узловые вручную, в том же цикле. Непонятно в этом случае вот что: каждому элементу будет соответствовать одна величина напряжения, в то время как для элементов второго порядка, в точках интегрирования разные значения. Эта величина - простое усреднение?
Graf Kim вне форума  
 
Непрочитано 07.08.2012, 13:40
#8
sms


 
Регистрация: 26.09.2011
Сообщений: 22


У различных КЭ разные аппроксимирующие полиномы, это лучше в help'е посмотреть.

Возможно без цикла, сразу запросить массив ARRAY с узловыми напряжениями
*VGET,SX_node,NODE, ,S,X, , ,2
Потом делаем все, что угодно со значениями напряжений через через цикл получая значения из массива SX_node так
sxi=SX_node(i)
У меня все работает.
sms вне форума  
 
Непрочитано 07.08.2012, 13:46
#9
Фролов Дмитрий


 
Регистрация: 11.02.2011
Москва
Сообщений: 223


там ещё по разному в классике усредняется..см. команду AVPRIN
Фролов Дмитрий вне форума  
 
Автор темы   Непрочитано 07.08.2012, 13:59
#10
Graf Kim

Инженер, преподаватель
 
Регистрация: 18.01.2012
Красногорск
Сообщений: 77
Отправить сообщение для Graf Kim с помощью Skype™


Цитата:
Сообщение от sms Посмотреть сообщение
Возможно без цикла, сразу запросить массив ARRAY с узловыми напряжениями
*VGET,SX_node,NODE, ,S,X, , ,2
Потом делаем все, что угодно со значениями напряжений через через цикл получая значения из массива SX_node так
sxi=SX_node(i)
У меня все работает.
*GET,maxnode,NODE,0,NUM,MAX
*DIM,sx,ARRAY,maxnode,1,1
*VGET,sx,NODE,,S,X,,,2

Вроде всё то же самое, но не работает. По крайней мере, я теперь знаю, что такая конструкция работать должна. Где-то ещё проблема.

P.S. Посмотрел ETABLE - действительно, если в элементе в разных узлах разные значения, отдаётся простое арифметическое среднее.

Цитата:
Various results data can be stored in the element table. For example, many items for an element are inherently single-valued (one value per element). The single-valued items include: SERR, SDSG, TERR, TDSG, SENE, SEDN, TENE, KENE, AENE, JHEAT, JS, VOLU, and CENT. All other items are multivalued (varying over the element, such that there is a different value at each node). Because only one value is stored in the element table per element, an average value (based on the number of contributing nodes) is calculated for multivalued items. Exceptions to this averaging procedure are FMAG and all element force items, which represent the sum only of the contributing nodal values.
Graf Kim вне форума  
Ответ
Вернуться   Форум DWG.RU > Программное обеспечение > Расчетные программы > ANSYS > Забрать результаты в массив

Размещение рекламы
Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Ответственность за результаты расчета 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