Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(ply_l2p_type), | intent(out) | :: | left | fpt to copy to |
||
type(ply_l2p_type), | intent(in) | :: | right | fpt to copy from |
Storage of the transformation matrices for the L2 projection method to convert between modal and nodal values.
Type | Visibility | Attributes | Name | Initial | |||
---|---|---|---|---|---|---|---|
real(kind=rk), | private, | allocatable | :: | leg2node(:,:) | |||
real(kind=rk), | private, | allocatable | :: | node2leg(:,:) |
Initialize the transformations via L2 projections.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(ply_l2p_type), | intent(out) | :: | l2p | |||
type(ply_l2p_header_type), | intent(in) | :: | header | |||
integer, | intent(in) | :: | degree |
Transformation between modal and nodal values in 1D via L2 projection.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
real(kind=rk), | intent(in) | :: | trafo(:,:) | L2 Projection matrix, this determines the direction of the trafo at hand l2p%leg2node = modal to nodal l2p%node2leg = nodal to modal |
||
real(kind=rk), | intent(inout) | :: | projected(:) | Projected coefficients. |
||
real(kind=rk), | intent(inout) | :: | original(:) | Original coefficients to project. |
Transformation between modal and nodal values in 2D via L2 projection.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
real(kind=rk), | intent(in) | :: | trafo(:,:) | L2 Projection matrix, this determines the direction of the trafo at hand l2p%leg2node = modal to nodal l2p%node2leg = nodal to modal |
||
real(kind=rk), | intent(inout) | :: | projected(:) | Projected coefficients. |
||
real(kind=rk), | intent(inout) | :: | original(:) | Original coefficients to project. |
Transformation between modal and nodal values in 3D via L2 projection.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
real(kind=rk), | intent(in) | :: | trafo(:,:) | L2 Projection matrix, this determines the direction of the trafo at hand l2p%leg2node = modal to nodal l2p%node2leg = nodal to modal |
||
real(kind=rk), | intent(inout) | :: | projected(:) | Projected coefficients. |
||
real(kind=rk), | intent(inout) | :: | original(:) | Original coefficients to project. |
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(ply_l2p_type), | intent(out) | :: | left | fpt to copy to |
||
type(ply_l2p_type), | intent(in) | :: | right | fpt to copy from |
Actual implementation of the matrix operation to change between nodal and modal representations.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
integer, | intent(in) | :: | nDofs | Number of degree of freedoms |
||
integer, | intent(in) | :: | nIndeps | Number of values that can be computed independently. |
||
real(kind=rk), | intent(out) | :: | projected(nIndeps,nDofs) | Projected data. Size has to be nIndeps*size(matrix,1), and the layout is changed here when compared to the original array, as the projected direction moves to the end. |
||
real(kind=rk), | intent(in) | :: | original(nDofs,nIndeps) | Original data. Size has to be size(matrix,1) and the direction to be projected has to be the fastest running one. |
||
real(kind=rk), | intent(in) | :: | matrix(nDofs,nDofs) | Matrix to apply in this operation. The matrix defines wether this is a modal to nodal transformation or the other way around. |