Помощь - Поиск - Пользователи - Календарь
Полная Версия: Моделирование связанных задач в Comsol
Форум по Ansoft Maxwell ANSYS Maxwell (ANSYS Electronics) > COMSOL Multiphysics
Страницы: 1, 2
Mixa
Решил открыть новую тему для обсуждения задачи индукционного нагрева заготовки при изменении сопротивления материала от температуры. Необходимо связать индукционную и тепловую задачу, в дальнейшем задача может быть расширена.
К решению данной задачи пытался подступится используя разные программные пакеты но решить задачу в поставленном виде не смог. Может что-то пропустил, может что-то недопонял при беглом освоении программых продуктов.

По совету CAE пробую разобраться с Comsol, надеюсь не без его помощи.
PavelDergachev
Цитата (Mixa @ Мар. 22 2012, 12:40 PM)
Решил открыть новую тему для обсуждения задачи индукционного нагрева заготовки при изменении сопротивления материала от температуры. Необходимо связать индукционную и тепловую задачу, в дальнейшем задача может быть расширена.
К решению данной задачи пытался подступится используя разные программные пакеты но решить задачу в поставленном виде не смог. Может что-то пропустил, может что-то недопонял при беглом освоении программых продуктов.
При решении в Maxwell'е фокусы начинаются с задания в виде таблицы зависимости сопротивления материала от температуры при стандартном материале дает одни потери пытаешься задать в виде таблицы потери значительно отличаются при той же задачи (надеюсь Админ растолкует по этому поводу). В ePhysics как задать таблично  зависимость сопротивления от температуру не понял (Связка Maxwell 15 + ePhysics 3.1). При связке Workbench14+Maxwell15 не разобрался как зациклить задачу и возможно ли такое. Осваиваю Jmag все было хорошо пока не попытался попробовать связать.
По совету CAE пробую разобраться с Comsol, надеюсь не без его помощи.  Хотя буду рад если кто поможет решить поставленную задачу в приведенных программах.

А чего там разбираться - задача то примитивная.
Да и к тому же есть в примерах.
Mixa
Цитата (CAE @ Мар. 22 2012, 08:30 PM)
А чего там разбираться - зада то примитивная.
Да и к тому же есть в примерах.

Задача возможно и примитивная, но при освоении любого программного продукта наталкиваешься на тонкости решение которых иногда занимает кучу времени, да и тем кто только осваивает продукт будет не без интересно. Вот вроде и пример есть и пробую повторить тоже самое но наткнулся на загадочное emqa.Qrh+emqa.Qml, что это такое и с чем его едят. Ну emqa это указатель на названия модуля магнитной задачи в тепловом генераторе, а что такое Qrh и Qml. Вроде и магнитная задача считает а температура в заготовке не изменяется чувствую, что проблема именно в этом.
PavelDergachev
emqa.Qrh+emqa.Qml - это суммарные удельные потери (резистивные и магнитные)
А зачем это Вам? Там все и так должно работать, если я не ошибаюсь.
Mixa
Цитата (CAE @ Мар. 22 2012, 11:28 PM)
emqa.Qrh+emqa.Qml - это суммарные удельные потери (резистивные и магнитные)
А зачем это Вам? Там все и так должно работать, если я не ошибаюсь.

Как я понимаю, чтоб организовать связь магнитной с тепловой необходимо указать в свойствах генераторов тепловой энергии где брать данные электромагнитной задачи, тогда как объяснить, что электромагнитная задача считает, а температура не меняется.
PavelDergachev
Это можно использовать, если по отдельности считать магнитную и тепловую задачу. В Вашем случае это лишнее.
Задачу покажите.
Mixa
Цитата (CAE @ Мар. 22 2012, 11:53 PM)
Это можно использовать, если по отдельности считать магнитную и тепловую задачу. В Вашем случае это лишнее.
Задачу покажите.

Собственноручное творение ТУТ и стандартный пример ТУТ если нужен.
PavelDergachev
Возьмите интерфейс - Induction Heating
Это гораздо проще и специально сделано для таких задач.
Mixa
Цитата (CAE @ Мар. 23 2012, 01:04 AM)
Возьмите интерфейс - Induction Heating
Это гораздо проще и специально сделано для таких задач.

Спасибо, все понял!
PavelDergachev
Цитата (Mixa @ Мар. 22 2012, 10:16 PM)
Спасибо, все понял!

