| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| integer, | intent(in) | :: | nBasisFrz | |||
| integer, | intent(in) | :: | iNum |
SUBROUTINE SwapOneEPropInts(nBasisFrz, iNum) ! IN: iNum is the number of perturbation operator used in the calculation ! During freezing, we need to know the OneEPropInts 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 integer, intent(in) :: nBasisFrz, iNum integer :: iSize, ierr character(*), parameter :: t_r = 'SwapOneEPropInts' Deallocate(OneEPropInts) call LogMemDealloc(t_r, tagOneEPropInts) NULLIFY (OneEPropInts) allocate(OneEPropInts(nBasisFrz, nBasisFrz, iNum), STAT=ierr) iSize = nBasisFrz * nBasisFrz * iNum call LogMemAlloc('OneEPropInts', iSize, HElement_t_size * 8, t_r, tagOneEPropInts) OneEPropInts => OneEPropInts2 NULLIFY (OneEPropInts2) END SUBROUTINE SwapOneEPropInts