Теплопроводность через сферическую оболочку

·     физические параметры среды и тела,

·     граничные условия, характеризующие распределение температур на поверхности тела, или взаимодействие изучаемого тела с окружающей средой.

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

          Обычно начальные условия распределения температуры задаются для момента времени  t = 0.

          Граничные условия могут быть заданы тремя способами.

Граничное условие первого рода задается распределением температуры на поверхности тела для любого момента времени.

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

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

          Решение дифференциального уравнения теплопроводности при заданных условиях однозначности позволяет определить температурное поле во всем объеме тела для любого момента времени или найти функцию .

2.6 Теплопроводность через шаровую стенку


С учётом описанной в разделах 2.1 - 2.5 терминологии задачу данной курсовой работы можно сформулировать так. Постоянный тепловой поток направлен через шаровую стенку, причем источником теплоты является внутренняя сфера радиусом R1. Мощность источника P постоянна. Среда между граничными сферами изотропна, поэтому её теплопроводность c является функцией одной переменной - расстояния от центра сфер (радиуса) r. По условию задачи . Вследствие этого температура среды тоже является в данном случае функцией одной переменной - радиуса r: T = T(r), а изотермические поверхности это концентрические сферы. Таким образом искомое температурное поле - стационарное и одномерное, а граничные условия являются условиями первого рода: T(R1) = T1, T(R2) = T2.



Из одномерности температурного поля следует, что плотность теплового потока j так же, как теплопроводность и температура, являются в данном случае функциями одной переменной - радиуса r. Неизвестные функции j(r) и T(r) можно определить одним из двух способов: или решать дифференциальное уравнение Фурье (2.25), или использовать закон Фурье (2.11). В данной работе избран второй способ. Закон Фурье для исследуемого одномерного сферически симметричного температурного поля имеет вид:

.                                                       (2.27)

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

Определим зависимость плотности теплового потока j от r. Для этого сначала вычислим тепловой поток q через сферу произвольного радиуса         r > R.

.                                                  (2.28)

В частности, тепловой поток q1 через внутреннюю сферу радиусом R1 и тепловой поток q2 через наружную сферу радиусом R2 равны

                                           (2.29)

Все эти три потока создаются одним и тем же источником мощностью P. Поэтому все они равны P и поэтому равны между собой.

.                                                          (2.30)

С учётом (2.28) и (2.29) это равенство можно записать в виде:

.                                        (2.31)

Учитывая, что

,                                             

получаем искомую зависимость плотности теплового потока j от радиуса r:

,                                                             (2.32)

где C1 - это константа, определяемая формулой

.                                      (2.33)

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

Теперь, так как функция j(r) известна, можно рассматривать уравнение (2.27) как дифференциальное уравнение относительно функции T(r). Решение этого уравнение и даст искомое распределение температур. Подставив в (2.27) выражение (2.32) и заданную функцию , получим следующее дифференциальное уравнение:

.                                                   (2.34)

Данное уравнение решается методом разделения переменных:

.                                                                 

Интегрирование этого выражения даёт:

                                               

Итак, функция T(r) имеет вид:

.                                            (2.35)

Константы C1 и C2 можно определить из граничных условий T(R1) = T1,
T(R2) = T2. Подстановка этих условий в (2.35) даёт линейную систему двух уравнений с двумя неизвестными C1 и C2:

.                                         (2.36)

Вычитая из первого уравнения второе, получим уравнение относительно C1:

,                                              

откуда

.                                              (2.37)

С учётом этого выражение (2.35) можно записать в виде:

.                                       (2.38)

Теперь первое граничное условие T(R1) = T1 даёт:

,                                         (2.39)

откуда следует выражение для константы C2:

.                                             (2.40)

Подстановка (2.40) в (2.39) даёт окончательное выражение для искомой функции T(r):

.                                       (2.41)

Зная функцию T(r), можно из закона Фурье

                                                         

определить и окончательное выражение для плотности теплового потока j как функции от радиуса r:

.                                               (2.42)

Интересно отметить, что распределение температур не зависит от коэффициента b, но зато плотность потока пропорциональна b.

3 Заключение


В результате проделанной работы выведено дифференциальное уравнение теплопроводности применительно к данным конкретным условиям задачи и получено решение этого уравнения в виде функции T(r). Разработана программа TSO, рассчитывающая функцию T(r) и строящая её график для различных задаваемых пользователем параметров задачи . Листинг программы приведен в Приложении А.

Список используемых источников


Нащокин В.В.  Техническая термодинамика и теплопередача: Учеб. пособие для вузов. — 3-е изд., испр. и доп. — М: Высш. школа, 1980. — 469 с.

Араманович И.Г., Левин В.И. Уравнения математической физики:  М.: Наука, 1969. — 288 стр.

Савельев И. В. Курс общей физики. Т. 1. Механика. Молекулярная физика: Учеб. пособие для студентов втузов. — М.: Наука, 1982. — 432с.

Зельдович Б.И., Мышкис А.Д. Элементы математической физики. — М.: Наука, 1973. — 352с.

Приложение А

(обязательное)

Листинг программы TSO

unit Kurs_p;

interface

uses

  Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,

  StdCtrls, Spin;


