vnmult saved in restart file but not restored on restart

Issue #63 resolved
David Dickinson created an issue

In the run_parameters code handling setting the time step from the restart file when delt_option = 'check_restart' we also try to restore the vnmult values used by collisions. Unfortunately we don't actually do anything with these values currently. We should ensure that collisions:vnmult is set from the data that's read in.

Comments (5)

  1. David Dickinson reporter

    There could be some other small bugs associated with this. Currently we set vnmult to 1 by default and this only becomes different from 1 if we call get_verr and vary_vnew is active (and we think increasing the collision frequency will help with errors). If we do set vnmult to something other than 1 we will then reset this to 0 during a time step change (due to vnmult=0 in finish_collisions) before setting it back to 1 in our usual call to init_lorentz/init_ediffuse as a part of re-initialising collisions. This means our effective collision frequency will drop back to the input value value in the period between a timestep change and the next call to get_verr.

  2. David Dickinson reporter

    PR #530 should hopefully fix the above issues.

    In making this fix I realised that when we change vnmult during the time advance (through calls to get_verr) we are effectively modifying the collision operator. Strictly we might expect to have to recalculate the response matrices to account for this change in our implicit solve. It might be worth exploring the potential error that this introduces.

  3. Log in to comment