Nektar++
Functions
Python/MeshGraph.cpp File Reference
#include <LibUtilities/Python/NekPyConfig.hpp>
#include <SpatialDomains/MeshGraph.h>
#include <SpatialDomains/MeshGraphXml.h>
#include <SpatialDomains/MeshGraphXmlCompressed.h>
#include <SpatialDomains/Movement/Movement.h>
#include <boost/python/suite/indexing/map_indexing_suite.hpp>
#include <boost/python/suite/indexing/vector_indexing_suite.hpp>

Go to the source code of this file.

Functions

MeshGraphSharedPtr MeshGraph_Read (const LibUtilities::SessionReaderSharedPtr &session)
 
CompositeSharedPtr Composite_Init (py::list geometries)
 
std::shared_ptr< MeshGraphMeshGraphXml_Init (int meshDim, int spatialDim)
 
std::shared_ptr< MeshGraphMeshGraphXmlCompressed_Init (int meshDim, int spatialDim)
 
void export_MeshGraph ()
 MeshGraph exports. More...
 

Function Documentation

◆ Composite_Init()

CompositeSharedPtr Composite_Init ( py::list  geometries)

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

61{
62 CompositeSharedPtr composite = std::make_shared<Composite>();
63 composite->m_geomVec.clear();
64 for (int i = 0; i < py::len(geometries); i++)
65 {
66 composite->m_geomVec.emplace_back(
67 py::extract<GeometrySharedPtr>(geometries[i]));
68 }
69 return composite;
70}
std::shared_ptr< Composite > CompositeSharedPtr
Definition: MeshGraph.h:135

Referenced by export_MeshGraph().

◆ export_MeshGraph()

void export_MeshGraph ( )

MeshGraph exports.

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

