2014 dxdy logo

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

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




Начать новую тему Ответить на тему На страницу 1, 2  След.
 
 Уравнение теплопроводности в MATLAB
Сообщение14.02.2012, 15:50 
Аватара пользователя


19/01/12
8
St. Petersburg
Здравствуйте. Прошу вашей помощи в решении следующей задачи.

Необходимо смоделировать конкретный физический процесс: нагревание полупроводникового образца (германия) вследствие фото- и электролюминесценции. Для этого я использую MATLAB и уравнение теплопроводности.

1. Общий вид уравнения:
$\frac{\partial u}{\partial t} = \ae \cdot \frac{\partial^2 u}{\partial x^2} + f(t)$,
где $\ae = \frac{k}{c\cdot \rho }$ — коэффициент температуропроводности; k — теплопроводность вещества, c — удельная (изобарная) теплоёмкость, $\rho $ — плотность вещества.
2. Фотолюминесценция
a) В случае фотолюминесценции $f(t) = 0$. Исходная температура образца $T = 298 K$.
b) Граничные условия следующие:
В точке $x = 0$ падает модулированное лазерное излучение (меандр со скважностью 2 и частотой $\upsilon = 80$ Гц). Мощность излучения $P = 40$ мВт.
В точке $x = l$ может быть два варианта: плохой и хороший теплоотвод. Плохой теплоотвод - вакуум, хороший теплоотвод - теплоотводящий держатель.
c) Начальные условия: равномерное значение температуры вдоль всего образца.
3. Электролюминесценция.
a) В случае электролюминесценции $f(t) $ представляет собой меандр со скважностью 2 и длительностью импульса 10 мкс (т.е. это воздействие импульсным электрическим током).
b) Граничные условия следующие:
В точке $x = 0$ имеется некий сток тепла по хладопроводу.
В точке $x = l$ имеется отражение излучения от границы, т.е. производная $\frac{\partial u}{\partial x} = 0$.
c) Начальные условия аналогичные, как и для фотолюминесценции.

Далее, в MATLAB общая запись уравнения имеет вид: $c(x,t,u,\frac{\partial u}{\partial x})\cdot \frac{\partial u}{\partial t} = x^{-m}\cdot \frac{\partial }{\partial x} (x^{m}\cdot b(x,t,u,\frac{\partial u}{\partial x}))+s(x,t,u,\frac{\partial }{\partial x})$.
В нашем случае $m=0$.

У меня получились следующие файлы-функции (самый общий вид):
1. Файл-функция для исходных условий.
function value = initial1(x)
%INITIAL1: MATLAB function M-file that specifies the initial condition for
%a PDE in time and one space dimension.
value = 298;

2. Файл-функция для граничных условий.
function [pl,ql,pr,qr] = bc1(xl,ul,xr,ur,t)
%BC1: MATLAB function M-file that specifies boundary conditions for a PDE
%in time and one space dimension.
pl = ul-298;
ql = 0;
pr = ur-298;
qr = 0;

3. Файл-функция для самого дифференциального уравнения в частных производных.
function [c,b,s]=eqn1(x,t,u,DuDx)
%EQN1: MATLAB function M-file that specifies a PDE in time and one space
%dimension.
c = 1;
b = DuDx;
s = 0;

4. Скрипт для решения дифференциального уравнения и вывода этого решения в виде трёхмерного графика.
%PDE1: MATLAB script M-file that solves and plots
%solutions to the PDE stored in eqn1.m
m = 0;
%NOTE: m=0 specifies no symmetry in the problem. Taking m=1 specifies
%cylindrical symmetry, while m=2 specifies spherical symmetry.

%Define the solution mesh
x = linspace(0,1,10);
t = linspace(0,10,40);
%Solve the PDE
u = pdepe(m,@eqn1,@initial1,@bc1,x,t);
%Plot solution
surf(x,t,u);
title('Surface plot of solution.');
xlabel('Distance x');
ylabel('Time t');


Основная проблема: каким образом соотнести конкретные физические характеристики системы и уравнение теплопроводности. Я совсем запутался.

Благодарю за внимание.

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


30/01/06
72407

(Оффтоп)

