thomasalgorithm.f90
来自「求解粘性Burger方程和非粘性Burger方程的各种差分格式」· F90 代码 · 共 35 行
F90
35 行
subroutine ThomasAlgorithm(a,b,c,len,r)
! solve the linear system of equations,tridiag[a,b,c]u=r
! r is the solution
!
! where both a and c are vectors of length len-1
! b,r is a vector of length len
! Remaek: a(2:len)
integer k
integer len
real a(2:len),b(len),c(len-1),r(len)
c(1)=c(1)/b(1)
r(1)=r(1)/b(1)
do k=2,len-1
b(k)=b(k)-a(k)*c(k-1)
r(k)=r(k)-a(k)*r(k-1)
c(k)=c(k)/b(k)
r(k)=r(k)/b(k)
end do
b(len)=b(len)-a(len)*c(len-1)
r(len)=r(len)-a(len)*r(len-1)
r(len)=r(len)/b(len)
do k=len-1,-1,1
r(k)=r(k)-c(k)*r(k+1)
end do
end subroutine ThomasAlgorithm
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?