Skip to content

Split function_space_impls.py into smaller files

Marcus Mohr requested to merge mohr/split-function_space_impls into main

The file function_space_impls.py has reached a length of 1053 lines. Adding support for additional Finite Element spaces will make it grow further.

The primary purpose of this MR is to split it up into several files:

  • one for the abstract base class FunctionSpaceImpl
  • one for each Finite Element space (here we combine scalar and vectorial Langrage spaces into one file, e.g. p2_space_impl.py)
  • one file for the factory function create_impl() which becomes a free-function instead of a static class method to avoid problems with cyclic dependencies

The files are collected inside their own folder function_space_implementations inside operator_generation.

The secondary purpose is to adapt the code in OperatorGenerationTest.hpp to a name change in HyTeG, see hyteg!849 (merged) and hyteg!851 (merged).

Merge request reports