modify the invariants for only few of them

This commit is contained in:
jean paul nshuti 2025-10-09 17:28:39 +02:00
parent 79ad45bb9d
commit e747afbd40
6 changed files with 52 additions and 40 deletions

View File

@ -62,7 +62,7 @@
!-------------------------------------------------------------------------------------- !--------------------------------------------------------------------------------------
subroutine nnweight(wterr) subroutine nnweight(wterr,pat_out)
implicit none implicit none
! Evaluate system specific weighting for 1 pattern. ! Evaluate system specific weighting for 1 pattern.
@ -72,11 +72,11 @@
!include 'JTmod.incl' !include 'JTmod.incl'
double precision wterr(maxpout)!,pat_out(maxpout) double precision wterr(maxpout),pat_out(maxpout)
!double precision eref(nstat) !double precision eref(nstat)
!double precision wten(3) !double precision wten(3)
integer i
!integer j !integer j
!wten=1 !wten=1
@ -93,6 +93,14 @@
! weighting of energies ! weighting of energies
! wterr(j)=wdamp(pat_out(j)-eref(j))*wterr(j)*wten(j) ! wterr(j)=wdamp(pat_out(j)-eref(j))*wterr(j)*wten(j)
!enddo !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 wterr = 1.0d0
contains contains

View File

@ -408,11 +408,10 @@
write(nnunit,newline) write(nnunit,newline)
do k=1,npat 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),pat_out(1,k))
call nnweight(wterr(1,k))
enddo enddo
pat_out = pat_out ! to avoid unsed complain durinng compilation !pat_out = pat_out ! to avoid unsed complain durinng compilation
total=0 total=0
do k=1,sets do k=1,sets
write(nnunit,'(A10,I6.5)') '# Scan Nr.',k write(nnunit,'(A10,I6.5)') '# Scan Nr.',k

View File

@ -9,7 +9,7 @@ Module invariants_mod
double precision, intent(out) :: inv(3) double precision, intent(out) :: inv(3)
double precision:: invar(24) double precision:: invar(24)
complex(8) :: q1, q2 complex(8) :: q1, q2
LOGICAL,PARAMETER:: debg =.FALSE. LOGICAL,PARAMETER:: debg =.TRUE.
integer :: i integer :: i
! express the coordinate in complex ! express the coordinate in complex
@ -61,19 +61,19 @@ Module invariants_mod
! the only non zero invariant for bend pure cuts ! the only non zero invariant for bend pure cuts
inv(1) = invar(3) inv(1) = invar(1)
inv(2) = invar(8) inv(2) = invar(5)
inv(3) = invar(12) inv(3) = invar(9)
if (debg) then if (debg) then
write(*,"(A,*(f10.5))")"Invar II", (invar(i),i=1,4) write(14,"(A,*(f10.5))")"Invar II", (invar(i),i=1,4)
write(*,"(A,*(f10.5))") "Invar III", (invar(i),i=5,12) write(14,"(A,*(f10.5))") "Invar III", (invar(i),i=5,12)
write(*,"(A,*(f10.5))")"Invar IV", (invar(i),i=13,16) write(14,"(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 V", (invar(i),i=17,22)
write(*,*)"THE INPUT COORDINATE IN COMPLEX REPRES" write(14,*)"THE INPUT COORDINATE IN COMPLEX REPRES"
write(*,*)"---------------------------------------" write(14,*)"---------------------------------------"
write(*,*)"xs =",dreal(q1), "ys=",dimag(q1) write(14,*)"xs =",dreal(q1), "ys=",dimag(q1)
endif endif
! modify the invariants to only consider few of them ! modify the invariants to only consider few of them
! !

View File

@ -24,13 +24,16 @@ module diabmodel
call init_dip_planar_data() call init_dip_planar_data()
! modify the parametr ! modify the parametr
shift=1.0_dp !shift=1.0_dp
scal=1.0d-3 !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'' ! V term of A2''
ii=1 ii=1
do i =1,np 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) ) p(i) =p(i)*(shift(ii) + scal(ii)*nn_out(ii) )
ii=ii+1 ii=ii+1
else else
@ -38,8 +41,6 @@ module diabmodel
endif endif
enddo enddo
ss=xs**2+ys**2 ! totaly symmetric term ss=xs**2+ys**2 ! totaly symmetric term
sb=xb**2+yb**2 sb=xb**2+yb**2
@ -215,8 +216,12 @@ module diabmodel
call init_dip_planar_data() call init_dip_planar_data()
! modify the parametr ! modify the parametr
shift=1.0_dp !shift=1.0_dp
scal=1.0d-3 !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'' ! V term of A2''
ii=1 ii=1

View File

@ -46,21 +46,21 @@
adiaoutp(2) = dmat_x(1,2) adiaoutp(2) = dmat_x(1,2)
adiaoutp(3) = dmat_x(1,3) adiaoutp(3) = dmat_x(1,3)
adiaoutp(4) = dmat_x(1,4) adiaoutp(4) = dmat_x(1,4)
adiaoutp(5) = dmat_x(2,3) adiaoutp(5) = dmat_x(2,2)
adiaoutp(6) = dmat_x(2,2) adiaoutp(6) = dmat_x(2,3)
adiaoutp(7) = dmat_x(3,1) adiaoutp(7) = dmat_x(2,4)
adiaoutp(8) = dmat_x(3,2) adiaoutp(8) = dmat_x(3,3)
adiaoutp(9) = dmat_x(3,3) adiaoutp(9) = dmat_x(3,4)
adiaoutp(10) = dmat_x(4,4) adiaoutp(10) = dmat_x(4,4)
adiaoutp(11) = -1.0*dmat_y(1,1) adiaoutp(11) = -1.0*dmat_y(1,1)
adiaoutp(12) = -1.0*dmat_y(1,2) adiaoutp(12) = -1.0*dmat_y(1,2)
adiaoutp(13) = -1.0*dmat_y(1,3) adiaoutp(13) = -1.0*dmat_y(1,3)
adiaoutp(14) = -1.0*dmat_y(1,4) adiaoutp(14) = -1.0*dmat_y(1,4)
adiaoutp(15) = -1.0*dmat_y(2,3) adiaoutp(15) = -1.0*dmat_y(2,2)
adiaoutp(16) = -1.0*dmat_y(2,2) adiaoutp(16) = -1.0*dmat_y(2,3)
adiaoutp(17) = -1.0*dmat_y(3,1) adiaoutp(17) = -1.0*dmat_y(2,4)
adiaoutp(18) = -1.0*dmat_y(3,2) adiaoutp(18) = -1.0*dmat_y(3,3)
adiaoutp(19) = -1.0*dmat_y(3,3) adiaoutp(19) = -1.0*dmat_y(3,4)
adiaoutp(20) = -1.0*dmat_y(4,4) adiaoutp(20) = -1.0*dmat_y(4,4)
!write(*,*) dmat_x(1,1) !write(*,*) dmat_x(1,1)

View File

@ -96,11 +96,11 @@ contains
t = 0.0d0 t = 0.0d0
! write kartesian coords for readability ! 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 do k = 1, 3
ch1(k) = q(k + 3) ch1(k) = q(k )
ch2(k) = q(k + 6) ch2(k) = q(k + 3)
ch3(k) = q(k + 9) ch3(k) = q(k + 6)
end do end do
q=0.d0 q=0.d0