SwapTMat Subroutine

public subroutine SwapTMat()

Arguments

None

Contents

Source Code


Source Code

    SUBROUTINE SwapTMat()
        ! In:
        !    nBasis: the number of active orbitals post-freezing.
        !    NHG: the number of orbitals used initially (pre-freezing).
        !    GG: GG(I) is the new (post-freezing) index of the old
        !        (pre-freezing) orbital I.
        ! During freezing, we need to know the TMat arrays both pre- and
        ! post-freezing.  Once freezing is done, clear all the pre-freezing
        ! arrays and point them to the post-freezing arrays, so the code
        ! referencing pre-freezing arrays can be used post-freezing.
        IMPLICIT NONE
        character(*), parameter :: this_routine = 'SwapTMat'

        ! Deallocate TMAT & reallocate with right size
        CALL DestroyTMAT(.false.)
        TMAT2D => TMAT2D2
        NULLIFY (TMAT2D2)
    END SUBROUTINE SwapTMat