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

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

Значение температуры в узлах по времени

Ответ
Поиск в этой теме
Непрочитано 10.11.2013, 22:38 #1
Значение температуры в узлах по времени
vampik
 
Регистрация: 10.11.2013
Сообщений: 15

Здравствуйте.
Помогиту мне пожалуйста получить значение температуры в узлах по времени.
Провел тепловой расчет.
Пытаюсь получить значения температур для каждого узла по времени.
У меня получился такой макрос:
Код:
[Выделить все]
/NOPR
 /GRAPHICS,FULL
 *GET,NCOUNT,NODE,,COUNT                        !Считаем количество узлов
 *GET,TIMECOUNT,VARI,1,NSETS               !Считаем количество временных моментов
 *GET,NNOW,NODE,,NUM,MIN                         !Выбираем узел с минимальным номером в наборе
 /OUTPUT,REZULT,CSV                           !Файл записи результатов
 *DO,I,NNOW,NCOUNT                               !Открываем цикл по всем узлам
 NSOL, 2, I, TEMP !Добавляем значение температуры для каждого узла
 /COM, NODE = %I%; 
 *DO,J,1,TIMECOUNT                               !Открываем цикл по временным моментам
 *GET,TIMEVAL,VARI,1,RSET,J             !Считаем значение временного момента
 *GET,TEMPNOW,VARI,2,RTIME,TIMEVAL !Определеяем температуру в узле
 /COM, %TIMEVAL%; %TEMPNOW%
 *ENDDO                                          !Закрываем цикл  
 VARNAM,2 
 *ENDDO                                          !Закрываем цикл
 /OUTPUT 
 /GO
Но он получает для всех узлов одинаковые значения (равные последнему узлу).

Пытался перенести
NSOL в цикл по всем узлам геометрии.
Добавляем значение температуры для каждого узла. И создавать variable для каждого узла. Тогда у меня получались нормальные значения. Но в Ansys стоит ограничение - максимум 200 variablies. А у меня в геометрии больше чем 200 узлов.

Подскажите, у меня уже мозг разрывается.
Или можно как то проще это сделать?? Помогите!

Последний раз редактировалось Кулик Алексей aka kpblc, 10.11.2013 в 23:32.
Просмотров: 2586
 
Непрочитано 11.11.2013, 10:01
#2
СергейД

расчеты МКЭ и CFD. ктн
 
Регистрация: 11.05.2005
Подмосковье
Сообщений: 2,170


правильно ли я понимаю, что вы хотите передать температуры куда-то?
если внутри ансис в узловые нагрузки передавать, то можно применять ldread,temp

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

в post26 в цикле читать сто узлов в сто переменных. записать их в соответствующие столбцы
потом следующие сто узлов прочитать на их место и записать в следующие столбцы.
в конце концов, если нужно сохраняете полный массив в текстовый файл *mwrite или аналогичными командами

можете в постпроцессоре последовательно читать set ы, все или выборочно
и также последовательно записывать в массив.
СергейД вне форума  
 
Автор темы   Непрочитано 11.11.2013, 11:38
#3
vampik


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


Да мне надо получить температурные поля для узлов по времени (и потом использовать их не в Ансис).

Цитата:
Сообщение от СергейД Посмотреть сообщение
в post26 в цикле читать сто узлов в сто переменных. записать их в соответствующие столбцы
потом следующие сто узлов прочитать на их место и записать в следующие столбцы.
в конце концов, если нужно сохраняете полный массив в текстовый файл *mwrite или аналогичными командами
У меня геометрия состоит из более чем 100000 узлов, поэтому я не могу стчитывать по 100 узлов в 100 переменных.
Если я создам 100 переменных для первых 100 узлов, а потом 100 переменных для узлов с номерами 100-200. То для первых 0-100 узлов у меня будут значния узлов 100-200.

