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 + -
显示快捷键?