Перейти к публикации

Изменение коэффициента теплоотдачи по времени


Рекомендованные сообщения

Здравствуйте, уважаемые дамы и господа!

В Transient Thermal к телу приложена конвекция с коэффициентом теплоотдачи, зависящим от температуры поверхности, в табличной форме. Ести ли возможность сделать этот коэффициент еще и зависимым от времени или шага расчета?

Ссылка на сообщение
Поделиться на других сайтах


Можно задать температурную зависимость коэффициента и менять температуру среды во времени.

Если сможете описать и сформулировать задачу, то можно было бы говорить более предметно.

Ссылка на сообщение
Поделиться на других сайтах
  • 3 недели спустя...

Хочу, чтобы конвекция, зависящая от температуры поверхности (задаю таблицей), включалась с 0.5 секунды.

Попытался с помощью следующего сниппета (ARG1=50, ARG2=0.1, т.е. всего 5 секунд с шагом 0,1 секунды):

 

/prep7

KEYOPT,1,1,1 !Это для того, чтобы зависимость коэффициента теплоотдачи была от температуры поверхности (из хелпа по элементу PLANE55)

/solu

 

MPTEMP,,,,,,,,

MPTEMP,1,20

MPTEMP,2,200

MPTEMP,3,300

MPTEMP,4,400

MPTEMP,5,500

MPTEMP,6,700

MPTEMP,7,900

MPTEMP,8,1100

MPTEMP,9,1300

MPDATA,HF,39, ,50,1581,3714,4810,4593,3684,

MPDATA,HF,39, ,50,50,50,

MPTEMP,,,,,,,,

MPAMOD,39,22, ! C

 

 

*do,i,1,ARG1

time,(ARG2*i)

tim=ARG2*i

*IF,tim,LE,0.5,THEN

allsel

nsel,all

nsel,s,ext

sf,all,conv,50,22

alls

*elseif,tim,GT,0.5,THEN

allsel

nsel,all

nsel,s,ext

sf,all,conv,-39,22

alls

*ENDIF

solve

*enddo

*ABBR,SOLVE,NOSOLVE

 

