\brief Interpolate modal face representation from coarse to next finer faces (level difference between coarser and finer faces has to be 1).
Interpolates functions defined on faces of the current level to faces of the next finer level. \n \n faces on fine face on current \n level level \n ------------------------ ------------------------ \n | | | | | \n | 3 | 4 | | | \n | | | | | \n ------------------------ <<---------- | 5 | \n | | | | | \n | 1 | 2 | | | \n | | | | | \n ------------------------ ------------------------ \n \n This is accomplished with lower complexity (with respect to the polynomial degree) by a dimension by dimension approach: \n \n faces on fine face on current \n level level \n ------------------------ ------------------------ \n | | | | | \n | 3 | 4 | | | \n | | | | | \n ------------------------ <<---------- | 5 | \n | | | | | \n | 1 | 2 | | | \n | | | | | \n ------------------------ ------------------------ \n \ / \n \ / \n \ / \n \ / \n ------------------------ \n | | \n | b | \n | | \n ------------------------ \n | | \n | a | \n | | \n ------------------------ \n
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
integer, | intent(in) | :: | minLevel | The minumum level of the mesh. |
||
integer, | intent(in) | :: | maxLevel | The maximum level of the mesh. |
||
integer, | intent(in) | :: | currentLevel | The current level (i.e. the coarse level). |
||
type(atl_cube_elem_type), | intent(in) | :: | mesh(minLevel:maxLevel) | The mesh representation. |
||
type(atl_facedata_type), | intent(inout) | :: | facedata(minLevel:maxLevel) | The face representations (finer faces are interpolated from coarser ones). |
||
integer, | intent(in) | :: | nScalars | The number of scalar variables in your equation system. |
Type | Visibility | Attributes | Name | Initial | |||
---|---|---|---|---|---|---|---|
integer, | private | :: | iDir | ||||
integer, | private | :: | iAlign | ||||
integer, | private | :: | iFace | ||||
integer, | private | :: | invAlign | ||||
integer, | private | :: | nDofsCoarse | ||||
integer, | private | :: | nDofsFine | ||||
integer, | private | :: | nDofsInter | ||||
integer, | private | :: | elemPos | ||||
integer, | private | :: | childPos(4) | ||||
real(kind=rk), | private, | allocatable | :: | faceDat(:,:) | |||
real(kind=rk), | private, | allocatable | :: | aFace(:,:) | |||
real(kind=rk), | private, | allocatable | :: | bFace(:,:) | |||
real(kind=rk), | private, | allocatable | :: | firstFace(:,:) | |||
real(kind=rk), | private, | allocatable | :: | secondFace(:,:) | |||
real(kind=rk), | private, | allocatable | :: | thirdFace(:,:) | |||
real(kind=rk), | private, | allocatable | :: | fourthFace(:,:) |