Nektar++
Python/UnsteadySystem.cpp
Go to the documentation of this file.
1//////////////////////////////////////////////////////////////////////////////
2//
3// File: UnsteadySystem.cpp
4//
5// For more information, please see: http://www.nektar.info
6//
7// The MIT License
8//
9// Copyright (c) 2006 Division of Applied Mathematics, Brown University (USA),
10// Department of Aeronautics, Imperial College London (UK), and Scientific
11// Computing and Imaging Institute, University of Utah (USA).
12//
13// Permission is hereby granted, free of charge, to any person obtaining a
14// copy of this software and associated documentation files (the "Software"),
15// to deal in the Software without restriction, including without limitation
16// the rights to use, copy, modify, merge, publish, distribute, sublicense,
17// and/or sell copies of the Software, and to permit persons to whom the
18// Software is furnished to do so, subject to the following conditions:
19//
20// The above copyright notice and this permission notice shall be included
21// in all copies or substantial portions of the Software.
22//
23// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
24// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
25// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
26// THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
27// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
28// FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
29// DEALINGS IN THE SOFTWARE.
30//
31// Description: Python wrapper for UnsteadySystem.
32//
33///////////////////////////////////////////////////////////////////////////////
34
37
39
41
42using namespace Nektar;
43using namespace Nektar::SolverUtils;
44
46{
48
49 py::class_<USWrap, std::shared_ptr<USWrap>, py::bases<EquationSystem>,
50 boost::noncopyable>(
51 "UnsteadySystem", py::init<LibUtilities::SessionReaderSharedPtr,
53
54 // Add overrides for this class
55 .def("InitObject", &EquationSystem::InitObject,
56 &USWrap::Default_v_InitObject)
57 .def("DoInitialise", &EquationSystem::DoInitialise,
58 &USWrap::Default_v_DoInitialise)
59 .def("DoSolve", &EquationSystem::DoSolve, &USWrap::Default_v_DoSolve)
60 .def("SetInitialConditions", &EquationSystem::SetInitialConditions,
61 &USWrap::Default_v_SetInitialConditions)
62 .def("EvaluateExactSolution", &USWrap::v_EvaluateExactSolution,
63 &USWrap::Default_v_EvaluateExactSolution)
64 .def("LinfError", &USWrap::v_LinfError, &USWrap::Default_v_LinfError)
65 .def("L2Error", &USWrap::v_L2Error, &USWrap::Default_v_L2Error)
66
67 // Add properties for time integration
68 .add_property(
69 "ode",
70 py::make_function(
71 &UnsteadySystem::GetTimeIntegrationSchemeOperators,
72 py::return_value_policy<py::reference_existing_object>()))
73 .add_property(
74 "int_scheme",
75 py::make_function(
76 &UnsteadySystem::GetTimeIntegrationScheme,
77 py::return_value_policy<py::reference_existing_object>()));
78
80}
void export_UnsteadySystem()
std::shared_ptr< SessionReader > SessionReaderSharedPtr
std::shared_ptr< MeshGraph > MeshGraphSharedPtr
Definition: MeshGraph.h:174
EquationSystem wrapper to handle virtual function calls in EquationSystem and its subclasses.
A helper class that for factory-based classes allows std::shared_ptr<T> as something that boost::pyth...