Nektar++
Functions
SpatialDomains.cpp File Reference
#include <LibUtilities/Python/NekPyConfig.hpp>

Go to the source code of this file.

Functions

void export_Geometry ()
 
void export_Curve ()
 
void export_MeshGraph ()
 MeshGraph exports. More...
 
void export_GeomElements ()
 
 BOOST_PYTHON_MODULE (_SpatialDomains)
 

Function Documentation

◆ BOOST_PYTHON_MODULE()

BOOST_PYTHON_MODULE ( _SpatialDomains  )

Definition at line 42 of file SpatialDomains.cpp.

43{
44 np::initialize();
45
50}
void export_Geometry()
void export_GeomElements()
void export_MeshGraph()
MeshGraph exports.
void export_Curve()
Definition: Curve.cpp:61

References export_Curve(), export_GeomElements(), export_Geometry(), and export_MeshGraph().

◆ export_Curve()

void export_Curve ( )

Definition at line 61 of file Curve.cpp.

62{
63 py::class_<Curve, std::shared_ptr<Curve>>(
64 "Curve", py::init<int, LibUtilities::PointsType>())
65
66 .def_readwrite("curveID", &Curve::m_curveID)
67 .def_readwrite("ptype", &Curve::m_ptype)
68 .add_property("points", &Curve_GetPoints, &Curve_SetPoints);
69}
py::list Curve_GetPoints(CurveSharedPtr curve)
Definition: Curve.cpp:41
void Curve_SetPoints(CurveSharedPtr curve, py::list &pts)
Definition: Curve.cpp:51

References Curve_GetPoints(), and Curve_SetPoints().

Referenced by BOOST_PYTHON_MODULE().

◆ export_GeomElements()

void export_GeomElements ( )

Definition at line 91 of file GeomElements.cpp.

92{
93 // Geometry dimensioned base classes
94 py::class_<Geometry1D, py::bases<Geometry>, std::shared_ptr<Geometry1D>,
95 boost::noncopyable>("Geometry1D", py::no_init);
96 py::class_<Geometry2D, py::bases<Geometry>, std::shared_ptr<Geometry2D>,
97 boost::noncopyable>("Geometry2D", py::no_init);
98 py::class_<Geometry3D, py::bases<Geometry>, std::shared_ptr<Geometry3D>,
99 boost::noncopyable>("Geometry3D", py::no_init);
100
101 // Point geometries
102 py::class_<PointGeom, py::bases<Geometry>, std::shared_ptr<PointGeom>>(
103 "PointGeom", py::init<>())
104 .def(py::init<int, int, NekDouble, NekDouble, NekDouble>());
105
106 // Segment geometries
107 py::class_<SegGeom, py::bases<Geometry>, std::shared_ptr<SegGeom>>(
108 "SegGeom", py::init<>())
109 .def("__init__",
110 py::make_constructor(&SegGeom_Init, py::default_call_policies(),
111 (py::arg("id"), py::arg("coordim"),
112 py::arg("points") = py::list(),
113 py::arg("curve") = py::object())))
114 .def("GetCurve", &SegGeom::GetCurve);
115
116 export_Geom<TriGeom, SegGeom, Geometry2D>("TriGeom");
117 export_Geom<QuadGeom, SegGeom, Geometry2D>("QuadGeom");
118 export_Geom<TetGeom, TriGeom, Geometry3D>("TetGeom");
119 export_Geom<PrismGeom, Geometry2D, Geometry3D>("PrismGeom");
120 export_Geom<PyrGeom, Geometry2D, Geometry3D>("PyrGeom");
121 export_Geom<HexGeom, QuadGeom, Geometry3D>("HexGeom");
122}
SegGeomSharedPtr SegGeom_Init(int id, int coordim, py::list &points, py::object &curve)

References SegGeom_Init().

Referenced by BOOST_PYTHON_MODULE().

◆ export_Geometry()

void export_Geometry ( )

Definition at line 55 of file Python/Geometry.cpp.

