44template <
class T,
unsigned Dim,
class Mesh,
class CachingPolicy>
60 ERRORMSG(
"Cannot repartition particles: uninitialized layout." <<
endl);
78 bool CenterOffset[
Dim];
79 int CenteringTotal = 0;
81 for (d=0; d<
Dim; ++d) {
82 CenterOffset[d] = (TotalDomain[d].length() < mesh.gridSizes[d]);
83 CenteringTotal += CenterOffset[d];
87 if (CenteringTotal ==
Dim) {
108 else if (CenteringTotal == 0) {
130 ERRORMSG(
"Not implemented for face- and edge-centered Fields!!" <<
endl);
142template<
class T,
unsigned Dim>
NDIndex< Dim > CalcBinaryRepartition(FieldLayout< Dim > &, BareField< double, Dim > &)
bool scatter(Communicate &, InputIterator, InputIterator, RandomIterator, int *, int *, const ScatterOp &)
bool BinaryRepartition(IpplParticleBase< ParticleSpatialLayout< T, Dim, Mesh, CachingPolicy > > &PB, double offset)
Inform & endl(Inform &inf)
const NDIndex< Dim > & getDomain() const
void RepartitionLayout(NDIndex< Dim > *, NDIndex< Dim > *)
FieldLayout< Dim > & getFieldLayout()
static void abort(const char *=0)