تبلیغات
مهندسی مکانیک - اموزش متلب_pdepe(حل عددی معادله حرارت پاره ای وابسته به زمان)

اموزش متلب_pdepe(حل عددی معادله حرارت پاره ای وابسته به زمان)

نویسنده :مسعود شمس
تاریخ:دوشنبه 4 مهر 1390-08:46 ب.ظ

امروز قراره معادلات گرمایی در فضای تک بعد رو با چند مثال بررسی کنیم. برای حل معادله گرما در زمان t و در فضای تک بعدی از دستور pdepe استفاده می کنیم.

فرم کلی معادله سھمی وار متلب بصورت زیر می باشد.



و ھمین طور فرم کلی شرایط مرزی بصورت زیر می باشد.



که xl نمایانگر نقطه ابتدا و xr نمایانگر نقطه انتهایی شرایط مرزی می باشد.توجه کنید که b دارای مقدار ثابت در هر دو معادله است.هر کدام از معادله های بالا را در m.file جداگانه قرار می دهیم.مقادیر s,b,c را از مقایسه معادله حاکم در مثال با فرم کلی معادله سهمیگون در متلب بدست اورده و در m.file قرار می دهیم.مقادیر p,q را نیز از مقایسه شرایط مرزی مسئله با فرم کلی شرایط مرزی تعریف شده برای متلب بدست می اوریم.و در اخر نیز شرایط کرانه ای را در m.file سوم قرار می دهیم.سپس به کمک دستور pdepe سه m.file را ترکیب کرده معادله را حل می کنیم.

:Example
معادله  اصلی بصورت:

شرایط مرزی بصورت:

 
  
و شرایط اولیه بصورت:


کاملا مشخص است که مقدار c=1 می باشد.همچنین ما در طرف راست معادله حاکم بر مسئله مشتق دوم بر حسب x را داریم.پس مقدار b باید برابر ux باشد.مقدار s نیز که به وضوح مشخص است که برابر 0 می باشد. ملاحضه کردید که مقادیر c,b,s طوری در معادله سهمیگون مقدار دهی شدند که به معادله حاکم بر مسئله برسیم.مقدار m نیز باید برابر 0 باشد تا عملا x از معادله حذف شود. m را در اخر مقدار دهی میکنیم.

کد زیر نمایانگر معادله اصلی و در eqn1.m ذخیره می کنیم. 

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;

برای شرایط مرزی نیز مطابق معادله اصلی عمل می کنیم. برنامه نویسان شرایط مرزی را بگونه ای به فرم بالا در اورده اند تا برای تمامی معادلات عمومیت داشته باشد.ما با تعیین ضرایب بگونه ای عمل می کنیم تا فرم کلی شرایط مرزی تبدیل به شرایط مرزی مثال شود.
به شرایط ابتدایی دقت کنید.مقدار q برابر 0 است تا b حذف شود.در متیجه p برابر با u می شود.و برای شرایط انتهایی نیز به همین صورت, q برابر صفر و مقدار p برابر با u-1 است.حالا نتایج رو در فایل bc1 ذخیره می کنیم.

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;
ql = 0;
pr = ur-1;
qr = 0;

و همینطور شرط اولیه را در initial1.m ذخیره می کنیم.

function value = initial1(x)
%INITIAL1: MATLAB function M- le that speci es the initial condition
%for a PDE in time and one space dimension.
value = 2*x/(1+x^2);

و حالا نوبت به حل مساله به کمک دستور pdepe رسیده است.مساله را در زمان 10ثانیه نخست و طول واحد(مثلا یک لوله به طول واحد) حل می کنیم.

%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,20);
t = linspace(0,10,10);
%Solve the PDE
u = pdepe(m,@eqn1,@initial1,@bc1,x,t);
% Plot solution
figure(1)
surf(x,t,u);
title('Surface plot of solution');
xlabel('Distance x');
ylabel('Time t');
figure(2)
for i=1:length(t)
   plot(x,u(i,:))
   hold on
end


