Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
real(kind=dp), | intent(in) | :: | DetSgn(lenof_sign) | |||
integer, | intent(in) | :: | DetPosition |
function getRDMCorrectionTerm(DetSgn, DetPosition) result(rdmC)
! get (fmu - 1) c_mu^2 for a single mu
implicit none
real(dp), intent(in) :: DetSgn(lenof_sign)
integer, intent(in) :: DetPosition
real(dp) :: rdmC
integer :: run, pairRun
rdmC = 0.0_dp
do run = 1, inum_runs, 2
if (run + 1 <= inum_runs) then
pairRun = run + 1
else
pairRun = run
end if
rdmC = rdmC + (avFFunc(DetSgn, DetPosition) - 1) * DetSgn(run) * DetSgn(pairRun)
end do
end function getRDMCorrectionTerm