[localresidual] Make CRTP explicit, remove BaseLocalResidual, reduce LocalResidual property usage
These are some efforts within the larger goal to be able to specify the localoperator directly in the main file. This would make it much more transparent to know how and which equations are assembled. This MR essentially removed the need for a property LocalResidual and makes the assembler the only injection point of the type.
- Add
Implementationtemplate arg toFVLocalResidualand the more disc-scheme-specific child classes (which forward it toFVLocalResidual) -
FVAssemblerreceivesLocalResidualas template arg as well, default comes from property system. -
BaseLocalResidualproperty is removed and substituted by selector traitDiscretizationDefaultLocalOperator - The property
LocalResidualpersists in order to keep theFVAssemblerbw-compatible
TODO
-
Add changelog entry -
Add an example that passes the local residual in the main file -
Fix NavierStokesLocalResidualImpl -
Fix multidomain -
This does not work(fixed) with FacetCoupling, because it uses a customBaseLocalResidualwhich is injected via the property system.
Edited by Timo Koch