Introduces a new concept of extrusion for integration rules. For the default implementation the integration element for area and volume integration is simply the area or the volume of the control volume face / control volume.
This can be used to realise rotational symmetric geometries, which makes the current implementation that wraps scv/scvfs obsolete. Background is that the wrappers are not clean since the scv/scvfs are actually not modified but the wrapper simply altered the volume and area functions. With this implementation the area and volumes are modified in the place where the integration happens which makes this approach more transparent and more general.
This implementation also fixes the rotationsymmetry for staggered first implemented in !2172 (merged) which doesn't work due to two bugs we oversaw:
- The implementation of the centroid computation for lateral face-scv faces and face-scvs is wrong.
- The implementation leads to a double extrusion of the area/volume in case the computation uses the cell geometry volumes/areas as basis for the computation.
This also makes transparent that the integration for rotational-symmetric domains is not optimally approximated by the mid-point rule. Only constant functions are integrated exactly.
This does not replace the extrusionFactor which is an element-local (possible solution dependent) factor used for realising local tube extrusion or fracture aperture extrusion. In contrast, this addresses global domain extrusion like rotational extrusion / spherical extrusions.
Deprecate rotation symmetric traits / scv / scvfs
Use new style extrusion in all radially-symmetric tests
Add unit test for
Extrusion::integrationElement(can be implemented inside
test_rotationsymmetric_gridgeometry.ccadd test for