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