class
#include <src/Transfer/NodeSearch.hpp>
NodeSearch NodeSearch chare array holding part of a mesh.
Constructors, destructors, conversion operators
- NodeSearch(CkArrayID p, MeshData mesh, CkCallback cb) explicit
- Constructor.
- NodeSearch(CkMigrateMessage* m) explicit
- Migrate constructor.
Public functions
- void setSourceTets(const std::vector<std::size_t>& inpoel, const std::array<std::vector<double>, 3>& coord, const tk::Fields& u, const std::vector<double>& flag, bool dir, CkCallback cb)
- Set the source mesh data.
- void setDestPoints(const std::array<std::vector<double>, 3>& coord, tk::Fields& u, std::vector<double>& flag, bool trflag, bool dir, CkCallback cb)
- Set the destination mesh data.
- void processCollisions(const MeshData& src, int nColls, Collision* colls)
- Process potential collisions in the destination mesh.
- void determineActualCollisions(CProxy_NodeSearch proxy, int index, int nColls, PotentialCollision* colls)
- Identify actual collisions in the source mesh.
- void transferSolution(const std::vector<SolutionData>& sol)
- Transfer the interpolated solution data to destination mesh.
Charm++ pack/unpack serializer member functions
- int m_firstchunk
- The ID of my first chunk (used for collision detection library)
- std::vector<std::size_t>* m_inpoel
- Pointer to element connectivity.
- std::array<std::vector<double>, 3>* m_coord
- Pointer to point coordinates.
- tk::Fields* m_u
- Pointer to solution in mesh nodes.
- std::vector<double>* m_flag
- Pointer to transfer flags.
- bool m_trflag
- Transfer flags if true.
- bool m_dir
- Transfer direction: 0: background to overset, 1: overset to background.
- int m_numsent
- The number of messages sent by the dest mesh.
- int m_numreceived
- The number of messages received by the dest mesh.
- int m_srcnotified
- Set to nonzero once source mesh is notified that source side is done.
- CkCallback m_done
- Callback to call when transfer is done.
- void pup(PUP::er& p) override
- Pack/Unpack serialize member function.
- void operator|(PUP::er& p, NodeSearch& i)
- Pack/Unpack serialize operator|.
Function documentation
transfer:: NodeSearch:: NodeSearch(CkArrayID p,
MeshData mesh,
CkCallback cb) explicit
Constructor.
Parameters | |
---|---|
p | |
mesh | |
cb in | Callback to inform application that the library is ready |
void transfer:: NodeSearch:: setSourceTets(const std::vector<std::size_t>& inpoel,
const std::array<std::vector<double>, 3>& coord,
const tk::Fields& u,
const std::vector<double>& flag,
bool dir,
CkCallback cb)
Set the source mesh data.
Parameters | |
---|---|
inpoel in | Pointer to the connectivity data for the source mesh |
coord in | Pointer to the coordinate data for the source mesh |
u in | Pointer to the solution data for the source mesh |
flag in | Transfer flags |
dir in | Transfer direction: 0: bg to overset, 1: overset to bg |
cb in | Callback to call when src side of transfer is done |
void transfer:: NodeSearch:: setDestPoints(const std::array<std::vector<double>, 3>& coord,
tk::Fields& u,
std::vector<double>& flag,
bool trflag,
bool dir,
CkCallback cb)
Set the destination mesh data.
Parameters | |
---|---|
coord in | Pointer to the coordinate data for the destination mesh |
u in/out | Pointer to the solution data for the destination mesh |
flag in/out | Transfer flags |
trflag in | Transfer flags if true |
dir in | Transfer direction: 0: bg to overset, 1: overset to bg |
cb in | Callback to call when dst side of transfer is done |
void transfer:: NodeSearch:: processCollisions(const MeshData& src,
int nColls,
Collision* colls)
Process potential collisions in the destination mesh.
Parameters | |
---|---|
src in | Source mesh config data |
nColls | |
colls in | List of potential collisions |
void transfer:: NodeSearch:: determineActualCollisions(CProxy_NodeSearch proxy,
int index,
int nColls,
PotentialCollision* colls)
Identify actual collisions in the source mesh.
Parameters | |
---|---|
proxy in | The proxy of the destination mesh chare array |
index in | The index in proxy to return the solution data to |
nColls in | Number of collisions to be checked |
colls in | List of potential collisions |
void transfer:: NodeSearch:: pup(PUP::er& p) override
Pack/Unpack serialize member function.
Parameters | |
---|---|
p in/out | Charm++'s PUP::er serializer object reference |
void transfer:: NodeSearch:: operator|(PUP::er& p,
NodeSearch& i)
Pack/Unpack serialize operator|.
Parameters | |
---|---|
p in/out | Charm++'s PUP::er serializer object reference |
i in/out | NodeSearch object reference |