85 lines
2.0 KiB
Fortran
85 lines
2.0 KiB
Fortran
module keys_mod
|
|
implicit none
|
|
contains
|
|
!program gen_key
|
|
! implicit none
|
|
! call init_keys()
|
|
!end program gen_key
|
|
subroutine init_keys
|
|
use io_parameters, only: key
|
|
character(len=1) prefix(4)
|
|
parameter (prefix=['N','P','A','S'])
|
|
!character (len=20) key(4,25)
|
|
integer,parameter:: np=33
|
|
character(len=16) parname(np)
|
|
integer i,j
|
|
! Defining keys for potential
|
|
! the electronic state of NO3 A2' E" E'
|
|
! Naming convention
|
|
! the keys for Lx and Ly
|
|
! the coupling between A2' and A2"
|
|
parname(1)='LXYVA2O1'
|
|
parname(2)='LXYVE1O1'
|
|
parname(3)='LXYVE2O1'
|
|
parname(4)='LXYVA2O2'
|
|
parname(5)='LXYVE1O2'
|
|
parname(6)='LXYVE2O2'
|
|
|
|
! W & Z of E1
|
|
parname(7)='LXYWZE1O0'
|
|
parname(8)='LXYWZE1O1'
|
|
parname(9)='LXYWZE1O2'
|
|
parname(10)='LXYWZE2O0'
|
|
parname(11)='LXYWZE2O1'
|
|
parname(12)='LXYWZE2O2'
|
|
|
|
|
|
! WW and Z Pseudo between E1 and E2
|
|
! p STANDS FOR PSEUDO JAHN-TELLER
|
|
parname(13)='LXYPE1E2O0'
|
|
parname(14)='LXYPE1E2O1'
|
|
parname(15)='LXYPE1E2O2'
|
|
! no order 3
|
|
|
|
! PSEUDO A2 & E1
|
|
parname(16)='LXYPA2E1O0'
|
|
parname(17)='LXYPA2E1O1'
|
|
parname(18)='LXYPA2E1O2'
|
|
|
|
! Pseudo JAHN-TELLER BETWEEN A2 AND E1
|
|
|
|
parname(19)='LXYPA2E2O0'
|
|
parname(20)='LXYPA2E2O1'
|
|
parname(21)='LXYPA2E2O2'
|
|
|
|
|
|
! keys for lz
|
|
|
|
parname(22)='LZWZE1O1'
|
|
parname(23)='LZWZE1O2'
|
|
parname(24)='LZWZE2O1'
|
|
parname(25)='LZWZE2O2'
|
|
parname(26)='LZPE1E2O0'
|
|
parname(27)='LZPE1E2O1'
|
|
parname(28)='LZPE1E2O2'
|
|
parname(29)='LZPA2E1O1'
|
|
parname(30)='LZPA2E1O2'
|
|
parname(31)='LZPA2E2O1'
|
|
parname(32)='LZPA2E2O2'
|
|
|
|
|
|
parname(33)='TYPE_CAL'! TYPE OF THE CALCULATION WHETHER IT IS THE TRACE OR SOMETHING ELSE
|
|
|
|
do i=1,np
|
|
do j=1,4
|
|
key(j, i)=prefix(j)//trim(parname(i))//':'
|
|
write(8,*) key(j,i)
|
|
enddo
|
|
write(8,*) ''
|
|
|
|
enddo
|
|
|
|
end subroutine
|
|
|
|
end module keys_mod
|