OPAL (Object Oriented Parallel Accelerator Library) 2022.1
OPAL
ParticleBalancer.h
Go to the documentation of this file.
1// -*- C++ -*-
2/***************************************************************************
3 *
4 * The IPPL Framework
5 *
6 *
7 * Visit http://people.web.psi.ch/adelmann/ for more details
8 *
9 ***************************************************************************/
10
11#ifndef PARTICLE_BALANCER_H
12#define PARTICLE_BALANCER_H
13
14/***************************************************************************
15 *
16 * ParticleBalancer - functions for performing load balancing for
17 * particles using a particle density field.
18 *
19 * Load balancing for particles is performed by constructing a BareField
20 * object over the domain occupied by the particles, and filling this field
21 * with the density of the particles. The Field is then repartitioned by
22 * using one of the Field repartitioning algorithms, and the resulting
23 * Field layout is given to the Particle object, which then redistributes
24 * the particles.
25 *
26 ***************************************************************************/
27
28// forward declarations
29template<class T, unsigned Dim, class Mesh, class CachingPolicy> class ParticleSpatialLayout;
30template<class T, unsigned Dim> class ParticleUniformLayout;
31template<class PLayout> class IpplParticleBase;
32
33
34// calculate a new RegionLayout for a given IpplParticleBase, and distribute the
35// new RegionLayout to all the nodes. This uses a Field BinaryBalancer.
36template<class T, unsigned Dim, class Mesh, class CachingPolicy>
37bool
39
40// the same, but taking a uniform layout (this will not actually do anything)
41template<class T, unsigned Dim>
42bool
44
46
47#endif // PARTICLE_BALANCER_H
48
49/***************************************************************************
50 * $RCSfile: ParticleBalancer.h,v $ $Author: adelmann $
51 * $Revision: 1.1.1.1 $ $Date: 2003/01/23 07:40:28 $
52 * IPPL_VERSION_ID: $Id: ParticleBalancer.h,v 1.1.1.1 2003/01/23 07:40:28 adelmann Exp $
53 ***************************************************************************/
54
55
bool BinaryRepartition(IpplParticleBase< ParticleSpatialLayout< T, Dim, Mesh, CachingPolicy > > &, double=0.0)