subroutine reload_current_dets() ! routine to reload the saved y(n) CurrentDets array for the final ! y(n) + k/2 combination to move to the next time step y(n+1) ! have also to think about the death-step and annihilation step ! influences.. maybe have to write new death/born routines to split ! that from the spawned list creation.. character(*), parameter :: this_routine = "reload_current_dets" ! copy the list WalkVecDets(:, 1:temp_totWalkers) = temp_det_list(:, 1:temp_totWalkers) ! and point to it CurrentDets => WalkVecDets ! also have to reset the number of determinants to the original ! value?! TotWalkers = temp_totWalkers ! and the hash ! cant just copy the hash-table like that have to associate all ! entries correctly ! here i 'just' have to reassign the original HashIndex with the ! stored CurrentDets list! call clear_hash_table(HashIndex) call fill_in_hash_table(HashIndex, nWalkerHashes, CurrentDets, & int(TotWalkers), .true.) ! for correct load Balancin i also have to reset the the freeslot var. ! here i have to reset the freeslot values to the values after the ! first spawn loop, as the empty entries get determined there! ! and i only want to do an additional annihilation step to combine ! y(n) + k2 ! also reload the positions of empty slots in the ensemble iStartFreeSlot = 1 iEndFreeSlot = temp_iendfreeslot FreeSlot = temp_freeslot call reset_tot_parts() end subroutine reload_current_dets