Usability CodeGen boundaries
Especially when a boundary with additional data is generated it is rather hard to understand how this should be done in the python script. Something like a wrapper around the boundaries would maybe improve the situation. For example, the UBB can be generated in this way:
ubb_dynamic = UBB(lambda *args: None, dim=stencil.D)
ubb_data_handler = UBBAdditionalDataHandler(stencil, ubb_dynamic)
However, the empty callback with the lambda and the UBBAdditionalDataHandler
are cryptic and there is absolutely no other choice than shown above.
Thus a thin wrapper like DynamicUBB(stencil=stencil)
could improve this situation quite a lot.
The problem why this has to be written in such a cryptic way in the first place is that lbmpy has to function as a standalone framework besides waLBerla. Thus certain design decisions are motivated out of a python world and contradict with the codegen for waLBerla.