Наслаждайтесь wink.gif
Mixa
Интерфейс и гибкость продукта радует, продолжаю погружение! biggrin.gif
Mixa
Интересно, почему нельзя получить устойчивого значения омических потерь в цилиндрe. В файле рассмотрена одна задача, но с разным разбиением сетки.
При этом значения в цилиндре следующие:
Mesh 1 - 3812 Ватт
Mesh 2 - 4988 Ватт
Mesh 3 - 2880 Ватт
Mesh 4 - 2919 Ватт
Mesh 5 - 2914 Ватт
Mesh 6 - 1795 Ватт
Mesh 7 - 1485 Ватт
Mesh 8 - 1460 Ватт
Mesh 9 - 1448 Ватт
Решение данной задачи в других продуктах:
ELCUT 2273
Maxwell 2291
Jmag 2305
Понятно, чем грубее сетка тем грубее расчет, но почему при мелкой сетке не достигается точность. Как узнать когда получено более точное значение?
файл тут
PavelDergachev
Цитата (Mixa @ Апр. 1 2012, 04:34 PM)
Интересно, почему нельзя получить устойчивого значения омических потерь в цилиндрe. В файле рассмотрена одна задача, но с разным разбиением сетки.
При этом значения в цилиндре следующие:
Mesh 1 - 3812 Ватт
Mesh 2 - 4988 Ватт
Mesh 3 - 2880 Ватт
Mesh 4 - 2919 Ватт
Mesh 5 - 2914 Ватт
Mesh 6 - 1795 Ватт
Mesh 7 - 1485 Ватт
Mesh 8 - 1460 Ватт
Mesh 9 - 1448 Ватт
Решение данной задачи в других продуктах:
ELCUT 2273
Maxwell 2291
Jmag 2305
Понятно, чем грубее сетка тем грубее расчет, но почему при мелкой сетке не достигается точность. Как узнать когда получено более точное значение?
файл тут

Дорогой друг!

Ну не очень понятны условия. Вы питаете катушку постоянным током и в каком-то промежутке времени смотрите потери.

Дальше Вы интегрируете все пространство (а именно вместе с источником) да и еще в развороте на 315 градусов.

Все это никак не связанно с индукционным нагревом и резистивными потерями в образце.
PavelDergachev
Сам COMSOL был проверен на адекватность в плане резистивных потерь на TEAM 30 (результаты пока лежат в закрытой части форума).
Суть там такая - взята система которая имеет аналитическое решение и 1 или 3 фазное питание. Решение в COMSOL практически совпадает на разных частотах с аналитическим, что говорит о его полной адекватности. Эту задачу никто не решил в других пакетах из-за своей лени и поэтому как себя ведет эта задача в других программах пока не известно.
Mixa
Цитата

Все это никак не связанно с индукционным нагревом и резистивными потерями в образце.

Почему постоянным, в самом модуле там где уравнение магнитного поля у меня стоит 60 kHz.
А интеграл я беру в цилиндре так как в solution 1 стоит selection где выбран только слиток. Единственно в чем усомнился так в следующем
Цитата
Дальше Вы интегрируете все пространство (а именно вместе с источником) да и еще в развороте на 315 градусов.
но поменяв угол разворота и получив теже потери пришел к выводу что это только настройка вывода результата в графическом виде.
Mixa
Цитата (CAE @ Апр. 1 2012, 11:15 PM)
Сам COMSOL был проверен на адекватность в плане резистивных потерь на TEAM 30 (результаты пока лежат в закрытой части форума).

Я понимаю и не претендую запятнать репутацию Comsola, а просто прошу помочь разобраться.
PavelDergachev
Форма тока из задачи, которую Вы выкладывали:
user posted image

Может Вы не то выложили?

Еще стоит не забывать про скин слой на таких частотах как у Вас.
PavelDergachev
Если правильно проинтегрировать, то почему-то получается - 2376.4589 Вт.
Хотя все надо нормально пересчитать, там может разные решатели уже наложились...
PavelDergachev
Сейчас пересчитал вашу задачу гармоническим решетелем с указанной частотой и суммарные потери при примерно 20 000 и 50 000 элементов равны соответственно 2280 Вт и 2284 Вт.

Так что все нормально и примерно соответствует другим программам, результаты которых Вы приводили ранее.
Mixa
Цитата (CAE @ Апр. 2 2012, 11:41 AM)
Сейчас пересчитал вашу задачу гармоническим решетелем с указанной частотой и суммарные потери при примерно 20 000 и 50 000 элементов равны соответственно 2280 Вт и 2284 Вт.