جواب u بصورت یک ماتریس به اندازه t و x ذخیره شده است.برای مثال (u(1,5 مقدار دما در نقطه((t(1),x(5)
مشخص می کند.
ما می تونیم به کمک دستور((:,plot(x,u(1 بردار دما را در اغاز (t=0) رسم می کنیم.

:Example




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

function [c,f,s] = eqn2(x,t,u,DuDx)
c = pi^2;
f = DuDx;
s = 0;

function [pl,ql,pr,qr] = bc2(xl,ul,xr,ur,t)
pl = ul;
ql = 0;
pr = pi * exp(-t);
qr = 1;

function u0 = initial2(x)
u0 = sin(pi*x);

و از دستور pdepe استفاده می کنیم:

m = 0;
x = linspace(0,1,20);
t = linspace(0,5,20);
u = pdepe(m,@eqn2,@initial2,@bc2,x,t);
figure(1)
surf(x,t,u);
title('Surface plot of solution');
xlabel('Distance x');
ylabel('Time t');
figure(2)
plot(x,u(2,:))
title('Solution at t = 2')
xlabel('Distance x')
ylabel('u(x,2)')
% Creat animation
figure(3)
fig = plot(x,u(1,:),'erase','xor');
for k=1:length(t)
 set(fig,'xdata',x,'ydata',u(k,:),'color','r')
 pause(0.1)
end


شکل شماره 3 یک انیمیشن خواهد بود که از زمان نخست تا حال پایدار را نمایش می دهد.

Example:



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

function [c,b,s] = eqn3(x,t,u,DuDx)
c = 1;
b = DuDx;
s = 0;

function [pl,ql,pr,qr] = bc3(xl,ul,xr,ur,t)
pl = 0;
ql = 1;
pr = 0;
qr = 1;

function value = initial3(x)
if x<=0.5
    value=x;
else
    value=1-x;
end

m = 0;
x = linspace(0,1,20);
t = linspace(0,0.2,20);
u = pdepe(m,@eqn3,@initial3,@bc3,x,t);
figure(1)
surf(x,t,u);
title('Surface plot of solution');
xlabel('Distance x');
ylabel('Time t');
zlabel('Temperature u')


امید وارم از این پست استفاده کرده باشین.حتما این مثالها رو یکبار خودتون انجام بدین تا با مقدار دهی متغیرها در شرایط مرزی و معادله اصلی و شرط اولیه اشنا بشین.


نوع مطلب : اموزش متلب 

داغ کن - کلوب دات کام
نظرات() 
http://viabiovit.com/what-effect-does-viagra-have-on-women.html
سه شنبه 23 مرداد 1397 09:50 ق.ظ

Cheers. Terrific information!
how to buy viagra cheap buy viagra online without generic viagra online uk price of viagra tablets buy viagra online without a prescription were to buy viagra buy viagra uk cheap viagra pharmacy levitra viagra rx online buy real viagra cheap
Buy cialis
دوشنبه 7 خرداد 1397 04:34 ب.ظ

Amazing information. With thanks.
free cialis i recommend cialis generico generic cialis at walmart tesco price cialis prices on cialis 10 mg sublingual cialis online import cialis recommended site cialis kanada price cialis per pill generic for cialis
choc
دوشنبه 10 اردیبهشت 1397 01:46 ب.ظ
You really make it appear really easy along with your presentation but I to find this topic to be actually one thing which I think
I might by no means understand. It seems too complicated and extremely vast
for me. I am having a look forward on your subsequent submit,
I'll attempt to get the grasp of it!
Viagra uk
پنجشنبه 6 اردیبهشت 1397 05:14 ق.ظ

Kudos! Ample info!

where can i buy viagra without prescription sildenafil order viagra online with prescription how to get viagra online how to buy real viagra how do i order viagra online viagra rx online can you really buy viagra online buy viagra where where can i buy viagra online safely
Cialis prices
یکشنبه 19 فروردین 1397 04:26 ق.ظ

Thanks a lot. I like this.
cialis name brand cheap legalidad de comprar cialis 40 mg cialis what if i take how to buy cialis online usa best generic drugs cialis tadalafil 20 mg buy cialis uk no prescription comprar cialis navarr cialis y deporte tesco price cialis
Cialis prices
جمعه 3 فروردین 1397 07:38 ق.ظ

Appreciate it. Loads of data!

cialis name brand cheap cialis generico lilly tadalafil 20mg price cialis per pill generic for cialis cialis vs viagra cialis en 24 hora cialis online nederland cialis 20mg cialis australia org
foot pain
شنبه 18 شهریور 1396 05:25 ب.ظ
Hi there to every one, as I am actually eager of
reading this website's post to be updated regularly. It consists of pleasant information.
How do you stretch your Achilles?
دوشنبه 16 مرداد 1396 07:51 ق.ظ
I know this web page provides quality depending articles and additional stuff, is there any other web page which presents these things in quality?
foot pain icd 10
سه شنبه 6 تیر 1396 09:07 ب.ظ
Sweet blog! I found it while browsing on Yahoo News.
Do you have any tips on how to get listed in Yahoo News?

I've been trying for a while but I never seem to get
there! Cheers
http://mypaper.pchome.com.tw/
پنجشنبه 21 اردیبهشت 1396 06:06 ق.ظ
Incredible story there. What happened after? Thanks!
BHW
پنجشنبه 31 فروردین 1396 04:30 ق.ظ
It's remarkable to pay a visit this web site and reading the views of all mates on the topic of this article, while I am also eager
of getting know-how.
manicure
سه شنبه 15 فروردین 1396 05:36 ق.ظ
Hurrah, that's what I was searching for, what a
material! present here at this weblog, thanks admin of this website.
 
لبخندناراحتچشمک
نیشخندبغلسوال
قلبخجالتزبان
ماچتعجبعصبانی
عینکشیطانگریه
خندهقهقههخداحافظ
سبزقهرهورا
دستگلتفکر