mirror of
https://github.com/LCPQ/quantum_package
synced 2025-01-09 20:48:47 +01:00
Optims davidson
This commit is contained in:
parent
eccf1ca93b
commit
b4395468a1
@ -90,7 +90,7 @@ subroutine H_u_0_nstates(v_0,u_0,H_jj,n,keys_tmp,Nint,N_st,sze_8)
|
|||||||
enddo
|
enddo
|
||||||
!$OMP END DO
|
!$OMP END DO
|
||||||
|
|
||||||
!$OMP DO SCHEDULE(dynamic)
|
!$OMP DO SCHEDULE(guided)
|
||||||
do sh=1,shortcut(0,2)
|
do sh=1,shortcut(0,2)
|
||||||
do i=shortcut(sh,2),shortcut(sh+1,2)-1
|
do i=shortcut(sh,2),shortcut(sh+1,2)-1
|
||||||
org_i = sort_idx(i,2)
|
org_i = sort_idx(i,2)
|
||||||
@ -123,7 +123,7 @@ subroutine H_u_0_nstates(v_0,u_0,H_jj,n,keys_tmp,Nint,N_st,sze_8)
|
|||||||
enddo
|
enddo
|
||||||
!$OMP END DO
|
!$OMP END DO
|
||||||
|
|
||||||
!$OMP DO SCHEDULE(dynamic)
|
!$OMP DO SCHEDULE(guided)
|
||||||
do sh=1,shortcut(0,1)
|
do sh=1,shortcut(0,1)
|
||||||
do sh2=1,shortcut(0,1)
|
do sh2=1,shortcut(0,1)
|
||||||
if (sh==sh2) cycle
|
if (sh==sh2) cycle
|
||||||
@ -235,13 +235,12 @@ subroutine H_u_0_nstates(v_0,u_0,H_jj,n,keys_tmp,Nint,N_st,sze_8)
|
|||||||
enddo
|
enddo
|
||||||
!$OMP END DO
|
!$OMP END DO
|
||||||
|
|
||||||
!$OMP CRITICAL (u0Hu0)
|
|
||||||
do istate=1,N_st
|
do istate=1,N_st
|
||||||
do i=1,n
|
do i=1,n
|
||||||
|
!$OMP ATOMIC
|
||||||
v_0(i,istate) = v_0(i,istate) + vt(istate,i)
|
v_0(i,istate) = v_0(i,istate) + vt(istate,i)
|
||||||
enddo
|
enddo
|
||||||
enddo
|
enddo
|
||||||
!$OMP END CRITICAL (u0Hu0)
|
|
||||||
|
|
||||||
deallocate(vt,st)
|
deallocate(vt,st)
|
||||||
!$OMP END PARALLEL
|
!$OMP END PARALLEL
|
||||||
@ -444,7 +443,7 @@ subroutine H_S2_u_0_nstates(v_0,s_0,u_0,H_jj,S2_jj,n,keys_tmp,Nint,N_st,sze_8)
|
|||||||
enddo
|
enddo
|
||||||
!$OMP END DO
|
!$OMP END DO
|
||||||
|
|
||||||
!$OMP DO SCHEDULE(dynamic)
|
!$OMP DO SCHEDULE(guided)
|
||||||
do sh=1,shortcut(0,2)
|
do sh=1,shortcut(0,2)
|
||||||
do i=shortcut(sh,2),shortcut(sh+1,2)-1
|
do i=shortcut(sh,2),shortcut(sh+1,2)-1
|
||||||
org_i = sort_idx(i,2)
|
org_i = sort_idx(i,2)
|
||||||
@ -477,7 +476,7 @@ subroutine H_S2_u_0_nstates(v_0,s_0,u_0,H_jj,S2_jj,n,keys_tmp,Nint,N_st,sze_8)
|
|||||||
enddo
|
enddo
|
||||||
!$OMP END DO
|
!$OMP END DO
|
||||||
|
|
||||||
!$OMP DO SCHEDULE(dynamic)
|
!$OMP DO SCHEDULE(guided)
|
||||||
do sh=1,shortcut(0,1)
|
do sh=1,shortcut(0,1)
|
||||||
do sh2=1,shortcut(0,1)
|
do sh2=1,shortcut(0,1)
|
||||||
if (sh==sh2) cycle
|
if (sh==sh2) cycle
|
||||||
@ -588,14 +587,14 @@ subroutine H_S2_u_0_nstates(v_0,s_0,u_0,H_jj,S2_jj,n,keys_tmp,Nint,N_st,sze_8)
|
|||||||
enddo
|
enddo
|
||||||
!$OMP END DO
|
!$OMP END DO
|
||||||
|
|
||||||
!$OMP CRITICAL (u0Hu0)
|
|
||||||
do istate=1,N_st
|
do istate=1,N_st
|
||||||
do i=1,n
|
do i=1,n
|
||||||
|
!$OMP ATOMIC
|
||||||
v_0(i,istate) = v_0(i,istate) + vt(istate,i)
|
v_0(i,istate) = v_0(i,istate) + vt(istate,i)
|
||||||
|
!$OMP ATOMIC
|
||||||
s_0(i,istate) = s_0(i,istate) + st(istate,i)
|
s_0(i,istate) = s_0(i,istate) + st(istate,i)
|
||||||
enddo
|
enddo
|
||||||
enddo
|
enddo
|
||||||
!$OMP END CRITICAL (u0Hu0)
|
|
||||||
|
|
||||||
deallocate(vt,st)
|
deallocate(vt,st)
|
||||||
!$OMP END PARALLEL
|
!$OMP END PARALLEL
|
||||||
|
Loading…
Reference in New Issue
Block a user