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
2797
Constructor в сообщении #547819 писал(а):
Так если температура грани является комнатной + через неё идёт поток тепла, то как, по-Вашему, я должен записать это условие? Я считаю, что именно так. Предложите свой вариант, или укажите мне на ошибку.

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

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


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

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

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



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

Сейчас этот форум просматривают: нет зарегистрированных пользователей


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

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