Приветствую Вас, господа. Прошу помочь (понимаю, что и сам дурак, и лыжи не смазал). Дело вот в чем - необходимо задать именно в WB термическую задачу: цилиндр с внутренним выделением тепла за счёт химической реакции (зависимость от температуры и от степени превращения) и конвективный теплоотвод на поверхностях . Проблемы - зависимость от температуры через gui не позволяет задать (только от времени), при использовании commands не могу связать t с начальной температурой, а цикл прокручивается на первом шаге (нет перебора по времени - сразу подставляется последнее значение), при использовании external data - не накладывает условия на элементы.
Цикл
*do,I,1,10
b=0 ! степень превращения
a=1-b
T=180 ! начальная температура
q=19.6*10^16*exp(-120000/8.314/(273+T))*a ! функция тепловыделения
be,all, hgen,q
Z=6*(T-20)/0.035 ! теплоотвод
T=(q-Z)/2000+180 ! связь с температурой 2000 теплоемкость
b=b+0.1
*enddo
Добрый день.
В принципе всё получается довольно логично. После определения нужной температуры вы не задали её, собственно, применение на определённом шаге.
а разве не надо ещё написать?
b = 1- l/10 !( эль, или это ай заглавная вот от сюда *do,I,1,10)
a=1-b
.....
stime = 1 !( эль, или это ай заглавная вот от сюда *do,I,1,10)
time,stime
solve
*enddo
Господа, благодарю! Выручили. Так и знал, что-то упустил.
Позвольте еще 3 вопроса:
1) при задании конвекции выделение места приложения (точек) проиводится также в solve?
2) насчет теплоотвода - в цикле задал как поправку при расчете температуры - если прописывать в коде и конвекцию, и тепловыделение (дабы избавиться от большого количества веток в дереве модели), то надо ли оставлять строку
Z=6*(T-20)/0.035 ! теплоотвод
или же просто задать через gui и не морочиться
3) как задать применение темпрературы после ее определения?
Если спрашиваю очевидные вещи, прошу прощение и буду признателен заподсказку, куда конкретно посмотреть.
Еще раз благодарю Вас за помощь. В жизни бы не догадался.
1) что за такое "в solve"? если имеется в виду /solution то да =)
2) думаю это Ваше личное дело
3) магическая комбинация команд nsel... и *get...
Все команды описаны в Help
Господа, что-то точно делаю не так. Вот измененный цикл вместе с командами nsel и *get
clear
antype,4
*do,i,1,10
time,i
nsel,all,node,temp
*get,t,node,n,temp
w=3e17/exp(120000/8.314/(273+t))
bf,all,hgen,w
solve
*enddo
При этом выдает следующее:
*** WARNING ***
The degree of freedom solution is not available.
Line= *GET, t, nodes,n, temp,
The *GET command is ignored.
Что в данной ситуации делать?
Господа. Подскажите, если возможно, еще такой момент в коммандах.
Решил выкрутиться с командой *get через вход в постпроцессор
antype,4
*do,i,1,10
time,i
w=3e17/exp(120000/8.314/(273+t))
bf,all,hgen,w
solve
finish
/post26
set,last
*get,t,node,100,temp
finish
/solu
*enddo
Но далее расче идет по времени не в интервале (i,i+1), а в (0,i+1), т.е происходит перерасчет уже расчитанного промежутка, но с новой температурой. Как от этого избавиться?
Возможно изобретаю велосипед, наставьте на путь истинный.
Благодарю за помощь.
Господа. Прошу прощение. С предыдущей проблемой разобрался.
Понимаю, что надоел.
Есть ли возможность задать таблицу значений, привязанную к конкретному элементу (или точке), но так, чтобы она сама заполнялась по определенным формулам, значения параметров для которых тоже брались из таблиц, заполняемых результатами с предыдущего шага нагружения? А полученные значения были собраны в единую таблицу для распространения по все точкам согласно их номеру.
Пробовал делать через
*dim,alfa,array,k
*do,i,k
alfa(1)=b+w/q
*enddo
Господа, если знаете, ответьте на такой вопрос - имеется ли возможность при программировании задать изменяющийся в зависимости от выходных параметрв сиганл - при резком увеличении/уменьшении температуры, например, шаг порядка милисекунд, а при монотонном изменении (линейная зависимость) - шаг становится крупным. Дело в том, что при изменеии переменной, отвечающей за шаг, в зависимости от условия в самом цикле, шаг остается постоянным. Есть возможность на шаг повлиять из цикла, или без вариантов? Благодарю за помощь
Добавить комментарий