У меня сильное подозрение, что коэффициент температуропроводности обозначается на самом деле "каппа", $\kappa$ или $\varkappa$, а в виде $\ae$ его рисуют на доске из-за скорости и неаккуратности.


Каким образом у вас лазерный свет и электрический ток превращаются в температуру, и почему это называется фотолюминесценцией и электролюминесценцией, я не понял. Ещё я не понял, почему вы пишете об $f(t)$ как о числовой функции, в то время как, судя по вашему уравнению, она должна быть задана по всей области задачи $f(x,t),$ $x\in[0,l].$ И почему вы условие $\frac{\partial u}{\partial x} = 0$ называете отражением излучения от границы.

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


19/01/12
8
St. Petersburg
Munin,
благодарю за комментарии и вопросы.

Цитата:
Каким образом у вас лазерный свет и электрический ток превращаются в температуру, и почему это называется фотолюминесценцией и электролюминесценцией, я не понял.

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

Цитата:
Ещё я не понял, почему вы пишете об $f(t)$ как о числовой функции, в то время как, судя по вашему уравнению, она должна быть задана по всей области задачи $f(x,t),$ $x\in[0,l].$

Эта функция задает дополнительный источник в случае электролюминесценции. По x она не меняется. По временной шкале представляет собой меандр (величина этого меандра примерно 0,2 А при разности потенциалов 14 В; во втором полупериоде величина равна 0).

Цитата:
И почему вы условие $\frac{\partial u}{\partial x} = 0$ называете отражением излучения от границы.

Отражение теплового излучения. Возможно, я с терминологией напортачил. Лучше сказать "тепловой поток". Отражение идёт вследствие того, что поток через границу равен 0 (в данном случае это определяется граничным условием второго типа, т.е. $u - u_{0} = h\cdot \frac{\partial u}{\partial x}$; Поскольку температура образца $u$ равна температуре окружающей среды $u_{0}$, то и производная равна нулю). На границе в этом случае температура постоянна (условие первого типа).

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


30/01/06
72407
Constructor в сообщении #538880 писал(а):
В температуру они превращаются, поскольку идёт нагрев образца под действием либо лазерного излучения, либо проходящего через образец электрического тока.

И где физическое описание этого процесса? Начать с того, где происходит этот нагрев: в объёме образца или на его поверхности? Хорошо бы формулы написать с соответствующими коэффициентами.

Constructor в сообщении #538880 писал(а):
Эта функция задает дополнительный источник в случае электролюминесценции. По x она не меняется.

Хорошо, что уточнили. А вы точно знаете, что не меняется?

Constructor в сообщении #538880 писал(а):
Отражение теплового излучения. Возможно, я с терминологией напортачил. Лучше сказать "тепловой поток".

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

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


19/01/12
8
St. Petersburg
Munin
Цитата:
И где физическое описание этого процесса? Начать с того, где происходит этот нагрев: в объёме образца или на его поверхности? Хорошо бы формулы написать с соответствующими коэффициентами.

Нагрев происходит на поверхности образца (в случае фотолюминесценции) и во всём его объёме (в случае электролюминесценции).
1. Фотолюминесценция.
Образец закреплён и подвергается воздействию импульсного лазерного излучения при комнатной температуре.
$\frac{\partial u}{\partial t} = 3.625210 \cdot 10^{-5} \cdot \frac{\partial^2 u}{\partial x^2}$,
т.е. $\ae = 3.625210 \cdot 10^{-5} [\frac{m^{2}}{s}]$ - коэф. температуропроводности для германия.
$\frac{\partial u}{\partial x} (x=0) = - \frac{P(t))}{S\cdot k} $ - поток тепла от лазерного излучения.
$ P(t) = 40\cdot10^{-3} [W], S = \pi \cdot (10^{-2})^{2} [m^{2}], k = 59.9 [\frac{W}{m\cdot K}] $,
$u (x=l) = 290 [K] $ - температура держателя.
$u(x,0)=300 [K]$
2. Электролюминесценция.
$\frac{\partial u}{\partial t} = 3.625210 \cdot 10^{-5} \cdot \frac{\partial^2 u}{\partial x^2}$ +f(t).
$\frac{\partial u}{\partial x} (x=0) = 0$,
$\frac{\partial u}{\partial x} (x=l) = 0$,
$u (x=l) = 295 [K] $,
$u (x=l) = 290 [K] $,
$u(x,0)=300 [K]$,
$f(t) = V(t)$ - меандр.

