یک مثال از انتقال حرارت در MATLAB

هدف از این مثال بدست آوردن توزیع انتقال حرارت در صفحه زیر با برنامه MATLAB می باشد. توزیع درجه حرارت در یک صفحه مستطیلی با دمای مرز بالای 0 درجه زانکین و دمای مرز پایین 100 رانکین و دمای مرزهای راست و چپ 0 درجه رانکین به دست آورده شده است.

 

Heat Transfer in MATLAB

 

 

ابعاد صفحه مستطیلی 1 فوت در 2 فوت است. تمام شرایط مرزی از نوع دما ثابت هستند. هندسه صفحه مستطیلی در شکل زیر نشان داده شده است.

 

 

معاله دیفرانسیلی پاره ای برای انتقال حرارت دوبعدی دایم به شکل زیر است:

پس از گسسته سازی معادله دیفرانسیل جریی فوق با روش تفاضلات محدود (Finite Deference) گام های مکانی را 0.5 در نظر می گیریم که در اینصورت IM=21 و JM=41 می باشد. در نتیجه توزیع دما را برای 741 گره بایستی پیدا کرد. شرایط اولیه را برای همه نقاط داخلی T=0 در نظر گرفته می شود.

کد برنامه MATLAB:

% ******************************************
% 2D Heat Equation Programming using MATLAB
% EngPedia.ir
% ******************************************

clear all
clc
n = 20;
m=40;
x = linspace(0,1,n+1); dx = x(2)-x(1);
y = linspace(0,2,m+1); dy =y(2)-y(1);
T(1,1:21) = 100; %BOTTOM
T(1:41,1) = 0;%LEFT
T(1:41,21) = 0; %RIGHT
T(41,1:21) = 0; %TOP
dt = dx^2/4;
for k=1:1:inf
Told = T;
for i = 2:m
for j = 2:n
T(i,j) = dt*((Told(i+1,j)-2*Told(i,j)+Told(i-1,j))/dx^2 …
+ (Told(i,j+1)-2*Told(i,j)+Told(i,j-1))/dy^2) …
+ Told(i,j);
end
end
error = max(max(abs(Told-T)));
if error <1e-2
break
end
end

iteration=k
subplot(2,1,1),contour(x,y,T),
title(‘Temperature (Steady State)’),xlabel(‘x’),ylabel(‘y’),colorbar
subplot(2,1,2),pcolor(x,y,T),shading interp,
title(‘Temperature (Steady State)’),xlabel(‘x’),ylabel(‘y’),colorbar

% ******************************************
% EngPedia.ir
% ******************************************

 

برنامه با حلقه for نوشته شده است. در نهایت کانتورهای دما به شکل زیر در می آید.

 

مطالب مرتبط

دیدگاهتان را بنویسید

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

نشانی ایمیل منتشر نخواهد شد

نویسنده : آدرس سایت : ایمیل :
کد روبرو را وارد نمایید

