| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| real(kind=dp), | intent(in) | :: | fmu |
function dressedFactor(fmu) result(fmup) implicit none real(dp), intent(in) :: fmu real(dp) :: fmup #ifdef CMPLX_ routine_name("dressedFactor") call stop_all(this_routine, "not implemented for complex") unused_var(fmu) fmup = 0._dp #else real(dp) :: eCorr, e0Inits, enOffset if (tInitsRDMRef .and. tSetupInitsEst .and. sum(abs(proje_iter)) > eps) then ! initiator-only reference energy e0Inits = inits_estimates%energy_num(1) / inits_estimates%norm(1) ! correlation energy eCorr = sum(proje_iter) / inum_runs + Hii - e0Inits enOffset = (Hii - e0Inits) / eCorr fmup = enOffset + fmu * (inum_runs * eCorr) / (sum(proje_iter)) else fmup = fmu end if #endif end function dressedFactor