What this MR does / why does DuMux need it:
Makes BoxGeometryHelper a thin wrapper around an element geometry. All points are constructed directly from the reference element via transformation given the element geometry. This means the helper can be cheaply constructed and used to create scv and scvf geometries on-the-fly.
This should serve as a blueprint for other control volume schemes. Exploiting this change, the memory footprint of scv and scvfs can be much improved (#1173) subsequently.
Better interface for boundary scvfs (not depending on intersection object)
Notes for the reviewer
I couldn't measure any performance penalty, although some points are transformed more often than before.
Before you request a review from someone, make sure to revise the following points:
does the new code follow the style guide?
do the test pipelines pass? (see guide on how to run pipelines for a merge request)
is the code you changed and/or the new code you wrote covered in the test suite? (if not, extend the existing tests or write new ones)
is the list of the header includes complete? ("include what you use")
all files have to end with a
\ncharacter. Make sure there is no
\ No newline at end of filecomment in "Changes" of this MR.