Решение задачи нестац. теплопроводности и задачи Пуазейля

Форум пользователей пакета Mathcad

Модератор: Admin

Artist
Сообщения: 5
Зарегистрирован: Ср июн 19, 2013 8:28 pm

Решение задачи нестац. теплопроводности и задачи Пуазейля

Сообщение Artist » Ср июн 19, 2013 8:52 pm

Возникли сложности в решении обеих задач в пакете маткад методом прогонки. Очень требуется помощь, готов отблагодарить ;), так как программирование в маткаде не входит в список моих талантов.


В задаче нестационарной теплопроводности нужно было определить температуру в каждой точке пластины, которая с 1 стенки меет температуру 100 с другой 20 (цельсия), при постоянном коэффициенте теплопроводности. При чем также был введен шаг по времени, то есть можно было наблюдать как с течением времени меняется температура в каждом узле(разбили на 11 контрольных объемов). Эта задача с успехом была решена, после чего была поставлена задача определить температуру в каждой точке пластины с учетом того что лямбда(коэф.теплопроводности) есть функция от температуры :( . И тут процесс встал.


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

Все файлы связанные с решением задач, как теоретические так и в маткаде готов незамедлительно выслать, а также фотографии с рисунками, для полноты понимания :D . (Задача пуазейля в маткаде есть, замаскированная под решение задачи стационарной теплопроводности, если ее изменить, то есть задать верные граничные условия и правильно переделать, можно легко получить решение задачи Пуазейля, что у меня не вышло) :(

VFO
Сообщения: 4227
Зарегистрирован: Ср фев 27, 2002 8:03 pm

Re: Решение задачи нестац. теплопроводности

Сообщение VFO » Чт июн 20, 2013 7:15 am

Artist писал(а):...была поставлена задача определить температуру в каждой точке пластины с учетом того что лямбда(коэф.теплопроводности) есть функция от температуры :( . И тут процесс встал.
:(

Может быть, это Вам поможет - теплопроводность функция температуры:
http://twt.mpei.ac.ru/MCS/Worksheets/Th ... ayers.xmcd

Artist
Сообщения: 5
Зарегистрирован: Ср июн 19, 2013 8:28 pm

Re: Решение задачи нестац. теплопроводности

Сообщение Artist » Чт июн 20, 2013 2:43 pm

VFO писал(а):
Artist писал(а):...была поставлена задача определить температуру в каждой точке пластины с учетом того что лямбда(коэф.теплопроводности) есть функция от температуры :( . И тут процесс встал.
:(

Может быть, это Вам поможет - теплопроводность функция температуры:
http://twt.mpei.ac.ru/MCS/Worksheets/Th ... ayers.xmcd


К сожлению у нас задача нестационарной теплопроводности, программа была написана и в принципе работает, но с проверкой несовпадает. С течением времени температура меняться перестает в узлах и задача становится стационарной. Пересчитывая по формулам для стационарной теплопроводности температуру ( как раз по методу сброшенному вами) получаем серьезные расождения в температурах посчитанных нашей программой, а они совпадать должны, а график температур в большом интервале времени должен выгибаться вправо, а у нас просто диагональ(.
Почти наверняка ошибка в программировании, мы там лепили с миру по нитке, поэтому могли пропустить важные детали в частности связанные с итеративным пересчетом лямбда(T).
Желательно чтобы человек сведущий в тонкостях маткада взглянул бы на нашу работу. Она весь 330кб так что сбросить ее сюда не получиться, поэтому кину ссылочку если кто-то откликнется
http://files.mail.ru/84483DD13A7A439DB7056F164A3A8B8B

uni
Сообщения: 1817
Зарегистрирован: Сб ноя 13, 2004 3:06 pm
Откуда: п.г.т. Излучинск
Контактная информация:

Сообщение uni » Чт июн 20, 2013 3:54 pm

Нужно более полное описание задачи.

Artist
Сообщения: 5
Зарегистрирован: Ср июн 19, 2013 8:28 pm

Сообщение Artist » Пт июн 21, 2013 12:59 pm

uni писал(а):Нужно более полное описание задачи.


Согласен с вами, в торопях написал все что в голову пришло, скидываю фотографии своих записей где подробно изложена суть задачи и теория. Также скидываю программу исходник, вкоторой решалась задачи при лямбда=const и нашу программу (неверную).
http://files.mail.ru/D051692E6B8848C882A215B57426CC54


P.S. простите за почерк :)

uni
Сообщения: 1817
Зарегистрирован: Сб ноя 13, 2004 3:06 pm
Откуда: п.г.т. Излучинск
Контактная информация:

Сообщение uni » Пт июн 21, 2013 1:24 pm

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

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

Лично я бы подобные вычисления делал в пользовательской библиотеке (внешней dll).

Для отладки программы существует специальный инструментарий в MC15. Можно использовать функцию trace() и окно отладки для просмотра промежуточных результатов работы программы при включенном отладочном режиме.

Artist
Сообщения: 5
Зарегистрирован: Ср июн 19, 2013 8:28 pm

Сообщение Artist » Пт июн 21, 2013 2:00 pm

[quote="uni"]Описание должно быть такое, чтобы понять связь между программным блоком и теорией в явном виде.


А можно хотя бы узнать каким образом задать в маткаде(через какие операторы) пересчет лямбда, при условии что
(ti-t(i-1))<0.1 ?

А лучше просто пример какой-нибудь, потому что задача почти доделана, а пересчета нет, поэтому и график не соответствует.

uni
Сообщения: 1817
Зарегистрирован: Сб ноя 13, 2004 3:06 pm
Откуда: п.г.т. Излучинск
Контактная информация:

Сообщение uni » Пт июн 21, 2013 2:44 pm

Я не знаю что такое лямбда и как там она пересчитывается, но на панели программирования есть оператор if, также существует функция if(). Про их использование лучше прочитать в справке.

Artist
Сообщения: 5
Зарегистрирован: Ср июн 19, 2013 8:28 pm

Сообщение Artist » Чт июл 04, 2013 3:38 pm

uni писал(а):Я не знаю что такое лямбда и как там она пересчитывается, но на панели программирования есть оператор if, также существует функция if(). Про их использование лучше прочитать в справке.



Попробовал решать задачу через PDEsolve, более наглядно вышло и проще, но все равно ответ неправильный.
http://www.fayloobmennik.net/2989779
Неверно записано дифф. уравнение в правой части. Переменная лямбда должна быть "внутри" второй производной, как это реализовать непонятно.
Уважаемый uni, гляньте если нетрудно, может данная программа будет более понятна