Nektar++
|
#include <PtsField.h>
Public Member Functions | |
PtsField (const int dim, const Array< OneD, Array< OneD, NekDouble > > &pts) | |
PtsField (const int dim, const std::vector< std::string > fieldnames, const Array< OneD, Array< OneD, NekDouble > > &pts, std::map< PtsInfo, int > ptsInfo=NullPtsInfoMap) | |
PtsField (const int dim, const std::vector< std::string > fieldnames, const Array< OneD, Array< OneD, NekDouble > > &pts, const Array< OneD, Array< OneD, float > > &weights, const Array< OneD, Array< OneD, unsigned int > > &neighInds) | |
void | GetConnectivity (std::vector< Array< OneD, int > > &conn) const |
Set the connectivity data for ePtsTetBlock and ePtsTriBlock. More... | |
void | SetConnectivity (const std::vector< Array< OneD, int > > &conn) |
Get the connectivity data for ePtsTetBlock and ePtsTriBlock. More... | |
void | SetDim (const int ptsDim) |
size_t | GetDim () const |
size_t | GetNFields () const |
std::vector< std::string > | GetFieldNames () const |
std::string | GetFieldName (const int i) const |
void | SetFieldNames (const std::vector< std::string > fieldNames) |
void | AddField (const Array< OneD, NekDouble > &pts, const std::string fieldName) |
void | RemoveField (const std::string fieldName) |
void | AddPoints (const Array< OneD, const Array< OneD, NekDouble > > &pts) |
size_t | GetNpoints () const |
NekDouble | GetPointVal (const size_t fieldInd, const size_t ptInd) const |
void | SetPointVal (const size_t fieldInd, const size_t ptInd, const NekDouble val) |
void | GetPts (Array< OneD, Array< OneD, NekDouble > > &pts) const |
Array< OneD, NekDouble > | GetPts (const int fieldInd) const |
void | SetPts (Array< OneD, Array< OneD, NekDouble > > &pts) |
std::vector< size_t > | GetPointsPerEdge () const |
size_t | GetPointsPerEdge (const size_t i) const |
void | SetPointsPerEdge (const std::vector< size_t > nPtsPerEdge) |
Set the number of points per edge. More... | |
PtsType | GetPtsType () const |
void | SetPtsType (const PtsType type) |
std::vector< NekDouble > | GetBoxSize () const |
void | SetBoxSize (const std::vector< NekDouble > boxsize) |
Public Attributes | |
std::map< PtsInfo, int > | m_ptsInfo |
map for information about points that can be added through PtsInfo enum More... | |
Private Attributes | |
size_t | m_dim |
Dimension of the pts field. More... | |
std::vector< std::string > | m_fieldNames |
Names of the field variables. More... | |
Array< OneD, Array< OneD, NekDouble > > | m_pts |
Point data. For a n-dimensional field, the first m_dim fields are the points spatial coordinates. Structure: m_pts[fieldIdx][ptIdx]. More... | |
std::vector< size_t > | m_nPtsPerEdge |
Number of points per edge. Empty if the point data has no specific shape (ePtsLine) or is a block (ePtsTetBlock, ePtsTriBlock), size=1 for ePtsLine and 2 for a ePtsPlane. More... | |
std::vector< Array< OneD, int > > | m_ptsConn |
Connectivity data needed for ePtsTetBlock and ePtsTriBlock. For n Blocks with m elements each, m_ptsConn is a vector of n arrays with 3*m (ePtsTriBlock) or 4*m (ePtsTetBlock) entries. More... | |
PtsType | m_ptsType |
Type of the PtsField. More... | |
std::vector< NekDouble > | m_boxSize |
vector of box size xmin,xmax,ymin,ymax,zmin,zmax More... | |
Definition at line 72 of file PtsField.h.
Nektar::LibUtilities::PtsField::PtsField | ( | const int | dim, |
const Array< OneD, Array< OneD, NekDouble > > & | pts | ||
) |
Definition at line 45 of file PtsField.cpp.
References GetNFields(), and m_fieldNames.
|
inline |
Definition at line 78 of file PtsField.h.
|
inline |
Definition at line 86 of file PtsField.h.
References AddField(), AddPoints(), GetBoxSize(), GetConnectivity(), GetDim(), GetFieldName(), GetFieldNames(), GetNFields(), GetNpoints(), GetPointsPerEdge(), GetPointVal(), GetPts(), GetPtsType(), LIB_UTILITIES_EXPORT, RemoveField(), SetBoxSize(), SetConnectivity(), SetDim(), SetFieldNames(), SetPointsPerEdge(), SetPointVal(), SetPts(), and SetPtsType().
void Nektar::LibUtilities::PtsField::AddField | ( | const Array< OneD, NekDouble > & | pts, |
const std::string | fieldName | ||
) |
Definition at line 119 of file PtsField.cpp.
References ASSERTL1, m_fieldNames, and m_pts.
Referenced by PtsField().
void Nektar::LibUtilities::PtsField::AddPoints | ( | const Array< OneD, const Array< OneD, NekDouble > > & | pts | ) |
Definition at line 160 of file PtsField.cpp.
References ASSERTL1, and m_pts.
Referenced by PtsField().
vector< NekDouble > Nektar::LibUtilities::PtsField::GetBoxSize | ( | ) | const |
Definition at line 252 of file PtsField.cpp.
References m_boxSize.
Referenced by PtsField().
void Nektar::LibUtilities::PtsField::GetConnectivity | ( | std::vector< Array< OneD, int > > & | conn | ) | const |
Set the connectivity data for ePtsTetBlock and ePtsTriBlock.
conn | Connectivity data Connectivity data needed for ePtsTetBlock and ePtsTriBlock. For n Blocks with m elements each, m_ptsConn is a vector of n arrays with 3*m (ePtsTriBlock) or 4*m (ePtsTetBlock) entries. |
Definition at line 63 of file PtsField.cpp.
References m_ptsConn.
Referenced by PtsField().
size_t Nektar::LibUtilities::PtsField::GetDim | ( | ) | const |
Definition at line 90 of file PtsField.cpp.
References m_dim.
Referenced by PtsField(), and RemoveField().
std::string Nektar::LibUtilities::PtsField::GetFieldName | ( | const int | i | ) | const |
Definition at line 105 of file PtsField.cpp.
References m_fieldNames.
Referenced by PtsField().
vector< std::string > Nektar::LibUtilities::PtsField::GetFieldNames | ( | ) | const |
Definition at line 100 of file PtsField.cpp.
References m_fieldNames.
Referenced by PtsField().
size_t Nektar::LibUtilities::PtsField::GetNFields | ( | ) | const |
Definition at line 95 of file PtsField.cpp.
Referenced by PtsField().
size_t Nektar::LibUtilities::PtsField::GetNpoints | ( | ) | const |
Definition at line 181 of file PtsField.cpp.
References m_pts.
Referenced by PtsField().
vector< size_t > Nektar::LibUtilities::PtsField::GetPointsPerEdge | ( | ) | const |
Definition at line 216 of file PtsField.cpp.
References m_nPtsPerEdge.
Referenced by PtsField().
size_t Nektar::LibUtilities::PtsField::GetPointsPerEdge | ( | const size_t | i | ) | const |
Definition at line 221 of file PtsField.cpp.
References m_nPtsPerEdge.
NekDouble Nektar::LibUtilities::PtsField::GetPointVal | ( | const size_t | fieldInd, |
const size_t | ptInd | ||
) | const |
Definition at line 186 of file PtsField.cpp.
References m_pts.
Referenced by PtsField().
Definition at line 198 of file PtsField.cpp.
References m_pts.
Referenced by PtsField().
Definition at line 203 of file PtsField.cpp.
References m_pts.
PtsType Nektar::LibUtilities::PtsField::GetPtsType | ( | ) | const |
Definition at line 242 of file PtsField.cpp.
References m_ptsType.
Referenced by PtsField().
void Nektar::LibUtilities::PtsField::RemoveField | ( | const std::string | fieldName | ) |
Definition at line 141 of file PtsField.cpp.
References GetDim(), m_fieldNames, and m_pts.
Referenced by PtsField().
Definition at line 257 of file PtsField.cpp.
References m_boxSize.
Referenced by PtsField().
void Nektar::LibUtilities::PtsField::SetConnectivity | ( | const std::vector< Array< OneD, int > > & | conn | ) |
Get the connectivity data for ePtsTetBlock and ePtsTriBlock.
conn | Connectivity data Connectivity data needed for ePtsTetBlock and ePtsTriBlock. For n Blocks with m elements each, m_ptsConn is a vector of n arrays with 3*m (ePtsTriBlock) or 4*m (ePtsTetBlock) entries. |
Definition at line 76 of file PtsField.cpp.
References ASSERTL1, Nektar::LibUtilities::ePtsSegBlock, Nektar::LibUtilities::ePtsTetBlock, Nektar::LibUtilities::ePtsTriBlock, m_ptsConn, and m_ptsType.
Referenced by PtsField().
void Nektar::LibUtilities::PtsField::SetDim | ( | const int | ptsDim | ) |
Definition at line 85 of file PtsField.cpp.
References m_dim.
Referenced by PtsField().
void Nektar::LibUtilities::PtsField::SetFieldNames | ( | const std::vector< std::string > | fieldNames | ) |
Definition at line 110 of file PtsField.cpp.
References ASSERTL0, m_dim, m_fieldNames, and m_pts.
Referenced by PtsField().
void Nektar::LibUtilities::PtsField::SetPointsPerEdge | ( | const std::vector< size_t > | nPtsPerEdge | ) |
Set the number of points per edge.
nPtsPerEdge | Number of points per edge. Empty if the point data has no specific shape (ePtsLine) or is a block (ePtsTetBlock, ePtsTriBlock), size=1 for ePtsLine, 2 for ePtsPlane and 3 for ePtsBox |
Definition at line 233 of file PtsField.cpp.
References ASSERTL0, Nektar::LibUtilities::ePtsBox, Nektar::LibUtilities::ePtsLine, Nektar::LibUtilities::ePtsPlane, m_nPtsPerEdge, and m_ptsType.
Referenced by PtsField().
void Nektar::LibUtilities::PtsField::SetPointVal | ( | const size_t | fieldInd, |
const size_t | ptInd, | ||
const NekDouble | val | ||
) |
Definition at line 191 of file PtsField.cpp.
References m_pts.
Referenced by PtsField().
Definition at line 208 of file PtsField.cpp.
References ASSERTL1, and m_pts.
Referenced by PtsField().
Definition at line 247 of file PtsField.cpp.
References m_ptsType.
Referenced by PtsField().
|
private |
vector of box size xmin,xmax,ymin,ymax,zmin,zmax
Definition at line 176 of file PtsField.h.
Referenced by GetBoxSize(), and SetBoxSize().
|
private |
Dimension of the pts field.
Definition at line 158 of file PtsField.h.
Referenced by GetDim(), GetNFields(), SetDim(), and SetFieldNames().
|
private |
Names of the field variables.
Definition at line 160 of file PtsField.h.
Referenced by AddField(), GetFieldName(), GetFieldNames(), PtsField(), RemoveField(), and SetFieldNames().
|
private |
Number of points per edge. Empty if the point data has no specific shape (ePtsLine) or is a block (ePtsTetBlock, ePtsTriBlock), size=1 for ePtsLine and 2 for a ePtsPlane.
Definition at line 167 of file PtsField.h.
Referenced by GetPointsPerEdge(), and SetPointsPerEdge().
Point data. For a n-dimensional field, the first m_dim fields are the points spatial coordinates. Structure: m_pts[fieldIdx][ptIdx].
Definition at line 163 of file PtsField.h.
Referenced by AddField(), AddPoints(), GetNFields(), GetNpoints(), GetPointVal(), GetPts(), RemoveField(), SetFieldNames(), SetPointVal(), and SetPts().
Connectivity data needed for ePtsTetBlock and ePtsTriBlock. For n Blocks with m elements each, m_ptsConn is a vector of n arrays with 3*m (ePtsTriBlock) or 4*m (ePtsTetBlock) entries.
Definition at line 171 of file PtsField.h.
Referenced by GetConnectivity(), and SetConnectivity().
std::map<PtsInfo, int> Nektar::LibUtilities::PtsField::m_ptsInfo |
map for information about points that can be added through PtsInfo enum
Definition at line 154 of file PtsField.h.
|
private |
Type of the PtsField.
Definition at line 173 of file PtsField.h.
Referenced by GetPtsType(), SetConnectivity(), SetPointsPerEdge(), and SetPtsType().