|
OPALX (Object Oriented Parallel Accelerator Library for Exascal) master (dc2a29eed580)
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) |
Private Types | |
| using | Base = ippl::ParticleBase< ippl::ParticleSpatialLayout< T, Dim >, Kokkos::DefaultExecutionSpace::memory_space > |
| 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 15 of file LoadBalancer.hpp.
|
inline |
Definition at line 28 of file LoadBalancer.hpp.
|
inline |
Definition at line 38 of file LoadBalancer.hpp.
|
inline |
Definition at line 119 of file LoadBalancer.hpp.
References LoadBalancer< T, Dim >::loadbalancethreshold_m, and LoadBalancer< T, Dim >::pc_m.
|
inline |
Definition at line 46 of file LoadBalancer.hpp.
References LoadBalancer< T, Dim >::E_m.
|
inline |
Definition at line 55 of file LoadBalancer.hpp.
References LoadBalancer< T, Dim >::fs_m.
|
inline |
Definition at line 40 of file LoadBalancer.hpp.
References LoadBalancer< T, Dim >::loadbalancethreshold_m.
|
inline |
Definition at line 52 of file LoadBalancer.hpp.
References LoadBalancer< T, Dim >::pc_m.
Definition at line 49 of file LoadBalancer.hpp.
References LoadBalancer< T, Dim >::phi_m.
|
inline |
Definition at line 43 of file LoadBalancer.hpp.
References LoadBalancer< T, Dim >::rho_m.
|
inline |
Definition at line 85 of file LoadBalancer.hpp.
References LoadBalancer< T, Dim >::orb, and LoadBalancer< T, Dim >::rho_m.
|
inline |
Definition at line 89 of file LoadBalancer.hpp.
References Dim, LoadBalancer< T, Dim >::fs_m, LoadBalancer< T, Dim >::orb, LoadBalancer< T, Dim >::pc_m, LoadBalancer< T, Dim >::rho_m, and LoadBalancer< T, Dim >::updateLayout().

|
inline |
Definition at line 47 of file LoadBalancer.hpp.
References LoadBalancer< T, Dim >::E_m.
|
inline |
Definition at line 56 of file LoadBalancer.hpp.
References LoadBalancer< T, Dim >::fs_m.
|
inline |
Definition at line 41 of file LoadBalancer.hpp.
References LoadBalancer< T, Dim >::loadbalancethreshold_m.
|
inline |
Definition at line 53 of file LoadBalancer.hpp.
References LoadBalancer< T, Dim >::pc_m.
|
inline |
Definition at line 50 of file LoadBalancer.hpp.
References LoadBalancer< T, Dim >::phi_m.
|
inline |
Definition at line 44 of file LoadBalancer.hpp.
References LoadBalancer< T, Dim >::rho_m.
|
inline |
Definition at line 58 of file LoadBalancer.hpp.
References LoadBalancer< T, Dim >::fs_m, LoadBalancer< T, Dim >::pc_m, and LoadBalancer< T, Dim >::phi_m.
Referenced by LoadBalancer< T, Dim >::repartition().
Definition at line 20 of file LoadBalancer.hpp.
Referenced by LoadBalancer< T, Dim >::getE(), and LoadBalancer< T, Dim >::setE().
|
private |
Definition at line 23 of file LoadBalancer.hpp.
Referenced by LoadBalancer< T, Dim >::getFieldSolver(), LoadBalancer< T, Dim >::repartition(), LoadBalancer< T, Dim >::setFieldSolver(), and LoadBalancer< T, Dim >::updateLayout().
|
private |
Definition at line 24 of file LoadBalancer.hpp.
|
private |
Definition at line 18 of file LoadBalancer.hpp.
Referenced by LoadBalancer< T, Dim >::balance(), LoadBalancer< T, Dim >::getLoadBalanceThreshold(), and LoadBalancer< T, Dim >::setLoadBalanceThreshold().
Definition at line 25 of file LoadBalancer.hpp.
Referenced by LoadBalancer< T, Dim >::initializeORB(), and LoadBalancer< T, Dim >::repartition().
|
private |
Definition at line 22 of file LoadBalancer.hpp.
Referenced by LoadBalancer< T, Dim >::balance(), LoadBalancer< T, Dim >::getParticleContainer(), LoadBalancer< T, Dim >::repartition(), LoadBalancer< T, Dim >::setParticleContainer(), and LoadBalancer< T, Dim >::updateLayout().
Definition at line 21 of file LoadBalancer.hpp.
Referenced by LoadBalancer< T, Dim >::getPhi(), LoadBalancer< T, Dim >::setPhi(), and LoadBalancer< T, Dim >::updateLayout().
Definition at line 19 of file LoadBalancer.hpp.
Referenced by LoadBalancer< T, Dim >::getRho(), LoadBalancer< T, Dim >::initializeORB(), LoadBalancer< T, Dim >::repartition(), and LoadBalancer< T, Dim >::setRho().