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) |
void | SetPts (const int fldId, const Array< OneD, const 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... | |
void | SetPointsPerElement (const std::vector< int > nPtsPerElement) |
std::vector< int > | GetPointsPerElement () const |
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< int > | m_nPtsPerElement |
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 68 of file PtsField.h.
Nektar::LibUtilities::PtsField::PtsField | ( | const int | dim, |
const Array< OneD, Array< OneD, NekDouble > > & | pts | ||
) |
Definition at line 43 of file PtsField.cpp.
References GetNFields(), and m_fieldNames.
|
inline |
Definition at line 74 of file PtsField.h.
|
inline |
Definition at line 81 of file PtsField.h.
void Nektar::LibUtilities::PtsField::AddField | ( | const Array< OneD, NekDouble > & | pts, |
const std::string | fieldName | ||
) |
Definition at line 117 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 158 of file PtsField.cpp.
vector< NekDouble > Nektar::LibUtilities::PtsField::GetBoxSize | ( | ) | const |
Definition at line 264 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 61 of file PtsField.cpp.
References m_ptsConn.
size_t Nektar::LibUtilities::PtsField::GetDim | ( | ) | const |
std::string Nektar::LibUtilities::PtsField::GetFieldName | ( | const int | i | ) | const |
Definition at line 103 of file PtsField.cpp.
References m_fieldNames.
vector< std::string > Nektar::LibUtilities::PtsField::GetFieldNames | ( | ) | const |
Definition at line 98 of file PtsField.cpp.
References m_fieldNames.
size_t Nektar::LibUtilities::PtsField::GetNFields | ( | ) | const |
Definition at line 93 of file PtsField.cpp.
Referenced by PtsField().
size_t Nektar::LibUtilities::PtsField::GetNpoints | ( | ) | const |
Definition at line 178 of file PtsField.cpp.
References m_pts.
vector< size_t > Nektar::LibUtilities::PtsField::GetPointsPerEdge | ( | ) | const |
Definition at line 218 of file PtsField.cpp.
References m_nPtsPerEdge.
size_t Nektar::LibUtilities::PtsField::GetPointsPerEdge | ( | const size_t | i | ) | const |
Definition at line 223 of file PtsField.cpp.
References m_nPtsPerEdge.
vector< int > Nektar::LibUtilities::PtsField::GetPointsPerElement | ( | ) | const |
Definition at line 244 of file PtsField.cpp.
References m_nPtsPerElement.
NekDouble Nektar::LibUtilities::PtsField::GetPointVal | ( | const size_t | fieldInd, |
const size_t | ptInd | ||
) | const |
Definition at line 183 of file PtsField.cpp.
References m_pts.
Definition at line 199 of file PtsField.cpp.
References m_pts.
PtsType Nektar::LibUtilities::PtsField::GetPtsType | ( | ) | const |
void Nektar::LibUtilities::PtsField::RemoveField | ( | const std::string | fieldName | ) |
Definition at line 137 of file PtsField.cpp.
References GetDim(), m_fieldNames, and m_pts.
Definition at line 269 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 74 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 | ) |
void Nektar::LibUtilities::PtsField::SetFieldNames | ( | const std::vector< std::string > | fieldNames | ) |
Definition at line 108 of file PtsField.cpp.
References ASSERTL0, m_dim, m_fieldNames, and m_pts.
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 235 of file PtsField.cpp.
References ASSERTL0, Nektar::LibUtilities::ePtsBox, Nektar::LibUtilities::ePtsLine, Nektar::LibUtilities::ePtsPlane, m_nPtsPerEdge, and m_ptsType.
void Nektar::LibUtilities::PtsField::SetPointsPerElement | ( | const std::vector< int > | nPtsPerElement | ) |
Definition at line 249 of file PtsField.cpp.
References m_nPtsPerElement.
void Nektar::LibUtilities::PtsField::SetPointVal | ( | const size_t | fieldInd, |
const size_t | ptInd, | ||
const NekDouble | val | ||
) |
Definition at line 188 of file PtsField.cpp.
References m_pts.
|
private |
vector of box size xmin,xmax,ymin,ymax,zmin,zmax
Definition at line 181 of file PtsField.h.
Referenced by GetBoxSize(), and SetBoxSize().
|
private |
Dimension of the pts field.
Definition at line 162 of file PtsField.h.
Referenced by GetDim(), GetNFields(), SetDim(), and SetFieldNames().
|
private |
Names of the field variables.
Definition at line 164 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 171 of file PtsField.h.
Referenced by GetPointsPerEdge(), and SetPointsPerEdge().
|
private |
Definition at line 172 of file PtsField.h.
Referenced by GetPointsPerElement(), and SetPointsPerElement().
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 167 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 176 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 158 of file PtsField.h.
|
private |
Type of the PtsField.
Definition at line 178 of file PtsField.h.
Referenced by GetPtsType(), SetConnectivity(), SetPointsPerEdge(), and SetPtsType().