This routine projects to elements (left and right) onto its co-volume element. The geometrical setup is as follows:
left right
|---------------------||---------------------| \ / \ / | |/ |---------------------| co-volume
The transformation to the co-volume is carried out by a simple (but efficient) L2-projection.
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| real(kind=rk), | intent(in) | :: | left(:,:) | |||
| real(kind=rk), | intent(in) | :: | right(:,:) | |||
| integer, | intent(in) | :: | dir | |||
| type(atl_covolume_type), | intent(in) | :: | filter | |||
| type(atl_scheme_type), | intent(in) | :: | scheme | The numerical schemes for the current level to get the modg basis |
||
| integer, | intent(in) | :: | maxPolyDeg | |||
| real(kind=rk), | intent(out) | :: | covolume(:,:) | |||
| real(kind=rk), | intent(in) | :: | order |
| Type | Visibility | Attributes | Name | Initial | |||
|---|---|---|---|---|---|---|---|
| integer, | private | :: | iDegX | ||||
| integer, | private | :: | iDegY | ||||
| integer, | private | :: | iDegZ | ||||
| integer, | private | :: | dofX | ||||
| integer, | private | :: | dofY | ||||
| integer, | private | :: | dofZ | ||||
| integer, | private | :: | iHelpVar | ||||
| integer, | private | :: | iter | ||||
| integer, | private | :: | dofAbsX | ||||
| integer, | private | :: | dofAbsY | ||||
| integer, | private | :: | dofAbsZ | ||||
| real(kind=rk), | private | :: | dofAbs | ||||
| real(kind=rk), | private | :: | damping | ||||
| real(kind=rk), | private | :: | cut | ||||
| integer, | private | :: | mpd1 | ||||
| integer, | private | :: | pos | ||||
| integer, | private | :: | pos_primal | ||||
| logical, | private | :: | use_damping |