subroutine setup_single_perturbation(pos, orbital, type)
implicit none
integer, intent(in) :: pos, orbital, type
if (type == 1) then
allocate(pops_pert(pos)%crtn_orbs(1))
allocate(overlap_pert(pos)%crtn_orbs(1))
overlap_pert(pos)%ncreate = 1
pops_pert(pos)%ncreate = 1
pops_pert(pos)%crtn_orbs(1) = orbital
overlap_pert(pos)%crtn_orbs(1) = orbital
call init_perturbation_creation(overlap_pert(pos))
call init_perturbation_creation(pops_pert(pos))
else
allocate(pops_pert(pos)%ann_orbs(1))
allocate(overlap_pert(pos)%ann_orbs(1))
overlap_pert(pos)%nannihilate = 1
pops_pert(pos)%nannihilate = 1
pops_pert(pos)%ann_orbs(1) = orbital
overlap_pert(pos)%ann_orbs(1) = orbital
call init_perturbation_annihilation(overlap_pert(pos))
call init_perturbation_annihilation(pops_pert(pos))
end if
end subroutine setup_single_perturbation