Issues while adding support for extruded meshes
An incomplete list of issues I encountered while implementing extruded meshes:
Issues to be considered during structured interface adoption:
- iterate over dune kernels and get the correspondend integrand instead of the other way around
- clean up accumulation and coefficient access
- make coefficient access part of the visitor
- compute normals for multilinear column
- decide what quadrature_position should return (position on extruded face or base face)
- use known normals for horizontal faces
- iterate over dune kernels and get the correspondend integrand instead of the other way around
- clean up accumulation and coefficient access
- make coefficient access part of the visitor
- two ways of handling horizontal faces:
- generate one kernel with predicates for face instructions (maybe during visiting)
- generate separate kernels for each integral type and merge them <-- current approach
Open issues:
- using first element in mesh for filling quadrature cache -> use element type instead
- use explicit geometry type instead of using geometry from given entity
- no support for UFL tensorelements (probably not needed)
- define basis type explicitly in lop
- use explicit basis in cache evaluation
- literal c code is hard to adjust -> mixing "c++" objects with symbolic objects is tedious
- I hope this will get fixed with #159
I don't think these are controversial topics, so I would also fix them in a more unified way when I work on the structured interface adoption.