The Open FUSION Toolkit 1.0.0-8905cc5
Modeling tools for plasma and fusion research and engineering
Loading...
Searching...
No Matches
Functions/Subroutines
oft_tet_quadrature Module Reference

Detailed Description

Definition of 1D, 2D, and 3D quadrature rules.

Symmetric quadrature rules defined by Zhang et al.

"Zhang, L., Cui, T., & Liu, H. (January 01, 2009) A set of symmetric quadrature rules on triangles and tetrahedra. Journal of Computational Mathematics, 27, 1, 89-96."

Authors
Chris Hansen
Date
August 2011

Functions/Subroutines

type(oft_quad_type) function quad_1d_p1 ()
 Set 1D quadrature rule for 1st order.
 
type(oft_quad_type) function quad_1d_p3 ()
 Set 1D quadrature rule for 3rd order.
 
type(oft_quad_type) function quad_1d_p5 ()
 Set 1D quadrature rule for 5th order.
 
type(oft_quad_type) function quad_1d_p7 ()
 Set 1D quadrature rule for 7th order.
 
type(oft_quad_type) function quad_2d_p1 ()
 Set 2D quadrature rule for 1st order.
 
type(oft_quad_type) function quad_2d_p10 ()
 Set 2D quadrature rule for 10th order.
 
type(oft_quad_type) function quad_2d_p11 ()
 Set 2D quadrature rule for 11th order.
 
type(oft_quad_type) function quad_2d_p12 ()
 Set 2D quadrature rule for 12th order.
 
type(oft_quad_type) function quad_2d_p14 ()
 Set 2D quadrature rule for 14th order.
 
type(oft_quad_type) function quad_2d_p16 ()
 Set 2D quadrature rule for 16th order.
 
type(oft_quad_type) function quad_2d_p18 ()
 Set 2D quadrature rule for 18th order.
 
type(oft_quad_type) function quad_2d_p2 ()
 Set 2D quadrature rule for 2nd order.
 
type(oft_quad_type) function quad_2d_p3 ()
 Set 2D quadrature rule for 3rd order.
 
type(oft_quad_type) function quad_2d_p4 ()
 Set 2D quadrature rule for 4th order.
 
type(oft_quad_type) function quad_2d_p5 ()
 Set 2D quadrature rule for 5th order.
 
type(oft_quad_type) function quad_2d_p6 ()
 Set 2D quadrature rule for 6th order.
 
type(oft_quad_type) function quad_2d_p7 ()
 Set 2D quadrature rule for 7th order.
 
type(oft_quad_type) function quad_2d_p8 ()
 Set 2D quadrature rule for 8th order.
 
type(oft_quad_type) function quad_2d_p9 ()
 Set 2D quadrature rule for 9th order.
 
type(oft_quad_type) function quad_3d_p1 ()
 Set 3D quadrature rule for 1st order.
 
type(oft_quad_type) function quad_3d_p10 ()
 Set 3D quadrature rule for 10th order.
 
type(oft_quad_type) function quad_3d_p11 ()
 Set 3D quadrature rule for 11th order.
 
type(oft_quad_type) function quad_3d_p2 ()
 Set 3D quadrature rule for 2nd order.
 
type(oft_quad_type) function quad_3d_p3 ()
 Set 3D quadrature rule for 3rd order.
 
type(oft_quad_type) function quad_3d_p4 ()
 Set 3D quadrature rule for 4th order.
 
type(oft_quad_type) function quad_3d_p5 ()
 Set 3D quadrature rule for 5th order.
 
type(oft_quad_type) function quad_3d_p6 ()
 Set 3D quadrature rule for 6th order.
 
type(oft_quad_type) function quad_3d_p7 ()
 Set 3D quadrature rule for 7th order.
 
type(oft_quad_type) function quad_3d_p8 ()
 Set 3D quadrature rule for 8th order.
 
type(oft_quad_type) function quad_3d_p9 ()
 Set 3D quadrature rule for 9th order.
 
subroutine quad_add_p21 (wt, i, quad)
 Add points to 2D quadrature rule of the form (1/3,1/3,1/3)
 
subroutine quad_add_p22 (wt, a, i, quad)
 Add points to 2D quadrature rule of the form (a,a,1-2*a)
 
subroutine quad_add_p23 (wt, a, b, i, quad)
 Add points to 2D quadrature rule of the form (a,b,1-a-b)
 
real(r8) function, dimension(2) quad_p11 ()
 Set 1D points to (1/2,1/2)
 
real(r8) function, dimension(2, 2) quad_p12 (a)
 Permute 1D points of the form (a,1-a)
 
real(r8) function, dimension(4, 1) quad_p31 ()
 Set 3D points to (1/4,1/4,1/4,1/4)
 
real(r8) function, dimension(4, 4) quad_p32 (a)
 Permute 3D points of the form (a,a,a,1-3*a)
 
