46 exp->FwdTrans(in, out);
55 exp->BwdTrans(in, out);
64 exp->BwdTrans(in, out);
73 return exp->PhysEvaluate(coords, physvals);
88 return exp->L2(in, err);
93 int nPhys = exp->GetTotPoints();
94 int coordim = exp->GetCoordim();
96 std::vector<Array<OneD, NekDouble> > coords(coordim);
97 for (
int i = 0; i < coordim; ++i)
105 exp->GetCoords(coords[0]);
106 return py::make_tuple(coords[0]);
109 exp->GetCoords(coords[0], coords[1]);
110 return py::make_tuple(coords[0], coords[1]);
113 exp->GetCoords(coords[0], coords[1], coords[2]);
114 return py::make_tuple(coords[0], coords[1], coords[2]);
124 int nPhys = exp->GetTotPoints();
125 int coordim = exp->GetCoordim();
127 std::vector<Array<OneD, NekDouble> > derivs(coordim);
128 for (
int i = 0; i < coordim; ++i)
136 exp->PhysDeriv(inarray, derivs[0]);
137 return py::make_tuple(derivs[0]);
140 exp->PhysDeriv(inarray, derivs[0], derivs[1]);
141 return py::make_tuple(derivs[0], derivs[1]);
144 exp->PhysDeriv(inarray, derivs[0], derivs[1], derivs[2]);
145 return py::make_tuple(derivs[0], derivs[1], derivs[2]);
155 std::shared_ptr<StdExpansion>,
157 "StdExpansion", py::no_init)
170 py::return_value_policy<py::copy_const_reference>())
NekDouble StdExpansion_L2_Error(StdExpansionSharedPtr exp, const Array< OneD, const NekDouble > &in, const Array< OneD, const NekDouble > &err)
py::tuple StdExpansion_PhysDeriv(StdExpansionSharedPtr exp, const Array< OneD, const NekDouble > &inarray)
Array< OneD, NekDouble > StdExpansion_IProductWRTBase(StdExpansionSharedPtr exp, const Array< OneD, const NekDouble > &in)
NekDouble StdExpansion_L2(StdExpansionSharedPtr exp, const Array< OneD, const NekDouble > &in)
py::tuple StdExpansion_GetCoords(StdExpansionSharedPtr exp)
Array< OneD, NekDouble > StdExpansion_BwdTrans(StdExpansionSharedPtr exp, const Array< OneD, const NekDouble > &in)
NekDouble StdExpansion_PhysEvaluate(StdExpansionSharedPtr exp, const Array< OneD, const NekDouble > &coords, const Array< OneD, const NekDouble > &physvals)
void export_StdExpansion()
Array< OneD, NekDouble > StdExpansion_FwdTrans(StdExpansionSharedPtr exp, const Array< OneD, const NekDouble > &in)
The base class for all shapes.
int GetNcoeffs(void) const
This function returns the total number of coefficients used in the expansion.
int GetTotPoints() const
This function returns the total number of quadrature points used in the element.
const LibUtilities::BasisSharedPtr & GetBasis(int dir) const
This function gets the shared point to basis in the dir direction.
LibUtilities::BasisType GetBasisType(const int dir) const
This function returns the type of basis used in the dir direction.
DNekMatSharedPtr GetStdMatrix(const StdMatrixKey &mkey)
int GetNtraces() const
Returns the number of trace elements connected to this element.
int GetNverts() const
This function returns the number of vertices of the expansion domain.
LibUtilities::ShapeType DetShapeType() const
This function returns the shape of the expansion domain.
DNekMatSharedPtr GenMatrix(const StdMatrixKey &mkey)
LibUtilities::PointsType GetPointsType(const int dir) const
This function returns the type of quadrature points used in the dir direction.
int GetShapeDimension() const
NekDouble Integral(const Array< OneD, const NekDouble > &inarray)
This function integrates the specified function over the domain.
The namespace associated with the the StdRegions library (StdRegions introduction)
std::shared_ptr< StdExpansion > StdExpansionSharedPtr
The above copyright notice and this permission notice shall be included.