FEI Package Browser (Single Doxygen Collection)
Version of the Day
Toggle main menu visibility
Loading...
Searching...
No Matches
base
snl_fei_RecordMsgHandler.hpp
Go to the documentation of this file.
1
/*--------------------------------------------------------------------*/
2
/* Copyright 2005 Sandia Corporation. */
3
/* Under the terms of Contract DE-AC04-94AL85000, there is a */
4
/* non-exclusive license for use of this work by or on behalf */
5
/* of the U.S. Government. Export of this program may require */
6
/* a license from the United States Government. */
7
/*--------------------------------------------------------------------*/
8
9
#ifndef _snl_fei_RecordMsgHandler_hpp_
10
#define _snl_fei_RecordMsgHandler_hpp_
11
12
#include <
fei_macros.hpp
>
13
#include <
fei_CommUtils.hpp
>
14
#include <
fei_fwd.hpp
>
15
16
namespace
fei
{
17
class
FieldMask
;
18
}
19
20
namespace
snl_fei
{
22
class
RecordMsgHandler
:
public
fei::MessageHandler
<int> {
23
public
:
25
RecordMsgHandler
(
int
localProc,
26
RecordCollection
* recordCollection,
27
snl_fei::PointBlockMap
& ptBlkMap,
28
std::vector<fei::FieldMask*>& fieldMasks,
29
std::vector<int>& eqnNumbers);
30
32
virtual
~RecordMsgHandler
();
33
35
enum
{
_FieldMasks_
= 0,
_MaskIDs_
= 1,
36
_EqnNumbers_
};
37
39
std::vector<int>&
getSendProcs
();
40
42
std::vector<int>&
getRecvProcs
();
43
45
int
getSendMessageLength
(
int
destProc,
int
& messageLength);
46
48
int
getSendMessage
(
int
destProc, std::vector<int>& message);
49
51
int
processRecvMessage
(
int
srcProc, std::vector<int>& message);
52
54
void
setTask
(
int
task) {
whichTask_
= task; }
55
57
void
setSendPattern
(
fei::comm_map
* pattern)
58
{
sendPattern_
= pattern; }
59
61
void
setRecvPattern
(
fei::comm_map
* pattern)
62
{
recvPattern_
= pattern; }
63
64
private
:
65
int
localFieldMaskMessageSize
(std::vector<fei::FieldMask*>& fieldMasks);
66
67
int
packLocalFieldMasks
(std::vector<fei::FieldMask*>& fieldMasks,
68
std::vector<int>& localFieldMasks);
69
70
int
addFieldMasks
(std::vector<int>& msg, std::vector<fei::FieldMask*>& fieldMasks);
71
72
int
packMaskIDs
(
int
destProc, std::vector<int>& msg);
73
74
int
mergeMaskIDs
(
int
srcProc, std::vector<int>& msg);
75
76
int
eqnNumbersMsgLength
(
int
destProc);
77
78
int
packEqnNumbersMsg
(
int
destProc, std::vector<int>& msg);
79
80
int
storeEqnNumbers
(
int
srcProc, std::vector<int>& msg);
81
82
fei::comm_map
*
sendPattern_
;
83
fei::comm_map
*
recvPattern_
;
84
RecordCollection
*
recordCollection_
;
85
snl_fei::PointBlockMap
&
ptBlkMap_
;
86
std::vector<fei::FieldMask*>&
fieldMasks_
;
87
88
int
whichTask_
;
89
90
std::vector<int>
sendProcs_
;
91
std::vector<int>
recvProcs_
;
92
93
std::vector<int>&
eqnNumbers_
;
94
95
int
localProc_
;
96
};
//class RecordMsgHandler
97
}
//namespace snl_fei
98
99
#endif
// _snl_fei_RecordMsgHandler_hpp_
100
fei::FieldMask
Definition
fei_FieldMask.hpp:29
fei::MessageHandler
Definition
fei_CommUtils.hpp:564
snl_fei::PointBlockMap
Definition
snl_fei_PointBlockMap.hpp:23
snl_fei::RecordCollection
Definition
snl_fei_RecordCollection.hpp:32
snl_fei::RecordMsgHandler::packMaskIDs
int packMaskIDs(int destProc, std::vector< int > &msg)
Definition
snl_fei_RecordMsgHandler.cpp:195
snl_fei::RecordMsgHandler::getRecvProcs
std::vector< int > & getRecvProcs()
Definition
snl_fei_RecordMsgHandler.cpp:49
snl_fei::RecordMsgHandler::eqnNumbersMsgLength
int eqnNumbersMsgLength(int destProc)
Definition
snl_fei_RecordMsgHandler.cpp:273
snl_fei::RecordMsgHandler::addFieldMasks
int addFieldMasks(std::vector< int > &msg, std::vector< fei::FieldMask * > &fieldMasks)
Definition
snl_fei_RecordMsgHandler.cpp:155
snl_fei::RecordMsgHandler::mergeMaskIDs
int mergeMaskIDs(int srcProc, std::vector< int > &msg)
Definition
snl_fei_RecordMsgHandler.cpp:224
snl_fei::RecordMsgHandler::getSendMessageLength
int getSendMessageLength(int destProc, int &messageLength)
Definition
snl_fei_RecordMsgHandler.cpp:55
snl_fei::RecordMsgHandler::eqnNumbers_
std::vector< int > & eqnNumbers_
Definition
snl_fei_RecordMsgHandler.hpp:93
snl_fei::RecordMsgHandler::localProc_
int localProc_
Definition
snl_fei_RecordMsgHandler.hpp:95
snl_fei::RecordMsgHandler::sendProcs_
std::vector< int > sendProcs_
Definition
snl_fei_RecordMsgHandler.hpp:90
snl_fei::RecordMsgHandler::localFieldMaskMessageSize
int localFieldMaskMessageSize(std::vector< fei::FieldMask * > &fieldMasks)
Definition
snl_fei_RecordMsgHandler.cpp:109
snl_fei::RecordMsgHandler::whichTask_
int whichTask_
Definition
snl_fei_RecordMsgHandler.hpp:88
snl_fei::RecordMsgHandler::getSendMessage
int getSendMessage(int destProc, std::vector< int > &message)
Definition
snl_fei_RecordMsgHandler.cpp:74
snl_fei::RecordMsgHandler::recordCollection_
RecordCollection * recordCollection_
Definition
snl_fei_RecordMsgHandler.hpp:84
snl_fei::RecordMsgHandler::setSendPattern
void setSendPattern(fei::comm_map *pattern)
Definition
snl_fei_RecordMsgHandler.hpp:57
snl_fei::RecordMsgHandler::fieldMasks_
std::vector< fei::FieldMask * > & fieldMasks_
Definition
snl_fei_RecordMsgHandler.hpp:86
snl_fei::RecordMsgHandler::processRecvMessage
int processRecvMessage(int srcProc, std::vector< int > &message)
Definition
snl_fei_RecordMsgHandler.cpp:91
snl_fei::RecordMsgHandler::setTask
void setTask(int task)
Definition
snl_fei_RecordMsgHandler.hpp:54
snl_fei::RecordMsgHandler::recvPattern_
fei::comm_map * recvPattern_
Definition
snl_fei_RecordMsgHandler.hpp:83
snl_fei::RecordMsgHandler::packEqnNumbersMsg
int packEqnNumbersMsg(int destProc, std::vector< int > &msg)
Definition
snl_fei_RecordMsgHandler.cpp:296
snl_fei::RecordMsgHandler::~RecordMsgHandler
virtual ~RecordMsgHandler()
Definition
snl_fei_RecordMsgHandler.cpp:39
snl_fei::RecordMsgHandler::_EqnNumbers_
@ _EqnNumbers_
Definition
snl_fei_RecordMsgHandler.hpp:36
snl_fei::RecordMsgHandler::_FieldMasks_
@ _FieldMasks_
Definition
snl_fei_RecordMsgHandler.hpp:35
snl_fei::RecordMsgHandler::_MaskIDs_
@ _MaskIDs_
Definition
snl_fei_RecordMsgHandler.hpp:35
snl_fei::RecordMsgHandler::ptBlkMap_
snl_fei::PointBlockMap & ptBlkMap_
Definition
snl_fei_RecordMsgHandler.hpp:85
snl_fei::RecordMsgHandler::setRecvPattern
void setRecvPattern(fei::comm_map *pattern)
Definition
snl_fei_RecordMsgHandler.hpp:61
snl_fei::RecordMsgHandler::recvProcs_
std::vector< int > recvProcs_
Definition
snl_fei_RecordMsgHandler.hpp:91
snl_fei::RecordMsgHandler::sendPattern_
fei::comm_map * sendPattern_
Definition
snl_fei_RecordMsgHandler.hpp:82
snl_fei::RecordMsgHandler::storeEqnNumbers
int storeEqnNumbers(int srcProc, std::vector< int > &msg)
Definition
snl_fei_RecordMsgHandler.cpp:330
snl_fei::RecordMsgHandler::RecordMsgHandler
RecordMsgHandler(int localProc, RecordCollection *recordCollection, snl_fei::PointBlockMap &ptBlkMap, std::vector< fei::FieldMask * > &fieldMasks, std::vector< int > &eqnNumbers)
Definition
snl_fei_RecordMsgHandler.cpp:21
snl_fei::RecordMsgHandler::getSendProcs
std::vector< int > & getSendProcs()
Definition
snl_fei_RecordMsgHandler.cpp:43
snl_fei::RecordMsgHandler::packLocalFieldMasks
int packLocalFieldMasks(std::vector< fei::FieldMask * > &fieldMasks, std::vector< int > &localFieldMasks)
Definition
snl_fei_RecordMsgHandler.cpp:122
fei_CommUtils.hpp
fei_fwd.hpp
fei_macros.hpp
fei
Definition
fei_ArrayUtils.hpp:16
fei::comm_map
snl_fei::RaggedTable< std::map< int, std::set< int > * >, std::set< int > > comm_map
Definition
fei_CommUtils.hpp:51
snl_fei
Definition
fei_MatrixGraph_Impl2.cpp:46
Generated by
1.17.0