جلسه هفتم: حل معادله انتقال حرارت براي استوانه با انتقال حرارت جابجايي

نویسنده: م. ه. فرجودیان

فرضها:

      1-    خواص جسم در طول دوره تغييردما تغيير نكند.

      2-    دماي اوليه استوانه Ui ، دماي محيط U0 وضريب انتقال حرارت h (ثابت) در نظر گرفته شده

       3-    طول جسم بينهايت در نظر گرفته شده.

محاسبات :

معادله حرارت در سيستم مختصات دكارتي بصورت زير است:

clip_image001

كه در آن:

clip_image002

ودر مختصات قطبي بصورت زير است:

clip_image003

در اين روابط U تابع دمااست و

clip_image004

جسم را استوانه اي به طول بينهايت و شعاع r1 با شرايط زير در نظر مي گيريم:

clip_image006

    clip_image007

clip_image008

Ui دماي اوليه استوانه و U0  دماي محيط است. معادله حرارت بصورت زير خواهد بود:

clip_image009

براي ساده تر شدن مسئله از تغيير متغير زير استفاده مي كنيم:

clip_image010

شرايط (1) و (2)  و (3) بصورت زير خواهد شد:

 clip_image011  

clip_image013

clip_image012

با فرض اينكه W حاصل ضرب دو تابع TوR باشد:

clip_image014

معادله حرارت بصورت زير خواهد شد:

clip_image015

كه اين رابطه زماني امكان پذير است كه برابر ثابتي باشد، در نتيجه:

clip_image016

clip_image017

clip_image018

رابطه (7) معادله بسل است . فرم كلي  آن بصورت زير است:

 clip_image019

كه جواب عمومي آن بصورت زير است:

clip_image020

كه  Jpتابع نوع اول وYp تابع نوع دوم بسل از مرتبه p گفته مي شود.

graph-1

و در نتيجه جواب عمومي (1) بصورت زير است:

clip_image021

از شرط مرزي (5) نتيجه مي شود:

clip_image022

