2014 dxdy logo

Научный форум dxdy

Математика, Физика, Computer Science, Machine Learning, LaTeX, Механика и Техника, Химия,
Биология и Медицина, Экономика и Финансовая Математика, Гуманитарные науки




Начать новую тему Ответить на тему На страницу Пред.  1, 2
 
 Re: Уравнение теплопроводности в MATLAB
Сообщение11.03.2012, 14:22 
Заслуженный участник


11/05/08
32166
Constructor в сообщении #547243 писал(а):
Граничное условие 1: $u (0,t) = 293;$

Поток через грань 1: $\frac{\partial u}{\partial x} (x = 0) = - sin(2 \cdot pi \cdot t)$

Выберите что-то одно.

 Профиль  
                  
 
 Re: Уравнение теплопроводности в MATLAB
Сообщение11.03.2012, 18:02 
Заслуженный участник
Аватара пользователя


30/01/06
72407
Constructor в сообщении #547243 писал(а):
Соотношение $\tau \leqslant 0.5 \cdot h^{2}$ не всегда действует.

Попробуйте его просто усилить в несколько раз. Это соотношение описывает самый край "хорошей области", когда уже начинаются "нехорошести", но ещё не одерживают окончательной победы. От этого края хорошо бы отступить.

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

Constructor в сообщении #547243 писал(а):
Однако выявить закономерность не представляется возможным.

Угу, типичная ситуация при возне с численными методами, особенно для новичка.

 Профиль  
                  
 
 Re: Уравнение теплопроводности в MATLAB
Сообщение11.03.2012, 18:11 
Заслуженный участник


11/05/08
32166
Munin в сообщении #547399 писал(а):
От этого края хорошо бы отступить.

Достаточно отступить самую малость: это условие на устойчивость -- в первом приближении точное.

Главная проблема в другом -- в неправильном задании граничных условий. И пока это так и остаётся -- обсуждать что-то бессмысленно.

 Профиль  
                  
 
 Re: Уравнение теплопроводности в MATLAB
Сообщение12.03.2012, 20:55 
Аватара пользователя


19/01/12
8
St. Petersburg
ewert в сообщении #547267 писал(а):
Constructor в сообщении #547243 писал(а):
Граничное условие 1: $u (0,t) = 293;$

Поток через грань 1: $\frac{\partial u}{\partial x} (x = 0) = - sin(2 \cdot pi \cdot t)$

Выберите что-то одно.

Так если температура грани является комнатной + через неё идёт поток тепла, то как, по-Вашему, я должен записать это условие? Я считаю, что именно так. Предложите свой вариант, или укажите мне на ошибку.

Munin в сообщении #547399 писал(а):
Constructor в сообщении #547243 писал(а):
Соотношение $\tau \leqslant 0.5 \cdot h^{2}$ не всегда действует.

Попробуйте его просто усилить в несколько раз. Это соотношение описывает самый край "хорошей области", когда уже начинаются "нехорошести", но ещё не одерживают окончательной победы. От этого края хорошо бы отступить.

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

Я и пробую с синусом. Меандр в MATLAB задаётся при помощи функции square(X). В принципе, его можно задать и кардинальным синусом sinc(X).

Что касается усиления соотношения: как я понимаю, Вы предлагаете ещё уменьшить шаг по оси времени?

Munin в сообщении #547399 писал(а):
Constructor в сообщении #547243 писал(а):
Однако выявить закономерность не представляется возможным.

Угу, типичная ситуация при возне с численными методами, особенно для новичка.

Думаю, просто необходимо статистику набрать. Тогда будет ясно.

 Профиль  
                  
 
 Re: Уравнение теплопроводности в MATLAB
Сообщение12.03.2012, 23:02 
Заслуженный участник
Аватара пользователя


30/01/06
72407
Constructor в сообщении #547819 писал(а):
Так если температура грани является комнатной + через неё идёт поток тепла, то как, по-Вашему, я должен записать это условие? Я считаю, что именно так.

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

Constructor в сообщении #547819 писал(а):
Предложите свой вариант, или укажите мне на ошибку.

Ошибка тут очень простая: ваши граничные условия оказываются переопределёнными. На каждое дифференциальное уравнение можно наложить не более определённого числа граничных условий, иначе будет нарушена применимость теоремы о существовании и единственности решения. Вы это число исчерпали, когда задали начальные условия, температуру на грани 0, и поток тепла через грань 1. Всё, больше не лезет. Я не знаю, как у вас там солвер вообще корячится, видимо, недостаточно интеллектуальный, чтобы такое издевательство распознать, или пытается решить переопределённую задачу. В других математических системах вам бы солвер ваши условия сразу выплюнул обратно, обнаружив переопределённость.

Constructor в сообщении #547819 писал(а):
Что касается усиления соотношения: как я понимаю, Вы предлагаете ещё уменьшить шаг по оси времени?

Да. В два, в три раза, для начала.

Constructor в сообщении #547819 писал(а):
Думаю, просто необходимо статистику набрать. Тогда будет ясно.

Ну, этот процесс, конечно, необходим, но параллельно с осмыслением.

 Профиль  
                  
 
 Re: Уравнение теплопроводности в MATLAB
Сообщение14.03.2012, 23:14 


01/04/08
2835
Constructor в сообщении #547819 писал(а):
Так если температура грани является комнатной + через неё идёт поток тепла, то как, по-Вашему, я должен записать это условие? Я считаю, что именно так. Предложите свой вариант, или укажите мне на ошибку.

Чтобы от грани шел поток тепла, ее температура должна быть выше комнатной.
Поэтому задавать нужно не температуру грани, а температуру окружающего воздуха, а температура грани будет изменяться по определенному (вычисленному вами) закону - она будет расти.
Закон этого изменения будет определяться как условиями теплопоступления, так и характером теплопотерь, которые будут пропорциональны разности текущей температуры грани и воздуха (конвекция) и лучеиспусканием - здесь потеря тепла будет пропорциональна разности в четвертой степени между температурой грани и воздуха (см. закон Стефана-Больцмана).

 Профиль  
                  
 
 Re: Уравнение теплопроводности в MATLAB
Сообщение15.03.2012, 18:05 
Заслуженный участник
Аватара пользователя


30/01/06
72407
Здесь, наоборот, поток тепла через грань из области решения, так что она должна быть холоднее.

 Профиль  
                  
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 22 ]  На страницу Пред.  1, 2

Модераторы: photon, whiterussian, profrotter, Jnrty, Aer, Парджеттер, Eule_A, Супермодераторы



Кто сейчас на конференции

Сейчас этот форум просматривают: YandexBot [bot]


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group