This module provides routines to transfer degrees of freedom from one polynomial representation to another.
These routines allow the copying of data from one order and polynomial space into another.
Transfer of degrees of freedom from one polynomial to another in 1D.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
real(kind=rk), | intent(in) | :: | indat(:) | Input data to transfer to output data. |
||
integer, | intent(in) | :: | indegree | Degree of the input polynomial. There are indegree+1 modes expected in indat. |
||
real(kind=rk), | intent(out) | :: | outdat(:) | Output data to fill with input data. |
||
integer, | intent(in) | :: | outdegree | Degree of the output polynomial. There are outdegree+1 modes expected in outdat. |
Transfer of degrees of freedom from one polynomial to another in 2D.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
real(kind=rk), | intent(in) | :: | indat(:) | Input data to transfer to output data. |
||
integer, | intent(in) | :: | inspace | Multi-dimensional polynomial layout of the input data. |
||
integer, | intent(in) | :: | indegree | Maximal polynomial degree in the input data. |
||
real(kind=rk), | intent(out) | :: | outdat(:) | Output data to fill with input data. |
||
integer, | intent(in) | :: | outspace | Multi-dimensional polynomial layout of the output data. |
||
integer, | intent(in) | :: | outdegree | Maximal polynomial degree in the output data. |
Transfer of degrees of freedom from one polynomial to another in 3D.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
real(kind=rk), | intent(in) | :: | indat(:) | Input data to transfer to output data. |
||
integer, | intent(in) | :: | inspace | Multi-dimensional polynomial layout of the input data. |
||
integer, | intent(in) | :: | indegree | Maximal polynomial degree in the input data. |
||
real(kind=rk), | intent(out) | :: | outdat(:) | Output data to fill with input data. |
||
integer, | intent(in) | :: | outspace | Multi-dimensional polynomial layout of the output data. |
||
integer, | intent(in) | :: | outdegree | Maximal polynomial degree in the output data. |
Small helping routine to wrap transfers in all allowed dimensions.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
real(kind=rk), | intent(in) | :: | indat(:) | Input data to transfer to output data. |
||
integer, | intent(in) | :: | inspace | Multi-dimensional polynomial layout of the input data. |
||
integer, | intent(in) | :: | indegree | Maximal polynomial degree in the input data. |
||
real(kind=rk), | intent(out) | :: | outdat(:) | Output data to fill with input data. |
||
integer, | intent(in) | :: | outspace | Multi-dimensional polynomial layout of the output data. |
||
integer, | intent(in) | :: | outdegree | Maximal polynomial degree in the output data. |
||
integer, | intent(in) | :: | ndims | Number of dimensions in the polynomials to transfer |
Transfer the polynomial in P representation from on dimension to another one.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
real(kind=rk), | intent(in) | :: | indat(:) | Input data to transfer to output data. |
||
integer, | intent(in) | :: | indim | Dimension of the input polynomial. |
||
real(kind=rk), | intent(out) | :: | outdat(:) | Output data to fill with input data. |
||
integer, | intent(in) | :: | outdim | Dimension of the output polynomial. |
||
integer, | intent(in) | :: | degree | Maximal polynomial degree in the output data. |