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

Термомеханика в деталях


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

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

 

Есть брусок правильный формы ака кирпич, в котором генерируется НЕРАВНОМЕРНОЕ удельное тепловыделение (HGEN). Задняя и передняя поверхности конвективно охлаждаются с известными (но различными) коэффициентами теплоотдачи и температурами жидкости/газа. Свойства кирпича (теплофизика + механика) принимаются зависящими от температуры.

Постановка - стационарная

Собственно вопрос : как грамотно смоделировать температурное поле в кирпиче с учетом температурного расширения?

 

Исходный код приложил.

 

 

Надеюсь на коллективный разум и опыт!

EPTH2D.mac

p.s.

 

Если есть опыт решения этой задачи в Ansys WB, тоже можно сюда приложить командные вставки.

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


UnPinned posts
3 часа назад, bubblyk сказал:

как грамотно смоделировать температурное поле в кирпиче с учетом температурного расширения?

Для начала, Вам видимо надо иметь HGEN только в конкретных точках, независимо от формы изделия. Так?

 

Если так, как обычно, в цикле for и т.п.

- задать координатное распределение HGEN

- найти решение линейной задачи

- сравнить смещение узлов NGEN с нужным распределением

- подкорректировать координатное распределение HGEN

 

И так до победного. Как именно Вы будете тут изменять координаты HGEN - это мягко говоря не нам подсказывать. Пусть какой-нибудь цикл с Нелдером-Мидом это считает, см. принципы оптимизации.

4 часа назад, bubblyk сказал:

Если есть опыт решения этой задачи в Ansys WB, тоже можно сюда приложить командные вставки.

APDL универсален и не сложен. Быстрее освоить азы apdl и самому решить эту весьма простую задачу, чем ждать готового скрипта.

 

Но, возможно, найти нужно что-то другое?

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

Спасибо, изучаю APDL. Сам код пишу.

 

В этой задаче не вижу проблему в чем ошибка.

2 часа назад, AlexKaz сказал:

Для начала, Вам видимо надо иметь HGEN только в конкретных точках, независимо от формы изделия. Так?

 

Если так, как обычно, в цикле for и т.п.

- задать координатное распределение HGEN

- найти решение линейной задачи

- сравнить смещение узлов NGEN с нужным распределением

- подкорректировать координатное распределение HGEN

 

И так до победного. Как именно Вы будете тут изменять координаты HGEN - это мягко говоря не нам подсказывать. Пусть какой-нибудь цикл с Нелдером-Мидом это считает, см. принципы оптимизации.

APDL универсален и не сложен. Быстрее освоить азы apdl и самому решить эту весьма простую задачу, чем ждать готового скрипта.

 

Но, возможно, найти нужно что-то другое?

 

Цикл for в APDL не существует, аналог - do-enddo. Так собственно и программировал в приложенном ранее файле.

 

Распределение HGEN задавал в виде таблицы от X,Y, Z, используя *dim и циклы, заодно проверив значения (таблица верная получалась).

 

Верно я понял по ответу, что Вы имели ввиду именно для каждого узла задать конкретное значение тепловыделения, а не таблицей?

 

Про линейную задачу, простите, не до конца понимаю терминологию (я не механик, но теплофизик)

Ссылка на сообщение
Поделиться на других сайтах
9 часов назад, bubblyk сказал:

Про линейную задачу, простите, не до конца понимаю терминологию (я не механик, но теплофизик)

 

9 часов назад, bubblyk сказал:

Верно я понял по ответу, что Вы имели ввиду именно для каждого узла задать конкретное значение тепловыделения, а не таблицей?

Это был вопрос просто о приближении задачи к реальности во втором приближении. Как понимаю, Вам это не надо.

 

9 часов назад, bubblyk сказал:

не вижу проблему в чем ошибка.

Не знаю, надо отлаживать построчно. Только на след. неделе будет время пересмотреть.

В коде пишется про смену КЭ теплового на КЭ солида, а работа идёт с plane... Короче, могу только посоветовать начать отладку, наставить в цикле DO команды вывода переменных в консоль и не забывать смотреть в консоль, где в выводе лога пишутся ошибки и возможные исправления.

Ссылка на сообщение
Поделиться на других сайтах
3 часа назад, AlexKaz сказал:

 

Это был вопрос просто о приближении задачи к реальности во втором приближении. Как понимаю, Вам это не надо.

 

Не знаю, надо отлаживать построчно. Только на след. неделе будет время пересмотреть.

В коде пишется про смену КЭ теплового на КЭ солида, а работа идёт с plane... Короче, могу только посоветовать начать отладку, наставить в цикле DO команды вывода переменных в консоль и не забывать смотреть в консоль, где в выводе лога пишутся ошибки и возможные исправления.

 

 

 

Спасибо за поддержку, AlexKaz!

1 Прошу прощения - приложил не последнюю версию кода. Исправляюсь.
Решил для простоты смоделить 2d задачу, когда получится - доработаю 3d.

 

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

