Nektar++
|
#include <NodalTetElec.h>
Public Member Functions | |
virtual | ~NodalTetElec () |
NodalTetElec (const PointsKey &key) | |
![]() | |
virtual | ~Points () |
void | Initialize (void) |
unsigned int | GetPointsDim () const |
unsigned int | GetNumPoints () const |
unsigned int | GetTotNumPoints () const |
PointsType | GetPointsType () const |
const Array< OneD, const DataType > & | GetZ () const |
const Array< OneD, const DataType > & | GetW () const |
void | GetZW (Array< OneD, const DataType > &z, Array< OneD, const DataType > &w) const |
const Array< OneD, const NekDouble > & | GetBaryWeights () const |
void | GetPoints (Array< OneD, const DataType > &x) const |
void | GetPoints (Array< OneD, const DataType > &x, Array< OneD, const DataType > &y) const |
void | GetPoints (Array< OneD, const DataType > &x, Array< OneD, const DataType > &y, Array< OneD, const DataType > &z) const |
const MatrixSharedPtrType & | GetD (Direction dir=xDir) const |
const MatrixSharedPtrType | GetI (const PointsKey &key) |
const MatrixSharedPtrType | GetI (const Array< OneD, const DataType > &x) |
const MatrixSharedPtrType | GetI (unsigned int uint, const Array< OneD, const DataType > &x) |
const MatrixSharedPtrType | GetI (const Array< OneD, const DataType > &x, const Array< OneD, const DataType > &y) |
const MatrixSharedPtrType | GetI (const Array< OneD, const DataType > &x, const Array< OneD, const DataType > &y, const Array< OneD, const DataType > &z) |
const MatrixSharedPtrType | GetGalerkinProjection (const PointsKey &pkey) |
Static Public Member Functions | |
static std::shared_ptr< PointsBaseType > | Create (const PointsKey &key) |
Protected Member Functions | |
virtual const MatrixSharedPtrType | v_GetI (const PointsKey &pkey) override |
virtual const MatrixSharedPtrType | v_GetI (const Array< OneD, const NekDouble > &x, const Array< OneD, const NekDouble > &y, const Array< OneD, const NekDouble > &z) override |
![]() | |
virtual void | v_Initialize (void) |
virtual void | v_CalculateBaryWeights () |
This function calculates the barycentric weights used for enhanced interpolation speed. More... | |
Points (const PointsKey &key) | |
virtual const MatrixSharedPtrType | v_GetI (const Array< OneD, const DataType > &x) |
virtual const MatrixSharedPtrType | v_GetI (unsigned int, const Array< OneD, const DataType > &x) |
virtual const MatrixSharedPtrType | v_GetI (const Array< OneD, const DataType > &x, const Array< OneD, const DataType > &y) |
virtual const MatrixSharedPtrType | v_GetGalerkinProjection (const PointsKey &pkey) |
Private Member Functions | |
NodalTetElec () | |
void | NodalPointReorder3d () |
virtual void | v_CalculatePoints () override |
virtual void | v_CalculateWeights () override |
virtual void | v_CalculateDerivMatrix () override |
void | CalculateInterpMatrix (const Array< OneD, const NekDouble > &xia, const Array< OneD, const NekDouble > &yia, const Array< OneD, const NekDouble > &zia, Array< OneD, NekDouble > &interp) |
Private Attributes | |
std::shared_ptr< NodalUtilTetrahedron > | m_util |
Static Private Attributes | |
static bool | initPointsManager [] |
Additional Inherited Members | |
![]() | |
typedef NekDouble | DataType |
typedef std::shared_ptr< NekMatrix< DataType > > | MatrixSharedPtrType |
![]() | |
PointsKey | m_pointsKey |
Points type for this points distributions. More... | |
Array< OneD, DataType > | m_points [3] |
Storage for the point locations, allowing for up to a 3D points storage. More... | |
Array< OneD, DataType > | m_weights |
Quadrature weights for the weights. More... | |
Array< OneD, DataType > | m_bcweights |
Barycentric weights. More... | |
MatrixSharedPtrType | m_derivmatrix [3] |
Derivative matrices. More... | |
NekManager< PointsKey, NekMatrix< DataType >, PointsKey::opLess > | m_InterpManager |
NekManager< PointsKey, NekMatrix< DataType >, PointsKey::opLess > | m_GalerkinProjectionManager |
Definition at line 51 of file NodalTetElec.h.
|
inlinevirtual |
Definition at line 54 of file NodalTetElec.h.
|
inline |
Definition at line 61 of file NodalTetElec.h.
|
inlineprivate |
Definition at line 97 of file NodalTetElec.h.
|
private |
Definition at line 211 of file NodalTetElec.cpp.
References m_util, and Vmath::Vcopy().
Referenced by v_GetI().
|
static |
Definition at line 238 of file NodalTetElec.cpp.
|
private |
Definition at line 246 of file NodalTetElec.cpp.
References Nektar::LibUtilities::Points< NekDouble >::GetNumPoints(), Nektar::NekConstants::kNekZeroTol, and Nektar::LibUtilities::Points< NekDouble >::m_points.
Referenced by v_CalculatePoints().
|
overrideprivatevirtual |
Reimplemented from Nektar::LibUtilities::Points< NekDouble >.
Definition at line 228 of file NodalTetElec.cpp.
References Nektar::LibUtilities::Points< NekDouble >::m_derivmatrix, m_util, and Nektar::LibUtilities::Points< NekDouble >::v_CalculateDerivMatrix().
|
overrideprivatevirtual |
Reimplemented from Nektar::LibUtilities::Points< NekDouble >.
Definition at line 52 of file NodalTetElec.cpp.
References Nektar::MemoryManager< DataType >::AllocateSharedPtr(), ASSERTL1, Nektar::LibUtilities::Points< NekDouble >::GetNumPoints(), Nektar::LibUtilities::PointsKey::GetTotNumPoints(), Nektar::LibUtilities::Points< NekDouble >::m_points, Nektar::LibUtilities::Points< NekDouble >::m_pointsKey, m_util, NodalPointReorder3d(), Nektar::LibUtilities::NodalTetElecData, Nektar::LibUtilities::NodalTetElecNPTS, Nektar::LibUtilities::perm12A_3d, Nektar::LibUtilities::perm12B_3d, Nektar::LibUtilities::perm12C_3d, Nektar::LibUtilities::perm24_3d, Nektar::LibUtilities::perm4_3d, Nektar::LibUtilities::perm6_3d, and Nektar::LibUtilities::Points< DataT >::v_CalculatePoints().
|
overrideprivatevirtual |
Reimplemented from Nektar::LibUtilities::Points< NekDouble >.
Definition at line 197 of file NodalTetElec.cpp.
References Nektar::NekVector< DataType >::GetPtr(), Nektar::NekVector< DataType >::GetRows(), m_util, Nektar::LibUtilities::Points< NekDouble >::m_weights, and Nektar::LibUtilities::Points< NekDouble >::v_CalculateWeights().
|
inlineoverrideprotectedvirtual |
Reimplemented from Nektar::LibUtilities::Points< NekDouble >.
Definition at line 76 of file NodalTetElec.h.
References CalculateInterpMatrix(), and Nektar::LibUtilities::Points< NekDouble >::GetTotNumPoints().
|
inlineoverrideprotectedvirtual |
Reimplemented from Nektar::LibUtilities::Points< NekDouble >.
Definition at line 66 of file NodalTetElec.h.
References ASSERTL0, Nektar::LibUtilities::Points< NekDouble >::GetI(), Nektar::LibUtilities::PointsKey::GetPointsDim(), and Nektar::LibUtilities::PointsManager().
|
staticprivate |
Definition at line 93 of file NodalTetElec.h.
|
private |
Definition at line 95 of file NodalTetElec.h.
Referenced by CalculateInterpMatrix(), v_CalculateDerivMatrix(), v_CalculatePoints(), and v_CalculateWeights().