real(r8) function, dimension(4, 6) quad_p33 (a)
 Permute 3D points of the form (a,a,1/2-a,1/2-a)
 
real(r8) function, dimension(4, 12) quad_p34 (a, b)
 Permute 3D points of the form (a,a,b,1-2*a-b)
 
real(r8) function, dimension(4, 24) quad_p35 (a, b, c)
 Permute 3D points of the form (a,b,c,1-a-b-c)
 
subroutine, public set_quad_1d (quad, order)
 Get 1D quadrature rule for specified order (max = 7)
 
subroutine, public set_quad_2d (quad, order)
 Get 2D quadrature rule for specified order (max = 11)
 
subroutine, public set_quad_3d (quad, order)
 Get 3D quadrature rule for specified order (max = 11)
 

Function/Subroutine Documentation

◆ quad_1d_p1()

type(oft_quad_type) function quad_1d_p1
private

Set 1D quadrature rule for 1st order.

Returns
Quadrature rule

◆ quad_1d_p3()

type(oft_quad_type) function quad_1d_p3
private

Set 1D quadrature rule for 3rd order.

Returns
Quadrature rule

◆ quad_1d_p5()

type(oft_quad_type) function quad_1d_p5
private

Set 1D quadrature rule for 5th order.

Returns
Quadrature rule

◆ quad_1d_p7()

type(oft_quad_type) function quad_1d_p7
private

Set 1D quadrature rule for 7th order.

Returns
Quadrature rule

◆ quad_2d_p1()

type(oft_quad_type) function quad_2d_p1
private

Set 2D quadrature rule for 1st order.

Returns
Quadrature rule

◆ quad_2d_p10()

type(oft_quad_type) function quad_2d_p10
private

Set 2D quadrature rule for 10th order.

Returns
Quadrature rule

◆ quad_2d_p11()

type(oft_quad_type) function quad_2d_p11
private

Set 2D quadrature rule for 11th order.

Returns
Quadrature rule

◆ quad_2d_p12()

type(oft_quad_type) function quad_2d_p12
private

Set 2D quadrature rule for 12th order.

Returns
Quadrature rule

◆ quad_2d_p14()

type(oft_quad_type) function quad_2d_p14
private

Set 2D quadrature rule for 14th order.

Returns
Quadrature rule

◆ quad_2d_p16()

type(oft_quad_type) function quad_2d_p16
private

Set 2D quadrature rule for 16th order.

Returns
Quadrature rule

◆ quad_2d_p18()

type(oft_quad_type) function quad_2d_p18
private

Set 2D quadrature rule for 18th order.

Returns
Quadrature rule

◆ quad_2d_p2()

type(oft_quad_type) function quad_2d_p2
private

Set 2D quadrature rule for 2nd order.

Returns
Quadrature rule

◆ quad_2d_p3()

type(oft_quad_type) function quad_2d_p3
private

Set 2D quadrature rule for 3rd order.

Returns
Quadrature rule

◆ quad_2d_p4()

type(oft_quad_type) function quad_2d_p4
private

Set 2D quadrature rule for 4th order.

Returns
Quadrature rule

◆ quad_2d_p5()

type(oft_quad_type) function quad_2d_p5
private

Set 2D quadrature rule for 5th order.

Returns
Quadrature rule

◆ quad_2d_p6()

type(oft_quad_type) function quad_2d_p6
private

Set 2D quadrature rule for 6th order.

Returns
Quadrature rule

◆ quad_2d_p7()

type(oft_quad_type) function quad_2d_p7
private

Set 2D quadrature rule for 7th order.

Returns
Quadrature rule

◆ quad_2d_p8()

type(oft_quad_type) function quad_2d_p8
private

Set 2D quadrature rule for 8th order.

Returns
Quadrature rule

◆ quad_2d_p9()

type(oft_quad_type) function quad_2d_p9
private

Set 2D quadrature rule for 9th order.

Returns
Quadrature rule

◆ quad_3d_p1()

type(oft_quad_type) function quad_3d_p1
private

Set 3D quadrature rule for 1st order.

Returns
Quadrature rule

◆ quad_3d_p10()

type(oft_quad_type) function quad_3d_p10
private

Set 3D quadrature rule for 10th order.

Returns
Quadrature rule

◆ quad_3d_p11()

type(oft_quad_type) function quad_3d_p11
private

Set 3D quadrature rule for 11th order.

Returns
Quadrature rule

◆ quad_3d_p2()

type(oft_quad_type) function quad_3d_p2
private

Set 3D quadrature rule for 2nd order.

Returns
Quadrature rule

◆ quad_3d_p3()

type(oft_quad_type) function quad_3d_p3
private

Set 3D quadrature rule for 3rd order.

Returns
Quadrature rule

◆ quad_3d_p4()

type(oft_quad_type) function quad_3d_p4
private

Set 3D quadrature rule for 4th order.

Returns
Quadrature rule

◆ quad_3d_p5()

