Skip to content
Snippets Groups Projects
StdExpansion.cpp 1.56 KiB
Newer Older
#include <boost/python.hpp>
#include <boost/python/numpy.hpp>
#include <StdRegions/StdExpansion.h>

using namespace Nektar;
using namespace Nektar::StdRegions;

namespace py = boost::python;
namespace np = boost::python::numpy;


Array<OneD, NekDouble> StdExpansion_FwdTrans(StdExpansionSharedPtr exp,
                                             const Array<OneD, const NekDouble> &in)
{
    Array<OneD, NekDouble> out(exp->GetNcoeffs());
    exp->FwdTrans(in, out);
    return out;
}

Array<OneD, double> blah(StdExpansionSharedPtr exp,
                         const Array<OneD, const NekDouble> &in)
{
    Array<OneD, NekDouble> *asd = new Array<OneD, NekDouble>(1);
    return *asd;
}

void export_StdExpansion()
{
    py::class_<StdExpansion,
               boost::shared_ptr<StdExpansion>,
               boost::noncopyable>(
                   "StdExpansion", py::no_init)

        .def("GetNcoeffs", &StdExpansion::GetNcoeffs)
        .def("GetTotPoints", &StdExpansion::GetTotPoints)
        .def("GetBasisType", &StdExpansion::GetBasisType)
        .def("GetPointsType", &StdExpansion::GetPointsType)
        .def("GetNverts", &StdExpansion::GetNverts)
        .def("GetNedges", &StdExpansion::GetNedges)
        .def("GetNfaces", &StdExpansion::GetNfaces)
        .def("DetShapeType", &StdExpansion::DetShapeType)
        .def("GetShapeDimension", &StdExpansion::GetShapeDimension)

        .def("GetBasis", &StdExpansion::GetBasis,
             py::return_value_policy<py::copy_const_reference>())

        .def("FwdTrans", &StdExpansion_FwdTrans)

        .def("Blah", &blah)
        ;
}