ESyS-Particle  2.3.2
InteractionFieldSlave.hpp
Go to the documentation of this file.
1 
2 // //
3 // Copyright (c) 2003-2014 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.opensource.org/licenses/osl-3.0.php //
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 }