The NekPy wrapper is designed to mimic the library structure of Nektar++, with directories
StdRegions libraries. This is a deliberate design
decision, so that classes and definitions in Nektar++ can be easily located inside
There are also some other directories and files:
.cppfiles should import. It sets appropriate namespaces for
boost::python::numpy, depending on whether the
Boost.NumPylibrary was compiled or is included in Boost,
setup.pyfiles which every Python package should contain,
maketargets for installing NekPy.
Figure 20.1 shows the location of Python wrapper files within Nektar++ structure.
Every sub-module of Nektar++ hosts an additional folder for Python files and the
structure of the Python folder mimics the structure of the sub-module itself, as
shown on the left of the figure with
LibUtilities sub-module. Individual
files, such as
Expansion.cpp contain the wrappers for classes and methods from
corresponding Nektar++ library files whereas
.cpp files named after sub-modules (e.g.
BOOST_PYTHON_MODULE definitions which create package modules