FreeDavidsonCalc Subroutine

public subroutine FreeDavidsonCalc(this)

Arguments

Type IntentOptional Attributes Name
type(DavidsonCalcType), intent(inout) :: this

Contents

Source Code


Source Code

    subroutine FreeDavidsonCalc(this)
        use hamiltonian_linalg, only: DestroyHamiltonianCalc
        type(DavidsonCalcType), intent(inout) :: this
        ! destroy the super type instance
        call DestroyHamiltonianCalc(this%super)
        ! we are now done with these arrays
        safe_free(this%multiplied_basis_vectors)
        safe_free(this%residual)
        safe_free(this%eigenvector_proj)
        safe_free(this%temp_in)
        safe_free(this%temp_out)
        ! but keep the davidson eigenvector
    end subroutine FreeDavidsonCalc