Цитата:
Сообщение от СергейД Посмотреть сообщение
можете в постпроцессоре последовательно читать set ы, все или выборочно
и также последовательно записывать в массив.
Подскажите как с помощью set получить значения температуры в узле от времени?

----- добавлено через ~16 мин. -----
В идеале мне нужно получить значение температуры[узел][время].
vampik вне форума  
 
Непрочитано 11.11.2013, 18:56
#4
СергейД

расчеты МКЭ и CFD. ктн
 
Регистрация: 11.05.2005
Подмосковье
Сообщений: 2,170


я вероятно непонятно объяснил...
вы просто затираете переменные, заводя туда значения из новых узлов.
*get,kn,node,,num,max
k100=kn/100+1
*do,j,1,k100
*do,k,1,100
nn=k+(j-1)*100
nsol,k+1, nn,temp
*enddo
*enddo


/post1
kset=100
kn=100000
*dim,tm,kn,kset
*do,j,1,kset
set,j
*vget,...! посмотрите ключи
*enddo
СергейД вне форума  
 
Автор темы   Непрочитано 11.11.2013, 21:20
#5
vampik


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


set,j
устанавливает load step.

А как установить substep?

Последний раз редактировалось vampik, 11.11.2013 в 21:46.
vampik вне форума  
 
Непрочитано 11.11.2013, 21:48
#6
СергейД

расчеты МКЭ и CFD. ктн
 
Регистрация: 11.05.2005
Подмосковье
Сообщений: 2,170


вы про циклы что-либо слышали? по-моему нет.
в nn подставляется 101...200 потом 201...300...

для set аналогично номера увеличиваются последовательно
ну в хелп загляните же... и для substep можно.
я сделал сотни задач огнестойкости подобным образом.
СергейД вне форума  
 
Автор темы   Непрочитано 11.11.2013, 23:55
#7
vampik


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


Да я немного запутался.
Кажется понял.
Попробую сделать, если получится выложу результат, вдруг кому поможет.

----- добавлено через ~21 ч. -----
Код:
[Выделить все]
/NOPR
*GET,NCOUNT,NODE,,COUNT                         !Считаем сумму узлов
/OUTPUT,REZULT,CSV                              !Файл записи результатов
/POST1
*DO,J,1,100                                  	!Открываем цикл по временам
	SET, 2, J
	/COM, %J%;
	*GET,NNOW,NODE,,NUM,MIN                         !Выбираем узел с минимальным номером в наборе
	*DO,I,1,NCOUNT                                  !Открываем цикл по всем узлам
       		*GET,TEMPNOW,NODE,NNOW,TEMP         	!Определеяем температуру в узле с минимальным номером
       		/COM, %NNOW%; %TEMPNOW%             
		NNOW = NNOW+1	                        !Для всех узлов
	*ENDDO                                          !Закрываем цикл
*ENDDO                                          !Закрываем цикл
/OUTPUT
/GO
----- добавлено через ~21 ч. -----
Вот такой у меня примерно код получился для получения значений температур всех узлов для времен
load step : 2
substep : 1-100

Последний раз редактировалось vampik, 12.11.2013 в 21:01.
vampik вне форума  
Ответ
Вернуться   Форум DWG.RU > Программное обеспечение > Расчетные программы > ANSYS > Значение температуры в узлах по времени

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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Разработка ПОС, искусство проектирования Tyhig Технология и организация строительства 117 25.11.2021 17:38
Какой язык перспективен для инженера-конструктора с условием The_Mercy_Seat Программирование 705 17.03.2021 14:19
как задать функцию температуры от времени в программе TEMP/W пакета Geostudio yageolog Прочее. Программное обеспечение 4 18.10.2013 17:15
Подскажите норму времени на монтаж минераловатных плит при устройстве "мокрого" фасада Vanya89K Технология и организация строительства 2 12.05.2011 11:36
ГОСТ Р 53231-2008 UnyqUm Поиск литературы, чертежей, моделей и прочих материалов 5 15.09.2009 14:41