Цитата:
Хорошо, что уточнили. А вы точно знаете, что не меняется?

Уверен. По оси x изменений нет, только вдоль оси t.

Цитата:
Какой физический смысл у этого условия в случае теплопроводности, надо рассматривать отдельно. Кажется, оно соответствует нулевому потоку тепла через границу, абсолютной теплоизоляции или линии симметрии системы.

Это условие ($\frac{\partial u}{\partial x} = 0$) соответствует нулевому тепловому потоку через границу.

 Профиль  
                  
 
 Re: Уравнение теплопроводности в MATLAB
Сообщение16.02.2012, 11:59 


01/04/08
2797
Constructor в сообщении #538595 писал(а):
Необходимо смоделировать конкретный физический процесс: нагревание полупроводникового образца (германия) вследствие фото- и электролюминесценции.

По-моему этими терминами Вы запутываете существо проблемы.
Нужно разделить источники поступления тепла (нагрева) и способы потери тепла (охлаждения).
1. Источник тепла - лазерный луч, потеря тепла - фотолюминисценция, конвекция, ИК излучение.
2. Источник тепла - электрический ток, потеря тепла - электролюминисценция, конвекция, ИК излучение.
Так ?

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


30/01/06
72407
Constructor в сообщении #538595 писал(а):
Основная проблема: каким образом соотнести конкретные физические характеристики системы и уравнение теплопроводности. Я совсем запутался.

Ну, по итогам последнего сообщения:
- для случая 1 вы написали все формулы, связывающие величины уравнения теплопроводности и физические характеристики системы. Я надеюсь, в этом случае вы распутались?
Ах да, осталось ещё рассмотреть случай плохого теплоотвода на границе $x=l.$
- для случая 2 у вас осталось нераскрытым, что такое $f(t) = f_A\cdot V(t).$ Вам задана только форма этой функции по времени, вам нужно уточнить, как вычисляется амплитуда этой функции. У вас должна получиться величина размерности К/с, и надо её получить из характеристик образца как проводника, и пропускаемого электрического тока. Может быть, джоулево тепло, делённое на теплоёмкость?
И забыто граничное условие на $x=0,$ "некий сток тепла по хладопроводу".

GraNiNi в сообщении #539299 писал(а):
По-моему этими терминами Вы запутываете существо проблемы.
Нужно разделить источники поступления тепла (нагрева) и способы потери тепла (охлаждения).
1. Источник тепла - лазерный луч, потеря тепла - фотолюминисценция, конвекция, ИК излучение.
2. Источник тепла - электрический ток, потеря тепла - электролюминисценция, конвекция, ИК излучение.
Так ?

Если рассматривать ещё и охлаждение образца, тогда получится намного более сложное уравнение, типа
$\frac{\partial u}{\partial t} = \kappa \cdot \frac{\partial^2 u}{\partial x^2} + f(t) - g(u),$
где $g(u)$ - функция потерь тепла, зависящая от текущей температуры. Может, численно MATLAB и решит это, но у меня сомнения, что задали нечто столь неподъёмное, скорее, просто слова "электролюминесценция" и "фотолюминесценция" не имеют отношения к сути задачи.

Было произнесено следующее:
    Constructor в сообщении #538880 писал(а):
    Фотолюминесценция и электролюминесценция происходят в дальней инфракрасной области спектра вследствие межзонной накачки, а затем релаксации на мелкие примесные центры.
У меня складывается впечатление, что люминесценция в данном случае - только следствие нагрева, и процесс, позволяющий измерить полученную функцию температуры $u.$ А потери на люминесценцию на саму теплопередачу не влияют.

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


19/01/12
8
St. Petersburg
Munin
В данном случае эта задача представляет собой моделирование эксперимента. Такие условия были поставлены коллегами, так сказать. :-)

Цитата:
для случая 1 вы написали все формулы, связывающие величины уравнения теплопроводности и физические характеристики системы. Я надеюсь, в этом случае вы распутались?

