Split function_space_impls.py into smaller files
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).