Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
integer | :: | nspawn | ||||
real(kind=dp) | :: | prefactor |
subroutine merge_spawn(nspawn, prefactor)
use real_time_data, only: nspawnMax
implicit none
integer :: nspawn
real(dp) :: prefactor
! truncate the number of spawns from a single determinant
! for now, use as a threshold a multiple of the average population
! for a full SpawnVec
if (nspawn > nspawnMax) then
prefactor = nspawn / real(nspawnMax, dp)
nspawn = nspawnMax
else
prefactor = 1.0_dp
end if
! the prefactor is used to unbias therefor
end subroutine merge_spawn