1. 29 Aug, 2016 2 commits
  2. 28 Aug, 2016 1 commit
  3. 27 Aug, 2016 1 commit
  4. 26 Aug, 2016 4 commits
    • Matthieu Schaller's avatar
    • Matthieu Schaller's avatar
      Merge branch 'kill_drift' into 'master' · 49e93734
      Matthieu Schaller authored
      Only drift the particles that need drifting
      Here is an algorithmic speed-up. The plan is to drift only the cells that contain an active particles and the cells that have at least one neighbour with an active particle. 
       - If this condition is not met then `runner_do_drift()` just returns without performing any operation. 
       - If the condition is met, `runner_do_drift()` moves all particles (as before) from the last point in time where a drift was performed. 
      We record for each cell the last time a drift was done such that we now by how much to drift things when needed.
      Two exceptions to this rule: before reconstructing and before duping a snapshot,  we drift all particles as we need correct position information at these two stages.
      Note that I have made this an engine policy to ease the testing. Drifting all particles can be restored by setting the right flag.
      @nnrw56  could you check that the function `cell_is_drift_needed()` makes sense and fully does what it says it does ? Also could you let me know whether you also agree with the whole logic and implementation.
      See merge request !225
    • Matthieu Schaller's avatar
      Merge branch 'abort_recursion' into 'master' · 5641fa31
      Matthieu Schaller authored
      Avoid recursion in the tasks if no particle is active.
      Does exactly what it says. We don't want to go through all the cells recursively just to find the handful that need this task to act upon. 
      Big improvements when added to the `kill_drift` branch on the EAGLE_25 case. 
      See merge request !230
    • Matthieu Schaller's avatar
  5. 24 Aug, 2016 6 commits
  6. 23 Aug, 2016 10 commits
  7. 22 Aug, 2016 16 commits