diff --git a/src/error.f b/src/error.f index 9813944..b8c391f 100644 --- a/src/error.f +++ b/src/error.f @@ -62,7 +62,7 @@ !-------------------------------------------------------------------------------------- - subroutine nnweight(wterr) + subroutine nnweight(wterr,pat_out) implicit none ! Evaluate system specific weighting for 1 pattern. @@ -72,11 +72,11 @@ !include 'JTmod.incl' - double precision wterr(maxpout)!,pat_out(maxpout) + double precision wterr(maxpout),pat_out(maxpout) !double precision eref(nstat) !double precision wten(3) - + integer i !integer j !wten=1 @@ -93,6 +93,14 @@ ! weighting of energies ! wterr(j)=wdamp(pat_out(j)-eref(j))*wterr(j)*wten(j) !enddo + do i=1,size(wterr) + if (wterr(i) .eq. 0.0d0) then + wterr(i) =0.0d0 + else + wterr(i) = 1.0d0 + endif + enddo + pat_out=pat_out wterr = 1.0d0 contains diff --git a/src/mkNN.f b/src/mkNN.f index 599be5f..4cd8d28 100644 --- a/src/mkNN.f +++ b/src/mkNN.f @@ -408,11 +408,10 @@ write(nnunit,newline) do k=1,npat - !call nnweight(wterr(1,k),pat_out(1,k)) ! JP no need for the weighting schemme used for energy - ! right now wter is set to 1.0 in nnweights - call nnweight(wterr(1,k)) + + call nnweight(wterr(1,k),pat_out(1,k)) enddo - pat_out = pat_out ! to avoid unsed complain durinng compilation + !pat_out = pat_out ! to avoid unsed complain durinng compilation total=0 do k=1,sets write(nnunit,'(A10,I6.5)') '# Scan Nr.',k diff --git a/src/model/invariants_no3.f90 b/src/model/invariants_no3.f90 index d78f08b..57bb00c 100644 --- a/src/model/invariants_no3.f90 +++ b/src/model/invariants_no3.f90 @@ -9,7 +9,7 @@ Module invariants_mod double precision, intent(out) :: inv(3) double precision:: invar(24) complex(8) :: q1, q2 - LOGICAL,PARAMETER:: debg =.FALSE. + LOGICAL,PARAMETER:: debg =.TRUE. integer :: i ! express the coordinate in complex @@ -61,19 +61,19 @@ Module invariants_mod ! the only non zero invariant for bend pure cuts - inv(1) = invar(3) - inv(2) = invar(8) - inv(3) = invar(12) + inv(1) = invar(1) + inv(2) = invar(5) + inv(3) = invar(9) if (debg) then - write(*,"(A,*(f10.5))")"Invar II", (invar(i),i=1,4) - write(*,"(A,*(f10.5))") "Invar III", (invar(i),i=5,12) - write(*,"(A,*(f10.5))")"Invar IV", (invar(i),i=13,16) - write(*,"(A,*(f10.5))")"Invar V", (invar(i),i=17,22) + write(14,"(A,*(f10.5))")"Invar II", (invar(i),i=1,4) + write(14,"(A,*(f10.5))") "Invar III", (invar(i),i=5,12) + write(14,"(A,*(f10.5))")"Invar IV", (invar(i),i=13,16) + write(14,"(A,*(f10.5))")"Invar V", (invar(i),i=17,22) - write(*,*)"THE INPUT COORDINATE IN COMPLEX REPRES" - write(*,*)"---------------------------------------" - write(*,*)"xs =",dreal(q1), "ys=",dimag(q1) + write(14,*)"THE INPUT COORDINATE IN COMPLEX REPRES" + write(14,*)"---------------------------------------" + write(14,*)"xs =",dreal(q1), "ys=",dimag(q1) endif ! modify the invariants to only consider few of them ! diff --git a/src/model/model_nh3.f90 b/src/model/model_nh3.f90 index 36897b3..89cd3ca 100644 --- a/src/model/model_nh3.f90 +++ b/src/model/model_nh3.f90 @@ -24,13 +24,16 @@ module diabmodel call init_dip_planar_data() ! modify the parametr - shift=1.0_dp - scal=1.0d-3 - + !shift=1.0_dp + !scal=1.0d-2 + scal = [0.69753,0.44797,51.14259,2.76924,1.45300,91.58246, & + 14.07390,1.02550,1.68623,4.80804,7.69958,0.97871] + shift = [0.23479,0.26845,35.05940,2.27175,-0.33017,117.48895, & + -1.68211,0.79418,-1.60443,-10.41309,8.47695,1.25334] ! V term of A2'' ii=1 do i =1,np - if (p(i) .ne. 0) then + if (p(i) .ne. 0.0d0) then p(i) =p(i)*(shift(ii) + scal(ii)*nn_out(ii) ) ii=ii+1 else @@ -38,8 +41,6 @@ module diabmodel endif enddo - - ss=xs**2+ys**2 ! totaly symmetric term sb=xb**2+yb**2 @@ -215,8 +216,12 @@ module diabmodel call init_dip_planar_data() ! modify the parametr - shift=1.0_dp - scal=1.0d-3 + !shift=1.0_dp + !scal=1.0d-3 + scal = [0.69753,0.44797,51.14259,2.76924,1.45300,91.58246, & + 14.07390,1.02550,1.68623,4.80804,7.69958,0.97871] + shift = [0.23479,0.26845,35.05940,2.27175,-0.33017,117.48895, & + -1.68211,0.79418,-1.60443,-10.41309,8.47695,1.25334] ! V term of A2'' ii=1 diff --git a/src/model/nnadia_nh3.f b/src/model/nnadia_nh3.f index 3e78002..a8fc718 100644 --- a/src/model/nnadia_nh3.f +++ b/src/model/nnadia_nh3.f @@ -46,21 +46,21 @@ adiaoutp(2) = dmat_x(1,2) adiaoutp(3) = dmat_x(1,3) adiaoutp(4) = dmat_x(1,4) - adiaoutp(5) = dmat_x(2,3) - adiaoutp(6) = dmat_x(2,2) - adiaoutp(7) = dmat_x(3,1) - adiaoutp(8) = dmat_x(3,2) - adiaoutp(9) = dmat_x(3,3) + adiaoutp(5) = dmat_x(2,2) + adiaoutp(6) = dmat_x(2,3) + adiaoutp(7) = dmat_x(2,4) + adiaoutp(8) = dmat_x(3,3) + adiaoutp(9) = dmat_x(3,4) adiaoutp(10) = dmat_x(4,4) adiaoutp(11) = -1.0*dmat_y(1,1) adiaoutp(12) = -1.0*dmat_y(1,2) adiaoutp(13) = -1.0*dmat_y(1,3) adiaoutp(14) = -1.0*dmat_y(1,4) - adiaoutp(15) = -1.0*dmat_y(2,3) - adiaoutp(16) = -1.0*dmat_y(2,2) - adiaoutp(17) = -1.0*dmat_y(3,1) - adiaoutp(18) = -1.0*dmat_y(3,2) - adiaoutp(19) = -1.0*dmat_y(3,3) + adiaoutp(15) = -1.0*dmat_y(2,2) + adiaoutp(16) = -1.0*dmat_y(2,3) + adiaoutp(17) = -1.0*dmat_y(2,4) + adiaoutp(18) = -1.0*dmat_y(3,3) + adiaoutp(19) = -1.0*dmat_y(3,4) adiaoutp(20) = -1.0*dmat_y(4,4) !write(*,*) dmat_x(1,1) diff --git a/src/model/nncoords_no3.f90 b/src/model/nncoords_no3.f90 index 12028ad..feb0255 100644 --- a/src/model/nncoords_no3.f90 +++ b/src/model/nncoords_no3.f90 @@ -96,11 +96,11 @@ contains t = 0.0d0 ! write kartesian coords for readability - c_atom(1:3) = q(1:3) ! N-atom at origin + c_atom(1:3) = 0.0d0 ! N-atom at origin do k = 1, 3 - ch1(k) = q(k + 3) - ch2(k) = q(k + 6) - ch3(k) = q(k + 9) + ch1(k) = q(k ) + ch2(k) = q(k + 3) + ch3(k) = q(k + 6) end do q=0.d0