module mod_cheb_leg
! Interfaces
public interface cld
public interface cld_btri
public interface cln
public interface cld_n
public interface cheb_to_leg
public interface cheb_to_leg2
public interface nycheb_leg_disk
end module mod_cheb_leg
Contains the interfaces for the part of the cheb_leg algorithm that is not contained in
the Chebychev or the Legendre module.
Author: Jan Ivar Moldekleiv
Version: 0.8
public interface cld
subroutine cld (n1, m1, rm, beta, f, nf, u, nu, e1, e2, w1, w2, ws, init, flag1, flag2, fdim1, fdim2)
integer, intent(in) :: n1
integer, intent(in) :: m1
double precision, intent(in) :: rm
double precision, intent(in) :: beta
double precision, intent(inout), dimension (0:nf,0:m1) :: f
integer, intent(in) :: nf
double precision, intent(inout), dimension (0:nu,0:m1) :: u
integer, intent(in) :: nu
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 (3*(m1-1),0:n1-2) :: ws
integer, intent(in) :: init
integer, intent(in) :: flag1
integer, intent(in) :: flag2
integer, intent(in) :: fdim1
integer, intent(in) :: fdim2
end subroutine cld
end interface cld
public interface cld_btri
subroutine cld_btri (n1, m1, rm, beta, f, nf, u, nu, ws, init, flag1, flag2, fdim1, fdim2)
integer, intent(in) :: n1
integer, intent(in) :: m1
double precision, intent(in) :: rm
double precision, intent(in) :: beta
double precision, intent(inout), dimension (0:nf,0:m1) :: f
integer, intent(in) :: nf
double precision, intent(inout), dimension (0:n1,0:n1) :: u
integer, intent(in) :: nu
double precision, intent(inout), dimension (3*(m1-1),0:n1-2) :: ws
integer, intent(in) :: init
integer, intent(in) :: flag1
integer, intent(in) :: flag2
integer, intent(in) :: fdim1
integer, intent(in) :: fdim2
end subroutine cld_btri
end interface cld_btri
public interface cln
subroutine cln (n1, m1, rm, beta, f, nf, u, nu, e1, e2, w1, w2, init, flag1, flag2, fdim1, fdim2, aa, ww, mx)
integer, intent(in) :: n1
integer, intent(in) :: m1
double precision, intent(in) :: rm
double precision, intent(in) :: beta
double precision, intent(inout), dimension (0:nf,0:m1) :: f
integer, intent(in) :: nf
double precision, intent(inout), dimension (0:nu,0:m1) :: u
integer, intent(in) :: nu
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
integer, intent(in) :: init
integer, intent(in) :: flag1
integer, intent(in) :: flag2
integer, intent(in) :: fdim1
integer, intent(in) :: fdim2
double precision, intent(in), dimension (0:mx) :: aa
double precision, intent(in), dimension (0:mx) :: ww
integer, intent(in) :: mx
end subroutine cln
end interface cln
public interface 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)
integer, intent(in) :: n1
integer, intent(in) :: m1
double precision, intent(in) :: rm
double precision, intent(in) :: beta
double precision, intent(inout), dimension (0:nf,0:m1) :: f
integer, intent(in) :: nf
double precision, intent(inout), dimension (0:nu,0:m1) :: u
integer, intent(in) :: nu
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 (3*(m1-1),0:n1-2) :: ws
integer, intent(in) :: init
integer, intent(in) :: flag1
integer, intent(in) :: flag2
integer, intent(in) :: fdim1
integer, intent(in) :: fdim2
double precision, intent(inout), dimension (0:nun,9) :: un
integer, intent(in) :: nun
end subroutine cld_n
end interface cld_n
public interface cheb_to_leg
subroutine cheb_to_leg (cheb, leg, A1, A2, N, m1, m2)
double precision, intent(in), dimension (0:N,0:N) :: cheb
double precision, intent(out), dimension (0:N,0:N) :: leg
double precision, intent(in), dimension (0:m1,0:m1) :: A1
double precision, intent(in), dimension (0:m2,0:m2) :: A2
integer, intent(in) :: N
integer, intent(in) :: m1
integer, intent(in) :: m2
end subroutine cheb_to_leg
end interface cheb_to_leg
public interface cheb_to_leg2
subroutine cheb_to_leg2 (cheb, leg, A1, A2, N, M, m1, m2)
double precision, intent(in), dimension (0:N,0:M) :: cheb
double precision, intent(out), dimension (0:N,0:M) :: leg
double precision, intent(in), dimension (0:m1,0:m1) :: A1
double precision, intent(in), dimension (0:m2,0:m2) :: A2
integer, intent(in) :: N
integer, intent(in) :: M
integer, intent(in) :: m1
integer, intent(in) :: m2
end subroutine cheb_to_leg2
end interface cheb_to_leg2
public interface nycheb_leg_disk
subroutine nycheb_leg_disk (AA1, AA2, BB1, BB2, N, m1, m2, pi)
double precision, intent(out), dimension (0:m1,0:m1) :: AA1
double precision, intent(out), dimension (0:m2,0:m2) :: AA2
double precision, intent(out), dimension (0:m1,0:m1) :: BB1
double precision, intent(out), dimension (0:m2,0:m2) :: BB2
integer, intent(in) :: N
integer, intent(in) :: m1
integer, intent(in) :: m2
double precision, intent(in) :: pi
end subroutine nycheb_leg_disk
end interface nycheb_leg_disk