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) |
int | GetDim () const |
int | 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 | AddPoints (const Array< OneD, const Array< OneD, NekDouble > > &pts) |
int | GetNpoints () const |
NekDouble | GetPointVal (const int fieldInd, const int ptInd) const |
void | SetPointVal (const int fieldInd, const int 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< int > | GetPointsPerEdge () const |
int | GetPointsPerEdge (const int i) const |
void | SetPointsPerEdge (const std::vector< int > 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 | |
int | 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< int > | 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 73 of file PtsField.h.
Nektar::LibUtilities::PtsField::PtsField | ( | const int | dim, |
const Array< OneD, Array< OneD, NekDouble > > & | pts | ||
) |
Definition at line 46 of file PtsField.cpp.
References GetNFields(), and m_fieldNames.
|
inline |
Definition at line 79 of file PtsField.h.
|
inline |
Definition at line 87 of file PtsField.h.
void Nektar::LibUtilities::PtsField::AddField | ( | const Array< OneD, NekDouble > & | pts, |
const std::string | fieldName | ||
) |
Definition at line 120 of file PtsField.cpp.
References ASSERTL1, m_fieldNames, and m_pts.
void Nektar::LibUtilities::PtsField::AddPoints | ( | const Array< OneD, const Array< OneD, NekDouble > > & | pts | ) |
Definition at line 141 of file PtsField.cpp.
References ASSERTL1, and m_pts.
vector< NekDouble > Nektar::LibUtilities::PtsField::GetBoxSize | ( | ) | const |
Definition at line 233 of file PtsField.cpp.
References m_boxSize.
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 64 of file PtsField.cpp.
References m_ptsConn.
int Nektar::LibUtilities::PtsField::GetDim | ( | ) | const |
Definition at line 91 of file PtsField.cpp.
References m_dim.
std::string Nektar::LibUtilities::PtsField::GetFieldName | ( | const int | i | ) | const |
Definition at line 106 of file PtsField.cpp.
References m_fieldNames.
vector< std::string > Nektar::LibUtilities::PtsField::GetFieldNames | ( | ) | const |
Definition at line 101 of file PtsField.cpp.
References m_fieldNames.
int Nektar::LibUtilities::PtsField::GetNFields | ( | ) | const |
Definition at line 96 of file PtsField.cpp.
Referenced by PtsField().
int Nektar::LibUtilities::PtsField::GetNpoints | ( | ) | const |
Definition at line 162 of file PtsField.cpp.
References m_pts.
vector< int > Nektar::LibUtilities::PtsField::GetPointsPerEdge | ( | ) | const |
Definition at line 197 of file PtsField.cpp.
References m_nPtsPerEdge.
int Nektar::LibUtilities::PtsField::GetPointsPerEdge | ( | const int | i | ) | const |
Definition at line 202 of file PtsField.cpp.
References m_nPtsPerEdge.
NekDouble Nektar::LibUtilities::PtsField::GetPointVal | ( | const int | fieldInd, |
const int | ptInd | ||
) | const |
Definition at line 167 of file PtsField.cpp.
References m_pts.
Definition at line 179 of file PtsField.cpp.
References m_pts.
Definition at line 184 of file PtsField.cpp.
References m_pts.
PtsType Nektar::LibUtilities::PtsField::GetPtsType | ( | ) | const |
Definition at line 223 of file PtsField.cpp.
References m_ptsType.
Definition at line 238 of file PtsField.cpp.
References m_boxSize.
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 77 of file PtsField.cpp.
References ASSERTL1, Nektar::LibUtilities::ePtsSegBlock, Nektar::LibUtilities::ePtsTetBlock, Nektar::LibUtilities::ePtsTriBlock, m_ptsConn, and m_ptsType.
void Nektar::LibUtilities::PtsField::SetDim | ( | const int | ptsDim | ) |
Definition at line 86 of file PtsField.cpp.
References m_dim.
void Nektar::LibUtilities::PtsField::SetFieldNames | ( | const std::vector< std::string > | fieldNames | ) |
Definition at line 111 of file PtsField.cpp.
References ASSERTL0, m_dim, m_fieldNames, and m_pts.
void Nektar::LibUtilities::PtsField::SetPointsPerEdge | ( | const std::vector< int > | 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 214 of file PtsField.cpp.
References ASSERTL0, Nektar::LibUtilities::ePtsBox, Nektar::LibUtilities::ePtsLine, Nektar::LibUtilities::ePtsPlane, m_nPtsPerEdge, and m_ptsType.
void Nektar::LibUtilities::PtsField::SetPointVal | ( | const int | fieldInd, |
const int | ptInd, | ||
const NekDouble | val | ||
) |
Definition at line 172 of file PtsField.cpp.
References m_pts.
Definition at line 189 of file PtsField.cpp.
References ASSERTL1, and m_pts.
Definition at line 228 of file PtsField.cpp.
References m_ptsType.
|
private |
vector of box size xmin,xmax,ymin,ymax,zmin,zmax
Definition at line 175 of file PtsField.h.
Referenced by GetBoxSize(), and SetBoxSize().
|
private |
Dimension of the pts field.
Definition at line 157 of file PtsField.h.
Referenced by GetDim(), GetNFields(), SetDim(), and SetFieldNames().
|
private |
Names of the field variables.
Definition at line 159 of file PtsField.h.
Referenced by AddField(), GetFieldName(), GetFieldNames(), PtsField(), 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 166 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 162 of file PtsField.h.
Referenced by AddField(), AddPoints(), GetNFields(), GetNpoints(), GetPointVal(), GetPts(), 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 170 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 153 of file PtsField.h.
|
private |
Type of the PtsField.
Definition at line 172 of file PtsField.h.
Referenced by GetPtsType(), SetConnectivity(), SetPointsPerEdge(), and SetPtsType().