زيرا  (Y1(r در r=0 بيكران است و ( J1(r در r=0 برابر صفر است.

از شرط مرزي (6) نتيجه مي شود:

clip_image023

clip_image024

clip_image025

Zn ها از حل اين رابطه بدست مي آيند.(توضيح اينكه زيربرنامه ZrsCal در برنامه زير Zn ها را محاسبه مي كند.) درنتيجه:

clip_image026

از رابطه (8) نيز نتيجه مي شود:

clip_image028

در نتيجه :

clip_image029

براي سادگي an=BnCn بنابراين:

clip_image030

با استفاده از شرط اوليه (4) :

clip_image031

براي تعيين an از تعامد توابع بسل استفاده مي كنيم:

clip_image032

(اثبات در ضميمه آخر همين جلسه)  ودرنتيجه:

clip_image033

clip_image034

clip_image035

clip_image036

و:

clip_image038

   اين تابع درجه حرارت نقاط مختلف استوانه را بر حسب زمان بيان ميكند.براي مثال اگر قطر استوانه 14mm و ساير مشخصات آن بصورت زير فرض شود:

clip_image039

clip_image040

clip_image041

Zn ها بصورت زير خواهد شد:

clip_image042

clip_image043

clip_image046

clip_image044

clip_image045

clip_image047

توضيح اينكه اگر مقدار h به سمت بينهايت ميل كند Zn ها به سمت صفرهاي تابع( J0(r ميل مي كنند. به عبارت ديگر مطلب ارائه شده در جلسه قبلي حالت خاصي از اين حالت است. در اين حالت (J0(Zn نيز برابر صفر است و عبارت (U(t,r نيز بصورت زير است:

clip_image049

نمودار 1 دماي نقاط مختلف جسم را به فاصله r از نقطه وسط در زمانهاي متفاوت نشان مي دهد.چنانكه ملاحظه مي شود در زمان نزديك بهt=0  دماي نقاط مختلف تقريبا صفر است. در زمان t=350 هم دماي نقاط مختلف تقريبا به 100oC رسيده.

   نمودار 2 منحني تغييرات دماي نقاط مختلف استوانه را بر حسب زمان نشان مي دهد.

   نمودار 3 فرم سه بعدي دو نمودار 1و2 است.

   نمودار 4 دماي مركز استوانه برحسب زمان براي قطرهاي مختلف نشان مي دهد.

   نمودار 5 هم فرم سه بعدي نمودار 4 است.

graph-2

نمودار 1

graph-3

نمودار 2

cylinder-1

نموداز 3

graph-4

نمودار 4

cylinder-2

نمودار 5

برنامه زير كه به زبان ‍C نوشته شده دماي نقاط مختلف استوانه را در زمانهاي مختلف براي شرايط فوق ارائه مي دهد.

——————————————————————————————————————

توضيحات برنامه:

زيربرنامه J0x مقدار J0(x) را بازمي گرداند.

زيربرنامه J1x مقدار J1(x) را بازمي گرداند.

زير برنامه fnf مقدار xJ1(x)-bJ0(x)  را بازمي گرداند.

زيربرنامه ZrsCal مقادير Zn در رابطه ZnJ1(Zn)-bJ0(Zn)=0  رابازمي گرداند.

زيربرنامه ufn  مقدار U(t,r) را بازمي گرداند.

#include <stdio.h>

#include <iostream.h>

#include <math.h>

#include <conio.h>

 

double b,zrs[20];

float U0,Ui,c,Ro,k,alfa;

 

long double J0x(double w){

            int i;

            long double J0=1.0,Jn=1.0;

            for(i=1;i<70;i++){

                        Jn=-Jn*((w/2)/i)*((w/2)/i);

                        J0=J0+Jn;

            }

            return J0;

}

 

long double J1x(double w){

            int i;

            long double J1=w/2,Jn=J1;

            for(i=1;i<70;i++){

                        Jn=-Jn*((w/2)/i)*((w/2)/(i+1));

                        J1=J1+Jn;

            }

            return J1;

}

 

long double fnf(double s,double cc){

            double as;

            as= s*J1x(s)-cc*J0x(s);

            return as;

}

 

void zrscal(){

            int i;

            double x0=0,x=1;

            for (i=0;i<=15;i++){

                         do{

                                     x0=x;

                                     x=x0-fnf(x0,b)/(fnf(x0+0.0001,b)-fnf(x0,b))*0.0001;

                         }while(fabs(x-x0)>=0.0001);

                         zrs[i]=x;

                         x=zrs[i]+3.1415926;

            }

}

 

double ufn(float r,float t,float r1){

            int n;

            long double s1,urt,sigma=0;

            for(n=0;n<=12;n++){

                        s1=(zrs[n]*(pow(J1x(zrs[n]),2)+pow(J0x(zrs[n]),2)));

                        sigma=sigma+exp(-alfa*pow(zrs[n]*1000/r1,2)*t)*J1x(zrs[n])*J0x(zrs[n]*r/r1)/s1;

            }

            urt=U0+2*(Ui-U0)*sigma;

            return urt;

}

 

void main(){

            float h,r,d,t,r1,t1,t2,r2;

            cout<<“Enter D(mm):”;

            cin>>d;

            cout<<“Enter h(W/m2’C):”;

            cin>>h;

            cout<<“Enter k(W/m’C):”;

            cin>>k;

            cout<<“Enter c(KW/Kg’C):”;

            cin>>c;

            cout<<“Enter Density(Kg/m3):”;

            cin>>Ro;

            cout<<“Enter U0(‘C):”;

            cin>>U0;

            cout<<“Enter Ui(‘C):”;

            cin>>Ui;

            r1=d/2;

            t1=pow(r1,1.9)*9+9;

            t2=t1/5;

            r2=r1/10;

            b=h*r1/k/1000;

            alfa=k/Ro/(c*1000);

            zrscal();

            for(t=0.0;t<=t1;t=pow(t,1.1)+t2/20){

                        printf(“\n  r(mm)    t(Sec)      U(‘C)”);

                        printf(“\n—————————-“);

                        for (r=0.0;r<=r1;r=r+r2)

                                    printf(“\n%6.2f    %5.0f       %5.1f”,r,t,ufn(r,t,r1));

                        cout<<“\n”;

            }

            t=2*t1;

            printf(“\n  r(mm)    t(Sec)      U(‘C)”);

            printf(“\n—————————-“);

            for (r=0.0;r<=r1;r=r+r2)

                        printf(“\n%6.2f    %5.0f       %5.1f”,r,t,ufn(r,t,r1));

}

————————————————————————————————————–

ضميمه:

clip_image050

clip_image051

معادله بسل بصورت زير است:

clip_image052

اگر قراردهيم:

clip_image053

در نتيجه:

clip_image054

clip_image055

معادله اول را در ym و معادله دوم را در yn ضرب كرده و از هم كم مي كنيم:

clip_image056

با ضرب رابطه فوق در r :

clip_image057

clip_image058

clip_image059

ميدانيم:

clip_image060

clip_image061

با جاگذاري ، عبارت سمت چپ رابطه (3)  بصورت زير خواهد شد:

clip_image062

ازطرفي داريم:

clip_image067

با قراردادن در رابطه فوق:

clip_image063

در نتيجه عبارت سمت راست رابطه (3) نيز برابرصفر است. يعني:

clip_image064

—————————————————————————————————-

پاسخ دهید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

شما می‌توانید از این دستورات HTML استفاده کنید: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>