|
IPPL (Independent Parallel Particle Layer)
IPPL
|
#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 9 of file LoadBalancer.hpp.
|
private |
Definition at line 10 of file LoadBalancer.hpp.
|
private |
Definition at line 11 of file LoadBalancer.hpp.
|
inline |
|
inline |
Definition at line 33 of file LoadBalancer.hpp.
|
inline |
Definition at line 111 of file LoadBalancer.hpp.
References ippl::Comm, loadbalancefreq_m, loadbalancethreshold_m, pc_m, and TestName.
|
inline |
Definition at line 41 of file LoadBalancer.hpp.
References E_m.
Referenced by LoadBalancer().
|
inline |
Definition at line 50 of file LoadBalancer.hpp.
References fs_m.
|
inline |
Definition at line 35 of file LoadBalancer.hpp.
References loadbalancethreshold_m.
|
inline |
Definition at line 47 of file LoadBalancer.hpp.
References pc_m.
Definition at line 44 of file LoadBalancer.hpp.
References phi_m.
Referenced by LoadBalancer().
Definition at line 38 of file LoadBalancer.hpp.
References rho_m.
Referenced by LoadBalancer().
|
inline |
Definition at line 79 of file LoadBalancer.hpp.
|
inline |
Definition at line 83 of file LoadBalancer.hpp.
References Dim, fs_m, std::get(), orb, pc_m, rho_m, and updateLayout().
|
inline |
Definition at line 42 of file LoadBalancer.hpp.
References E_m.
|
inline |
Definition at line 51 of file LoadBalancer.hpp.
References fs_m.
|
inline |
Definition at line 36 of file LoadBalancer.hpp.
References loadbalancethreshold_m.
|
inline |
Definition at line 48 of file LoadBalancer.hpp.
References pc_m.
|
inline |
Definition at line 45 of file LoadBalancer.hpp.
References phi_m.
|
inline |
Definition at line 39 of file LoadBalancer.hpp.
References rho_m.
|
inline |
Definition at line 53 of file LoadBalancer.hpp.
References fs_m, IpplTimings::getTimer(), pc_m, phi_m, IpplTimings::startTimer(), and IpplTimings::stopTimer().
Referenced by repartition().
Definition at line 16 of file LoadBalancer.hpp.
Referenced by getE(), LoadBalancer(), and setE().
|
private |
Definition at line 19 of file LoadBalancer.hpp.
Referenced by getFieldSolver(), LoadBalancer(), repartition(), setFieldSolver(), and updateLayout().
|
private |
Definition at line 20 of file LoadBalancer.hpp.
Referenced by balance().
|
private |
Definition at line 14 of file LoadBalancer.hpp.
Referenced by balance(), getLoadBalanceThreshold(), LoadBalancer(), and setLoadBalanceThreshold().
Definition at line 21 of file LoadBalancer.hpp.
Referenced by initializeORB(), and repartition().
|
private |
Definition at line 18 of file LoadBalancer.hpp.
Referenced by balance(), getParticleContainer(), LoadBalancer(), repartition(), setParticleContainer(), and updateLayout().
Definition at line 17 of file LoadBalancer.hpp.
Referenced by getPhi(), LoadBalancer(), setPhi(), and updateLayout().
Definition at line 15 of file LoadBalancer.hpp.
Referenced by getRho(), initializeORB(), LoadBalancer(), repartition(), and setRho().