تعداد 65 دیدگاه برای نوشته " یک مثال از انتقال حرارت در MATLAB" ارسال شده است .

    رضا 7 فروردین 1393 در 1:01 ب.ظ
  1. سلام اررور میدهد
    ans =

    bottom

    ans =

    left

    ans =

    top

    ans =

    right

    Undefined function or variable ‘dx’.

    Error in Heat (line 10)
    dT=dx^2/4;
    لطفا راهنمایی کنید

  2. پاسخ
      مدیریت 7 فروردین 1393 در 3:15 ب.ظ
    • سلام
      کل کد رو کپی کردین و ران کردین؟
      نتیجه ای که بصورت عکس قرار دادیم، نتیجه ای هست که پس از Run گرفتن گذاشتیم.

    • پاسخ
    رضا 7 فروردین 1393 در 5:27 ب.ظ
  3. ممنون یه جا رو اشتباه تابپکردم

  4. پاسخ
      مدیریت 7 فروردین 1393 در 5:54 ب.ظ
    • خواهش میکنم.
      موفق باشید 🙂

    • پاسخ
    حربی 9 فروردین 1393 در 9:34 ب.ظ
  5. با سلام خدمت مدیر محترم سایت.
    ممنون از سایت خیلی خوبتون
    یک سوال داشتم در مورد خط 25
    برای گسسته سازی معادله لاپلاس dt چرا گذاشتید در صورتی که در معادله لاپلاس صحبتی از زمان نشده.
    و یک سوال دیگر من اگر بخواهم تولید حرارت در خود جسم داشته باشم چه کار باید بکنم؟
    ببخشید طولانی شد
    ممنون میشم راهنمایی کنید.

  6. پاسخ
      مدیریت 11 فروردین 1393 در 4:48 ب.ظ
    • سلام
      خواهش میکنم.
      منظور از dt همون dx^2/4 هست که در واقع یه نام گذاری هست. منظور زمان نیست!
      اگر حرارت در خود جسم داشته باشین، که معمولا با نام Heat Generation شناخته میشه، کافیه معادله اون رو تو معادله اولیه لحاظ کنید. منظور از معادله، همون معادله بقای انرژی هست.
      موفق باشید.

    • پاسخ
    سروش 29 اردیبهشت 1393 در 3:33 ب.ظ
  7. با سلام و خسته نباشید’
    اگر بخوام جوری برنامه نویسی کنم که برای هر هندسه ورودی کانتور دما رسم کنه باید چیکار کنم?!

  8. پاسخ
      مدیریت 29 اردیبهشت 1393 در 6:38 ب.ظ
    • سلام
      ممنون
      باید معادله هندستون رو بصورت یه شرط تو حلقه تعریف کنید.

    • پاسخ
    سام 19 آبان 1393 در 12:31 ق.ظ
  9. سلام
    جناب یه سوال داشتم!
    من اگه بخوام دمای هر گره را بدست بیارم چیکار باید بکنم مثلاT(5.6(

  10. پاسخ
      مدیریت 19 آبان 1393 در 8:17 ب.ظ
    • سلام
      خیلی ساده
      راهنمایی:
      دمای هر نقطه تو کدوم ماتریس ذخیره شده؟
      اگر دمای نقطه (5و6) رو میخواین، درایه همون ماتریس رو بررسی کنید.

    • پاسخ
        سام 19 آبان 1393 در 8:21 ب.ظ
      • جناب میشه بگید این dt چی هستش چون تو فرمول همچین چیزی نداریم؟ آیا همون خطای قطع کردن است؟

      • پاسخ
          مدیریت 19 آبان 1393 در 8:29 ب.ظ
        • احتمالا مربوط به روش تفاضلات محدود هست.

    محسن 23 آبان 1393 در 12:15 ق.ظ
  11. سلام . ممنون از پست این مطلب. جناب مهندس اگه زمان داشته باشیم باید چطوری مسئله رو بنویسیم؟‌ انتقال حرارت گذرا یک بعدی با گام های زمانی 0.001…

    میشه راهنمایی کنید؟

  12. پاسخ
      مدیریت 23 آبان 1393 در 2:05 ب.ظ
    • سلام
      باید اول معادله کلی رو بر حسب زمان بدست بیارین.
      بعش در هر بازه زمانی معادله رو حل کنید.
      یعنی در هر step زمانی باید یکبار معادله رو برای کل جسم بنویسین…
      مثلا در زمان 1 ثانیه دمای هر گره چقدر هست. اگر استپ شما 0.1 هست، در زمان 1.1 ثانیه دمای هر گره چقدر میشه..
      data بدیت اومده در روش گذرا بیشتر هست.
      چون در هر زمان، نیاز به داشتن دمای گره ها در یک استپ زمانی قبل هستیم، باید در هر اصتپ زمانی یکبار معادله کامل حل بشه.
      موفق باشید.

    • پاسخ
    عسل 16 دی 1393 در 4:59 ق.ظ
  13. با سلام وخسته نباشید
    من می خوا برای یک دیوار تو خالی توزیع دما بدست بیارم ولی هر کاری کردم تا یک هندسه برای دیوار توخالی بکشم نتونستم
    تا اینکه دو تا هندسه جداگانه کشیدم که مکمل هم بودن و هندسه مورد نطرم بدست اومد ولی حالا که می خوام از دستور کانتور استفاده کنم فقط می تونم دو تا مختصات(مربوط به یکی از هندسه ها)رو تو دستور کانتور همراه دما بذارم آیا راهی هس که بشه این دو هندسه رو باهم تبدیل به یک هندسه مجزا کرد یا راهی هس که بشه تو دستور کانتور بشه دوتا هندسه رو باهم بکشه وتوزیع دما رو روی اونا رسم کنه؟

  14. پاسخ
      مدیریت 16 دی 1393 در 6:00 ب.ظ
    • سلام
      با دستور hold on کانتور قبلی رو نگه دارین و کانتور جدید رو روی اون رسم کنید.

    • پاسخ
        عسل 16 دی 1393 در 11:57 ب.ظ
      • سلام
        hold on رو گذاشتم ولی نشد!
        آیا راهی هس که هندسه ها یکی بشن؟
        هندسه هاس من اینان
        (x,y )
        (b,d)
        که وقتی تو پلات می برl یک هندسه بهم میده ومن میخوام همین هندسه تو کانتوربیاد

      • پاسخ
          مدیریت 17 دی 1393 در 9:29 ق.ظ
        • منظورتون رو متوجه نمیشم..
          با axis محورها رو محدود کنید. hold on بزارین.

        • مدیریت 17 دی 1393 در 9:30 ب.ظ
        • با دستور axis محورها رو محدود کنید. hold on هم بزنین ببینین چی میشه!

        عسل 18 دی 1393 در 6:00 ق.ظ
      • سلام خیلی ممنون درست شد باaxisرفتم درست شد.ممنون

      • پاسخ
          مدیریت 18 دی 1393 در 8:45 ق.ظ
        • خوشحالیم 🙂

    مهدی 5 بهمن 1393 در 8:44 ب.ظ
  15. با سلام
    میخوام dq را از فرمول q=-kdT/dx بدست بیارم و به dT^2/dz برسم که اروور میده لطفا راهنمایی کنید با چه دستوری بنویسم ؟ من با دستور dsolve مینویسم. در نهایت میخوام به یک T برسم که با بشه بهش مقدار داد عدد یا مثل l/2 ؟

  16. پاسخ
    محمد 28 بهمن 1393 در 11:22 ب.ظ
  17. این تعداد 21 و 41 چطوری با گام 0.5 به دست آمدند و چرا تعداد گره ها 19*39 است؟

  18. پاسخ
    محمد 30 بهمن 1393 در 9:10 ق.ظ
  19. فکر نمی کنید وقتی صورت مسأله گفته T اولیه صفر است یعنی مسأله را زمانی حل کرده و dt واقعا متغیر زمانی است؟

  20. پاسخ
    مسعود 11 فروردین 1394 در 8:17 ق.ظ
  21. باسلام
    من یک مربع دارم که دو طرفش عایق و دو طرف دیگه اش دماهاش 400و 600 است
    باید چه تغییری تو برنامه بدم
    (خواهشا کمکم کنیدamasoud36@yahoo.com)

  22. پاسخ
      مدیریت 11 فروردین 1394 در 10:24 ق.ظ
    • مشخصه. شرایط مرزیشو تغییر بدین

    • پاسخ
        مسعود 11 فروردین 1394 در 12:02 ق.ظ
      • توی این پروژه من باید کد cfdرو توی fluentهم باید ببریم +باید برای مش ها 3*3 و30*30 و120*120و80*80 حل کنم
        اگه میشه کمکم کنید

      • پاسخ
          مدیریت 11 فروردین 1394 در 12:13 ق.ظ
        • کد کاملا مشخصه
          نمیدونم شما چی میخواین
          n = 20;
          m=40;
          m و n برای مش هاست.
          کد زیر هم برای دمای مرزهاست.
          T(1,1:21) = 100; %BOTTOM
          T(1:41,1) = 0;%LEFT
          T(1:41,21) = 0; %RIGHT
          T(41,1:21) = 0; %TOP

        مسعود 11 فروردین 1394 در 12:31 ق.ظ
      • امکانش هست یک ایمیل بهم بدید من صورت پوژه رو براتون امیل کنم؟ که منظورم رو بفهمید

      • پاسخ
        مسعود 11 فروردین 1394 در 6:31 ب.ظ
      • واقعا ممنونم
        فایل رو با موضوع”درخواست کمک”
        براتون ایمیل کردم
        امیدوارم بتونید کمکم کنید

      • پاسخ
    امین 24 خرداد 1394 در 3:18 ب.ظ
  23. سلام.
    من از همین برنامه با شرایط مرزی و اندازه های متفاوت استفاده کردم. توی برنامه من لبه سمت چپ دمای متفاوقتی داره.
    واسه دستور contour ارور میده:

    Error using contour (line 84)
    The size of X must match the size of Z or the number of columns of Z.

    Error in Untitled3 (line 31)
    subplot(2,1,1),contour(x,y,T),

    باید چی کار کنم؟توی منابع دستور کانتور درست توضیح داده نشده.
    ممنون

  24. پاسخ
      مدیریت 25 خرداد 1394 در 9:58 ب.ظ
    • مشکلی نداره
      تست شده قبلا

    • پاسخ
        امین 2 تیر 1394 در 12:22 ق.ظ
      • برنامه من اینه: میشه بگید چرا جواب نمیده؟ راه حل چیه؟

        format short
        clc
        clear all
        clear history
        disp ‘in the name of GOD’;
        pause (2);
        disp ‘written by AMIN’;
        n = 48;
        m=6;
        x = linspace(0,48,17); dx = x(2)-x(1);
        y = linspace(0,6,3); dy =y(2)-y(1);
        T(1:3,1) = 100;%cahp
        T(1,2:21) = 30; %bala
        T(2,2:21) = 30; %vasat
        T(3,2:21) = 30; %paien
        dt = dx^2/4;
        for k=1:1:inf
        Told = T;
        for i = 2:2
        for j = 2:20
        T(i,j) = dt*((Told(i+1,j)-2*Told(i,j)+Told(i-1,j))/dx^2 + (Told(i,j+1)-2*Told(i,j)+Told(i,j-1))/dy^2) + Told(i,j);
        end
        end
        error = max(max(abs(Told-T)));
        if error <1e-2
        break
        end
        end

        iteration=k;
        subplot(2,1,1),contour(x,y,T),
        title('Temperature (Steady State)'),xlabel('x'),ylabel('y'),colorbar
        subplot(2,1,2),pcolor(x,y,T),shading interp,
        title('Temperature (Steady State)'),xlabel('x'),ylabel('y'),colorbar

      • پاسخ
          مدیریت 3 تیر 1394 در 8:47 ق.ظ
        • چه اروری میده؟

    صابر 13 شهریور 1394 در 2:02 ب.ظ
  25. باسلام
    می خواستم بدونم اگه یکی از دیواره ها عایق باشه چه تغییری در کد های بالا بوجود می آید

  26. پاسخ
      مدیریت 20 شهریور 1394 در 6:49 ق.ظ
    • قید عایق بودن رو قرار بدین
      du/dx=0

    • پاسخ
        سمانه 5 خرداد 1395 در 9:38 ب.ظ
      • تو کدوم قسمت برنامه باس داد این قیدو؟

      • پاسخ
    جاسم 26 مهر 1394 در 7:57 ب.ظ
  27. سلام
    سوال من به شکل دیگه هست
    که کانداکشن هم داره و دمای محیط اطراف هم باید منظور بشه
    از یک طرف همکانوکشن داره
    چه تغییراتی باید داد؟

  28. پاسخ
      مدیریت 28 مهر 1394 در 9:27 ب.ظ
    • رابطه انتقال حرارت همرفت مشخصه
      در حلقه بررسی کنین که اگر به مرز رسید از اون معادله استفاده کنه

    • پاسخ
        جاسم 29 مهر 1394 در 7:56 ق.ظ
      • یکم پیچیده است قضیه
        میشه یه ایمیل برام بزنید تا صورت اصلی مسئله رو به شما نشون بدم؟
        یا شما ایمیلتون رو بدید
        ممنون واقعا

      • پاسخ
          مدیریت 3 آبان 1394 در 10:38 ق.ظ
        • فرم تماس با ما

    وانیا 24 آبان 1394 در 9:13 ب.ظ
  29. با سلام
    با نهایت تشکر از برنامه مفیدتون

  30. پاسخ
      مدیریت 5 آذر 1394 در 11:35 ب.ظ
    • موفق باشید

    • پاسخ
    مهرو 25 آذر 1394 در 11:21 ق.ظ
  31. ببخشید من این قسمتهارو متوجه نشدم ، ممنون میشم راهنمایی کنید

    dx = x(2)-x(1
    dy =y(2)-y

    T(i,j) = dt*((Told(i+1,j)-2*Told(i,j)+Told(i-1,j))/dx^2 …
    + (Told(i,j+1)-2*Told(i,j)+Told(i,j-1))/dy^2) …
    + Told(i,j);

  32. پاسخ
    موسوی 27 اسفند 1394 در 12:38 ق.ظ
  33. با سلام
    من میخواهم کد متلب تبدیل انرژی حرارتی به انرژی الکتریکی را بنویسم… چهارچوب کار برام نا اشناست. میشه لطفا راهنماییم کنید من چیکار کنم؟ از کجا شروع کنم؟ با تشکر فراوان.

  34. پاسخ
    الهه 29 فروردین 1395 در 2:31 ب.ظ
  35. سلام
    پروژه دانشگاهی من در مورد شبیه سازی انتقال حرارت است به روش تفاضل محدود ،میخواستم کتابهای رو در زمینه شبیه سازی با برنامه متلب برام معرفی کنین ممنون

  36. پاسخ
    سمانه 5 خرداد 1395 در 9:04 ب.ظ
  37. سلام میشه بگید چطور گام های مکانی را ۰.۵ در نظر می گیریم که در اینصورت IM=21 و JM=41 می باشد. در نتیجه توزیع دما را برای ۷۴۱ گره بایستی پیدا کرد. شرایط اولیه را برای همه نقاط داخلی T=0 در نظر گرفته می شود. چطور Im, Jm روبه دست اوردید؟ الان طول صفحه باشه 1 وگامو بگیریم 0.2 چندن اینا؟؟

  38. پاسخ
    mary 1 شهریور 1395 در 3:30 ب.ظ
  39. سلام دوستان من یه راهنمایی میخواستم
    میخوام این معادله رو تو متلب بنویسم چه جوری میشه
    من تو این معادله هدفم بدست اوردن ضرایب k,n هستش و مقادیر y, t روهم دارم dy/dt=k(y^n)

  40. پاسخ
    وحید 23 آبان 1395 در 7:55 ق.ظ
  41. با سلام .
    میشه برنامرو بازی بنویسیم که عدد بیوت هم به عنوان ورودی باشه تا بتونیم فقط یه نمودار به ازای عدد بایوت مشخص رسم بشه

  42. پاسخ
      مدیریت 23 آبان 1395 در 8:44 ق.ظ
    • عددرا به عنوان ورودی بگیرین
      با دستور input

    • پاسخ
    رضا 23 آبان 1395 در 7:00 ب.ظ
  43. سلام و خسته نباشید واقعا فایل مفیدی بود ممنونم….یه سوال داشتم و دو روزه دارم تو سایتا میچرخم و تنها سایتی که متلب مرتبط داشت سایت شما بود و تا اینجای کار جای شکر داره و سپاس گذارم.خدمتتون عارض بشم میخام توزیع دما برای حالت پایا وsteadyدر یک ورقه دو بعدی که دمای چپ و راستش مشخصه و بالا و پایینش عایقه و همچنین یک سوراخ در وسط ِ ورقه هست ک سوراخ هم از قضا عایقه.من کد کتلب برای حالت بدون سوراخ رو نوشتم و توزیع دمایی هم درسته حالا میخام شرط سوراخ و مهم تر عایق بودن سوراخ رو اعمال و به ملب وارد کنم و نمیتونم. در واقع تو تفاضل محدود در حالتی که یک جداری یا یک خطی از نقاط عایقع باید بگیم دمای هرنود با نودِ قبلیش برابره و خوب برای نود بالا و پایین ساده س ولی برای تعریف عایق بودن دایره چون دایره بصورت مختصات دایره ای تعریف میشه و دماهای بقیه نقاط صفحه در مختصات دکارتی تعریف میشه یجور نداخل میخوره.تو کتاب محاسبات عددی چپرا هم یه متلب مشابه پیدا کردم ولی نتونستم خوب درکش کنم.حالا از شما کمک میخام که کمکم کنید چجوری میتونم شرط عایق بودن دایره رو به متلب اعمال کنم….خدا خیرتون بده.ممنون میشم کمکم کنید
    https://www.dropbox.com/s/xp3fuj8k1401pjv/photo_2016-11-03_12-56-56.jpg?dl=0

    https://www.dropbox.com/s/r34a46t344pcvn7/Untitled1221.png?dl=0

  44. پاسخ
    وحید 24 آبان 1395 در 11:26 ق.ظ
  45. اگه امکانش هست انتقال حرارت یک بعدی رو برای یک صفحهبه صورت فوروارد و بک وارد بنویسین و عدد بیوت رو هم دخالت بدین

  46. پاسخ
      مدیریت 25 آبان 1395 در 12:15 ق.ظ
    • بله
      حتما

    • پاسخ
    وحید 25 آبان 1395 در 1:56 ب.ظ
  47. کی میتونین بذارین تو سایت ؟!
    انتقال حرارت یک بعدی فوروارد و بک وارد با تاثیر غرب بیوت

  48. پاسخ
    وحید 27 آبان 1395 در 9:38 ق.ظ
  49. تو رو خدا اگه میشه انتقال حرارت یک بعدی رو با او روش بک وارد و فوروارد برای عدد بیوت مشخص انجام بدین واقعا هیشکی نیست جوابمو بده

  50. پاسخ
    پویا 8 آذر 1395 در 11:57 ق.ظ
  51. سلام . خسته نباشید من دنشجوی رشته ی مکانیک هستم . درس انتقال قدرت یه پروژه به ما داده که باید پنج دیوار رو کدنویس کنیم یه چیزی مثل ماشین حساب بسازیم و….. الان نمیدونم چی به چیه از کجا باید شروع کنم.کمک میکنید لطفا

  52. پاسخ
    سناره 17 آذر 1395 در 10:47 ق.ظ
  53. سلام ببخشین یه سوال اگه ازما بخوان که بعد حل معادله توزیع دما مقدار حرارت منتقل شده به صورت جابجایی به محیط رو محاسبه کنیم باید چیکار کنیم؟

  54. پاسخ
      سجاد 16 اسفند 1395 در 8:36 ب.ظ
    • این سزال بنده هم هست.لطفا ادمین پاسخگو باشید

    • پاسخ
    سودا 29 فروردین 1396 در 10:00 ب.ظ
  55. Consider the FD scheme for the 1D steady state convection-diffusion equation ǫu′′−u′ =−1, 0 < x < 1, (2.70) u(0) = 1, u(1) = 3. (2.71)
    (a) Verify the exact solution is u(x) = 1 + x +ex/ǫ −1 e1/ǫ −1. (2.72) (b) Compare the following two FD methods for ǫ = 0.3, 0.1, 0.05, and 0.0005. (1) Central finite difference scheme:
    ǫ
    Ui−1 −2Ui + Ui+1 h2 −
    Ui+1 −Ui−1 2h
    =−1. (2.73)
    (2) Central-upwind finite difference scheme:
    ǫ
    Ui−1 −2Ui + Ui+1 h2 −
    Ui −Ui−1 h
    =−1. (2.74) Do the grid refinement analysis for each case to determine the order of accuracy. Plot the computed solution and the exact solution for h = 0.1, h = 1/25, and h = 0.01. You can use Matlab command subplot to put several graphs together. (c) From your observations, in your opinion which method is better?
    چطوری باید برنامه اینوبنویسم؟میشه راهنمایی کنید؟ لطفا

  56. پاسخ
    pezhman alavi 1 خرداد 1397 در 3:38 ب.ظ
  57. این ارورو داد و چیزی اجرا نکرد:
    Warning: Too many FOR loop iterations. Stopping after 9223372036854775806 iterations.

  58. پاسخ
    صفا 27 آبان 1397 در 5:59 ب.ظ
  59. سلام معادله یک بعدی گرما رو هم میشه بزارید تو سایت؟

  60. پاسخ
    reza 14 اردیبهشت 1398 در 12:40 ق.ظ
  61. clear all
    clc
    close all
    %%
    n = 10;
    m=10;
    x = linspace(0,1,n+1); dx =1;
    y = linspace(0,1,m+1); dy = 1 ;
    h= 30;
    k=17.5;
    T1=25;

    T(n+1,1:m+1) = 500; %TOP
    dt = 1/4;

    for k=1:1:inf
    Told = T;
    for i = 1:m+1
    for j = 1:n+1
    if ( i==1 &&j~=1 && j~=m+1 )
    T(i,j) = ( .5*Told(i+1,j) +1+.25*(Told(i,j-1)+Told(i,j+1))) ;
    end
    if (j==1 && i ~=1 && i ~=n+1 )
    T(i,j) = ( .5*Told(i,j+1) +.25*(Told(i-1,j)+Told(i+1,j))) ;
    end
    if ( j==m+1 && i ~=1 && i ~=n+1)
    T(i,j) = ((2*Told( i,j-1)+Told(i+1,j)+Told(i-1,j)+2*(h*dy*T1/k)))/(4+2*h*dy/k);
    end
    if (i ==1 && j==1)
    T(1,1) = (((k/2)*(T1+Told(2,1))+0*(dy/2)*T1)/(k+0*(dy/2)));
    end
    if (i ==1 && j==m+1)
    T(1,m+1) = (((k/2)*(T1+Told(2,m+1))+h*(dy/2)*T1)/(k+h*(dy/2)));
    end
    %
    if(i~=1 && j~=m+1 &&j~=1 &&i~=n+1)

    T(i,j) = dt*((Told(i+1,j)-2*Told(i,j)+Told(i-1,j))/dx^2 …
    + (Told(i,j+1)-2*Told(i,j)+Told(i,j-1))/dy^2) …
    + Told(i,j);
    end
    end
    end
    error = (max(abs(Told-T)));
    if error <1e-2
    break
    end

    end

    z=T

    pcolor(x,y,T),shading interp,
    title('Temperature (Steady State)'),xlabel('x'),ylabel('y'),colorbar
    سلام این کد برای دو شرط عایق بودن و یه طرف دما 500 ثابت و دیگری انتقال حرارت جابه جایی می باشد که از کد ادمین الهام گرفته شده …جا داره همین جا هم به خاطر کدی که ایشون در اختیار دیگران قرار داد تشکر کنم

  62. پاسخ
    F 12 دی 1398 در 10:59 ق.ظ
  63. سلام .سوال من یک میله هست با قطر۳mmوطول۱۰cm اول در درجه حرارت ۲۰۰ بوده در زمان صفر .بعد یک سر میله درجه ۲۰۰ نگه داشته و سر دیگه ش داخل سیال فرو برده و دماش۴۰بوده وh=۵۰.حالا توزیع درجه حرارت بعد از ۱۰۰ثانیه رو میخواد.
    K=۵۰وp=۷۸۰۰وc=۰/۴۷
    میشه کمکم کنین حلش کنم؟

  64. پاسخ

0

شبکه های اجتماعی

دانشنامه تخصصی مهندسی ایران را در شبکه های اجتماعی دنبال کنید

0 0

عضویت در خبرنامه

برای دریافت آخرین اخبار در زمینه مهندسی شامل نرم افزارها، استانداردها و آموزش ها به سامانه اطلاع رسانی ما بپیوندید.

بدون پرداخت هزینه، تا هر وقت بخواهید.

تست

همکاران ما

گروه مپنا
گروه مپنا
دانشگاه تهران
دانشگاه تهران
سایپا
سایپا
ایران خودرو
ایران خودرو
شرکت ملی نفت ایران
شرکت ملی نفت ایران
ذوب‌آهن اصفهان
ذوب‌آهن اصفهان
فولاد خوزستان
فولاد خوزستان
درخواست نرم افزار
در صورتی که نیاز به نرم افزار خاصی دارید، با ما تماس بگیرید.
 
            همکاران ما در سریع ترین زمان ممکن پاسخگو شما خواهند بود.