روش FTCS یکی از روشهای عددی برای حل معادلات دیفرانسیل جزئی (PDE) است. این روش بهویژه برای حل معادلات حرارتی و معادلات موج استفاده میشود. در ادامه، پیادهسازی این روش را در زبان فرترن، بررسی خواهیم کرد.
پیادهسازی FTCS در فرترن
program ftcs
implicit none
integer, parameter :: nx = 100, nt = 1000
real :: dx, dt, alpha
real :: u(nx), u_new(nx)
integer :: i, j
dx = 1.0 / (nx - 1)
dt = 0.01
alpha = 0.01
! Initial condition
do i = 1, nx
u(i) = sin(pi * (i - 1) * dx)
end do
! Time stepping
do j = 1, nt
do i = 2, nx-1
u_new(i) = u(i) + alpha * dt / dx**2 * (u(i+1) - 2*u(i) + u(i-1))
end do
u = u_new
end do
! Output results
open(10, file='output.txt')
do i = 1, nx
write(10, *) (i-1)*dx, u(i)
end do
close(10)
end program ftcs
توضیحات اضافی :
• شرایط اولیه : در این مثال، شرایط اولیه به صورت تابع سینوسی تعریف شده است.
• ثبات : برای استفاده از روش FTCS، باید نسبت alpha . dt)) / dx² را کمتر از یک نگهدارید تا ثبات روش حفظ شود.
• خروجی : میتوانید نتایج را با استفاده از توابع ترسیم در هر زبان مشاهده کنید.
این کدها میتوانند به عنوان پایهای برای پروژههای بزرگتر یا شبیهسازیهای پیچیدهتر استفاده شوند.