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

Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|

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. |

Type | Visibility | Attributes | Name | Initial | |||
---|---|---|---|---|---|---|---|

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 |