def METHOD_NAME(self, inputs, fixed_radius_search_hash_table=None):
    """computes 1 simulation timestep
    inputs: list or tuple with (pos,vel,feats,box,box_feats)
      pos and vel are the positions and velocities of the fluid particles.
      feats is reserved for passing additional features, use None here.
      box are the positions of the static particles and box_feats are the
      normals of the static particles.
    """
    pos, vel, feats, box, box_feats = inputs
    pos2, vel2 = self.integrate_pos_vel(pos, vel)
    pos_correction = self.compute_correction(
        pos2, vel2, feats, box, box_feats, fixed_radius_search_hash_table)
    pos2_corrected, vel2_corrected = self.compute_new_pos_vel(
        pos, vel, pos2, vel2, pos_correction)
    return pos2_corrected, vel2_corrected