subroutine cld_btri
! Variables
integer, intent(in) :: n1
integer, intent(in) :: m1
integer, intent(in) :: nf
integer, intent(in) :: nu
integer, intent(in) :: init
integer, intent(in) :: flag1
integer, intent(in) :: flag2
integer, intent(in) :: fdim1
integer, intent(in) :: fdim2
double precision, intent(in) :: rm
double precision, intent(in) :: beta
double precision, intent(inout), dimension (0:nf,0:m1) :: f
double precision, intent(inout), dimension (0:n1,0:n1) :: u
double precision, intent(inout), dimension (3*(m1-1),0:n1-2) :: ws
integer :: i
integer :: j
integer :: k
integer :: m
integer :: m2
integer :: n
integer :: n2
double precision, dimension (0:fdim1,0:fdim2) :: ainit1
double precision, dimension (0:fdim1-flag1,0:fdim2-flag1) :: ainit2
double precision, dimension (0:fdim1,0:fdim2) :: binit1
double precision, dimension (0:fdim1-flag1,0:fdim2-flag1) :: binit2
double precision, dimension (n1/2+1) :: ec
double precision, dimension (0:n1/2+1) :: er
double precision, dimension (n1/2) :: oc
double precision, dimension (0:n1/2) :: or
double precision, dimension (n1/2+1,n1/2+1) :: y
double precision, dimension (0:n1) :: w
double precision, dimension (4*m1**2) :: wk
double precision, dimension (0:nf,0:m1) :: la
double precision :: pi
real, dimension (2) :: tt
end subroutine cld_btri
subroutine cld_btri(n1,m1,rm,beta,f,nf,u,nu,ws,init,flag1,flag2,fdim1,fdim2)
Solve the 2D Helmholtz equation rm*u -u_xx -beta u_yy = f with homogeneous Diriclet Boundary Conditions. in IxI by using the Chebychev-Legendre method with blocktridiagonal Input in Chebychev - calls The Legendre solver after transform. Output in Chebychev
Input:
Author: Jan Ivar Moldekleiv
Version: 0.8
integer, intent(in) :: n1
integer, intent(in) :: m1
integer, intent(in) :: nf
integer, intent(in) :: nu
integer, intent(in) :: init
integer, intent(in) :: flag1
integer, intent(in) :: flag2
integer, intent(in) :: fdim1
integer, intent(in) :: fdim2
double precision, intent(in) :: rm
double precision, intent(in) :: beta
double precision, intent(inout), dimension (0:nf,0:m1) :: f
double precision, intent(inout), dimension (0:n1,0:n1) :: u
double precision, intent(inout), dimension (3*(m1-1),0:n1-2) :: ws
integer :: i
integer :: j
integer :: k
integer :: m
integer :: m2
integer :: n
integer :: n2
double precision, dimension (0:fdim1,0:fdim2) :: ainit1
double precision, dimension (0:fdim1-flag1,0:fdim2-flag1) :: ainit2
double precision, dimension (0:fdim1,0:fdim2) :: binit1
double precision, dimension (0:fdim1-flag1,0:fdim2-flag1) :: binit2
double precision, dimension (n1/2+1) :: ec
double precision, dimension (0:n1/2+1) :: er
double precision, dimension (n1/2) :: oc
double precision, dimension (0:n1/2) :: or
double precision, dimension (n1/2+1,n1/2+1) :: y
double precision, dimension (0:n1) :: w
double precision, dimension (4*m1**2) :: wk
double precision, dimension (0:nf,0:m1) :: la
double precision :: pi
real, dimension (2) :: tt