|
OPALX (Object Oriented Parallel Accelerator Library for Exascal) MINIorX
OPALX
|
#include <LoadBalancer.hpp>
Public Member Functions | |
| LoadBalancer (double lbs, std::shared_ptr< FieldContainer< T, Dim > > &fc, std::shared_ptr< ParticleContainer< T, Dim > > &pc, std::shared_ptr< FieldSolver_t > &fs) | |
| ~LoadBalancer () | |
| double | getLoadBalanceThreshold () const |
| void | setLoadBalanceThreshold (double threshold) |
| Field_t< Dim > * | getRho () const |
| void | setRho (Field_t< Dim > *rho) |
| VField_t< T, Dim > * | getE () const |
| void | setE (VField_t< T, Dim > *E) |
| Field< T, Dim > * | getPhi () |
| void | setPhi (Field< T, Dim > *phi) |
| std::shared_ptr< ParticleContainer< T, Dim > > | getParticleContainer () const |
| void | setParticleContainer (std::shared_ptr< ParticleContainer< T, Dim > > pc) |
| std::shared_ptr< FieldSolver_t > | getFieldSolver () const |
| void | setFieldSolver (std::shared_ptr< FieldSolver_t > fs) |
| void | updateLayout (ippl::FieldLayout< Dim > *fl, ippl::UniformCartesian< T, Dim > *mesh, bool &isFirstRepartition) |
| void | initializeORB (ippl::FieldLayout< Dim > *fl, ippl::UniformCartesian< T, Dim > *mesh) |
| void | repartition (ippl::FieldLayout< Dim > *fl, ippl::UniformCartesian< T, Dim > *mesh, bool &isFirstRepartition) |
| bool | balance (size_type totalP, const unsigned int nstep) |
Private Types | |
| using | Base = ippl::ParticleBase<ippl::ParticleSpatialLayout<T, Dim>> |
| using | FieldSolver_t = ippl::FieldSolverBase<T, Dim> |
Private Attributes | |
| double | loadbalancethreshold_m |
| Field_t< Dim > * | rho_m |
| VField_t< T, Dim > * | E_m |
| Field< T, Dim > * | phi_m |
| std::shared_ptr< ParticleContainer< T, Dim > > | pc_m |
| std::shared_ptr< FieldSolver_t > | fs_m |
| unsigned int | loadbalancefreq_m |
| ORB< T, Dim > | orb |
Definition at line 12 of file LoadBalancer.hpp.
|
private |
Definition at line 13 of file LoadBalancer.hpp.
|
private |
Definition at line 14 of file LoadBalancer.hpp.
|
inline |
|
inline |
Definition at line 38 of file LoadBalancer.hpp.
|
inline |
Definition at line 145 of file LoadBalancer.hpp.
References loadbalancethreshold_m, and pc_m.
|
inline |
Definition at line 55 of file LoadBalancer.hpp.
References E_m.
Referenced by LoadBalancer().
|
inline |
Definition at line 76 of file LoadBalancer.hpp.
References fs_m.
|
inline |
Definition at line 41 of file LoadBalancer.hpp.
References loadbalancethreshold_m.
|
inline |
Definition at line 69 of file LoadBalancer.hpp.
References pc_m.
Definition at line 62 of file LoadBalancer.hpp.
References phi_m.
Referenced by LoadBalancer().
Definition at line 48 of file LoadBalancer.hpp.
References rho_m.
Referenced by LoadBalancer().
|
inline |
Definition at line 110 of file LoadBalancer.hpp.
|
inline |
Definition at line 114 of file LoadBalancer.hpp.
References Dim, fs_m, orb, pc_m, rho_m, and updateLayout().
|
inline |
Definition at line 58 of file LoadBalancer.hpp.
References E_m.
|
inline |
Definition at line 79 of file LoadBalancer.hpp.
References fs_m.
|
inline |
Definition at line 44 of file LoadBalancer.hpp.
References loadbalancethreshold_m.
|
inline |
Definition at line 72 of file LoadBalancer.hpp.
References pc_m.
|
inline |
Definition at line 65 of file LoadBalancer.hpp.
References phi_m.
|
inline |
Definition at line 51 of file LoadBalancer.hpp.
References rho_m.
|
inline |
Definition at line 83 of file LoadBalancer.hpp.
References fs_m, pc_m, and phi_m.
Referenced by repartition().
Definition at line 19 of file LoadBalancer.hpp.
Referenced by getE(), LoadBalancer(), and setE().
|
private |
Definition at line 22 of file LoadBalancer.hpp.
Referenced by getFieldSolver(), LoadBalancer(), repartition(), setFieldSolver(), and updateLayout().
|
private |
Definition at line 23 of file LoadBalancer.hpp.
|
private |
Definition at line 17 of file LoadBalancer.hpp.
Referenced by balance(), getLoadBalanceThreshold(), LoadBalancer(), and setLoadBalanceThreshold().
Definition at line 24 of file LoadBalancer.hpp.
Referenced by initializeORB(), and repartition().
|
private |
Definition at line 21 of file LoadBalancer.hpp.
Referenced by balance(), getParticleContainer(), LoadBalancer(), repartition(), setParticleContainer(), and updateLayout().
Definition at line 20 of file LoadBalancer.hpp.
Referenced by getPhi(), LoadBalancer(), setPhi(), and updateLayout().
Definition at line 18 of file LoadBalancer.hpp.
Referenced by getRho(), initializeORB(), LoadBalancer(), repartition(), and setRho().