Skip to content

Commit

Permalink
debug08
Browse files Browse the repository at this point in the history
  • Loading branch information
Thomas3R committed Sep 16, 2024
1 parent 1bfdd6c commit 1e38829
Show file tree
Hide file tree
Showing 4 changed files with 43 additions and 10 deletions.
1 change: 1 addition & 0 deletions src/gfnff/gdisp0.f90
Original file line number Diff line number Diff line change
Expand Up @@ -130,6 +130,7 @@ subroutine weight_references_d4(dispm, nat, atoms, wf, cn, gwvec, gwdcn)
norm = norm + gw
dnorm = dnorm + 2*wf*(dispm%cn(iref, ati) - cn(iat)) * gw
end do
if (norm.eq.0.0_wp) cycle
norm = 1.0_wp / norm
do iref = 1, dispm%nref(ati)
expw = weight_cn(wf, cn(iat), dispm%cn(iref, ati))
Expand Down
13 changes: 10 additions & 3 deletions src/gfnff/gfnff_ini2.f90
Original file line number Diff line number Diff line change
Expand Up @@ -113,10 +113,17 @@ subroutine gfnff_neigh(env,makeneighbor,natoms,at,xyz,rab,fq,f_in,f2_in,lintr, &
enddo
enddo

call neigh%get_nb(mol, rab, rtmp, mchar, 1, f_in, f2_in, param) ! nbf
write(*,*) 'neigh%numnb='
write(*,*) neigh%numnb
write(*,*) 'n='
write(*,*) mol%n
write(*,*) 'neigh%numctr='
write(*,*) neigh%numctr

call neigh%get_nb(mol, rab, rtmp, mchar, 1, f_in, f2_in, param, env) ! nbf
! neigh%nb only used for hyb states, then overwritten with nbf
call neigh%get_nb(mol, rab, rtmp, mchar, 2, f_in, f2_in, param) ! nb
call neigh%get_nb(mol, rab, rtmp, mchar, 3, f_in, f2_in, param) ! nbm
call neigh%get_nb(mol, rab, rtmp, mchar, 2, f_in, f2_in, param, env) ! nb
call neigh%get_nb(mol, rab, rtmp, mchar, 3, f_in, f2_in, param, env) ! nbm

! take the input
else
Expand Down
37 changes: 31 additions & 6 deletions src/gfnff/neighbor.f90
Original file line number Diff line number Diff line change
Expand Up @@ -104,7 +104,7 @@ subroutine init_n(self, mol, env)
end subroutine init_n


subroutine get_nb(self, mol, rab, rtmp, mchar, icase, f_in, f2_in, param)
subroutine get_nb(self, mol, rab, rtmp, mchar, icase, f_in, f2_in, param, env)
class(TNeigh), intent(inout) :: self
!> Molecular structure data
type(TMolecule), intent(in) :: mol
Expand All @@ -114,10 +114,12 @@ subroutine get_nb(self, mol, rab, rtmp, mchar, icase, f_in, f2_in, param)
integer, intent(in) :: icase
!integer, intent(inout) :: nbf(20,mol%n)
type(TGFFData), intent(in) :: param
type(TEnvironment), intent(inout) :: env
!real(wp) :: latThresh, maxNBr
real(wp) :: dist(mol%n,mol%n,self%numctr)
integer :: i,j,iTr

write(env%unit,*) 'In neigh%get_nb (1)'
dist=0.0_wp
!$omp parallel do collapse(3) default(none) shared(dist,mol,self) &
!$omp private(iTr,i,j)
Expand All @@ -129,7 +131,21 @@ subroutine get_nb(self, mol, rab, rtmp, mchar, icase, f_in, f2_in, param)
enddo
enddo
!$omp end parallel do
call fillnb(self,mol%n,mol%at,rtmp,dist,mchar,icase,f_in,f2_in,param)
write(env%unit,*) 'In neigh%get_nb (2)'
write(env%unit,*) 'checking on mol%at'
write(env%unit,*) rank(mol%at), shape(mol%at), size(mol%at)
write(env%unit,*) rank(rtmp), shape(rtmp), size(rtmp)
write(env%unit,*) rank(dist), shape(dist), size(dist)
write(env%unit,'(a)') 'f_in='
write(env%unit,'(f8.2)') f_in
write(env%unit,'(a)') 'f2_in='
write(env%unit,'(f8.2)') f2_in
write(env%unit,'(a)') 'mchar='
write(env%unit,'(10f8.2)') mchar(1:30)
write(env%unit,'(a)') 'rtmp='
write(env%unit,'(10f8.2)') rtmp(1:30)
call fillnb(self,mol%n,mol%at,rtmp,dist,mchar,icase,f_in,f2_in,param,env)
write(env%unit,*) 'In neigh%get_nb (3)'

end subroutine get_nb

Expand Down Expand Up @@ -401,24 +417,33 @@ end function id2v


! is a modified "getnb" from gfnff_ini2.f90
subroutine fillnb(self,n,at,rad,dist,mchar,icase,f,f2,param)
implicit none
type(TGFFData), intent(in) :: param
class(TNeigh), intent(inout) :: self
subroutine fillnb(self,n,at,rad,dist,mchar,icase,f,f2,param,env)
type(TNeigh), intent(inout) :: self
integer, intent(in) :: n,at(n)
real(wp), intent(in) :: rad(n*(n+1)/2)
real(wp), intent(in) :: dist(n,n,self%numctr)
real(wp), intent(in) :: mchar(n),f,f2
type(TGFFData), intent(in) :: param
type(TEnvironment), intent(inout) :: env
integer i,j,k,iTr,nn,icase,hc_crit,nnfi,nnfj,lin
integer tag(n,n,self%numctr)
real(wp) rco,fm

write(env%unit,*) 'In fillnb (1)'
if(icase.eq.1) then
if(.not. allocated(self%nbf)) then
write(env%unit,*) 'self%numnb='
write(env%unit,*) self%numnb
write(env%unit,*) 'n='
write(env%unit,*) n
write(env%unit,*) 'self%numctr='
write(env%unit,*) self%numctr
allocate(self%nbf(self%numnb,n,self%numctr),source=0)
else
self%nbf=0
endif
endif
write(*,*) 'In fillnb (2)'
if(icase.eq.2) then
if(.not. allocated(self%nb)) then
allocate(self%nb(self%numnb,n,self%numctr),source=0)
Expand Down
2 changes: 1 addition & 1 deletion test/unit/test_gfnff.f90
Original file line number Diff line number Diff line change
Expand Up @@ -776,7 +776,7 @@ subroutine test_gfnff_pbc(error)
end do

! check GFN-FF calculation on periodic system with actinide (Th)
! load molecule from molstock
! load molecule "Th_15" from molstock
call getMolecule(mol, pbc_strucs(3))
! reset energy, gradient, sigma
energy=0.0_wp
Expand Down

0 comments on commit 1e38829

Please sign in to comment.