cheb_quad2 Function

public function cheb_quad2(tag, x0, x1, y0, y1, nx, ny, x, y, f, rwrk) result(valint)

This subroutine evaluates an integral using Gauss-Chebyshev (CGL/CGR/CG) quadrature for two variables.

Arguments

Type IntentOptional Attributes Name
character(len=*), intent(in) :: tag

{'CGL', 'CG', 'CGR'}
Type of nodes, where 'CGL': Chebyshev-Gauss-Lobatto, 'CG': Chebyshev-Gauss, and 'CGR': Chebyshev-Gauss-Radau.

real(kind=rp), intent(in) :: x0

Domain bounds [x0, x1]x[y0, y1] along x and y directions.

real(kind=rp), intent(in) :: x1

Domain bounds [x0, x1]x[y0, y1] along x and y directions.

real(kind=rp), intent(in) :: y0

Domain bounds [x0, x1]x[y0, y1] along x and y directions.

real(kind=rp), intent(in) :: y1

Domain bounds [x0, x1]x[y0, y1] along x and y directions.

integer, intent(in) :: nx

Number of nodes along x and y directions are (nx+1) and (ny+1)

integer, intent(in) :: ny

Number of nodes along x and y directions are (nx+1) and (ny+1)

real(kind=rp), intent(in), dimension(:) :: x

(nx+1,). Nodal coordinates along x direction in [-1, 1]

real(kind=rp), intent(in), dimension(:) :: y

(ny+1,). Nodal coordinates along y direction in [-1, 1]

real(kind=rp), intent(in), dimension(:) :: f

((nx+1)*(ny+1),). Value of the function at the nodes

real(kind=rp), intent(inout), dimension(:) :: rwrk

Workspace array of size at least (ny+1)

Return Value real(kind=rp)