Subroutine chdhmz2_n

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)


Description of Variables

n1

integer :: n1

m1

integer :: m1

dim1

integer :: dim1

dim2

integer :: dim2

fdim1

integer :: fdim1

fdim2

integer :: fdim2

flag1

integer :: flag1

flag2

integer :: flag2

flag3

integer :: flag3

flag4

integer :: flag4

odd

integer :: odd

even

integer :: even

retning

integer :: retning

nun

integer :: nun

i

integer :: i

j

integer :: j

u

double precision, dimension (0:n1-1,0:m1-1) :: u

f

double precision, dimension (0:n1-1,0:m1-1) :: f

f1

double precision, dimension (fdim1,fdim2) :: f1

f2

double precision, dimension (fdim1-flag1,fdim2) :: f2

f3

double precision, dimension (fdim1,fdim2-flag2) :: f3

f4

double precision, dimension (fdim1-flag1,fdim2-flag2) :: f4

Id1

double precision, dimension (dim1,dim1) :: Id1

Id2

double precision, dimension (dim1-flag3,dim1-flag3) :: Id2

Id1inv

double precision, dimension (dim1,dim1) :: Id1inv

Id2inv

double precision, dimension (dim1-flag3,dim1-flag3) :: Id2inv

diag1

double precision, dimension (dim1) :: diag1

diag2

double precision, dimension (dim1-flag3) :: diag2

a1

double precision, dimension (dim1,3) :: a1

d1

double precision, dimension (dim1) :: d1

p1

double precision, dimension (dim1) :: p1

c1

double precision, dimension (dim1,3) :: c1

a2

double precision, dimension (dim1-flag3,3) :: a2

d2

double precision, dimension (dim1-flag3) :: d2

p2

double precision, dimension (dim1-flag3) :: p2

c2

double precision, dimension (dim1-flag3,3) :: c2

cosn

double precision, dimension (3*(n1-1)+30) :: cosn

cosm

double precision, dimension (3*(m1-1)+20) :: cosm

un

double precision, dimension (0:nun-1,9) :: un

alpha

double precision :: alpha

beta

double precision :: beta

beta1

double precision :: beta1

beta2

double precision :: beta2