حل معادله موج به روش تفاضل محدود
- ◷ 1392/11/16
- 6 دیدگاه
روش تفاضل محدود (Finite Difference) یکی از پرکاربردترین روش های حل انواع معادلات سیالاتی، دینامیکی، دینامیکی و غیره می باشد که جرء روش های عددی به حساب می آید. در این روش لازم است ابتدا معادله حاکم بر سیستم بدست آورده شود و سپس به کمکاین روش، برای هر جزء که اصطلاحا به آن المان گفته می شود، روش فوق پیاده شود. اساس این روش بر پایه تکرار کی باشد و تکرار تا جایی ادامه می یتبد که جواب ها به مقداری همگرا شده یا تفاوت دو مقدار بدست آمده در دو مرحله پیاپی، از خطای مورد نظر کمتر باشد. در این روش شرایط مرزی (Boundary Condition) یا شرایط اولیه (Initial Condition) ذکر می گردد.
در این قسمتسعی داریم با استفاده از روش تفاضل محدود معادله موج را حل نماییم. معادله موجی که قصد حل آن را داریم، بصورت زیر می باشد:
Utt=Uxx
جهت حل این معادله فرض می شود سمت چپ طناب ثابت و سمت راست آن بصورت آزاد می باشد. جهت حل معادله موج، از زبان برنامه نویسی MATLAB استفاده شده است. آموزش های زیادی در مورد این نرم افزار در سایت موجود می باشد که با جست وجو می توانید از آنها استفاده کنید.
کد حل معادله موج (Solving Wave Equation Using Finite Difference Method)
function mit18086_fd_waveeqn
% Solves the wave equation u_tt=u_xx by the Leapfrog method.
% Example uses homogeneous Dirichlet b.c. on the left (fixed
% end) and homogeneous Neumann b.c. right (loose end).
% http://EngPedia.ir
n = 101; % number of space gridpoints without boundaries
dt = 1.6e-2; % time step
tf = 8e0; % final time
x = linspace(-1,1,n+2)'; x = x(2:end-1);
h = x(2)-x(1);
r = dt/h;
disp(sprintf('CFL number: %0.2f',r))
u0 = f(x);
U = [u0,u0+dt*g(x)];
I = eye(n);
R = diag(ones(1,n-1),1);
A = r^2*R+2*(1-r^2)*I+r^2*R';
A(end,end) = 2-r^2;
for tn = 3:ceil(tf/dt)
U = [U(:,2),A*U(:,2)-U(:,1)];
clf
plot(x,u0,'b:',x,U(:,2),'r.-')
axis([-1 1 -1.2 1.2])
title(sprintf('time t=%0.2f',tn*dt))
drawnow
end
function y = f(x)
% initial displacement
y = max(1-20*x.^2,0).^2;
function y = g(x)
% initial velocity
y = -[diff(f(x));0]/(x(2)-x(1))/2;
نظرات شما باعث دلگرمی و پیشرفت ما می شود!
مطالب مرتبط
برچسب ها : Boundary Condition, Initial Condition, تفاضل محدود, حل معادله به روش تفاضل محدود, حل معادله موج, حل معادله موج به روش Finite difference, روش فاینات دیفرنس, شرایط اولیه, شرایط مرزی
دیدگاهتان را بنویسید
نشانی ایمیل منتشر نخواهد شد

مطالب جدید
- DeltaV Mimic v6 اعتبارسنجی و شبیهسازی نیروگاههای صنعتی
- SIMULIA IVCAD Suite 2026 شبیهسازی و اندازهگیری سیستمهای RF
- TaniqWind Pro 1.14 تولید مخازن کامپوزیتی به روش فیلامنت وایندینگ
- DukeSim v1.2 شبیهساز پیشرفته تصویربرداری و دوزسنجی CT
- Kinetix Matrix 3.01 طراحی و بهینهسازی اسیدکاری چاه نفت و گاز
- DNV WindFarmer 1.7.1 طراحی و بهینهسازی نیروگاههای بادی
- NetSim Pro 15.1 پلتفرم پیشرفته طراحی و تحلیل شبکههای مخابراتی
- Gamry Echem Analyst 2 تحلیل خوردگی و آزمونهای الکتروشیمیایی
- XGtd 3.1.2 شبیهسازی سامانههای راداری و آنتن
- Simcenter Multimech 2506 تحلیل ریزساختار و رفتار مکانیکی مواد پیشرفته

مطالب پربازدید
- پکیج کامل استانداردهای صنعتی
- دانلود کتاب هیدرولیک و پنوماتیک فستو Festo فارسی
- دانلود فول استاندارد ASTM بصورت رایگان
- کلید فولاد (Key to Steel) پرتابل
- آموزش میکروکنترلر AVR
- دانلود آنتی ویروس شورتکات (Back 2 Normal)
- دانلود جدول استاندارد DIN
- دانلود کتاب آموزش Abaqus (فارسی)
- فول استاندارد ASME (بروز)
- دانلود نرم افزار MATLAB برای آندروید(MATLAB Android)

مطالب تصادفی
- DartiGeo 2026 پلتفرم ژئوتکنیک و مکانیک خاک
- نرمافزار CLiq 2025 تحلیل پدیده روانگرایی خاک
- اصول کلی رادار
- CARIS LOTS تعیین مرزهای دریایی
- نصب و راه اندازی سیستم اتوپایلوت بر روی هواپیمای بدون سرنشین
- ZEISS CALYPSO 2026 کنترل ابعادی و هندسی قطعات
- SINETZ 4.2 محاسبه توزیع جریان
- CHECKWIND v8.4.2 تحلیل بار باد
- CANoe4SW 17 پلتفرم اعتبارسنجی نرم افزار در خودروسازی
- FNCorrosion 2026 تحلیل خوردگی و حفاظت کاتدی سازه های دریایی





