do_kick zeroes some variables
In the case where the code is run with a fixed dt, the 2 kicks are replaced by a single dokick() function that performs both operations. This function zeores the density and other variables in preparation for the nex call to the interaction functions. This is a problem since the i/o is done after the call do do_kick() and before the interactions. Many variables are zeored in the output for that reason.