Skip to content

[localresidual] Make CRTP explicit, remove BaseLocalResidual, reduce LocalResidual property usage

Timo Koch requested to merge feature/explicit-localres-crtp into master

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 Implementation template arg to FVLocalResidual and the more disc-scheme-specific child classes (which forward it to FVLocalResidual)
  • FVAssembler receives LocalResidual as template arg as well, default comes from property system.
  • BaseLocalResidual property is removed and substituted by selector trait DiscretizationDefaultLocalOperator
  • The property LocalResidual persists in order to keep the FVAssembler bw-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 custom BaseLocalResidual which is injected via the property system.
Edited by Timo Koch

Merge request reports

Loading