Судя по результату не работает :(

в солюшене пишет в том числе следующее:

 

*** WARNING ***                         CP =      10.514   TIME= 12:56:29

 The coefficient of expansion modification requested by the MPAMOD       

 command for material 39 was not performed. 

 

и далее есть еще такой текст:

GENERATE SURFACE LOAD CONV ON SURFACE DEFINED BY ALL SELECTED NODES

 VALUES= -39.0000000      22.0000000

 

т.е. как свойство материала не подхватывает? Хотя, судя по описанию команды SF, должно работать :( Причем если при времени, больше чем 0,5 сек использовать постоянный коэффициент теплоотдачи, то сниппет работает прекрасно...

Изменено пользователем Axer
Ссылка на сообщение
Поделиться на других сайтах

В первом и втором посте Вы говорите о разном. Включать с 0,5 секунды ГУ еще проще, чем давать температурно-временные зависимости. С шагами нагружения разобрались? Отключите на первом.

Вы, вообще, зачем в команды полезли? 

Ссылка на сообщение
Поделиться на других сайтах

Если задать в WB обычной конвекцией коэффициент теплоотдачи, зависящий от температуры поверхности, то нет возможности (или я не нахожу:() такой коэффициент включать/выключать по шагам, постоянный коэффициент можно, там под графиком шкала по времени и табличка справа. Вот поэтому в команды и полез, и тоже безуспешно.

Изменено пользователем Axer
Ссылка на сообщение
Поделиться на других сайтах

Хорошенько присмотритесь к названием полей. "Edit Data For", к примеру. И справку на всякий случай перечитайте. Пока не очень понятно, в чем проблема.

Ссылка на сообщение
Поделиться на других сайтах
В Transient Thermal к телу приложена конвекция с коэффициентом теплоотдачи, зависящим от температуры поверхности, в табличной форме. Ести ли возможность сделать этот коэффициент еще и зависимым от времени или шага расчета?
 

Здесь, по-моему, причина непонятностей. В WB можно задать коэфф. конвекции зависимым от времени (или координаты) и температуры окружающей среды (ambient temperature) (которая тоже может быть зависима от времени или от координаты), но не от температуры поверхности.

Ссылка на сообщение
Поделиться на других сайтах

Попробую еще раз объяснить. Команды пришлось использовать по 2-м причинам:

1. Сначала не смог разобраться, как зависящий от температуры (заданный таблично) коэффициент теплоотдачи вкл/выкл по шагам расчета. Получилось. Нужно в свойствах конвекции зайти в Tabular Data, Independent Variable, выбрать Time и справа в табличке (или под графиком) отключить шаги. Правда эта  таблица показывает шаг, время и только первое значение коэффициента теплоотдачи (как будто он постоянный), что сбивает с толку, пришлось долго проверять... (и не забыть вернуть Temperature вместо  Time  обратно, иначе не будет работать вообще, шаманство :))

2. Теперь уже основная: хочется параметризировать время расчета (потом намечается оптимизация), а в интерфейсе WB это не предусмотрено :(

Поэтому делаю через цикл. Но "в понятии" WB  цикл

*do,i,1,ARG1

time,(ARG2*i)

............

solve

*enddo

*ABBR,SOLVE,NOSOLVE

 

видимо происходит в пределах одного единственного шага, и, видимо поэтому, настроенный на работу с шага номер 5 (0.5 секунды), коэффициент теплоотдачи (созданный стандартными средствами WB, а не командами) не включается вообще (ведь на первом -четвертом он выключен).

 

 

Посмотрите, пожалуйста, еще раз сниппет, что там не так?

Изменено пользователем Axer
Ссылка на сообщение
Поделиться на других сайтах
хочется параметризировать время расчета

Еще пару подробностей: первые полсекунды есть всегда, а вот второй шаг может заканчиваться в разное время и является параметром проекта? Правильно?

Ссылка на сообщение
Поделиться на других сайтах

Нет-нет :) 

В сниппете при ARG1=50, ARG2=0.1

*do,i,1,ARG1

time,(ARG2*i)

tim=ARG2*i

.......

*ENDIF

solve

*enddo

*ABBR,SOLVE,NOSOLVE

 

я так понимаю, что будет 50 шагов по 0,1 секунды каждый, но видимо ARG1=50 это все таки не Number of Steps из Steps Control интерфейсв WB :)? Т.е. сделанная в интерфейсе WB конвекция, которая должна включиться с пятого шага, не включается вообще при использовании вышеприведенного цикла... Т.к. я не знаю, какими командами задать в сниппете именно Steps, я решил и конвекцию задать тоже в сниппете через свойства материала... вроде всё правильно сделал, а не работает... 

 

А "оптимизация" (грубо говоря) будет в таком ключе: при каком минимальном значении ARG1 тело в какой нибудь точке остынет до заданной температуры (например 200 градусов), т.е. остановить расчет при достижении какого-либо значения температуры в определенной точке.

Ссылка на сообщение
Поделиться на других сайтах

о_О

Давайте тогда с самого начала, если не затруднит. Рассказывайте задачу. В общих терминах. Без привязки к командам, кнопкам и т.д. Просто "что надо".

 

Потому как для этого:

 

 

при каком минимальном значении ARG1 тело в какой нибудь точке остынет до заданной температуры (например 200 градусов),

не надо параметризовывать время. Надо сделать один(!!!) расчет с запасом по времени и посмотреть, когда минимальная температура в теле достигла 200 градусов.

Ссылка на сообщение
Поделиться на других сайтах

Вкратце так.

Создается модель индукционной закалки. За мной часть по охлаждению+микроструктура (считаю в сниппетах по известным зависимостям), нагрев делают другие люди. В идеале модель должна дать параметры индуктора, при которых например: часть тела из определенной стали менее чем за 7 секунд должна остыть до температуры менее чем темпаратура начала мартенситного преобразования, при заданном коэффициенте теплоотдачи, зависящем от температуры поверхности, и при этом индуктором быть разогрета выше, чем точка аустенитизации. Все бы ничего, да вот в реальном процессе между окончанием нагрева и началом охлаждения водополимером есть еще полусекундная пауза. Вот из-за нее и сыр-бор. Разбивать на 2 задачи (1я- на 0,5 сек, вторая - сколько хочешь) неохота, т.к. количество аустенита расчитывается непосредственно в начале расчета, придется для считывания в массив каждый раз вручную ссылку на файл давать (прощай, оптимизация), нужно всё рамках одной Transient Termal... Сейчас так: если не параметризировать время, то всё готово и работает, а вот я еще сниппетом попытался, но не выходит...

Изменено пользователем Axer
Ссылка на сообщение
Поделиться на других сайтах

Я не понимаю почему подход к простой задаче такой сложный и невнятный. Сделайте два массива типа Table. Один для коэффициента другой для температуры. В массиве сделайте так что бы до какого то времени коэффициент не менялся. В переходной постановке задайте массивы как нагрзки - они сами будут выдавать значения в зависимоти от времени.

Ещё проще - в цикле по времени пишите закон изменения и для каждого шага подставляете значения от времени.

В том же цикле сделайте пост обработку и учитывайте температуру.

И всё без всякой хрени и наворотов WB которые до сих пор внятно не работают.

Когда то делал ниже приведённый пример, должен быть в интете, там найдёте как работать с циклами и постобработкой в Wb

ANSYS Workbench. Реализация термостатирования. ПИД регулирование

Ссылка на сообщение
Поделиться на других сайтах

Ув. dronm, этот пример должен был быть здесь, но ссылки уже не работают.

Могли бы вы снова выложить его?

Ссылка на сообщение
Поделиться на других сайтах

 

Ещё проще - в цикле по времени пишите закон изменения и для каждого шага подставляете значения от времени.

 

У меня значения коэффициента не зависят от времени, только от температуры поверхности. Я только хочу, чтобы он заработал в нужное мне время. Как задать конвекцию  посмотрел в хелпах по командам и элементам, сделал сниппет (см. пост №3), по идее куда уже проще, ан нет, не работает... 

Ссылка на сообщение
Поделиться на других сайтах

Если у Вас что то не получается это не значит что этого реализовать нельзя.

забыл как заливать на сайт - 453477525702 или страница http://www.ex.ua/453477525702

Ссылка на сообщение
Поделиться на других сайтах
 

Если у Вас что то не получается это не значит что этого реализовать нельзя.

забыл как заливать на сайт - 453477525702 или страница http://www.ex.ua/453477525702

Спасибо большое, открыл, но программист из меня никакой, извините, да и не все  команды из сниппета понятны... подскажите, пожалуйста, какая конкретно часть сниппета будет полезна.

Ссылка на сообщение
Поделиться на других сайтах

Присоединяйтесь к обсуждению

Вы можете опубликовать сообщение сейчас, а зарегистрироваться позже. Если у вас есть аккаунт, войдите в него для написания от своего имени.
Примечание: вашему сообщению потребуется утверждение модератора, прежде чем оно станет доступным.

Гость
Ответить в тему...

×   Вставлено в виде отформатированного текста.   Вставить в виде обычного текста

  Разрешено не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отобразить как ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставить изображения напрямую. Загрузите или вставьте изображения по ссылке.

  • Сейчас на странице   0 пользователей

    Нет пользователей, просматривающих эту страницу.




  • Сообщения

    • maxx2000
      ты покрути её в трубе и сам всё увидишь.   Для справки, в CREO есть своя переменная trajpar для таких выкрутасов. Там хоть в кольцо сгибай с такой волной https://youtu.be/LBdNmOmijxE?si=WVmaZBe3v4nEdy0C  
    • Artas28
      Вот так что-то получается, колхоз это или так и надо делать?))  
    • maxx2000
      либо по направляющей и сечениям
    • maxx2000
      @Artas28 протягиванием объёма по спирали https://youtu.be/3VrFrYCr5gc?si=t_giLQQo1_tgnafY  либо протягиванием профиля по спирали https://youtu.be/ejcMHjwxQOo?si=NQxWZWR8R9SILmdL  
    • A_1
      Курс Программирование станка с системой ЧПУ FANUC (и Sinumerik) в котором рассмотрено нарезание резьбы резцом посвящен не только резьбе. Его цель - получение учащимся знаний, необходимых для написания управляющих программ для станков с ЧПУ, научиться эффективным приемам программирования, уверенно подходить к разработке программ на сложные детали. В нём достаточно подробно рассмотрен основной способ нарезания практически всех распространенных резьб с помощью цикла G76. Да, для получения некоторых специальных резьб лучше пользоваться командой отдельного резьбового движения G32, но такие программы эффективно либо генерировать в CAM - системах, либо применять в параметрических подпрограммах с использованием переменных описывающих параметры резьбы. Для этого всем рекомендую курс Параметрическое программирование станков с ЧПУ FANUC. Он не посвящён, конечно, нарезанию резьбы, но предназначен для освоения методов эффективного программирования станков с ЧПУ с помощью языка параметрического программирования, и научит писать полезные программы, которые значительно облегчат изготовление новых достаточно сложных деталей.  И, кстати, в разделе готовых программ есть пример параметрической программы нарезания резьбы с кодом G32.
    • Artas28
      Добрый день! Как такую модель построить? Какой принцип построения?  Детальна называется screw pump rotor, но что то видео построения найти не могу.        
    • gudstartup
      интересно если образ записать на родной диск что будет с загрузкой... если с образом ничего не делали  в плане восстановления то ситуация довольно странная когда система начинает вдруг работать без выяснения причины сбоя это 100 проц. значит что он снова произойдет. @Artem artem
    • mannul
      Допустим шаг 1.25,тогда 0.542х1.25=0.6775х1000=678 Во второй строке цикла G76 вы должны указать X - диаметр резьбы по дну впадины, P678, Q - глубина первого прохода в мкм, допустим 0.3 мм тогда Q300, конечная координата Z и подача на оборот  F1.25
    • mannul
      Глубина  метрической резьбы по ГОСТ 24705-2004 рассчитывается как (5/8)*H, где H=0.866*P, где P - это шаг резьбы, а H - это высота исходного треугольника, тоесть то что вы в солиде строите. В общем-то вам выше уже написали коэффициент. Глубина резьбы на фануке указывается в микрометрах.
    • g687
      Все равно непонятно :) Для шага 1,5 (умножил его на 1000) сделал чертеж в Solidworks 1.5 * 0.542 *1000= 813   @alex0800 в своей программе пишет 920   Полная высота треугольника составляет 1299     Если я правильно понимаю определение (в том числе исходя из рисунка Fanuc) - высота резтбы равна 1299       Какое значение надо записывать в параметр P для шага 1,5 и где его взять /вычислить? Для нарезания резьбы радиус резца на конце должен быть не более шаг резьбы/8 - т.е не более 0,18   Судя по картинке, представленной @A_1 фанук берет высоту резьбы и опускает резец за несколько проходов с высоты X+высота резьбы, заданная параметром P ее до высоты X   ГОСТ пишет высота профиля H1 =0.812 (для шага 1,5)   Нигде мне не удалось найти чертеж резца для резьбы полного профиля - он представляет из себя трапецию - или треугольник с очень маленьким радиусом ? Помогите пожалуйста до конца прояснить какое значени ставить в P ?       @A_1 Вашему курсу уже больше 3 лет, планируете ли Вы в него добавить остальные циклы нарезания резьбы : G92 - Простой цикл нарезания резьбы Позволяет программировать глубину каждого прохода Дает полный контроль над диаметром X для каждого прохода G32 - Цикл нарезания резьбы Не является стандартным циклом, а скорее модальной операцией Позволяет задавать шаг резьбы Требует программирования каждого прохода отдельно G33 - Цикл нарезания резьбы (аналогичен G32) Используется для синхронизации вращения шпинделя с перемещением по оси
×
×
  • Создать...