Skip to content
Snippets Groups Projects
###########################################################################
###########################################################################
########## Robin Spooner 					###########
########## 24/9/2012						###########
########## Boost Python wrapper build instructions 		###########
###########################################################################
###########################################################################

The files contained in this folder contain wrappers for the classes: 
MeshGraph 
SessionReader
ExpList1D
ExpList2D
ExpList3D

These are all contained in the file "NekPy_ext.cpp". To build these wrappers into an importable module for Python. Also included in the "build" directory the Python version of XmlToVtk is also provided under "XmlToVtk.py". 

To run XmlToVtk.py, a similar call is used to C++ but with the added Python call. E.g. ::

python XmlToVtk.py newsquare_2x2.xml

(This Xml is also found in the "build" directory as an example.)


The prerequisites needed to run these are:: 

Nektar++ (SVN version used) 
Boost Python (From Boost 1.50.0 libraries)
Python 2.7 (Might run on earlier versions but haven't tried)


######################################################################

To build the Python module: 
----------------------------
[1] The file containing the wrappers must be placed in "src" directory 
[2] Adapt the CmakeList.txt file to include the relevant Boost Python and Nektar++ linking for your system. There are 2 lines which MUST be altered and these are marked in this file. 
[3] Navigate into the "build" directory and build using the usual Cmake commands, e.g.:
		cmake .. 
		make
[4] This will now create a shared library "NekPy.so" in the build folder. This can now be imported into a Python environment as usual. E.g. "import NekPy". 

########################################################################

Also included in "store" directory are files containing the individual classes. These should be the same as the ones included in the main "NekPy_ext.cpp" file.