Так что все нормально и примерно соответствует другим программам, результаты которых Вы приводили ранее.

Спасибо большое, буду дальше ломать голову как это у Вас все получилось.
PavelDergachev
Я просто заменил решатель на Frequency domain с частотой 60 кГц.
(больше ничего не менял, остальное я надеюсь правильно)

И правильно проинтегрировал. wink.gif
PavelDergachev
А да и с сеткой надо быть повнимательнее, там явно выраженный скин слой.

Так что, я бы порекомендовал добавить boundary layer на границе образца и катушки. Я именно так и поступил и как видите не только получил адекватный результат, но и стабильный, что понятное дело просто необходимо.
Mixa
Цитата (CAE @ Апр. 2 2012, 07:58 PM)
Так что, я бы порекомендовал добавить boundary layer на границе образца и катушки. Я именно так и поступил и как видите не только получил адекватный результат, но и стабильный, что понятное дело просто необходимо.

У меня сетки от простой к сложной, а в Mesh 8 Mesh 9 применен boundary layer но как видите не помогло. Если вы поставили в решателе частоту то как вы задали ток в витке. И скажите чисто с любопытства накой нужна частота в модуле magnetic fields на раскладке где приведено уравнение если выбрать в качестве equation form -> Frequency domain.
PavelDergachev
Задается амплитуда и фаза тока в катушках. А частота соответственно в решателе.

Последний вопрос я просто не понял и не могу ответить на него - уточните.

Я не сохранил то, что делал. Но если очень надо - то могу повторить. wink.gif
Mixa
Цитата (CAE @ Апр. 2 2012, 09:39 PM)
Задается амплитуда и фаза тока в катушках. А частота соответственно в решателе.

Последний вопрос я просто не понял и не могу ответить на него - уточните.

Я не сохранил то, что делал. Но если очень надо - то могу повторить.  wink.gif

Давайте вернемся к изначальному файлу и подведем итоги.
1. Ток задается в виде амплитуды в витке. Изначально было сделано.
2. Вы в решателе поставили частоту, у меня же она стоит в самом модуле magnetic fields на раскладке equation где приведено дифференциальное уравнение если выбрать в качестве настройки поля equation form -> Frequency domain. Если я не заблуждаюсь то нет разницы по какому способу задавать частоту.
Отсюда я делаю вывод, что возможно я не так интегрирую как вы несколько раз отметили. Но даже если и не так, то есть, даже если и не то, то результат не должен от этого менятся при изменении сетки.
Я думаю может Вы при настройке файла (который я выложил) каким-то своим действиям не придаете большого значения, которых не хватает для прояснения данной ситуации. Если Вас не затруднит, то выложите пожалуйста подкорректированный файл.
И если можно с результатами, которые у вас получились, а то я уже подумываю, что у меня комп не воспринимает продукт и выдает разную х..нь blink.gif
PavelDergachev
Цитата (Mixa @ Апр. 2 2012, 07:10 PM)
Давайте вернемся к изначальному файлу и подведем итоги.
1. Ток задается в виде амплитуды в витке. Изначально было сделано.
2. Вы в решателе поставили частоту, у меня же она стоит в самом модуле magnetic fields на раскладке equation где приведено дифференциальное уравнение если выбрать в качестве настройки поля equation form -> Frequency domain. Если я не заблуждаюсь то нет разницы по какому способу задавать частоту.
Отсюда я делаю вывод, что возможно я не так интегрирую как вы несколько раз отметили. Но даже если и не так то результат не должен от этого менятся при изменении сетки.
Я думаю может Вы при настройке файла (который я выложил) каким-то своим действиям не придаете большого значения, которых не хватает для прояснения данной ситуации. Если Вас не затруднит, то выложите пожалуйста подкорректированный файл.

Давайте.

1. Да
2. Идейно можно и как у Вас, но зачем все так запутывать в данной простой задаче. Кстати стоит сравнить результаты на всякий случай.

А вообще да - ошибка в интегрировании.

33003691
Mixa
Цитата (CAE @ Апр. 2 2012, 10:55 PM)
А вообще да - ошибка в интегрировании.

Вот она, где зарыта была. Еще раз СПАСИБО.
PavelDergachev
Цитата (Mixa @ Апр. 2 2012, 08:32 PM)
Цитата (CAE @ Апр. 2 2012, 10:55 PM)
А вообще да - ошибка в интегрировании.

