FEI Package Browser (Single Doxygen Collection)
Version of the Day
Toggle main menu visibility
Loading...
Searching...
No Matches
base
snl_fei_BlkSizeMsgHandler.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_BlkSizeMsgHandler_hpp_
10
#define _snl_fei_BlkSizeMsgHandler_hpp_
11
12
#include <
fei_macros.hpp
>
13
#include <
fei_SharedPtr.hpp
>
14
#include <
fei_VectorSpace.hpp
>
15
#include <
fei_Graph.hpp
>
16
#include <
fei_CommUtils.hpp
>
17
18
namespace
snl_fei
{
19
21
class
BlkSizeMsgHandler
:
public
fei::MessageHandler
<int> {
22
public
:
24
BlkSizeMsgHandler
(
fei::VectorSpace
* vspace,
25
fei::Graph
* graph,
26
MPI_Comm
comm);
28
virtual
~BlkSizeMsgHandler
();
29
31
int
do_the_exchange
();
32
34
std::vector<int>&
getSendProcs
();
36
std::vector<int>&
getRecvProcs
();
37
39
int
getSendMessageLength
(
int
destProc,
int
& messageLength);
41
int
getSendMessage
(
int
destProc, std::vector<int>& message);
43
int
processRecvMessage
(
int
srcProc, std::vector<int>& message);
44
45
private
:
46
fei::comm_map
*
remote_colIndices_
;
47
fei::comm_map
*
local_colIndices_
;
48
fei::VectorSpace
*
vecSpace_
;
49
snl_fei::PointBlockMap
*
ptBlkMap_
;
50
fei::Graph
*
graph_
;
51
MPI_Comm
comm_
;
52
std::vector<int>
sendProcs_
;
53
std::vector<int>
recvProcs_
;
54
55
bool
firstExchange_
;
56
};
57
58
}
// namespace snl_fei
59
60
#endif
61
fei::Graph
Definition
fei_Graph.hpp:20
fei::MessageHandler
Definition
fei_CommUtils.hpp:564
fei::VectorSpace
Definition
fei_VectorSpace.hpp:62
snl_fei::BlkSizeMsgHandler::local_colIndices_
fei::comm_map * local_colIndices_
Definition
snl_fei_BlkSizeMsgHandler.hpp:47
snl_fei::BlkSizeMsgHandler::getRecvProcs
std::vector< int > & getRecvProcs()
Definition
snl_fei_BlkSizeMsgHandler.cpp:125
snl_fei::BlkSizeMsgHandler::processRecvMessage
int processRecvMessage(int srcProc, std::vector< int > &message)
Definition
snl_fei_BlkSizeMsgHandler.cpp:182
snl_fei::BlkSizeMsgHandler::~BlkSizeMsgHandler
virtual ~BlkSizeMsgHandler()
Definition
snl_fei_BlkSizeMsgHandler.cpp:53
snl_fei::BlkSizeMsgHandler::getSendProcs
std::vector< int > & getSendProcs()
Definition
snl_fei_BlkSizeMsgHandler.cpp:114
snl_fei::BlkSizeMsgHandler::BlkSizeMsgHandler
BlkSizeMsgHandler(fei::VectorSpace *vspace, fei::Graph *graph, MPI_Comm comm)
Definition
snl_fei_BlkSizeMsgHandler.cpp:33
snl_fei::BlkSizeMsgHandler::sendProcs_
std::vector< int > sendProcs_
Definition
snl_fei_BlkSizeMsgHandler.hpp:52
snl_fei::BlkSizeMsgHandler::firstExchange_
bool firstExchange_
Definition
snl_fei_BlkSizeMsgHandler.hpp:55
snl_fei::BlkSizeMsgHandler::graph_
fei::Graph * graph_
Definition
snl_fei_BlkSizeMsgHandler.hpp:50
snl_fei::BlkSizeMsgHandler::getSendMessageLength
int getSendMessageLength(int destProc, int &messageLength)
Definition
snl_fei_BlkSizeMsgHandler.cpp:136
snl_fei::BlkSizeMsgHandler::ptBlkMap_
snl_fei::PointBlockMap * ptBlkMap_
Definition
snl_fei_BlkSizeMsgHandler.hpp:49
snl_fei::BlkSizeMsgHandler::recvProcs_
std::vector< int > recvProcs_
Definition
snl_fei_BlkSizeMsgHandler.hpp:53
snl_fei::BlkSizeMsgHandler::getSendMessage
int getSendMessage(int destProc, std::vector< int > &message)
Definition
snl_fei_BlkSizeMsgHandler.cpp:152
snl_fei::BlkSizeMsgHandler::do_the_exchange
int do_the_exchange()
Definition
snl_fei_BlkSizeMsgHandler.cpp:60
snl_fei::BlkSizeMsgHandler::remote_colIndices_
fei::comm_map * remote_colIndices_
Definition
snl_fei_BlkSizeMsgHandler.hpp:46
snl_fei::BlkSizeMsgHandler::vecSpace_
fei::VectorSpace * vecSpace_
Definition
snl_fei_BlkSizeMsgHandler.hpp:48
snl_fei::BlkSizeMsgHandler::comm_
MPI_Comm comm_
Definition
snl_fei_BlkSizeMsgHandler.hpp:51
snl_fei::PointBlockMap
Definition
snl_fei_PointBlockMap.hpp:23
fei_CommUtils.hpp
fei_Graph.hpp
fei_SharedPtr.hpp
fei_VectorSpace.hpp
fei_macros.hpp
MPI_Comm
#define MPI_Comm
Definition
fei_mpi.h:56
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