Nektar++
|
Describes the specification for a Basis. More...
#include <Basis.h>
Classes | |
struct | opLess |
Public Member Functions | |
BasisKey (const BasisType btype, const size_t nummodes, const PointsKey pkey) | |
Constructor. More... | |
BasisKey (const BasisKey &B)=default | |
Copy constructor. More... | |
~BasisKey () | |
Destructor. More... | |
BasisKey & | operator= (const BasisKey &)=default |
Assignment operator. More... | |
int | GetNumModes () const |
Returns the order of the basis. More... | |
int | GetTotNumModes () const |
int | GetNumPoints () const |
Return points order at which basis is defined. More... | |
int | GetTotNumPoints () const |
BasisType | GetBasisType () const |
Return type of expansion basis. More... | |
PointsKey | GetPointsKey () const |
Return distribution of points. More... | |
PointsType | GetPointsType () const |
Return type of quadrature. More... | |
bool | SamePoints (const BasisKey &x) const |
Determine if quadrature of expansion x matches this. More... | |
bool | SameExp (const BasisKey &x) const |
Determine if basis expansion x matches this. More... | |
bool | ExactIprodInt () const |
Determine if basis has exact integration for inner product. More... | |
bool | Collocation () const |
Determine if basis has collocation properties. More... | |
Protected Attributes | |
size_t | m_nummodes |
Expansion order. More... | |
BasisType | m_basistype |
Expansion type. More... | |
PointsKey | m_pointsKey |
Points specification. More... | |
Private Member Functions | |
BasisKey ()=delete | |
Friends | |
bool | operator== (const BasisKey &x, const BasisKey &y) |
Overloaded Operators. More... | |
bool | operator== (const BasisKey *x, const BasisKey &y) |
bool | operator== (const BasisKey &x, const BasisKey *y) |
bool | operator!= (const BasisKey &x, const BasisKey &y) |
bool | operator!= (const BasisKey *x, const BasisKey &y) |
bool | operator!= (const BasisKey &x, const BasisKey *y) |
bool | operator< (const BasisKey &lhs, const BasisKey &rhs) |
bool | opLess::operator() (const BasisKey &lhs, const BasisKey &rhs) const |
|
inline |
Constructor.
Definition at line 57 of file Basis.h.
|
default |
Copy constructor.
|
inline |
|
privatedelete |
bool Nektar::LibUtilities::BasisKey::Collocation | ( | ) | const |
Determine if basis has collocation properties.
Determine if basis has collocation property, i.e. GLL_Lagrange with Lobatto integration of appropriate order, Gauss_Lagrange with Gauss integration of appropriate order.
Definition at line 891 of file Foundations/Basis.cpp.
References Nektar::LibUtilities::eGauss_Lagrange, Nektar::LibUtilities::eGaussGaussLegendre, Nektar::LibUtilities::eGaussLobattoLegendre, Nektar::LibUtilities::eGLL_Lagrange, GetNumModes(), GetNumPoints(), GetPointsType(), and m_basistype.
Referenced by Nektar::LibUtilities::Basis::Collocation().
bool Nektar::LibUtilities::BasisKey::ExactIprodInt | ( | void | ) | const |
Determine if basis has exact integration for inner product.
Determine if polynomial basis can be exactly integrated with itself.
Definition at line 864 of file Foundations/Basis.cpp.
References Nektar::LibUtilities::eGaussGaussLegendre, Nektar::LibUtilities::eGaussLobattoKronrodLegendre, Nektar::LibUtilities::eGaussLobattoLegendre, Nektar::LibUtilities::eGaussRadauKronrodMLegendre, Nektar::LibUtilities::eGaussRadauMLegendre, Nektar::LibUtilities::eGaussRadauPLegendre, GetNumModes(), GetNumPoints(), and GetPointsType().
Referenced by Nektar::LibUtilities::Basis::ExactIprodInt().
|
inline |
Return type of expansion basis.
Definition at line 131 of file Basis.h.
References m_basistype.
Referenced by Nektar::LibUtilities::Basis::CalculateInterpMatrix(), Nektar::MultiRegions::ExpList::ExpList(), Nektar::CoupledLinearNS::GenPressureExp(), Nektar::LibUtilities::Basis::GetBasisType(), Nektar::MultiRegions::ExpList::InitialiseExpVector(), Nektar::LibUtilities::InterpCoeff1D(), Nektar::LibUtilities::InterpCoeff2D(), Nektar::LibUtilities::operator<<(), Nektar::SpatialDomains::MeshGraph::SetExpansionInfoToEvenlySpacedPoints(), Nektar::SpatialDomains::MeshGraph::SetExpansionInfoToNumModes(), Nektar::SpatialDomains::MeshGraph::SetExpansionInfoToPointOrder(), Nektar::MultiRegions::GJPStabilisation::SetUpExpansionInfoMapForGJP(), Nektar::StdRegions::StdPyrExp::StdPyrExp(), and Nektar::LibUtilities::Transposition::Transposition().
|
inline |
Returns the order of the basis.
Definition at line 74 of file Basis.h.
References m_nummodes.
Referenced by Nektar::LibUtilities::Basis::CalculateInterpMatrix(), Collocation(), ExactIprodInt(), Nektar::MultiRegions::ExpList::ExpList(), Nektar::LibUtilities::Basis::GenBasis(), Nektar::CoupledLinearNS::GenPressureExp(), Nektar::LibUtilities::Basis::GetNumModes(), Nektar::MultiRegions::ExpList::InitialiseExpVector(), Nektar::LibUtilities::InterpCoeff1D(), Nektar::LibUtilities::InterpCoeff2D(), Nektar::LibUtilities::InterpCoeff3D(), Nektar::LibUtilities::operator<<(), Nektar::SpatialDomains::MeshGraph::SetExpansionInfoToEvenlySpacedPoints(), Nektar::SpatialDomains::MeshGraph::SetExpansionInfoToNumModes(), Nektar::SpatialDomains::MeshGraph::SetExpansionInfoToPointOrder(), Nektar::MultiRegions::GJPStabilisation::SetUpExpansionInfoMapForGJP(), Nektar::StdRegions::StdNodalPrismExp::StdNodalPrismExp(), Nektar::StdRegions::StdNodalTetExp::StdNodalTetExp(), Nektar::StdRegions::StdPrismExp::StdPrismExp(), Nektar::StdRegions::StdPyrExp::StdPyrExp(), Nektar::StdRegions::StdTetExp::StdTetExp(), Nektar::StdRegions::StdTriExp::StdTriExp(), and Nektar::LibUtilities::Transposition::Transposition().
|
inline |
Return points order at which basis is defined.
Definition at line 120 of file Basis.h.
References Nektar::LibUtilities::PointsKey::GetNumPoints(), and m_pointsKey.
Referenced by Collocation(), ExactIprodInt(), Nektar::MultiRegions::ExpList::GetElmtNormalLength(), Nektar::LibUtilities::Basis::GetNumPoints(), Nektar::SpatialDomains::MeshGraph::SetExpansionInfoToNumModes(), Nektar::MultiRegions::GJPStabilisation::SetUpExpansionInfoMapForGJP(), Nektar::LibUtilities::Transposition::Transposition(), Nektar::GlobalMapping::UpdateGeometry(), Nektar::LocalRegions::QuadExp::v_ComputeTraceNormal(), Nektar::LocalRegions::TriExp::v_ComputeTraceNormal(), Nektar::LocalRegions::HexExp::v_ComputeTraceNormal(), Nektar::LocalRegions::PrismExp::v_ComputeTraceNormal(), Nektar::LocalRegions::PyrExp::v_ComputeTraceNormal(), Nektar::LocalRegions::TetExp::v_ComputeTraceNormal(), and Nektar::MultiRegions::ExpList::v_GetNormals().
|
inline |
Return distribution of points.
Definition at line 137 of file Basis.h.
References m_pointsKey.
Referenced by Nektar::MultiRegions::ExpList::ExpList(), Nektar::LibUtilities::Basis::GenBasis(), Nektar::CoupledLinearNS::GenPressureExp(), Nektar::MultiRegions::ExpList::GetElmtNormalLength(), Nektar::LibUtilities::Basis::GetI(), Nektar::LibUtilities::Basis::GetPointsKey(), Nektar::MultiRegions::ExpList::InitialiseExpVector(), Nektar::LibUtilities::Interp1D(), Nektar::LibUtilities::Interp2D(), Nektar::LibUtilities::Interp3D(), Nektar::LibUtilities::operator<<(), Nektar::LibUtilities::PhysGalerkinProject1D(), Nektar::LibUtilities::PhysGalerkinProject2D(), Nektar::LibUtilities::PhysGalerkinProject3D(), Nektar::LocalRegions::QuadExp::v_ComputeTraceNormal(), Nektar::LocalRegions::TriExp::v_ComputeTraceNormal(), Nektar::LocalRegions::HexExp::v_ComputeTraceNormal(), Nektar::LocalRegions::PrismExp::v_ComputeTraceNormal(), Nektar::LocalRegions::PyrExp::v_ComputeTraceNormal(), Nektar::LocalRegions::TetExp::v_ComputeTraceNormal(), and Nektar::MultiRegions::ExpList::v_GetNormals().
|
inline |
Return type of quadrature.
Definition at line 143 of file Basis.h.
References Nektar::LibUtilities::PointsKey::GetPointsType(), and m_pointsKey.
Referenced by Collocation(), ExactIprodInt(), Nektar::LibUtilities::Basis::GetPointsType(), Nektar::SpatialDomains::MeshGraph::SetExpansionInfoToNumModes(), Nektar::SpatialDomains::MeshGraph::SetExpansionInfoToPointOrder(), Nektar::MultiRegions::GJPStabilisation::SetUpExpansionInfoMapForGJP(), and Nektar::GlobalMapping::UpdateGeometry().
|
inline |
Definition at line 80 of file Basis.h.
References Nektar::LibUtilities::eChebyshev, Nektar::ErrorUtil::efatal, Nektar::LibUtilities::eFourier, Nektar::LibUtilities::eFourierHalfModeIm, Nektar::LibUtilities::eFourierHalfModeRe, Nektar::LibUtilities::eFourierSingleMode, Nektar::LibUtilities::eGauss_Lagrange, Nektar::LibUtilities::eGLL_Lagrange, Nektar::LibUtilities::eModified_A, Nektar::LibUtilities::eModified_B, Nektar::LibUtilities::eModified_C, Nektar::LibUtilities::eModifiedPyr_C, Nektar::LibUtilities::eOrtho_A, Nektar::LibUtilities::eOrtho_B, Nektar::LibUtilities::eOrtho_C, Nektar::LibUtilities::eOrthoPyr_C, m_basistype, m_nummodes, and NEKERROR.
Referenced by Nektar::LibUtilities::Basis::GetTotNumModes().
|
inline |
Definition at line 125 of file Basis.h.
References Nektar::LibUtilities::PointsKey::GetTotNumPoints(), and m_pointsKey.
Referenced by Nektar::LibUtilities::Basis::GetTotNumPoints().
Assignment operator.
|
inline |
Determine if basis expansion x matches this.
Definition at line 155 of file Basis.h.
References m_basistype, and m_nummodes.
|
inline |
Determine if quadrature of expansion x matches this.
Definition at line 149 of file Basis.h.
References m_pointsKey.
Definition at line 922 of file Foundations/Basis.cpp.
Definition at line 934 of file Foundations/Basis.cpp.
Definition at line 928 of file Foundations/Basis.cpp.
Definition at line 44 of file Foundations/Basis.cpp.
Overloaded Operators.
Definition at line 902 of file Foundations/Basis.cpp.
Definition at line 916 of file Foundations/Basis.cpp.
Definition at line 910 of file Foundations/Basis.cpp.
|
protected |
Expansion type.
Definition at line 186 of file Basis.h.
Referenced by Collocation(), GetBasisType(), GetTotNumModes(), Nektar::LibUtilities::BasisKey::opLess::operator()(), and SameExp().
|
protected |
Expansion order.
Definition at line 185 of file Basis.h.
Referenced by GetNumModes(), GetTotNumModes(), and SameExp().
|
protected |
Points specification.
Definition at line 187 of file Basis.h.
Referenced by GetNumPoints(), GetPointsKey(), GetPointsType(), GetTotNumPoints(), and SamePoints().