type

  TForm1 = class(TForm)

    Button1: TButton;

    Label1: TLabel;

    Label2: TLabel;

    Label3: TLabel;

    Label4: TLabel;

    Label5: TLabel;

    Label6: TLabel;

    Label7: TLabel;

    Label8: TLabel;

    Edit1: TEdit;

    Label9: TLabel;

    Edit2: TEdit;

    Label10: TLabel;

    Edit3: TEdit;

    Label11: TLabel;

    Edit4: TEdit;

    procedure Button1Click(Sender: TObject);

    procedure FormPaint(Sender: TObject);

    procedure Edit1KeyPress(Sender: TObject; var Key: Char);

  private



  public

        procedure OsiK (x0,y0:Integer);

        procedure Postroenie(T1,T2,R1,R2:real);


  end;

var

  Form1: TForm1;

  X0,Y0:integer;

  T1,T2,R1,R2:real;

implementation

{$R *.DFM}

procedure TForm1.OsiK (x0,y0:Integer);

var

   i,x,y:integer;

begin

     Canvas.Pen.Width:=2;

     Canvas.Pen.Color := clBlack;

     Canvas.MoveTo(x0, y0);           {построение оси X}

     Canvas.LineTo(x0+400, y0);


     Canvas.MoveTo(x0+400, y0);       {построение стрелочек оси Х}

     Canvas.LineTo(x0+400-10, y0-5);

     Canvas.MoveTo(x0+400, y0);

     Canvas.LineTo(x0+400-10, y0+5);

     Label4.Left:=x0+390;

     Label4.Top:=y0+10;


     Label5.Left:=x0+350;

     Label5.Top:=y0+10;

     Label6.Left:=x0;

     Label6.Top:=y0+10;

     Label7.Left:=x0-25;

     Label7.Top:=y0-10;

     Label8.Left:=x0-25;

     Label8.Top:=y0-105;



     Canvas.MoveTo(x0, y0);           {построение оси Y}

     Canvas.LineTo(x0, y0-150);


     Canvas.MoveTo(x0, y0-150);       {построение стрелочек оси Y}

     Canvas.LineTo(x0-5, y0-150+10);

     Canvas.MoveTo(x0, y0-150);

     Canvas.LineTo(x0+5, y0-150+10);

     Label3.Left:=x0-25;

     Label3.Top:=y0-150;


     Canvas.Pen.Width:=1;

     x:=x0;

     for i:=1 to 10 do

     begin

          x:=x+35;

          Canvas.MoveTo(x, y0-3);

          Canvas.LineTo(x, y0+3);

     end;

     y:=y0;

     for i:=1 to 5 do

     begin

          y:=y-20;

          Canvas.MoveTo(x0-3, y);

          Canvas.LineTo(x0+3, y);

     end;

end;

procedure TForm1.Postroenie(T1,T2,R1,R2:real);

var

   x,y:integer;

   Kx,Ky,x1,y1,P,C1,Sag:real;

begin

     Canvas.Pen.Width:=1;

     Canvas.Pen.Color := clRed;


     Sag:=(R2-R1)/500;         {шаг по X}

     C1:=(T1-T2)/(ln(R2/R1));


     Kx:=(R2-R1)/350;          {Коэффициенты "усиления"}

     if T1>T2 then

     Ky:=T1/100

     else

     Ky:=T2/100;


     x1:=R1;                   {Начальные условия}

     y1:=T1;

     Canvas.MoveTo(x0+Round((x1-R1)/Kx),y0-Round(y1/Ky));

     repeat

           y:=Round(y1/Ky);

           x:=Round((x1-R1)/Kx);

           Canvas.LineTo(x0+x, y0-y);

           x1:=x1+Sag;

           y1:=(T1+C1*ln(R1/x1));

           {label1.Caption:=label1.Caption+'; '+intToStr(x);

           label2.Caption:=label2.Caption+'; '+intToStr(y);}

     until x1>R2;

     P:=4*Pi*C1;

     label1.Caption:='Мощность источника: ='+FloatToStrF(P,ffGeneral,5,1)+

' Вт';


     label5.Caption:=FloatToStrF(R2,ffGeneral,4,1);

     label6.Caption:=FloatToStrF(R1,ffGeneral,4,1);

     if T1>T2 then

     begin

          label7.Caption:=FloatToStrF(T2,ffGeneral,4,1);

          label8.Caption:=FloatToStrF(T1,ffGeneral,4,1);

     end

     else

     begin

          label7.Caption:=FloatToStrF(T1,ffGeneral,4,1);

          label8.Caption:=FloatToStrF(T2,ffGeneral,4,1);

     end;

end;


procedure TForm1.Button1Click(Sender: TObject);

var

   Code1,Code2,Code3,Code4:integer;

begin

     Repaint;

     val (Edit1.Text,T1,Code1);

     val (Edit2.Text,T2,Code2);

     val (Edit3.Text,R1,Code3);

     val (Edit4.Text,R2,Code4);

     if (Code4 or Code3 or Code2 or Code1) <> 0 then

     begin

          Edit1.SetFocus;

          MessageDlg ('Введите пожалуйста значение!', mtError, [mbOk],0);

     end

     else

     Postroenie(T1,T2,R1,R2);

end;


procedure TForm1.FormPaint(Sender: TObject);

begin

     x0:=100;

     y0:=200;

     OsiK(x0,y0);

end;


procedure TForm1.Edit1KeyPress(Sender: TObject; var Key: Char);

begin

     if not (key in ['0'..'9',#8,'.']) then

     begin

          Key:=#0;

          MessageBeep($FFFFFFFF);

     end;

end;


end.



Страницы: 1, 2, 3



Реклама
В соцсетях
рефераты скачать рефераты скачать рефераты скачать рефераты скачать рефераты скачать рефераты скачать рефераты скачать