Binned field solver is not implemented yet
Problem Summary
This issue follows a discussion in !29 (merged).
Now that energy/position/velocity/... binning is available in OPAL-X, we have to also implement the field solver that actually implements energy binning.
Solution
I see two possible ways to do that:
- The simple solution would be a loop inside
computeSelfFields()that iterates over the bins, calls ascatterper bin, calls the solver, adds to the tempEfield and later gathers onto the particles. The scatter call per bin looks like this:scatter(*q, *rho, *R, this->bins_m->getBinIterationPolicy(binIndex), this->bins_m->getHashArray()); - The more involved solution would be to create a
BinnedSolverclass that has a reference ot the binning structure, the solver and the "transformation rule(s)". It would probably be a clean solution, but this class would also need to handle thescatterPerBincalls, which differs from IPPLs "calling logic" (separating the scatter from the solve and callingscatter()\rightarrowsolver()\rightarrowgather()in the same function).