56{
57 py::class_<Geometry, std::shared_ptr<Geometry>, boost::noncopyable>(
58 "Geometry", py::no_init)
59
60 .def("GetCoordim", &Geometry::GetCoordim)
61 .def("GetGlobalID", &Geometry::GetGlobalID)
62
63 .def("Setup", &Geometry::Setup)
64 .def("FillGeom", &Geometry::FillGeom)
65 .def("GenGeomFactors", &Geometry_GenGeomFactors)
66
67 .def("ContainsPoint", &Geometry_ContainsPoint)
68
69 .def("GetVertex", &Geometry::GetVertex)
70 .def("GetEdge", &Geometry::GetEdge)
71 .def("GetFace", &Geometry::GetFace)
72 .def("GetVid", &Geometry::GetVid)
73 .def("GetEid", &Geometry::GetEid)
74 .def("GetFid", &Geometry::GetFid)
75 .def("GetTid", &Geometry::GetTid)
76
77 .def("GetNumVerts", &Geometry::GetNumVerts)
78 .def("GetNumEdges", &Geometry::GetNumEdges)
79 .def("GetNumFaces", &Geometry::GetNumFaces)
80 .def("GetShapeDim", &Geometry::GetShapeDim)
81 .def("GetShapeType", &Geometry::GetShapeType)
82 .def("GetEorient", &Geometry::GetEorient)
83 .def("GetForient", &Geometry::GetForient)
84
85 .def("GetXmap", &Geometry::GetXmap)
86 .def("GetCoeffs", &Geometry::GetCoeffs,
87 py::return_value_policy<py::copy_const_reference>());
88}
void Geometry_GenGeomFactors(GeometrySharedPtr geom)
bool Geometry_ContainsPoint(GeometrySharedPtr geom, const Array< OneD, const NekDouble > &gloCoord)

References Geometry_ContainsPoint(), and Geometry_GenGeomFactors().

Referenced by BOOST_PYTHON_MODULE().

◆ export_MeshGraph()

void export_MeshGraph ( )

MeshGraph exports.

Definition at line 55 of file Python/MeshGraph.cpp.

56{
57 py::class_<PointGeomMap>("PointGeomMap")
58 .def(py::map_indexing_suite<PointGeomMap, true>());
59 py::class_<SegGeomMap>("SegGeomMap")
60 .def(py::map_indexing_suite<SegGeomMap, true>());
61 py::class_<QuadGeomMap>("QuadGeomMap")
62 .def(py::map_indexing_suite<QuadGeomMap, true>());
63 py::class_<TriGeomMap>("TriGeomMap")
64 .def(py::map_indexing_suite<TriGeomMap, true>());
65 py::class_<TetGeomMap>("TetGeomMap")
66 .def(py::map_indexing_suite<TetGeomMap, true>());
67 py::class_<PrismGeomMap>("PrismGeomMap")
68 .def(py::map_indexing_suite<PrismGeomMap, true>());
69 py::class_<PyrGeomMap>("PyrGeomMap")
70 .def(py::map_indexing_suite<PyrGeomMap, true>());
71 py::class_<HexGeomMap>("HexGeomMap")
72 .def(py::map_indexing_suite<HexGeomMap, true>());
73 py::class_<CurveMap>("CurveMap")
74 .def(py::map_indexing_suite<CurveMap, true>());
75
76 py::class_<MeshGraph, std::shared_ptr<MeshGraph>, boost::noncopyable>(
77 "MeshGraph", py::no_init)
78
79 .def("Read", MeshGraph_Read)
80 .staticmethod("Read")
81
82 .def("GetMeshDimension", &MeshGraph::GetMeshDimension)
83 .def("GetAllPointGeoms", &MeshGraph::GetAllPointGeoms,
84 py::return_internal_reference<>())
85 .def("GetAllSegGeoms", &MeshGraph::GetAllSegGeoms,
86 py::return_internal_reference<>())
87 .def("GetAllQuadGeoms", &MeshGraph::GetAllQuadGeoms,
88 py::return_internal_reference<>())
89 .def("GetAllTriGeoms", &MeshGraph::GetAllTriGeoms,
90 py::return_internal_reference<>())
91 .def("GetAllTetGeoms", &MeshGraph::GetAllTetGeoms,
92 py::return_internal_reference<>())
93 .def("GetAllPrismGeoms", &MeshGraph::GetAllPrismGeoms,
94 py::return_internal_reference<>())
95 .def("GetAllPyrGeoms", &MeshGraph::GetAllPyrGeoms,
96 py::return_internal_reference<>())
97 .def("GetAllHexGeoms", &MeshGraph::GetAllHexGeoms,
98 py::return_internal_reference<>())
99 .def("GetCurvedEdges", &MeshGraph::GetCurvedEdges,
100 py::return_internal_reference<>())
101 .def("GetCurvedFaces", &MeshGraph::GetCurvedFaces,
102 py::return_internal_reference<>())
103
104 .def("GetNumElements", &MeshGraph::GetNumElements)
105
106 .def("SetExpansionInfosToEvenlySpacedPoints",
107 &MeshGraph::SetExpansionInfoToEvenlySpacedPoints)
108 .def("SetExpansionInfosToPolyOrder",
109 &MeshGraph::SetExpansionInfoToNumModes)
110 .def("SetExpansionInfosToPointOrder",
111 &MeshGraph::SetExpansionInfoToPointOrder);
112}
MeshGraphSharedPtr MeshGraph_Read(const LibUtilities::SessionReaderSharedPtr &session)

References MeshGraph_Read().

Referenced by BOOST_PYTHON_MODULE().