subroutine chdhmz2_n
! Variables
integer :: n1
integer :: m1
integer :: dim1
integer :: dim2
integer :: fdim1
integer :: fdim2
integer :: flag1
integer :: flag2
integer :: flag3
integer :: flag4
integer :: odd
integer :: even
integer :: retning
integer :: nun
integer :: i
integer :: j
double precision, dimension (0:n1-1,0:m1-1) :: u
double precision, dimension (0:n1-1,0:m1-1) :: f
double precision, dimension (fdim1,fdim2) :: f1
double precision, dimension (fdim1-flag1,fdim2) :: f2
double precision, dimension (fdim1,fdim2-flag2) :: f3
double precision, dimension (fdim1-flag1,fdim2-flag2) :: f4
double precision, dimension (dim1,dim1) :: Id1
double precision, dimension (dim1-flag3,dim1-flag3) :: Id2
double precision, dimension (dim1,dim1) :: Id1inv
double precision, dimension (dim1-flag3,dim1-flag3) :: Id2inv
double precision, dimension (dim1) :: diag1
double precision, dimension (dim1-flag3) :: diag2
double precision, dimension (dim1,3) :: a1
double precision, dimension (dim1) :: d1
double precision, dimension (dim1) :: p1
double precision, dimension (dim1,3) :: c1
double precision, dimension (dim1-flag3,3) :: a2
double precision, dimension (dim1-flag3) :: d2
double precision, dimension (dim1-flag3) :: p2
double precision, dimension (dim1-flag3,3) :: c2
double precision, dimension (3*(n1-1)+30) :: cosn
double precision, dimension (3*(m1-1)+20) :: cosm
double precision, dimension (0:nun-1,9) :: un
double precision :: alpha
double precision :: beta
double precision :: beta1
double precision :: beta2
end subroutine chdhmz2_n
subroutine chdhmz2_n(n1,m1,alpha,beta,f,u,Id1,Id1inv,Id2,Id2inv,diag1,diag2,dim1,dim2,flag1,flag2,flag3,flag4,fdim1,fdim2,a1,a2,c1,c2,d1,d2,p1,p2,cosn,cosm,un,nun)
Solves the helmholtz eq. On IxI with nonhomogeneous Diriclet Boundary conditions using the Chebychev method developed by Jie Shen in Shen(2). An internal subroutine, but can be used externally if you have all the required data.
To see how this is used: see chebsolve_b.f90
Author: Jan Ivar Moldekleiv
Version: 0.7 (Not optimised for multiple calls)
integer :: n1
integer :: m1
integer :: dim1
integer :: dim2
integer :: fdim1
integer :: fdim2
integer :: flag1
integer :: flag2
integer :: flag3
integer :: flag4
integer :: odd
integer :: even
integer :: retning
integer :: nun
integer :: i
integer :: j
double precision, dimension (0:n1-1,0:m1-1) :: u
double precision, dimension (0:n1-1,0:m1-1) :: f
double precision, dimension (fdim1,fdim2) :: f1
double precision, dimension (fdim1-flag1,fdim2) :: f2
double precision, dimension (fdim1,fdim2-flag2) :: f3
double precision, dimension (fdim1-flag1,fdim2-flag2) :: f4
double precision, dimension (dim1,dim1) :: Id1
double precision, dimension (dim1-flag3,dim1-flag3) :: Id2
double precision, dimension (dim1,dim1) :: Id1inv
double precision, dimension (dim1-flag3,dim1-flag3) :: Id2inv
double precision, dimension (dim1) :: diag1
double precision, dimension (dim1-flag3) :: diag2
double precision, dimension (dim1,3) :: a1
double precision, dimension (dim1) :: d1
double precision, dimension (dim1) :: p1
double precision, dimension (dim1,3) :: c1
double precision, dimension (dim1-flag3,3) :: a2
double precision, dimension (dim1-flag3) :: d2
double precision, dimension (dim1-flag3) :: p2
double precision, dimension (dim1-flag3,3) :: c2
double precision, dimension (3*(n1-1)+30) :: cosn
double precision, dimension (3*(m1-1)+20) :: cosm
double precision, dimension (0:nun-1,9) :: un
double precision :: alpha
double precision :: beta
double precision :: beta1
double precision :: beta2