Nektar++
LocalElements.cpp
Go to the documentation of this file.
1 ///////////////////////////////////////////////////////////////////////////////
2 //
3 // File: LocalElements.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 Expansion elements.
32 //
33 ///////////////////////////////////////////////////////////////////////////////
34 
36 #include <LocalRegions/SegExp.h>
37 #include <LocalRegions/TriExp.h>
38 #include <LocalRegions/QuadExp.h>
39 #include <LocalRegions/TetExp.h>
40 #include <LocalRegions/PrismExp.h>
41 #include <LocalRegions/PyrExp.h>
42 #include <LocalRegions/HexExp.h>
43 
44 using namespace Nektar;
45 using namespace Nektar::LocalRegions;
46 
48 {
49  py::class_<SegExp, py::bases<Expansion, StdRegions::StdSegExp>,
50  std::shared_ptr<SegExp> >(
51  "SegExp", py::init<const LibUtilities::BasisKey&,
53  py::class_<TriExp, py::bases<Expansion, StdRegions::StdTriExp>,
54  std::shared_ptr<TriExp> >(
55  "TriExp", py::init<const LibUtilities::BasisKey&,
56  const LibUtilities::BasisKey&,
58  py::class_<QuadExp, py::bases<Expansion, StdRegions::StdQuadExp>,
59  std::shared_ptr<QuadExp> >(
60  "QuadExp", py::init<const LibUtilities::BasisKey&,
61  const LibUtilities::BasisKey&,
63  py::class_<TetExp, py::bases<Expansion, StdRegions::StdTetExp>,
64  std::shared_ptr<TetExp> >(
65  "TetExp", py::init<const LibUtilities::BasisKey&,
66  const LibUtilities::BasisKey&,
67  const LibUtilities::BasisKey&,
69  py::class_<PrismExp, py::bases<Expansion, StdRegions::StdPrismExp>,
70  std::shared_ptr<PrismExp> >(
71  "PrismExp", py::init<const LibUtilities::BasisKey&,
72  const LibUtilities::BasisKey&,
73  const LibUtilities::BasisKey&,
75  py::class_<PyrExp, py::bases<Expansion, StdRegions::StdPyrExp>,
76  std::shared_ptr<PyrExp> >(
77  "PyrExp", py::init<const LibUtilities::BasisKey&,
78  const LibUtilities::BasisKey&,
79  const LibUtilities::BasisKey&,
81  py::class_<HexExp, py::bases<Expansion, StdRegions::StdHexExp>,
82  std::shared_ptr<HexExp> >(
83  "HexExp", py::init<const LibUtilities::BasisKey&,
84  const LibUtilities::BasisKey&,
85  const LibUtilities::BasisKey&,
87 
109 }
void export_LocalElements()
std::shared_ptr< TetGeom > TetGeomSharedPtr
Definition: TetGeom.h:88
std::shared_ptr< QuadGeom > QuadGeomSharedPtr
Definition: HexGeom.h:46
#define NEKPY_SHPTR_FIX(SOURCE, TARGET)
Class representing a segment element in reference space.
Definition: StdSegExp.h:53
std::shared_ptr< TriGeom > TriGeomSharedPtr
Definition: TriGeom.h:58
The base class for all shapes.
Definition: StdExpansion.h:68
Class representing a hexehedral element in reference space.
Definition: StdHexExp.h:47
Class representing a prismatic element in reference space.
Definition: StdPrismExp.h:48
std::shared_ptr< PyrGeom > PyrGeomSharedPtr
Definition: PyrGeom.h:80
std::shared_ptr< HexGeom > HexGeomSharedPtr
Definition: HexGeom.h:90
std::shared_ptr< PrismGeom > PrismGeomSharedPtr
Definition: PrismGeom.h:88
std::shared_ptr< SegGeom > SegGeomSharedPtr
Definition: Geometry2D.h:62
Describes the specification for a Basis.
Definition: Basis.h:49