mirror of
https://github.com/QuantumPackage/qp2.git
synced 2025-01-03 09:05:39 +01:00
Fixed alphalist.
This commit is contained in:
parent
f79ee5faa8
commit
0234e46e1b
@ -584,8 +584,8 @@ use bitmasks
|
|||||||
Jcfg = psi_configuration(:,:,idxI)
|
Jcfg = psi_configuration(:,:,idxI)
|
||||||
|
|
||||||
do i=1, N_int
|
do i=1, N_int
|
||||||
Isomo(i) = iand(act_bitmask(i,1),Icfg(i,1))
|
Isomo(i) = iand(act_bitmask(i,1),psi_configuration(i,1,idxI))
|
||||||
Idomo(i) = iand(act_bitmask(i,1),Icfg(i,2))
|
Idomo(i) = iand(act_bitmask(i,1),psi_configuration(i,2,idxI))
|
||||||
enddo
|
enddo
|
||||||
|
|
||||||
! find out all pq holes possible
|
! find out all pq holes possible
|
||||||
@ -638,8 +638,8 @@ use bitmasks
|
|||||||
|
|
||||||
! Now find the allowed (p,q) excitations
|
! Now find the allowed (p,q) excitations
|
||||||
do i=1, N_int
|
do i=1, N_int
|
||||||
Isomo(i) = iand(act_bitmask(i,1),Icfg(i,1))
|
Isomo(i) = iand(reunion_of_act_virt_bitmask(i,1),psi_configuration(i,1,idxI))
|
||||||
Idomo(i) = iand(act_bitmask(i,1),Icfg(i,2))
|
Idomo(i) = iand(reunion_of_act_virt_bitmask(i,2),psi_configuration(i,2,idxI))
|
||||||
Jsomo(i) = Isomo(i)
|
Jsomo(i) = Isomo(i)
|
||||||
Jdomo(i) = Idomo(i)
|
Jdomo(i) = Idomo(i)
|
||||||
enddo
|
enddo
|
||||||
@ -659,21 +659,24 @@ use bitmasks
|
|||||||
Jsomo(iint) = IBCLR(Jsomo(iint),ipos)
|
Jsomo(iint) = IBCLR(Jsomo(iint),ipos)
|
||||||
else if(holetype(i) == 2)then
|
else if(holetype(i) == 2)then
|
||||||
Jdomo(iint) = IBCLR(Jdomo(iint),ipos)
|
Jdomo(iint) = IBCLR(Jdomo(iint),ipos)
|
||||||
|
Jsomo(iint) = IBSET(Jsomo(iint),ipos)
|
||||||
endif
|
endif
|
||||||
|
|
||||||
do j = 1,nvmos
|
do j = 1,nvmos
|
||||||
qq = listvmos(j)
|
qq = listvmos(j)
|
||||||
|
if(pp.eq.qq) cycle
|
||||||
jint = shiftr(qq-1,bit_kind_shift) + 1
|
jint = shiftr(qq-1,bit_kind_shift) + 1
|
||||||
jpos = qq-shiftl((iint-1),bit_kind_shift)-1
|
jpos = qq-shiftl((iint-1),bit_kind_shift)-1
|
||||||
if(vmotype(j) == 1)then
|
if(vmotype(j) == 1)then
|
||||||
Jsomo(jint) = IBSET(Jsomo(jint),jpos)
|
Jsomo(jint) = IBSET(Jsomo(jint),jpos)
|
||||||
else if(vmotype(j) == 2)then
|
else if(vmotype(j) == 2)then
|
||||||
Jdomo(jint) = IBSET(Jdomo(jint),jpos)
|
Jdomo(jint) = IBSET(Jdomo(jint),jpos)
|
||||||
|
Jsomo(jint) = IBCLR(Jsomo(jint),jpos)
|
||||||
endif
|
endif
|
||||||
|
|
||||||
do ii=1, N_int
|
do ii=1, N_int
|
||||||
Jcfg(i,1) = Jsomo(i)
|
Jcfg(ii,1) = Jsomo(ii)
|
||||||
Jcfg(i,2) = Jdomo(i)
|
Jcfg(ii,2) = Jdomo(ii)
|
||||||
enddo
|
enddo
|
||||||
|
|
||||||
call bitstring_to_list(Jcfg,listall,nelall,N_int)
|
call bitstring_to_list(Jcfg,listall,nelall,N_int)
|
||||||
@ -685,6 +688,7 @@ use bitmasks
|
|||||||
Jsomo(jint) = IBCLR(Jsomo(jint),jpos)
|
Jsomo(jint) = IBCLR(Jsomo(jint),jpos)
|
||||||
else if(vmotype(j) == 2)then
|
else if(vmotype(j) == 2)then
|
||||||
Jdomo(jint) = IBCLR(Jdomo(jint),jpos)
|
Jdomo(jint) = IBCLR(Jdomo(jint),jpos)
|
||||||
|
Jsomo(jint) = IBSET(Jsomo(jint),jpos)
|
||||||
endif
|
endif
|
||||||
cycle
|
cycle
|
||||||
endif
|
endif
|
||||||
@ -730,12 +734,15 @@ use bitmasks
|
|||||||
Jsomo(jint) = IBCLR(Jsomo(jint),jpos)
|
Jsomo(jint) = IBCLR(Jsomo(jint),jpos)
|
||||||
else if(vmotype(j) == 2)then
|
else if(vmotype(j) == 2)then
|
||||||
Jdomo(jint) = IBCLR(Jdomo(jint),jpos)
|
Jdomo(jint) = IBCLR(Jdomo(jint),jpos)
|
||||||
|
Jsomo(jint) = IBSET(Jsomo(jint),jpos)
|
||||||
endif
|
endif
|
||||||
cycle
|
cycle
|
||||||
endif
|
endif
|
||||||
|
|
||||||
pqExistsQ = .FALSE.
|
pqExistsQ = .FALSE.
|
||||||
|
|
||||||
|
!print *, " ndiffSOMO=",ndiffSOMO, " ndiffDOMO=", ndiffDOMO, " nxordiffSOMODOMO=",nxordiffSOMODOMO, " p=",pp," q=",qq
|
||||||
|
|
||||||
if(.NOT. pqExistsQ) then
|
if(.NOT. pqExistsQ) then
|
||||||
tableUniqueAlphas(pp,qq) = .TRUE.
|
tableUniqueAlphas(pp,qq) = .TRUE.
|
||||||
endif
|
endif
|
||||||
@ -745,16 +752,18 @@ use bitmasks
|
|||||||
Jsomo(jint) = IBCLR(Jsomo(jint),jpos)
|
Jsomo(jint) = IBCLR(Jsomo(jint),jpos)
|
||||||
else if(vmotype(j) == 2)then
|
else if(vmotype(j) == 2)then
|
||||||
Jdomo(jint) = IBCLR(Jdomo(jint),jpos)
|
Jdomo(jint) = IBCLR(Jdomo(jint),jpos)
|
||||||
|
Jsomo(jint) = IBSET(Jsomo(jint),jpos)
|
||||||
endif
|
endif
|
||||||
end do
|
end do
|
||||||
if(holetype(i) == 1)then
|
if(holetype(i) == 1)then
|
||||||
Jsomo(iint) = IBSET(Jsomo(iint),ipos)
|
Jsomo(iint) = IBSET(Jsomo(iint),ipos)
|
||||||
else if(holetype(i) == 2)then
|
else if(holetype(i) == 2)then
|
||||||
Jdomo(iint) = IBSET(Jdomo(iint),ipos)
|
Jdomo(iint) = IBSET(Jdomo(iint),ipos)
|
||||||
|
Jsomo(iint) = IBCLR(Jsomo(iint),ipos)
|
||||||
endif
|
endif
|
||||||
end do
|
end do
|
||||||
|
|
||||||
!print *,tableUniqueAlphas(:,:)
|
print *,tableUniqueAlphas(:,:)
|
||||||
|
|
||||||
! prune list of alphas
|
! prune list of alphas
|
||||||
do i=1, N_int
|
do i=1, N_int
|
||||||
@ -763,6 +772,7 @@ use bitmasks
|
|||||||
Jsomo(i) = Isomo(i)
|
Jsomo(i) = Isomo(i)
|
||||||
Jdomo(i) = Idomo(i)
|
Jdomo(i) = Idomo(i)
|
||||||
enddo
|
enddo
|
||||||
|
print *, " Isomo=",Isomo(1), " Idomo=", Idomo(1)
|
||||||
|
|
||||||
NalphaIcfg = 0
|
NalphaIcfg = 0
|
||||||
do i = 1, nholes
|
do i = 1, nholes
|
||||||
@ -791,21 +801,22 @@ use bitmasks
|
|||||||
Jsomo(jint) = IBCLR(Jsomo(jint),jpos)
|
Jsomo(jint) = IBCLR(Jsomo(jint),jpos)
|
||||||
else if(vmotype(j) == 2)then
|
else if(vmotype(j) == 2)then
|
||||||
Jdomo(jint) = IBCLR(Jdomo(jint),jpos)
|
Jdomo(jint) = IBCLR(Jdomo(jint),jpos)
|
||||||
|
Jsomo(jint) = IBSET(Jsomo(jint),jpos)
|
||||||
endif
|
endif
|
||||||
cycle
|
cycle
|
||||||
endif
|
endif
|
||||||
if(tableUniqueAlphas(pp,qq)) then
|
if(tableUniqueAlphas(pp,qq)) then
|
||||||
|
|
||||||
do ii=1, N_int
|
do ii=1, N_int
|
||||||
Jcfg(i,1) = Jsomo(i)
|
Jcfg(ii,1) = Jsomo(ii)
|
||||||
Jcfg(i,2) = Jdomo(i)
|
Jcfg(ii,2) = Jdomo(ii)
|
||||||
enddo
|
enddo
|
||||||
|
|
||||||
call bitstring_to_list(Jcfg,listall,nelall,N_int)
|
call bitstring_to_list(Jcfg,listall,nelall,N_int)
|
||||||
Nsomo_J = nelall
|
Nsomo_J = nelall
|
||||||
|
|
||||||
if(Nsomo_J .ge. NSOMOMin) then
|
if(Nsomo_J .ge. NSOMOMin) then
|
||||||
!print *," Idx = ",idxI, "p = ",pp, " q = ",qq," Jsomo=",Jsomo(1), " Jdomo=",IOR(Jdomo(1),ISHFT(1_8,n_core_orb)-1)
|
print *," Idx = ",idxI, "p = ",pp, " q = ",qq," Jsomo=",Jsomo(1), " Jdomo=",IOR(Jdomo(1),ISHFT(1_8,n_core_orb)-1)
|
||||||
NalphaIcfg += 1
|
NalphaIcfg += 1
|
||||||
alphasIcfg_list(:,1,idxI,NalphaIcfg) = Jcfg(:,1)
|
alphasIcfg_list(:,1,idxI,NalphaIcfg) = Jcfg(:,1)
|
||||||
if(n_core_orb .le. 63)then
|
if(n_core_orb .le. 63)then
|
||||||
@ -843,8 +854,8 @@ use bitmasks
|
|||||||
! Check if this Icfg has been previously generated as a mono
|
! Check if this Icfg has been previously generated as a mono
|
||||||
ppExistsQ = .False.
|
ppExistsQ = .False.
|
||||||
do i=1, N_int
|
do i=1, N_int
|
||||||
Isomo(i) = iand(act_bitmask(i,1),Icfg(i,1))
|
Isomo(i) = iand(act_bitmask(i,1),psi_configuration(i,1,idxI))
|
||||||
Idomo(i) = iand(act_bitmask(i,1),Icfg(i,2))
|
Idomo(i) = iand(act_bitmask(i,1),psi_configuration(i,2,idxI))
|
||||||
enddo
|
enddo
|
||||||
|
|
||||||
kstart = max(1,cfg_seniority_index(max(NSOMOMin,Nsomo_I-2)))
|
kstart = max(1,cfg_seniority_index(max(NSOMOMin,Nsomo_I-2)))
|
||||||
@ -1044,8 +1055,8 @@ END_PROVIDER
|
|||||||
endif
|
endif
|
||||||
|
|
||||||
do ii=1, N_int
|
do ii=1, N_int
|
||||||
Jcfg(i,1) = Jsomo(i)
|
Jcfg(ii,1) = Jsomo(ii)
|
||||||
Jcfg(i,2) = Jdomo(i)
|
Jcfg(ii,2) = Jdomo(ii)
|
||||||
enddo
|
enddo
|
||||||
|
|
||||||
call bitstring_to_list(Jcfg,listall,nelall,N_int)
|
call bitstring_to_list(Jcfg,listall,nelall,N_int)
|
||||||
|
Loading…
Reference in New Issue
Block a user