Copy a single 2D element state into a larger array and pad it with zeroes.
The additional modes might be necessary for proper dealing with nonlinear operations. Please note, that the oversampled representation is always a Q-Space polynomial.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
real(kind=rk), | intent(in) | :: | state(:,:) | State in a single element, to be oversampled. |
||
type(ply_poly_project_type), | intent(in) | :: | poly_proj | Description of the projection method. |
||
real(kind=rk), | intent(inout) | :: | modalCoeffs(:,:) | Oversampled array for modal coefficients from state. These are always Q-Polynomial representations, as projections only work with those. |
||
integer, | intent(in), | optional | :: | nScalars | The number of scalar variables to convert. If nScalars is not passed to this subroutine, all variables of argument state will be considered by this routine. |
|
logical, | intent(in), | optional | :: | ensure_positivity(:) | Only use modes up to the point, where we are sure that the resulting polynomial will be positive everywhere. This is an array of logicals for each variable, if not given, the default is false (no positivity ensured). |
Type | Visibility | Attributes | Name | Initial | |||
---|---|---|---|---|---|---|---|
integer, | private | :: | oversamp_degree | ||||
integer, | private | :: | mpd1 | ||||
integer, | private | :: | mpd1_square | ||||
integer, | private | :: | iDegX | ||||
integer, | private | :: | iDegY | ||||
integer, | private | :: | idof | ||||
integer, | private | :: | dof | ||||
integer, | private | :: | dofOverSamp | ||||
integer, | private | :: | nPVars | ||||
integer, | private | :: | iVar | ||||
real(kind=rk), | private | :: | ordersum(2*(poly_proj%min_degree+1)-1) | ||||
real(kind=rk), | private | :: | varsum | ||||
integer, | private | :: | iOrd | ||||
integer, | private | :: | maxorders | ||||
integer, | private | :: | ord_lim |