Здесь я распутался. В принципе, все размерности совпадают. Только сам MATLAB странно себя ведёт: в случае фотолюминесценции, когда исходное значение температуры образца, а также значение температуры в точке $x=0$ и $x=l$ имеют одно и то же значение, то даже в случае, когда через грань $x=0$ течет тепловой поток, в конечном итоге солвер pdepe выдает константу (как по x, так и по t). А этого быть не должно.
Плохой теплоотвод в данном случае рассматривать нет необходимости: процесс происходит при комнатной температуре, а крепление для образца обладает хорошей теплопроводностью.

Цитата:
для случая 2 у вас осталось нераскрытым, что такое $f(t) = f_A\cdot V(t).$ Вам задана только форма этой функции по времени, вам нужно уточнить, как вычисляется амплитуда этой функции. У вас должна получиться величина размерности К/с, и надо её получить из характеристик образца как проводника, и пропускаемого электрического тока. Может быть, джоулево тепло, делённое на теплоёмкость?

В случае электролюминесценции, через образец пропускается электрический ток, который модулируется во времени. По поводу амплитуды стоит уточнить. Я понимаю, что размерность должна быть К/с. Думаю, Ваше предложение в этом случае достаточно закономерно. Я рассмотрю эту возможность.
Да, и в этом случае образец находится в гелии. Поэтому при $x=l$ температура равна 5 К. А на границе $x=0$ температура равна либо 5 К (гелиевая среда), либо 0 К (вакуум). При этом, как я понимаю, граничные условия являются условиями первого типа, и производные на границах равны 0. Сток тепла по хладопроводу в данном случае выражается просто температурой этого хладопровода, поскольку его размеры и теплоемкость очень велики по сравнению с аналогичными параметрами самого образца.

Цитата:
Если рассматривать ещё и охлаждение образца...

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

GraNiNi
Цитата:
По-моему этими терминами Вы запутываете существо проблемы.
Нужно разделить источники поступления тепла (нагрева) и способы потери тепла (охлаждения).
1. Источник тепла - лазерный луч, потеря тепла - фотолюминисценция, конвекция, ИК излучение.
2. Источник тепла - электрический ток, потеря тепла - электролюминисценция, конвекция, ИК излучение.
Так ?

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

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


30/01/06
72407
Constructor в сообщении #540692 писал(а):
В данном случае эта задача представляет собой моделирование эксперимента. Такие условия были поставлены коллегами, так сказать.

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

В любом случае, вам нужно поправить "нагревание вследствие ...люминесценции" на "нагревание в ходе ...люминесценции" или даже "для".

Constructor в сообщении #540692 писал(а):
в конечном итоге солвер pdepe выдает константу (как по x, так и по t). А этого быть не должно.

А почему вы думаете, что не должно? В принципе, в уравнении теплопроводности скорость распространения тепла бесконечная, так что может быть, сколько втекает, столько и вытекает. Проверьте, поставив плохой теплоотвод, например. Или аналитически прикинув искомый вид решения.

Constructor в сообщении #540692 писал(а):
Хотя, охлаждение образца в рассматриваемых условиях эксперимента пренебрежимо мало

Это как раз и означает, что его рассматривать не надо :-)

Я думаю, вы переходите от стадии "соотнести физические характеристики и что запихивать в солвер" к стадии "мучаться с солвером, пытаясь получить от него что-то осмысленно выглядящее" :-) После неё светит третья "получать от солвера искомые результаты", так что всё оптимистично.

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


11/05/08
32166
Constructor в сообщении #538880 писал(а):
Отражение идёт вследствие того, что поток через границу равен 0 (в данном случае это определяется граничным условием второго типа, т.е. $u - u_{0} = h\cdot \frac{\partial u}{\partial x}$; Поскольку температура образца $u$ равна температуре окружающей среды $u_{0}$, то и производная равна нулю). На границе в этом случае температура постоянна (условие первого типа).

Тут какая-то сплошная путаница. $u - u_{0} = h\cdot \frac{\partial u}{\partial x}$ -- это условие третьего типа. И если вдруг производная уверенно равна нулю, то это вовсе не от того, что какая-то там температура равна температуре, а просто потому, что вот теплоизоляция -- и всё тут. И эта теплоизоляция противоречит постоянству температуры.

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