а) Кирпич генерит внутри себя тепловую энергию (хим. / ядерные / эл-маг реакции, в явном виде не рассматриваются ).
Внешнего поля, в котором координатным (табличным) методом задается HGEN - НЕ СУЩЕСТВУЕТ в рамках модели.
б) Термодеформации, возникающие в кирпиче - упругие. Нагружения, приводящие к пластическим формоизменениям, отсутствуют.
в) ТФ и ФМ свойства кирпича задаются зависимыми от температуры.

 

3) У меня выходит выполнить моделирование тепловой и НДС задач в отдельности, но сходимость к каким-то фиксированным значениям TEMP не достигается.
Догадка: согласно коду HGEN зависит от координат ГСК. По мере деформирования кирпича HGEN в элементах изменяется, но не "пропорционально" исходной заданной таблице HEATGEN. Как связать новые положения узлов (исх + перемещения на каждой новой итерации в цикле) с тепловыделением - пока не понимаю.
Ясно лишь одно - полное генерируемое тепло кирпича (Вт) СОХРАНЯЕТСЯ, вводится поправка на HGEN, пропорциональная относительному изменению объема.

 

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

EPTH_TEST000.png

EPTH_TEST001.png

EPTH_TEST022.png

EPTH_TEST023.png

EPTH_TEST042.png

EPTH_TEST043.png

EPTH2D.mac

Ссылка на сообщение
Поделиться на других сайтах
29.03.2024 в 14:40, bubblyk сказал:

Если есть опыт решения этой задачи в Ansys WB, тоже можно сюда приложить командные вставки.

а зачем командные вставки?

неравномерное тепловыделение через External Data подтянуть... что у вас там еще сложности вызывает?

30.03.2024 в 09:54, bubblyk сказал:

сходимость к каким-то фиксированным значениям TEMP не достигается.

подробности?

30.03.2024 в 09:54, bubblyk сказал:

Как связать новые положения узлов (исх + перемещения на каждой новой итерации в цикле) с тепловыделением - пока не понимаю.

nlgeom,on

30.03.2024 в 09:54, bubblyk сказал:

Ясно лишь одно - полное генерируемое тепло кирпича (Вт) СОХРАНЯЕТСЯ, вводится поправка на HGEN, пропорциональная относительному изменению объема.

у вас расчет с каким-то ожиданием не сходится?

29.03.2024 в 14:40, bubblyk сказал:

Собственно вопрос : как грамотно смоделировать температурное поле в кирпиче с учетом температурного расширения?

я код не смотрел, так что проблему не понял.

берете WB и моделируете. Coupled Physics

29.03.2024 в 14:40, bubblyk сказал:

Надеюсь на коллективный разум и опыт!

Забавно, если учет геометрической нелинейности все-таки окажется ответом. (nlgeom,on)

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

Нет это не ответ, попробовал )

16 часов назад, soklakov сказал:

а зачем командные вставки?

неравномерное тепловыделение через External Data подтянуть... что у вас там еще сложности вызывает?

подробности?

nlgeom,on

Не работает, проверил.

16 часов назад, soklakov сказал:

у вас расчет с каким-то ожиданием не сходится?

Да не сходится, я не знаю конкретно какое должно быть значение, но в теории где-то на 10-20 оС должна снизиться температуры. В этом строго уверен

 

16 часов назад, soklakov сказал:

я код не смотрел, так что проблему не понял.

берете WB и моделируете. Coupled Physics

Забавно, если учет геометрической нелинейности все-таки окажется ответом. (nlgeom,on)

Plane223 в 2d и Solid226 в 3d у меня дали при первой итерации тот же ответ, что и отдельные тепловой элемент и прочностной.

Ссылка на сообщение
Поделиться на других сайтах
18 часов назад, soklakov сказал:

а зачем командные вставки?

неравномерное тепловыделение через External Data подтянуть... что у вас там еще сложности вызывает?

подробности?

nlgeom,on

Не работает, проверил.

Цитата

у вас расчет с каким-то ожиданием не сходится?

Да не сходится, я не знаю конкретно какое должно быть значение, но в теории где-то на 10-20 оС должна снизиться температуры. В этом строго уверен

 

Цитата

я код не смотрел, так что проблему не понял.

берете WB и моделируете. Coupled Physics

Забавно, если учет геометрической нелинейности все-таки окажется ответом. (nlgeom,on)

Plane223 в 2d и Solid226 в 3d у меня дали при первой итерации тот же ответ, что и отдельные тепловой элемент и прочностной.

В задаче проверил уже многое:

1) если hgen задавать стандартной *dim,...,table, то при расширении кирпича получаются даже отрицательные значения тепловыделения. Это нефиично, откинул

2) задавал то же hgen в do цикле по всем узлам + корректировка пропорционально изменению нас и кон объемов -> сходимость к конечной температуре снова не достигнута. Вероятно требуется корректировка не на интегральное изменение обьема кирпича, а индивидуально для каждого КЭ

