dealloc_real_time_memory Subroutine

public subroutine dealloc_real_time_memory()

Arguments

None

Contents


Source Code

    subroutine dealloc_real_time_memory
        use replica_data, only: clean_iter_data
        implicit none

        integer :: ierr
        character(*), parameter :: this_routine = "dealloc_real_time_memory"

        if (numSnapshotOrbs > 0) deallocate(snapShotOrbs, stat=ierr)
        if (allocated(numCycShiftExcess)) deallocate(numCycShiftExcess, stat=ierr)
        deallocate(DiagVec, stat=ierr)
        call LogMemDealloc(this_routine, DiagVecTag)
        call clean_iter_data(second_spawn_iter_data)
        deallocate(shift_damping, stat=ierr)
        deallocate(temp_freeslot, stat=ierr)
        deallocate(current_overlap, stat=ierr)
        deallocate(gs_energy, stat=ierr)
        deallocate(dyn_norm_red, stat=ierr)
        deallocate(dyn_norm_psi, stat=ierr)
        deallocate(pert_norm, stat=ierr)
        deallocate(gf_overlap, stat=ierr)
        deallocate(TotPartsPeak, stat=ierr)
        deallocate(temp_det_list, stat=ierr)
        call clean_overlap_states()
        call clear_pops_pert(pops_pert)
        call clear_pops_pert(overlap_pert)

        if (allocated(tauCache)) deallocate(tauCache)

    end subroutine dealloc_real_time_memory