that is refined in one of the spatial directions) to a coarse element.
Project modal representation of a semi-refined face (i.e. on a face that is refined in one of the spatial directions) to a coarser element. The result is a modal representation on the coarse element that is representing the polynomial function of the refined element on the coarse element when restricted to the refined element again. However the modal representation is done in terms of the ansatz functions of the coarse element. \n \n The function is executing one of the following projections: \n
face on current semi-refined \n
level face \n
\n
------------------------ ------------------------ \n | | | | | \n | | coarseDir | | | \n | | == 1 | fineFace | fineFace | \n | | <<-------- | Shift | Shift | \n | | | == 1 | == 2 | \n | | | | | \n | | | | | \n ------------------------ ------------------------ \n
or:
------------------------ ------------------------ \n | | | | \n | | coarseDir | fineFaceShift | \n | | == 2 | == 2 | \n | | <<-------- ------------------------ \n | | | | \n | | | fineFaceShift | \n | | | == 1 | \n ------------------------ ------------------------ \n
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
real(kind=rk), | intent(in) | :: | modalRepFace(:,:) | Modal representation of a function on one of refined face. Which fine face is determined by fineFaceShift Dimensions are: (modg%maxPolyDegree+1)^2 for the first dimension and nScalars for the second dimension. |
||
type(ply_modg_basis_type) | :: | modg_basis | Informations about the polynomial basis of a MODG scheme. |
|||
type(atl_modg_scheme_type), | intent(in) | :: | schemeCoarse | The parameters of your MODG scheme on the coarse level. |
||
type(atl_modg_scheme_type), | intent(in) | :: | schemeFine | The parameters of your MODG scheme on the fint level. |
||
integer, | intent(in) | :: | coarseDir | The direction of the semi-coarsening. Either 1 or 2. Have a look at the function description. |
||
integer, | intent(in) | :: | fineFaceShift | The semi-refined element you want to obtain. |
||
real(kind=rk), | intent(inout) | :: | modalCoarsed(:,:) | The modal representation of modalRepFace on the coarser element, restricted to the given fine element. |
Type | Visibility | Attributes | Name | Initial | |||
---|---|---|---|---|---|---|---|
integer, | private | :: | comFunc | ||||
integer, | private | :: | iFunc | ||||
integer, | private | :: | iCoarseFunc | ||||
integer, | private | :: | funcPos | ||||
integer, | private | :: | coarsePos | ||||
real(kind=rk), | private | :: | coarseSqNorm | ||||
real(kind=rk), | private | :: | jacobiDetFineToCoarse | ||||
integer, | private | :: | mpd1 | ||||
integer, | private | :: | mpd1_square |