Subroutine chdhmz2

subroutine chdhmz2

        ! 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
    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 (dim2,3) :: a3
    double precision, dimension (dim2) :: d3
    double precision, dimension (dim2) :: p3
    double precision, dimension (dim2,3) :: c3
    double precision, dimension (dim2-flag4,3) :: a4
    double precision, dimension (dim2-flag4) :: d4
    double precision, dimension (dim2-flag4) :: p4
    double precision, dimension (dim2-flag4,3) :: c4
    double precision :: alpha
    double precision :: beta
    double precision :: norm1
    double precision :: norm2
    double precision :: norm3
    double precision :: norm4
    double precision :: limit
    real, dimension (2) :: tt

end subroutine chdhmz2
subroutine chdhmz2(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)

Solves the equation which arises after the transform to spectral space An internal subroutine.

To see how this is used: see chebsolve.f90

Author: Jie Shen, Jan Ivar Moldekleiv

Version: 0.8


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

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

a3

double precision, dimension (dim2,3) :: a3

d3

double precision, dimension (dim2) :: d3

p3

double precision, dimension (dim2) :: p3

c3

double precision, dimension (dim2,3) :: c3

a4

double precision, dimension (dim2-flag4,3) :: a4

d4

double precision, dimension (dim2-flag4) :: d4

p4

double precision, dimension (dim2-flag4) :: p4

c4

double precision, dimension (dim2-flag4,3) :: c4

alpha

double precision :: alpha

beta

double precision :: beta

norm1

double precision :: norm1

norm2

double precision :: norm2

norm3

double precision :: norm3

norm4

double precision :: norm4

limit

double precision :: limit

tt

real, dimension (2) :: tt