48 vector<pair<int,double> > data_vec;
49 vector<pair<int,double> > rad_vec;
50 vector<pair<int,Vec3> > pos_vec;
52 data_vec=m_ppa->forAllInnerParticlesGetIndexed(m_rdf);
53 pos_vec=m_ppa->forAllInnerParticlesGetIndexed(
typename T::VectorFieldFunction(&T::getPos));
54 rad_vec=m_ppa->forAllInnerParticlesGetIndexed(
typename T::ScalarFieldFunction(&T::getRad));
57 m_comm->send_gather(data_vec,0);
58 m_comm->send_gather(pos_vec,0);
59 m_comm->send_gather(rad_vec,0);
68 vector<double> data_vec;
71 m_ppa->forAllInnerParticlesGet(data_vec,m_rdf);
75 for(vector<double>::iterator
iter=data_vec.begin();
81 vector<double> sum_vec;
82 sum_vec.push_back(sum);
83 m_comm->send_gather(sum_vec,0);
92 vector<double> data_vec;
95 m_ppa->forAllInnerParticlesGet(data_vec,m_rdf);
98 double max=*(data_vec.begin());
99 for(vector<double>::iterator
iter=data_vec.begin();
100 iter!=data_vec.end();
105 vector<double> max_vec;
106 max_vec.push_back(max);
107 m_comm->send_gather(max_vec,0);
113 template <
typename T>
117 m_comm->recv_broadcast(coll_type,0);
120 case 1: SendDataFull();
break;
121 case 2: SendDataSum();
break;
122 case 3: SendDataMax();
break;
123 default: std::cerr <<
"unknown collection type" << std::endl;
virtual void sendData()
Definition: ScalarParticleFieldSlave.hpp:114
boost::python::object iter(const boost::python::object &pyOb)
Definition: Util.h:25
ParallelParticleArray< T > * m_ppa
Definition: ScalarParticleFieldSlave.h:40
parrallel particle storage array with neighborsearch and variable exchange
Definition: SubLattice.h:61
ScalarParticleFieldSlave(TML_Comm *, ParallelParticleArray< T > *, typename T::ScalarFieldFunction)
Definition: ScalarParticleFieldSlave.hpp:34
Con console & cout
Definition: console.cpp:30
virtual void SendDataFull()
Definition: ScalarParticleFieldSlave.hpp:46
virtual void SendDataMax()
Definition: ScalarParticleFieldSlave.hpp:90
abstract base class for communicator
Definition: comm.h:46
virtual void SendDataSum()
Definition: ScalarParticleFieldSlave.hpp:66
Abstract base class for slave part of field.
Definition: FieldSlave.h:22
T::ScalarFieldFunction m_rdf
Definition: ScalarParticleFieldSlave.h:39