The Open FUSION Toolkit 1.0.0-beta6
Modeling tools for plasma and fusion research and engineering
Loading...
Searching...
No Matches
quadrature.F90 File Reference
#include "local.h"

Data Types

type  oft_quad_type
 Quadrature point definition structure. More...

Modules

module  oft_gauss_quadrature
 Definition of 1D, 2D, and 3D Gauss-Legendre quadrature rules.
module  oft_quadrature
 Definition of generic quadrature type.
module  oft_tet_quadrature
 Definition of 1D, 2D, and 3D quadrature rules.

Functions/Subroutines

type(oft_quad_type) function create_quad_1d (x, w, n)
 Create 1D quadrature object from base Gaussian quadrature rule.
subroutine delete_quad (self)
 Delete quadrature object.
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).
subroutine quad_change_domain (x, w, n)
 Change domain of integration from [-1,1] to [0,1].
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_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_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).
subroutine, public set_quad_3d (quad, order)
 Get 3D quadrature rule for specified order (max = 11).

Variables

real(r8), dimension(11), parameter gauss_a11 = (/-0.9782286581460570d0, -0.8870625997680953d0, -0.7301520055740494d0, -0.5190961292068118d0, -0.2695431559523450d0, 0.d0, 0.2695431559523450d0, 0.5190961292068118d0, 0.7301520055740494d0, 0.8870625997680953d0, 0.9782286581460570d0/)
real(r8), dimension(13), parameter gauss_a13 = [-0.9841830547185881d0, -0.9175983992229779d0, -0.8015780907333099d0, -0.6423493394403403d0, -0.44849275103644687d0, -0.23045831595513483d0, 0.0d0, 0.23045831595513483d0, 0.44849275103644687d0, 0.6423493394403403d0, 0.8015780907333099d0, 0.9175983992229779d0, 0.9841830547185881d0]
real(r8), dimension(15), parameter gauss_a15 = [-0.9879925180204854d0, -0.937273392400706d0, -0.8482065834104272d0, -0.7244177313601701d0, -0.5709721726085388d0, -0.3941513470775634d0, -0.20119409399743454d0, 0.0d0, 0.20119409399743454d0, 0.3941513470775634d0, 0.5709721726085388d0, 0.7244177313601701d0, 0.8482065834104272d0, 0.937273392400706d0, 0.9879925180204854d0]
real(r8), dimension(17), parameter gauss_a17 = [-0.9905754753144174d0, -0.9506755217687678d0, -0.8802391537269858d0, -0.7815140038968014d0, -0.6576711592166907d0, -0.5126905370864769d0, -0.35123176345387636d0, -0.17848418149584783d0, 0.0d0, 0.17848418149584783d0, 0.35123176345387636d0, 0.5126905370864769d0, 0.6576711592166907d0, 0.7815140038968014d0, 0.8802391537269858d0, 0.9506755217687678d0, 0.9905754753144174d0]
real(r8), dimension(19), parameter gauss_a19 = [-0.9924068438435844d0, -0.96020815213483d0, -0.9031559036148178d0, -0.8227146565371428d0, -0.7209661773352294d0, -0.600545304661681d0, -0.46457074137596094d0, -0.3165640999636298d0, -0.16035864564022534d0, 0.0d0, 0.16035864564022534d0, 0.3165640999636298d0, 0.46457074137596094d0, 0.600545304661681d0, 0.7209661773352294d0, 0.8227146565371428d0, 0.9031559036148178d0, 0.96020815213483d0, 0.9924068438435844d0]
real(r8), dimension(2), parameter gauss_a2 = (/-0.5773502691896257d0, 0.5773502691896257d0/)
real(r8), dimension(4), parameter gauss_a4 = (/-0.8611363115940526d0, -0.3399810435848563d0, 0.3399810435848563d0, 0.8611363115940526d0/)
real(r8), dimension(6), parameter gauss_a6 = (/-0.9324695142031521d0, -0.6612093864662645d0, -0.2386191860831969d0, 0.2386191860831969d0, 0.6612093864662645d0, 0.9324695142031521d0/)
real(r8), dimension(8), parameter gauss_a8 = (/-0.9602898564975363d0, -0.7966664774136267d0, -0.5255324099163290d0, -0.1834346424956498d0, 0.1834346424956498d0, 0.5255324099163290d0, 0.7966664774136267d0, 0.9602898564975363d0/)
real(r8), dimension(9), parameter gauss_a9 = (/-0.9681602395076261d0, -0.8360311073266358d0, -0.6133714327005904d0, -0.3242534234038089d0, 0.d0, 0.3242534234038089d0, 0.6133714327005904d0, 0.8360311073266358d0, 0.96816023950762610d0/)
real(r8), dimension(11), parameter gauss_w11 = (/0.0556685671161737d0, 0.1255803694649046d0, 0.1862902109277343d0, 0.2331937645919905d0, 0.2628045445102467d0, 0.2729250867779006d0, 0.2628045445102467d0, 0.2331937645919905d0, 0.1862902109277343d0, 0.1255803694649046d0, 0.0556685671161737d0/)
real(r8), dimension(13), parameter gauss_w13 = [0.040484004765315953d0, 0.09212149983772865d0, 0.1388735102197874d0, 0.1781459807619455d0, 0.2078160475368884d0, 0.2262831802628971d0, 0.2325515532308738d0, 0.2262831802628971d0, 0.2078160475368884d0, 0.1781459807619455d0, 0.1388735102197874d0, 0.09212149983772865d0, 0.040484004765315953d0]
real(r8), dimension(15), parameter gauss_w15 = [0.030753241996118136d0, 0.07036604748810772d0, 0.10715922046717183d0, 0.13957067792615427d0, 0.16626920581699398d0, 0.18616100001556216d0, 0.19843148532711147d0, 0.2025782419255612d0, 0.19843148532711147d0, 0.18616100001556216d0, 0.16626920581699398d0, 0.13957067792615427d0, 0.10715922046717183d0, 0.07036604748810772d0, 0.030753241996118136d0]
real(r8), dimension(17), parameter gauss_w17 = [0.02414830286854747d0, 0.055459529373987085d0, 0.0850361483171795d0, 0.11188384719340376d0, 0.1351363684685257d0, 0.15404576107681056d0, 0.16800410215644998d0, 0.1765627053669927d0, 0.17944647035620662d0, 0.1765627053669927d0, 0.16800410215644998d0, 0.15404576107681056d0, 0.1351363684685257d0, 0.11188384719340376d0, 0.0850361483171795d0, 0.055459529373987085d0, 0.02414830286854747d0]
real(r8), dimension(19), parameter gauss_w19 = [0.01946178822972895d0, 0.044814226765700516d0, 0.06904454273764106d0, 0.09149002162244968d0, 0.11156664554733368d0, 0.12875396253933566d0, 0.14260670217360596d0, 0.152766042065859d0, 0.15896884339395378d0, 0.16105444984878306d0, 0.15896884339395378d0, 0.152766042065859d0, 0.14260670217360596d0, 0.12875396253933566d0, 0.11156664554733368d0, 0.09149002162244968d0, 0.06904454273764106d0, 0.044814226765700516d0, 0.01946178822972895d0]
real(r8), dimension(2), parameter gauss_w2 = (/1.0000000000000000d0, 1.0000000000000000d0/)
real(r8), dimension(4), parameter gauss_w4 = (/0.3478548451374538d0, 0.6521451548625461d0, 0.6521451548625461d0,0.3478548451374538d0/)
real(r8), dimension(6), parameter gauss_w6 = (/0.1713244923791704d0, 0.3607615730481386d0, 0.4679139345726910d0, 0.4679139345726910d0, 0.3607615730481386d0, 0.1713244923791704d0/)
real(r8), dimension(8), parameter gauss_w8 = (/0.1012285362903763d0, 0.2223810344533745d0, 0.3137066458778873d0, 0.3626837833783620d0, 0.3626837833783620d0, 0.3137066458778873d0, 0.2223810344533745d0, 0.1012285362903763d0/)
real(r8), dimension(9), parameter gauss_w9 = (/0.0812743883615744d0, 0.1806481606948574d0, 0.2606106964029354d0, 0.3123470770400029d0, 0.3302393550012598d0, 0.3123470770400029d0, 0.2606106964029354d0, 0.1806481606948574d0, 0.0812743883615744d0/)