99{
100 py::class_<LibUtilities::FieldMetaDataMap>("FieldMetaDataMap")
101 .def(py::map_indexing_suite<LibUtilities::FieldMetaDataMap, true>());
102
103 py::class_<std::vector<GeometrySharedPtr>>("GeometryList")
104 .def(py::vector_indexing_suite<std::vector<GeometrySharedPtr>, true>());
105 py::class_<Composite, std::shared_ptr<Composite>>("Composite", py::init<>())
106 .def("__init__", py::make_constructor(&Composite_Init))
107 .def_readwrite("geometries", &Composite::m_geomVec);
108
109 py::class_<PointGeomMap>("PointGeomMap")
110 .def(py::map_indexing_suite<PointGeomMap, true>());
111 py::class_<SegGeomMap>("SegGeomMap")
112 .def(py::map_indexing_suite<SegGeomMap, true>());
113 py::class_<QuadGeomMap>("QuadGeomMap")
114 .def(py::map_indexing_suite<QuadGeomMap, true>());
115 py::class_<TriGeomMap>("TriGeomMap")
116 .def(py::map_indexing_suite<TriGeomMap, true>());
117 py::class_<TetGeomMap>("TetGeomMap")
118 .def(py::map_indexing_suite<TetGeomMap, true>());
119 py::class_<PrismGeomMap>("PrismGeomMap")
120 .def(py::map_indexing_suite<PrismGeomMap, true>());
121 py::class_<PyrGeomMap>("PyrGeomMap")
122 .def(py::map_indexing_suite<PyrGeomMap, true>());
123 py::class_<HexGeomMap>("HexGeomMap")
124 .def(py::map_indexing_suite<HexGeomMap, true>());
125 py::class_<CurveMap>("CurveMap")
126 .def(py::map_indexing_suite<CurveMap, true>());
127 py::class_<CompositeMap>("CompositeMap")
128 .def(py::map_indexing_suite<CompositeMap, true>());
129 py::class_<std::map<int, CompositeMap>>("DomainMap")
130 .def(py::map_indexing_suite<std::map<int, CompositeMap>, true>());
131
132 py::class_<MeshGraph, std::shared_ptr<MeshGraph>, boost::noncopyable>(
133 "MeshGraph", py::no_init)
134
135 .def("Read", MeshGraph_Read)
136 .staticmethod("Read")
137
138 .def("Write", &MeshGraph::WriteGeometry, py::default_call_policies(),
139 (py::arg("outfile"), py::arg("defaultExp") = false,
140 py::arg("metadata") = LibUtilities::NullFieldMetaDataMap))
141
142 .def("GetMeshDimension", &MeshGraph::GetMeshDimension)
143 .def("GetAllPointGeoms", &MeshGraph::GetAllPointGeoms,
144 py::return_internal_reference<>())
145 .def("GetAllSegGeoms", &MeshGraph::GetAllSegGeoms,
146 py::return_internal_reference<>())
147 .def("GetAllQuadGeoms", &MeshGraph::GetAllQuadGeoms,
148 py::return_internal_reference<>())
149 .def("GetAllTriGeoms", &MeshGraph::GetAllTriGeoms,
150 py::return_internal_reference<>())
151 .def("GetAllTetGeoms", &MeshGraph::GetAllTetGeoms,
152 py::return_internal_reference<>())
153 .def("GetAllPrismGeoms", &MeshGraph::GetAllPrismGeoms,
154 py::return_internal_reference<>())
155 .def("GetAllPyrGeoms", &MeshGraph::GetAllPyrGeoms,
156 py::return_internal_reference<>())
157 .def("GetAllHexGeoms", &MeshGraph::GetAllHexGeoms,
158 py::return_internal_reference<>())
159 .def("GetCurvedEdges", &MeshGraph::GetCurvedEdges,
160 py::return_internal_reference<>())
161 .def("GetCurvedFaces", &MeshGraph::GetCurvedFaces,
162 py::return_internal_reference<>())
163 .def("GetComposites", &MeshGraph::GetComposites,
164 py::return_internal_reference<>())
165 .def<std::map<int, CompositeMap> &(MeshGraph::*)()>(
166 "GetDomain", &MeshGraph::GetDomain,
167 py::return_internal_reference<>())
168
169 .def("GetMovement", &MeshGraph::GetMovement,
170 py::return_value_policy<py::return_by_value>())
171
172 .def("GetNumElements", &MeshGraph::GetNumElements)
173
174 .def("SetExpansionInfosToEvenlySpacedPoints",
175 &MeshGraph::SetExpansionInfoToEvenlySpacedPoints)
176 .def("SetExpansionInfosToPolyOrder",
177 &MeshGraph::SetExpansionInfoToNumModes)
178 .def("SetExpansionInfosToPointOrder",
179 &MeshGraph::SetExpansionInfoToPointOrder);
180
181 py::class_<MeshGraphXml, py::bases<MeshGraph>,
182 std::shared_ptr<MeshGraphXml>, boost::noncopyable>(
183 "MeshGraphXml", py::no_init)
184 .def("__init__", py::make_constructor(&MeshGraphXml_Init));
185
186 py::class_<MeshGraphXmlCompressed, py::bases<MeshGraphXml>,
187 std::shared_ptr<MeshGraphXmlCompressed>, boost::noncopyable>(
188 "MeshGraphXmlCompressed", py::no_init)
189 .def("__init__", py::make_constructor(&MeshGraphXmlCompressed_Init));
190}
MeshGraphSharedPtr MeshGraph_Read(const LibUtilities::SessionReaderSharedPtr &session)
CompositeSharedPtr Composite_Init(py::list geometries)
std::shared_ptr< MeshGraph > MeshGraphXmlCompressed_Init(int meshDim, int spatialDim)
std::shared_ptr< MeshGraph > MeshGraphXml_Init(int meshDim, int spatialDim)
Base class for a spectral/hp element mesh.
Definition: MeshGraph.h:181
static FieldMetaDataMap NullFieldMetaDataMap
Definition: FieldIO.h:51

References Composite_Init(), MeshGraph_Read(), MeshGraphXml_Init(), MeshGraphXmlCompressed_Init(), and Nektar::LibUtilities::NullFieldMetaDataMap.

Referenced by BOOST_PYTHON_MODULE().

◆ MeshGraph_Read()

MeshGraphSharedPtr MeshGraph_Read ( const LibUtilities::SessionReaderSharedPtr session)

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

52{
53 return MeshGraph::Read(session);
54}

Referenced by export_MeshGraph().

◆ MeshGraphXml_Init()

std::shared_ptr< MeshGraph > MeshGraphXml_Init ( int  meshDim,
int  spatialDim 
)

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

77{
78 auto result = MeshGraphXml::create();
79 result->Empty(meshDim, spatialDim);
80 return result;
81}

Referenced by export_MeshGraph().

◆ MeshGraphXmlCompressed_Init()

std::shared_ptr< MeshGraph > MeshGraphXmlCompressed_Init ( int  meshDim,
int  spatialDim 
)

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

89{
90 auto result = MeshGraphXmlCompressed::create();
91 result->Empty(meshDim, spatialDim);
92 return result;
93}

Referenced by export_MeshGraph().