19/01/12
8
St. Petersburg
Munin

Цитата:
Я думаю, вы переходите от стадии "соотнести физические характеристики и что запихивать в солвер" к стадии "мучаться с солвером, пытаясь получить от него что-то осмысленно выглядящее" :-) После неё светит третья "получать от солвера искомые результаты", так что всё оптимистично.

Я уже чёрт знает сколько времени мучаюсь с солвером. Конечный вид решения я себе представляю и понимаю, каким он должен быть. Только вот солвер выдает такие решения, что хочется ноутбук в окно выкинуть :) Хотя, компьютер лишь совершает те операции, на которые его запрограммировал человек. Поэтому проблема, видимо, во мне :) Пока ещё не всё встало на свои места.

ewert

Цитата:
Тут какая-то сплошная путаница. $u - u_{0} = h\cdot \frac{\partial u}{\partial x}$ -- это условие третьего типа. И если вдруг производная уверенно равна нулю, то это вовсе не от того, что какая-то там температура равна температуре, а просто потому, что вот теплоизоляция -- и всё тут. И эта теплоизоляция противоречит постоянству температуры.

Я понимаю, что это условие третьего типа. Просто я имел ввиду саму производную как условие второго типа.
То есть, как я понимаю, теплоизоляция - это когда $\frac{\partial u}{\partial x} = 0$, однако, при этом на границе может наблюдаться скачок температур $u - u_{0} \neq 0$?

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


30/01/06
72407
Constructor в сообщении #541345 писал(а):
Я уже чёрт знает сколько времени мучаюсь с солвером. Конечный вид решения я себе представляю и понимаю, каким он должен быть. Только вот солвер выдает такие решения, что хочется ноутбук в окно выкинуть :) Хотя, компьютер лишь совершает те операции, на которые его запрограммировал человек. Поэтому проблема, видимо, во мне :) Пока ещё не всё встало на свои места.

Попробуйте дать солверу самую простую задачку, с тем чтобы потом усложнить её условия до реальных. Добейтесь, чтобы он её решал. Потом усложняйте условия небольшими шагами. Заодно приглядывайтесь к документации солвера, что там сказано про специфику его численных методов, и как с ней управляться. Уравнение теплопроводности обычно более смирно себя ведёт при уменьшении шага по времени, до порядка $\Delta t\sim\Delta x^2/\kappa$ (подробнее см. литературу по численным методам).

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


19/01/12
8
St. Petersburg
Munin

Цитата:
Попробуйте дать солверу самую простую задачку, с тем чтобы потом усложнить её условия до реальных. Добейтесь, чтобы он её решал. Потом усложняйте условия небольшими шагами. Заодно приглядывайтесь к документации солвера, что там сказано про специфику его численных методов, и как с ней управляться. Уравнение теплопроводности обычно более смирно себя ведёт при уменьшении шага по времени, до порядка $\Delta t\sim\Delta x^2/\kappa$ (подробнее см. литературу по численным методам).

Я экспериментирую. Только пока неудачно. Простые примеры солвер решает нормально. А сложные запутывает до невозможности.
Попробую решить эту проблему. Благодарю за помощь.

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


30/01/06
72407
Какой самый простейший пример, который не удаётся решить?

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


19/01/12
8
St. Petersburg
Munin

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

Допустим, простой пример:
Исходное уравнение: $\frac{\partial u}{\partial t} = \frac{\partial^2 u}{\partial x^2};$
Начальное условие: $u (x,0) = 293;$
Граничное условие 1: $u (0,t) = 293;$
Граничное условие 2:$u (x,t) = 293$, при этом $x = 1$ ;
Поток через грань 1: $\frac{\partial u}{\partial x} (x = 0) = - sin(2 \cdot pi \cdot t)$
Однако, даже здесь сложно подобрать область устойчивости. Соотношение $\tau \leqslant 0.5 \cdot h^{2}$ не всегда действует. Аналогично и в более сложном примере.
Можно вместо синуса использовать меандр. Но при этом появляются провалы, которые объяснить сложно. Видимо, это связано с той же устойчивостью. Если менять шаг по t и x, то изменения происходят. Однако выявить закономерность не представляется возможным.

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

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



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

Сейчас этот форум просматривают: Someone


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

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