Вот она, где зарыта была. Еще раз СПАСИБО.

biggrin.gif
PavelDergachev
Тут, кстати, есть еще одна тонкость.
Вы задали катушку - как один виток, соответственно у него тоже появляется скин слой и получается, что он не эффективно используется.

Распределение плотности тока в катушке и образце:
user posted image
Mixa
Цитата
Вы задали катушку - как один виток, соответственно у него тоже появляется скин слой и получается, что он не эффективно используется.


Да спасибо но у нас в процессе используются высокие токи в индукторе поэтому по другому не получится.
Mixa
Цитата (CAE @ Апр. 2 2012, 10:55 PM)
2. Идейно можно и как у Вас, но зачем все так запутывать в данной простой задаче. Кстати стоит сравнить результаты на всякий случай.

Да, оказывается всетаки разница есть. В случае задания частоты в модуле на трех сетках показал значение ближе к реальному, причем на грубой сетке составило 2508 и 2680 на мелкой 2273 и 2405, где 2273 очень близкий результат.
Есть ли в этом логика???
PavelDergachev
Цитата (Mixa @ Апр. 2 2012, 09:09 PM)
Да спасибо но у нас в процессе используются высокие токи в индукторе поэтому по другому не получится.

Это я понимаю.

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

tongue.gif
Mixa
Цитата (CAE @ Апр. 3 2012, 12:19 AM)
Цитата (Mixa @ Апр. 2 2012, 09:09 PM)
Да спасибо но у нас в процессе используются высокие токи в индукторе поэтому по другому не получится.

Это я понимаю.

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

tongue.gif

Да вы так все профессиональные тайны вскроете biggrin.gif.
Да конечно так оно и есть, но надо свою модель с чего-то начинать, а затем развивать.
PavelDergachev
Цитата (Mixa @ Апр. 2 2012, 09:13 PM)
Да, оказывается всетаки разница есть. В случае задания частоты в модуле на трех сетках показал значение ближе к реальному, причем на грубой сетке составило 2508 и 2680 на мелкой 2273 и 2405, где 2273 очень близкий результат.
Есть ли в этом логика???

Ну во-первых у меня ничего не скачет при разных сетках.
При построении сетки не стоит забывать про глубину проникновения, она должна быть разбита по глубине по крайне мере на 3 элемента, это просто необходимо. Если это не выполнено - то ошибка может быть слишком велика, а в Вашем случае скин эффект есть на 2 элементах, что надо не забывать.

Если сетка не достаточно мелкая в области не однородного распределения плотности тока - то есть завышение потерь. Обычно это даже хорошо, поскольку потери обычно плохо.
Mixa
Цитата (CAE @ Апр. 3 2012, 12:19 AM)
Но заметьте, что середина проводника вообще не используется, поэтому в подобных ситуациях проводник делают полым, а полость используют для жидкостного охлаждения.

Мне кажется более эффективным использованием полости будет использование в качестве части центрального отопления. biggrin.gif
Mixa
Цитата (CAE @ Апр. 3 2012, 12:29 AM)
Ну во-первых у меня ничего не скачет при разных сетках.
При построении сетки не стоит забывать про глубину проникновения, она должна быть разбита по глубине по крайне мере на 3 элемента, это просто необходимо. Если это не выполнено - то ошибка может быть слишком велика, а в Вашем случае скин эффект есть на 2 элементах, что надо не забывать.

Если сетка не достаточно мелкая в области не однородного распределения плотности тока - то есть завышение потерь. Обычно это даже хорошо, поскольку потери обычно плохо.

Я говорю о различии задании частоты в решателе или в модуле.
Я понимаю что при качественном построении сетки разница минимальная, но сам факт что при грубой есть разница удивляет, значит используются разные алгоритмы решения, но покрайней мере не тот же самый.
PavelDergachev
Цитата (Mixa @ Апр. 2 2012, 09:22 PM)
Да вы так все профессиональные тайны вскроете biggrin.gif.
Да конечно так оно и есть, но надо свою модель с чего-то начинать, а затем развивать.

Разве это тайны? ohmy.gif

Я просто хотел предупредить о возможных проблемах.

Тогда видимо у Вас и индукторы специальной формы.
PavelDergachev
Цитата (Mixa @ Апр. 2 2012, 09:37 PM)
Я говорю о различии задании частоты в решателе или в модуле.
Я понимаю что при качественном построении сетки разница минимальная, но сам факт что при грубой есть разница удивляет, значит используются разные алгоритмы решения, но покрайней мере не тот же самый.

