subroutine cld_n
! 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
integer, intent(in) :: nun
double precision, intent(in) :: beta
double precision, intent(in) :: rm
double precision, intent(in), dimension (fdim1,fdim1) :: e1
double precision, intent(in), dimension (fdim1-flag1,fdim1-flag1) :: e2
double precision, intent(in), dimension (fdim1) :: w1
double precision, intent(in), dimension (fdim1-flag1) :: w2
double precision, intent(inout), dimension (0:nu,0:m1) :: u
double precision, intent(inout), dimension (0:nf,0:m1) :: f
double precision, intent(inout), dimension (0:nun,9) :: un
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 (0:nf,0:m1) :: la
double precision :: pi
double precision, dimension (3*(n1+1)+30) :: cosn
double precision, dimension (3*(m1+1)+30) :: cosm
real, dimension (2) :: tt
end subroutine cld_n
subroutine cld_n(n1,m1,rm,beta,f,nf,u,nu,e1,e2,w1,w2,ws,init,flag1,flag2,fdim1,fdim2,un,nun)
Solve the 2D Helmholtz equation rm*u -u_xx -beta u_yy = f with nonhomogeneous Diriclet Boundary Conditions in IxI by using the Chebychev-Legendre method.
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
integer, intent(in) :: nun
double precision, intent(in) :: beta
double precision, intent(in) :: rm
double precision, intent(in), dimension (fdim1,fdim1) :: e1
double precision, intent(in), dimension (fdim1-flag1,fdim1-flag1) :: e2
double precision, intent(in), dimension (fdim1) :: w1
double precision, intent(in), dimension (fdim1-flag1) :: w2
double precision, intent(inout), dimension (0:nu,0:m1) :: u
double precision, intent(inout), dimension (0:nf,0:m1) :: f
double precision, intent(inout), dimension (0:nun,9) :: un
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 (0:nf,0:m1) :: la
double precision :: pi
double precision, dimension (3*(n1+1)+30) :: cosn
double precision, dimension (3*(m1+1)+30) :: cosm
real, dimension (2) :: tt