3) ещё не пробовал, но думаю даст эффект - сделать ограничения командой CE, чтобы деформированное состояние выходило "площе"

P.S. WB владею пока плохо, хочу добить  в MAPDL. 

Ссылка на сообщение
Поделиться на других сайтах
01.04.2024 в 20:33, bubblyk сказал:

а не сходится, я не знаю конкретно какое должно быть значение, но в теории где-то на 10-20 оС должна снизиться температуры. В этом строго уверен

На сколько градусов? 10-20? Это при расчётных ~1100-1420 на скриншотах выше? Т.е. погрешность 20/1100 = <2% ? Если всё так, просто забейте. Для сходимости надо мельчить сетку, увеличивать число шагов/подшагов, подбирать настройки решателя и сам решатель для бОльшей точности, подбирать конечные элементы, их порядок. И вообще не факт, что теория точна до абсолюта...

Изменено пользователем AlexKaz
Ссылка на сообщение
Поделиться на других сайтах
01.04.2024 в 18:33, bubblyk сказал:

Не работает, проверил.

откуда нам знать, что вы все верно сделали?

01.04.2024 в 18:33, bubblyk сказал:

1) если hgen задавать стандартной *dim,...,table, то при расширении кирпича получаются даже отрицательные значения тепловыделения. Это нефиично, откинул

это от нестыковки шага по времени и размера сетки по критерию фурье... а вы взяли и выкинули.

кто вам судья.

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

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

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

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

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

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

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

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

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

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

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

  • Сообщения

    • gemini74
      Вы работаете в конторе, основной CAD - Компас, ну немного в SW. Конструктора делают модели в 3D. Для переноса в CAE нужно эту модель сборки упростить, убрать крепеж, сделать как можно меньше тел, убрать зазоры под сварку, убрать мелкие элементы. Потом еще Вы предлагаете сделать модель в оболочках. Это дополнительное время . А если эту модель еще для тепловых расчетов параллельно исследовать? Тоже в оболочках? Перевод в оболочку тоже не всегда корректно можно сделать. Она упрощается до простых форм . Или  строить в отдельном моделировщике расчетную модель, тоже время. В чем целесообразность оболочек? А для чего контроль сетки в SW, разные Якобианы? Оболочки более упрощенная , абстрактная модель , когда можно отбросить влияние формы , с минимумом поверхностей , больших и мелких в модели. Не так?
    • sapr71
      Если я правильно вас понял, то ось А это YZ, а ось С это XY.   Станок вот с таким столом, как на картинке.  
    • mr_Voden
      Буквально плоскостью) Вектором, вокруг которого поворачивается ось, если понятнее. Нормаль к плоскости постройте и станет ясно какая вам подходит. 
    • sapr71
      Ну да)) Все верно! Сейчас попробую Тогда и А другая Подскажите чем отличается YZ от ZX? Сейчас не выдает ошибку. Завтра проверю. Спасибо!
    • mr_Voden
      @sapr71Тогда у вашего станка реально экзотическая кинематика) Насчет А я конечно не знаю, а вот у С плоскость вращения может XY должна быть? 
    • sapr71
      Это не то. В осях вращения у меня все правильно.   Нужно что бы он вставал в ту же позицию только крутился в другую сторону))   Например: Вместо G68.2 X0. Y0. Z0. I-180. J90. K180. должен выдавать G68.2 X0. Y0. Z0. I180. J90. K90.   Если я правильно понял. Но это не точно)
    • Mixon513
      Станок китаец. VDLS800. как понял выводится выводится на дисплей через r65. https://disk.yandex.ru/d/kmdQBjU9jNKwjw
    • Jesse
      Имхо более правильно исходить из типа НДС: если оно объёмное (как в крюке , рельсе или подшипнике), то оболочками просто невозможно его симулировать. Ну а в остальных ситуациях целесообразность. 
    • mr_Voden
      @sapr71 Плоскости вращения поворотных осей верно настроены? У вас на скриншоте "вращение оси". Захотите изменить направление - выберете "обратный". Только скорее всего дело не в этом.
    • sapr71
      Здравствуйте!  Проблема с постпроцессором.  Фрезерный станок 5ти осевой на Fanuc 30i. Физические ограничения у станка по оси А от -120 до 30 градусов. Так вот когда я пытаюсь постпроцессировать программу выкидывает ошибку: WARNING: unable to determine valid rotary positions  Если убираю ограничения в постпроцессоре по оси А, ошибка уходит. Как сделать что бы постпроцессор закручивал стол в другую сторону?   Прикрепил файл с обработкой и постпроцессор. Версия NX12.   Файл с обработкой (tst.zip) Постпроцессор: ( FANUC_30I_5X.zip ) FANUC_30I_5X.zip tst.zip Вот такие ошибки вываливаются когда пытаюсь постпроцессировать программу  
×
×
  • Создать...