ESyS-Particle  2.3.4
InteractionFieldSlave.hpp
Go to the documentation of this file.
1 // //
3 // Copyright (c) 2003-2017 by The University of Queensland //
4 // Centre for Geoscience Computing //
5 // http://earth.uq.edu.au/centre-geoscience-computing //
6 // //
7 // Primary Business: Brisbane, Queensland, Australia //
8 // Licensed under the Open Software License version 3.0 //
9 // http://www.apache.org/licenses/LICENSE-2.0 //
10 // //
12 
13 #include "field_const.h"
14 
15 
16 template <typename T>
18 {
19  m_pis=pis;
20 }
21 
26 template <typename T>
28 {
29  std::cerr << "SendDataWithPosID is not implemented for this type of InteractionFieldSaver" << std::endl;
30 }
31 
36 template <typename T>
38 {
39  // debug output
40  console.XDebug() << "InteractionFieldSlave<T>::sendData()\n";
41 
42  int coll_type;
43  m_comm->recv_broadcast(coll_type,0);
44 
45  // debug output
46  console.XDebug() << "received coll_type=" << coll_type << "\n";
47 
48  switch(coll_type){
49  case COLL_TYPE_FULL : SendDataFull();break;
50  case COLL_TYPE_SUM : SendDataSum();break;
51  case COLL_TYPE_MAX : SendDataMax();break;
52  case COLL_TYPE_FULL2 : SendDataFull2();break;
53  case COLL_TYPE_FULL_WITH_ID : SendDataWithID();break;
54  case COLL_TYPE_FULL_WITH_POS_ID : SendDataWithPosID();break;
55 
56  default: std::cerr << "unknown collection type" << std::endl;
57  }
58 }
COLL_TYPE_FULL_WITH_ID
@ COLL_TYPE_FULL_WITH_ID
Definition: field_const.h:35
field_const.h
InteractionFieldSlave::InteractionFieldSlave
InteractionFieldSlave(TML_Comm *, TParallelInteractionStorage< T > *)
Definition: InteractionFieldSlave.hpp:17
InteractionFieldSlave::m_pis
TParallelInteractionStorage< T > * m_pis
Definition: InteractionFieldSlave.h:36
COLL_TYPE_FULL
@ COLL_TYPE_FULL
Definition: field_const.h:30
COLL_TYPE_SUM
@ COLL_TYPE_SUM
Definition: field_const.h:31
Console::XDebug
Console & XDebug()
set verbose level of next message to "xdg"
AFieldSlave
Abstract base class for slave part of field.
Definition: FieldSlave.h:23
InteractionFieldSlave::SendDataWithPosID
virtual void SendDataWithPosID()
Definition: InteractionFieldSlave.hpp:27
COLL_TYPE_MAX
@ COLL_TYPE_MAX
Definition: field_const.h:32
TParallelInteractionStorage< T >
TML_Comm
abstract base class for communicator
Definition: comm.h:47
COLL_TYPE_FULL_WITH_POS_ID
@ COLL_TYPE_FULL_WITH_POS_ID
Definition: field_const.h:36
InteractionFieldSlave::sendData
virtual void sendData()
Definition: InteractionFieldSlave.hpp:37
console
Console console
Definition: console.cpp:25
COLL_TYPE_FULL2
@ COLL_TYPE_FULL2
Definition: field_const.h:33