ply_split_element_3D_test Subroutine

private subroutine ply_split_element_3D_test(nModes, success)

Testing the 3D splitting.

In three dimensions we only check the splitting to polynomials of same polynomial degree. Downsizing is checked in 2D, and upsizing is only checked for 1D. The resulting polynomials are probed at a set of random points to ensure

Arguments

TypeIntentOptionalAttributesName
integer, intent(in) :: nModes

Number of modes in the (1D) polynomials to use in the check.

logical, intent(out) :: success

Indication whether the tests were completed successfully.


Calls

proc~~ply_split_element_3d_test~~CallsGraph proc~ply_split_element_3d_test ply_split_element_3D_test proc~ply_split_element_3d ply_split_element_3D proc~ply_split_element_3d_test->proc~ply_split_element_3d proc~ply_legendre_1d ply_legendre_1D proc~ply_split_element_3d_test->proc~ply_legendre_1d proc~ply_split_element_init ply_split_element_init proc~ply_split_element_3d_test->proc~ply_split_element_init proc~ply_split_element_singled ply_split_element_singleD proc~ply_split_element_3d->proc~ply_split_element_singled proc~ply_split_legendre_matrix ply_split_legendre_matrix proc~ply_split_element_init->proc~ply_split_legendre_matrix proc~beta beta proc~ply_split_legendre_matrix->proc~beta proc~alpha alpha proc~ply_split_legendre_matrix->proc~alpha proc~alpha_frac alpha_frac proc~ply_split_legendre_matrix->proc~alpha_frac proc~alpha_beta alpha_beta proc~ply_split_legendre_matrix->proc~alpha_beta

Called by

proc~~ply_split_element_3d_test~~CalledByGraph proc~ply_split_element_3d_test ply_split_element_3D_test proc~ply_split_element_test ply_split_element_test proc~ply_split_element_test->proc~ply_split_element_3d_test

Contents


Variables

TypeVisibilityAttributesNameInitial
integer, private :: parentModes
integer, private :: childmodes
integer, private :: iPoint
integer, private :: iElem
integer, private :: iMode
integer, private :: jMode
integer, private :: ij
integer, private :: iX
integer, private :: iY
integer, private :: iZ
real(kind=rk), private :: xi(nModes,3)
real(kind=rk), private :: x(nModes,3,8)
real(kind=rk), private :: legchild(nModes,nModes,3)
real(kind=rk), private :: legparent(nModes,nModes,3,8)
real(kind=rk), private :: rootvalz(nModes,8)
real(kind=rk), private :: rootvaly(nModes,8)
real(kind=rk), private :: rootval(nModes,8)
real(kind=rk), private :: childval
real(kind=rk), private :: childvaly(nModes)
real(kind=rk), private :: childvalz(nModes)
real(kind=rk), private, allocatable:: rootelem(:,:)
real(kind=rk), private, allocatable:: childelem(:,:)
real(kind=rk), private :: tolerance