MFThread is an object that collects some number of Nodes of the same type which shares the same additional properties i.e. name, initial and boundary values and they are processed in the same way by functions during a pre-collision and collision steps.
More...
|
| Thread (uint64_t NodeID, uint32_t NrOfNodes) |
|
| ~Thread ()=default |
|
MF::Database::Node * | getPropTableNodePointer (const std::size_t &nodeNr, const uint8_t &LinkNr) |
|
MF::Database::Node * | getSecPropTableNodePointer (const std::size_t &nodeNr, const uint8_t &LinkNr) |
| Returns a pointer to a linked node from a propagation table. More...
|
|
MF::Database::Node * | getPropTableNodePointer (const MF::Database::Node *nodePointer, const uint8_t &LinkNr) |
| Returns a pointer to a linked node from a second propagation table. More...
|
|
std::size_t | getNodeNr (const MF::Database::Node *nodePointer) |
| Returns a pointer to a linked node from a propagation table. More...
|
|
MF::Database::Node & | getPropTableNodeRef (const std::size_t &nodeNr, const uint8_t &LinkNr) |
| Converts a node pointer to a node number. More...
|
|
MF::Database::Node & | getSecondPropTableNodeRef (const std::size_t &nodeNr, const uint8_t &LinkNr) |
| Returns a reference to a linked node from a propagation table. More...
|
|
void | setNodePtrInPropTable (const std::size_t &nodeNr, const uint8_t &LinkNr, MF::Database::Node *nodePtr) |
| Returns a reference to a linked node from a second propagation table. More...
|
|
void | setNodePtrInSecondPropTable (const std::size_t &nodeNr, const uint8_t &LinkNr, MF::Database::Node *nodePtr) |
| Sets a pointer to a linked node in a propagation table. More...
|
|
MF::Database::Node & | getPropTableNodeRef (const MF::Database::Node *nodePointer, const uint8_t &LinkNr) |
| Sets a pointer to a linked node in a second propagation table. More...
|
|
MF::Database::Node & | getNodeRef (const std::size_t &nodeNr) |
| Returns a reference to a linked node from a propagation table. More...
|
|
MF::Database::Node * | getNodePointer (const std::size_t &nodeNr) |
| Returns a reference to node of nodeNr. More...
|
|
int32_t & | getNodeCoordX (const std::size_t &nodeNr) |
| Returns a pointer to node of nodeNr. More...
|
|
int32_t & | getNodeCoordY (const std::size_t &nodeNr) |
| Returns X coordinate of node nodeNr. More...
|
|
int32_t & | getNodeCoordZ (const std::size_t &nodeNr) |
| Returns Y coordinate of node nodeNr. More...
|
|
void | setNodeCoordX (const std::size_t &nodeNr, const int32_t &X) |
| Returns Z coordinate of node nodeNr. More...
|
|
void | setNodeCoordY (const std::size_t &nodeNr, const int32_t &Y) |
| Sets X coordinate of node nodeNr. More...
|
|
void | setNodeCoordZ (const std::size_t &nodeNr, const int32_t &Z) |
| Sets Y coordinate of node nodeNr. More...
|
|
uint32_t | getNumberOfNodes () |
| Sets Z coordinate of node nodeNr. More...
|
|
MF::Database::Node * | getLinkedNodePointer (const std::size_t &nodeNr, const uint8_t f) |
| Returns the number of nodes in the thread. More...
|
|
void | DoCollisionOnly (const int &CPU_ThreadsNr) |
| Invokes the collision function for all nodes. More...
|
|
void | DoPreCollisionOnly (const int &CPU_ThreadsNr) |
| Invokes ONLY the pre-collision function for all nodes. More...
|
|
void | DoPreANDCollision (const int &CPU_ThreadsNr) |
| Invokes the pre-collision and collision functions for all nodes. More...
|
|
void | DoPropagation (const int &CPU_ThreadsNr) |
| Do the propagation for all nodes. More...
|
|
|
std::shared_ptr< MF::Database::Thread > | m_Thread_Ptr {nullptr} |
| Shared Ptr to MFThread. More...
|
|
std::string | m_ThreadName {""} |
| Name of MFThread. More...
|
|
uint16_t | m_NodeType {0} |
| Node type number. More...
|
|
uint16_t | m_uidThreadNr {0} |
| MFThread number +1 from thread config file. Automatically created threads have uidThreadNr = 0, threads defined in thread_config file have uidThreadNr > 0 (+1);. More...
|
|
uint16_t | m_ThreadCount {0} |
| For partitioned MFThreads, it is a part number. For non partitioned MFThreads = 0;. More...
|
|
uint8_t | m_ComponentNr {0} |
| Component number for multicomponent systems. Max. 255. More...
|
|
uint8_t | m_PhaseNr {0} |
| Phase number for multiphase flows. Max. 255. More...
|
|
bool | m_DoPreCollision {false} |
| Flag for pre-collision stage. If true, thread is processed during pre-collision stage. More...
|
|
bool | m_DoCollision {false} |
| Flag for collision stage. If true, thread is processed during collision stage. More...
|
|
bool | m_DoPropagation {true} |
| Flag for propagation stage. If true, thread is processed during propagation stage. More...
|
|
bool | m_IsInletBalanceSurface {false} |
| Flag used during post-processing stage. If true, nodes lie on the inlet surface. Value used for manual calculations of mean velocity and mass balance. More...
|
|
bool | m_IsOutletBalanceSurface {false} |
| Flag used during post-processing stage. If true, nodes lie on the outlet surface. Value used for manual calculations of mean velocity and mass balance. More...
|
|
MF::Database::Vec3< double > | m_BoundaryValue_ULB {0, 0, 0} |
| Initial or boundary value of LB velocity (x,y,z). More...
|
|
double | m_BoundaryValue_RhoLB {1.0} |
| Initial or boundary value of Rho LB. More...
|
|
MF::Database::Vec3< double > | m_XYZForce_LB {0.0,0.0,0.0} |
| Components X, Y, Z of the volumetric force, e.g. gravitational force [N/m3]. More...
|
|
void(* | m_pBoundaryFunction )(MF::Database::Node *) |
|
MF::Database::Vec4< double >(* | m_pVRLBFunction )(const MF::Database::Node *) |
| Boundary function pointer. More...
|
|
void(* | m_pColideFunc )(MF::Database::Node *) |
| Velocity and rho function pointer. More...
|
|
std::shared_ptr< std::vector< MF::Database::Node > > | m_NodeArray_Ptr {nullptr} |
| < Collision function pointer. More...
|
|
std::shared_ptr< NodePropArray > | m_PropagationTable_Ptr {nullptr} |
| Propagation table of pointers to nodes. First half. More...
|
|
std::shared_ptr< NodePropArray > | m_SecondHalfPropagationTable_Ptr {nullptr} |
| Propagation table of pointers to nodes. Second half. More...
|
|
std::shared_ptr< std::vector< MF::Database::Vec3< int32_t > > > | m_Coordinate_Ptr = {nullptr} |
| Original nodes coordinates in a sparse geometry. More...
|
|
MFThread is an object that collects some number of Nodes of the same type which shares the same additional properties i.e. name, initial and boundary values and they are processed in the same way by functions during a pre-collision and collision steps.
Pointers to those functions are kept by the MFThread object. Nodes are stored in a std::vector<Node> type dense array.
- Parameters
-
NodeEncTypeID | The combined nodeType + MFThread number (+1). |
NrOfNodes | The number of nodes that belongs to thread. |
- Note
- Each computational Node has to belong to exactly one MFThread.
Definition at line 37 of file Thread.h.