37 #ifndef NEKTAR_LIB_UTILITIES_BASIC_UTILS_PTSFIELD_H
38 #define NEKTAR_LIB_UTILITIES_BASIC_UTILS_PTSFIELD_H
42 #include <boost/shared_ptr.hpp>
43 #include <boost/function.hpp>
51 namespace LibUtilities
107 const vector<std::string> fieldnames,
109 map<PtsInfo,int> ptsInfo = NullPtsInfoMap):
112 m_fieldNames(fieldnames),
120 const vector<std::string> fieldnames,
124 m_ptsInfo(NullPtsInfoMap),
126 m_fieldNames(fieldnames),
130 m_neighInds(neighInds)
136 short int coordId = -1);
141 short int coordId = -1);
171 const vector<std::string> fieldNames);
174 const std::string fieldName);
200 template<
typename FuncPo
interT,
typename ObjectPo
interT>
204 m_progressCallback = boost::bind(func, obj, _1, _2);
257 vector<PtsPoint> &neighbourPts,
258 const unsigned int numPts = 1);
Array< OneD, Array< OneD, unsigned int > > m_neighInds
Indices of the relevant neighbours for each physical point. Structure: m_neighInds[ptIdx][neighbourId...
map< PtsInfo, int > m_ptsInfo
map for information about points that can be added through PtsInfo enum
Array< OneD, Array< OneD, float > > m_weights
Interpolation weights for each neighbour. Structure: m_weights[physPtIdx][neighbourIdx].
PtsPoint(int idx, Array< OneD, NekDouble > coords, NekDouble distSq)
vector< Array< OneD, int > > m_ptsConn
Connectivity data needed for ePtsTetBlock and ePtsTriBlock. For n Blocks with m elements each...
boost::shared_ptr< PtsField > PtsFieldSharedPtr
vector< int > m_nPtsPerEdge
Number of points per edge. Empty if the point data has no specific shape (ePtsLine) or is a block (eP...
Array< OneD, Array< OneD, NekDouble > > m_pts
Point data. For a n-dimensional field, the first m_dim fields are the points spatial coordinates...
map< pair< int, int >, NekDouble > weights(set< pair< int, int > > springs, Array< OneD, NekDouble > u, Array< OneD, NekDouble > v)
PtsType m_ptsType
Type of the PtsField.
#define LIB_UTILITIES_EXPORT
int m_dim
Dimension of the pts field.
vector< std::string > m_fieldNames
Names of the field variables.
PtsField(const int dim, const vector< std::string > fieldnames, const Array< OneD, Array< OneD, NekDouble > > &pts, map< PtsInfo, int > ptsInfo=NullPtsInfoMap)
void setProgressCallback(FuncPointerT func, ObjectPointerT obj)
Array< OneD, NekDouble > m_coords
bool operator<(const BasisKey &lhs, const BasisKey &rhs)
static PtsFieldSharedPtr NullPtsField
static map< PtsInfo, int > NullPtsInfoMap
vector< NekDouble > m_boxSize
vector of box size xmin,xmax,ymin,ymax,zmin,zmax
PtsField(const int dim, const 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)
boost::function< void(const int position, const int goal)> m_progressCallback