А я о другом подумал.

Вообще говоря наверное стоит проверить еще и на стройки решателя, возможно это тоже как-то сказывается. Ведь по умолчанию настройки различные. У Вас сейчас линейная задачи и стоит использовать прямой решатель, а не итерационный, это поможет стабилизировать решение.
Mixa
Цитата (CAE @ Апр. 3 2012, 12:48 AM)
Вообще говоря наверное стоит проверить еще и на стройки решателя, возможно это тоже как-то сказывается. Ведь по умолчанию настройки различные. У Вас сейчас линейная задачи и стоит использовать прямой решатель, а не итерационный, это поможет стабилизировать решение.

Ну да, скорее всего, не подумал.
PavelDergachev
Да тут надо вдумываться, а это процесс постепенный и требующий концентрации. Без этого никак.

Но ведь это и приятно. biggrin.gif
Mixa
На форуме я уже поднимал тему как смоделировать движение горелки по поверхности, дошли руки и до Comsol 'а, наткнулся на функцию Translational Motion в модуле Heat Transfer in Solids, но как-то получил не то что ожидал. Такое впечатление что просто происходит деформация температурного градиента, но не перемещение источника. Существуют ли еще способы задать прямолинейное движение горелки в продукте.
PavelDergachev
Надо делать так:

1. Задаем функцию распределения теплового потока горелки от пространственных координат (я сделал в 2D, но все тоже самое можно сделать и в 3D), в реальных расчетах естественно потребуется задавать более реальную функцию распределения
user posted image

2. Далее на нужной грани добавляем Boundary Heat Source и в него записываем нужную функцию зависящею от координат и перемещения. Зависимость может быть и простой, например я задал линейное перемещение, а можно задать и сложный закон движения.

Мой пример:
user posted image
Mixa
Цитата (CAE @ Апр. 6 2012, 05:57 PM)
Надо делать так:

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

2. Далее на нужной грани добавляем Boundary Heat Source и в него записываем нужную функцию зависящею от координат и перемещения. Зависимость может быть и простой, например я задал линейное перемещение, а можно задать и сложный закон движения.

Мой пример:

CAE, нет слов.
ПРОСТО БОЛЬШОЕ ЧЕЛОВЕЧЕСКОЕ СПАСИБО!!!!!!!! smile.gif smile.gif smile.gif
Буду пробовать.
PavelDergachev
wink.gif
Mixa
Что-то не могу понять работает или не работает Boundary Layers в 3D модели? Когда применяешь к поверхности то на геометрии они не отображаются, хотя когда меняешь в настройках количество слоев, то меняется количество элементов.
Вопрос снят был какойто глюк перегрузил комп все стало отображать
PavelDergachev
Цитата (Mixa @ Апр. 13 2012, 07:21 AM)
Вопрос снят был какойто глюк перегрузил комп все стало отображать

biggrin.gif
Mixa
Цитата (CAE @ Апр. 13 2012, 11:17 AM)
biggrin.gif

Да, бывает и такое при освоении продукта, когда не знаешь в чем может быть проблема.
PavelDergachev
Еще и не такое бывает biggrin.gif

Но круто, что Вы успеваете сами отвечать на свои вопросы.
Mixa
Не могу понять в чем проблема, при свободном разбиении все нормально, как только пытаешься задать скин слой, на детали невозможно разбить рабочее пространство?
Стандартный пример при попытке выполнить разбиение в ручную здесь.
PavelDergachev
Цитата (Mixa @ Апр. 13 2012, 01:21 PM)
Не могу понять в чем проблема, при свободном разбиении все нормально, как только пытаешься задать скин слой, на детали невозможно разбить рабочее пространство?
Стандартный пример при попытке выполнить разбиение в ручную здесь.

1. Зачем так делать?
2. У вас после разбиения слоя вблизи заданной границе, сетка частично стала состоять из четырехгранников, а в 3D COMSOL пока не научился строить произвольные сетки на шестигранниках, соответственно это надо конвертировать в треугольники.

В итоге сетка все равно выходит слишком сложной и самое главное не оправданно. И наверное там будет возникать вытеснение с внутренней стороны, так что не понятно почему именно там нужен такой вот слой.
Это архивная версия. Здесь расположена полная версия этой страницы.
Работает на IP.Board © 2023 IPS, Inc.