type(oft_quad_type) function quad_3d_p5
private

Set 3D quadrature rule for 5th order.

Returns
Quadrature rule

◆ quad_3d_p6()

type(oft_quad_type) function quad_3d_p6
private

Set 3D quadrature rule for 6th order.

Returns
Quadrature rule

◆ quad_3d_p7()

type(oft_quad_type) function quad_3d_p7
private

Set 3D quadrature rule for 7th order.

Returns
Quadrature rule

◆ quad_3d_p8()

type(oft_quad_type) function quad_3d_p8
private

Set 3D quadrature rule for 8th order.

Returns
Quadrature rule

◆ quad_3d_p9()

type(oft_quad_type) function quad_3d_p9
private

Set 3D quadrature rule for 9th order.

Returns
Quadrature rule

◆ quad_add_p21()

subroutine quad_add_p21 ( real(8), intent(in)  wt,
integer(4), intent(inout)  i,
type(oft_quad_type), intent(inout)  quad 
)
private

Add points to 2D quadrature rule of the form (1/3,1/3,1/3)

Parameters
[in]wtWeight value for points
[in,out]iStarting index to add points
[in,out]quadQuadrature rule

◆ quad_add_p22()

subroutine quad_add_p22 ( real(8), intent(in)  wt,
real(8), intent(in)  a,
integer(4), intent(inout)  i,
type(oft_quad_type), intent(inout)  quad 
)
private

Add points to 2D quadrature rule of the form (a,a,1-2*a)

Parameters
[in]wtWeight value for points
[in]aParameter 1
[in,out]iStarting index to add points
[in,out]quadQuadrature rule

◆ quad_add_p23()

subroutine quad_add_p23 ( real(8), intent(in)  wt,
real(8), intent(in)  a,
real(8), intent(in)  b,
integer(4), intent(inout)  i,
type(oft_quad_type), intent(inout)  quad 
)
private

Add points to 2D quadrature rule of the form (a,b,1-a-b)

Parameters
[in]wtWeight value for points
[in]aParameter 1
[in]bParameter 2
[in,out]iStarting index to add points
[in,out]quadQuadrature rule

◆ quad_p11()

real(r8) function, dimension(2) quad_p11
private

Set 1D points to (1/2,1/2)

Returns
Evaluation points

◆ quad_p12()

real(r8) function, dimension(2,2) quad_p12 ( real(r8), intent(in)  a)
private

Permute 1D points of the form (a,1-a)

Parameters
[in]aParameter 1
Returns
Evaluation points from permutation [2,2]

◆ quad_p31()

real(r8) function, dimension(4,1) quad_p31
private

Set 3D points to (1/4,1/4,1/4,1/4)

Returns
Evaluation points

◆ quad_p32()

real(r8) function, dimension(4,4) quad_p32 ( real(r8), intent(in)  a)
private

Permute 3D points of the form (a,a,a,1-3*a)

Parameters
[in]aParameter 1
Returns
Evaluation points from permutation

◆ quad_p33()

real(r8) function, dimension(4,6) quad_p33 ( real(r8), intent(in)  a)
private

Permute 3D points of the form (a,a,1/2-a,1/2-a)

param[in] a Parameter 1

Returns
Evaluation points from permutation
Parameters
[in]aParameter 1
Returns
Evaluation points from permutation

◆ quad_p34()

real(r8) function, dimension(4,12) quad_p34 ( real(r8), intent(in)  a,
real(r8), intent(in)  b 
)
private

Permute 3D points of the form (a,a,b,1-2*a-b)

Parameters
[in]aParameter 1
[in]bParameter 2
Returns
Evaluation points from permutation

◆ quad_p35()

real(r8) function, dimension(4,24) quad_p35 ( real(r8), intent(in)  a,
real(r8), intent(in)  b,
real(r8), intent(in)  c 
)
private

Permute 3D points of the form (a,b,c,1-a-b-c)

Parameters
[in]aParameter 1
[in]bParameter 2
[in]cParameter 3
Returns
Evaluation points from permutation

◆ set_quad_1d()

subroutine, public set_quad_1d ( type(oft_quad_type), intent(inout)  quad,
integer(i4), intent(in)  order 
)

Get 1D quadrature rule for specified order (max = 7)

Parameters
[in,out]quadQuadrature rule
[in]orderDesired quadrature order

◆ set_quad_2d()

subroutine, public set_quad_2d ( type(oft_quad_type), intent(inout)  quad,
integer(i4), intent(in)  order 
)

Get 2D quadrature rule for specified order (max = 11)

Parameters
[in,out]quadQuadrature rule
[in]orderDesired quadrature order

◆ set_quad_3d()

subroutine, public set_quad_3d ( type(oft_quad_type), intent(inout)  quad,
integer(i4), intent(in)  order 
)

Get 3D quadrature rule for specified order (max = 11)

Parameters
[in,out]quadQuadrature rule
[in]orderDesired quadrature order