614 lines
39 KiB
Fortran
614 lines
39 KiB
Fortran
|
!
|
||
|
!=======================================================================
|
||
|
!
|
||
|
MODULE OPEN_OUTFILES
|
||
|
!
|
||
|
! This module contains the subroutine that opens the output files
|
||
|
!
|
||
|
CONTAINS
|
||
|
!
|
||
|
!
|
||
|
!=======================================================================
|
||
|
!
|
||
|
SUBROUTINE OPEN_OUTPUT_FILES(N_IF,JF)
|
||
|
!
|
||
|
! This subroutine open the output files for printing. These files
|
||
|
! are open:
|
||
|
!
|
||
|
! 1) at the first input data file iteration (JF = 1)
|
||
|
! 2) for the other iteration: if file is indexed
|
||
|
! on the input data files (INDEX_FILE(IO_DF) = 0)
|
||
|
!
|
||
|
!
|
||
|
! Input parameter:
|
||
|
!
|
||
|
! * N_IF : number of input data files
|
||
|
! * JF : index of current input data file
|
||
|
!
|
||
|
!
|
||
|
!
|
||
|
! Author : D. Sébilleau
|
||
|
!
|
||
|
! Last modified : 26 Jan 2021
|
||
|
!
|
||
|
!
|
||
|
!
|
||
|
USE DIMENSION_CODE, ONLY : NOFFN
|
||
|
!
|
||
|
USE OUT_VALUES_1
|
||
|
USE OUT_VALUES_2
|
||
|
USE OUT_VALUES_3
|
||
|
USE OUT_VALUES_4
|
||
|
USE OUT_VALUES_5
|
||
|
USE OUT_VALUES_6
|
||
|
USE OUT_VALUES_7
|
||
|
USE OUT_VALUES_8
|
||
|
USE OUT_VALUES_9
|
||
|
USE OUT_VALUES_10
|
||
|
USE OUT_VALUES_P
|
||
|
!
|
||
|
USE FILENAMES
|
||
|
USE OUTFILES
|
||
|
USE CHANGE_FILENAMES
|
||
|
!
|
||
|
USE PRINT_FILES
|
||
|
!
|
||
|
IMPLICIT NONE
|
||
|
!
|
||
|
INTEGER :: N_IF
|
||
|
INTEGER :: JF
|
||
|
INTEGER :: J
|
||
|
!
|
||
|
CHARACTER (LEN = 100) :: FLIST(NOFFN)
|
||
|
!
|
||
|
! Changing the output filenames if required
|
||
|
!
|
||
|
CALL NEW_FILENAMES(N_IF,JF,FLIST) !
|
||
|
!
|
||
|
! Files for calculator 1
|
||
|
!
|
||
|
IF(I_DF == 1) THEN !
|
||
|
IO_DF=FN(DFFILE) !
|
||
|
IF(JF == 1 .OR. INDEX_FILE(IO_DF) == 0) THEN !
|
||
|
OPEN(UNIT=IO_DF,FILE=FLIST(IO_DF),STATUS='unknown') ! dielectric function file
|
||
|
END IF !
|
||
|
END IF !
|
||
|
IF(I_PZ == 1) THEN !
|
||
|
IO_PZ=FN(PZFILE) !
|
||
|
IF(JF == 1 .OR. INDEX_FILE(IO_PZ) == 0) THEN !
|
||
|
OPEN(UNIT=IO_PZ,FILE=FLIST(IO_PZ),STATUS='unknown') ! polarization function
|
||
|
END IF !
|
||
|
END IF !
|
||
|
IF(I_SU == 1) THEN !
|
||
|
IO_SU=FN(SUFILE) !
|
||
|
IF(JF == 1 .OR. INDEX_FILE(IO_SU) == 0) THEN !
|
||
|
OPEN(UNIT=IO_SU,FILE=FLIST(IO_SU),STATUS='unknown') ! susceptibility function
|
||
|
END IF !
|
||
|
END IF !
|
||
|
IF(I_CD == 1) THEN !
|
||
|
IO_CD=FN(CDFILE) !
|
||
|
IF(JF == 1 .OR. INDEX_FILE(IO_CD) == 0) THEN !
|
||
|
OPEN(UNIT=IO_CD,FILE=FLIST(IO_CD),STATUS='unknown') ! electrical conductivity
|
||
|
END IF !
|
||
|
END IF !
|
||
|
!
|
||
|
! Files for calculator 2
|
||
|
!
|
||
|
IF(I_PD == 1) THEN !
|
||
|
IO_PD=FN(PDFILE) !
|
||
|
IF(JF == 1 .OR. INDEX_FILE(IO_PD) == 0) THEN !
|
||
|
OPEN(UNIT=IO_PD,FILE=FLIST(IO_PD),STATUS='unknown') ! plasmon dispersion file
|
||
|
END IF !
|
||
|
END IF !
|
||
|
IF(I_EH == 1) THEN !
|
||
|
IO_EH=FN(EHFILE) !
|
||
|
IF(JF == 1 .OR. INDEX_FILE(IO_EH) == 0) THEN !
|
||
|
OPEN(UNIT=IO_EH,FILE=FLIST(IO_EH),STATUS='unknown') ! electron-hole dispersion file
|
||
|
END IF !
|
||
|
END IF !
|
||
|
IF(I_E2 == 1) THEN !
|
||
|
IO_E2=FN(E2FILE) !
|
||
|
IF(JF == 1 .OR. INDEX_FILE(IO_E2) == 0) THEN !
|
||
|
OPEN(UNIT=IO_E2,FILE=FLIST(IO_E2),STATUS='unknown') ! two electron-hole dispersion
|
||
|
END IF !
|
||
|
END IF !
|
||
|
IF(I_CF == 1) THEN !
|
||
|
IO_CK=FN(CKFILE) !
|
||
|
IF(JF == 1 .OR. INDEX_FILE(IO_CK) == 0) THEN !
|
||
|
OPEN(UNIT=IO_CK,FILE=FLIST(IO_CK),STATUS='unknown') ! screened Coulomb (k-space)
|
||
|
END IF !
|
||
|
END IF !
|
||
|
IF(I_CR == 1) THEN !
|
||
|
IO_CR=FN(CRFILE) !
|
||
|
IF(JF == 1 .OR. INDEX_FILE(IO_CR) == 0) THEN !
|
||
|
OPEN(UNIT=IO_CR,FILE=FLIST(IO_CR),STATUS='unknown') ! screened Coulomb (real space)
|
||
|
END IF !
|
||
|
END IF !
|
||
|
IF(I_PK == 1) THEN !
|
||
|
IO_PK=FN(PKFILE) !
|
||
|
IF(JF == 1 .OR. INDEX_FILE(IO_PK) == 0) THEN !
|
||
|
OPEN(UNIT=IO_PK,FILE=FLIST(IO_PK),STATUS='unknown') ! plasmon kinetic energy
|
||
|
END IF !
|
||
|
END IF !
|
||
|
!
|
||
|
! Files for calculator 3
|
||
|
!
|
||
|
IF(I_LF == 1) THEN !
|
||
|
IO_LF=FN(LFFILE) !
|
||
|
IF(JF == 1 .OR. INDEX_FILE(IO_LF) == 0) THEN !
|
||
|
OPEN(UNIT=IO_LF,FILE=FLIST(IO_LF),STATUS='unknown') ! local-field correction file G(q,om)
|
||
|
END IF !
|
||
|
END IF !
|
||
|
IF(I_IQ == 1) THEN !
|
||
|
IO_IQ=FN(IQFILE) !
|
||
|
IF(JF == 1 .OR. INDEX_FILE(IO_IQ) == 0) THEN !
|
||
|
OPEN(UNIT=IO_IQ,FILE=FLIST(IO_IQ),STATUS='unknown') ! G(q,inf) file
|
||
|
END IF !
|
||
|
END IF !
|
||
|
IF(I_SF == 1) THEN !
|
||
|
IO_SF=FN(SFFILE) !
|
||
|
IF(JF == 1 .OR. INDEX_FILE(IO_SF) == 0) THEN !
|
||
|
OPEN(UNIT=IO_SF,FILE=FLIST(IO_SF),STATUS='unknown') ! structure factor file S(q,om)
|
||
|
END IF !
|
||
|
END IF !
|
||
|
IF(I_PC == 1) THEN !
|
||
|
IO_PC=FN(PCFILE) !
|
||
|
IF(JF == 1 .OR. INDEX_FILE(IO_PC) == 0) THEN !
|
||
|
OPEN(UNIT=IO_PC,FILE=FLIST(IO_PC),STATUS='unknown') ! pair correlation function file
|
||
|
END IF !
|
||
|
END IF !
|
||
|
IF(I_P2 == 1) THEN !
|
||
|
IO_P2=FN(P2FILE) !
|
||
|
IF(JF == 1 .OR. INDEX_FILE(IO_P2) == 0) THEN !
|
||
|
OPEN(UNIT=IO_P2,FILE=FLIST(IO_P2),STATUS='unknown') ! pair distribution function file
|
||
|
END IF !
|
||
|
END IF !
|
||
|
IF(I_VX == 1) THEN !
|
||
|
IO_VX=FN(VXFILE) !
|
||
|
IF(JF == 1 .OR. INDEX_FILE(IO_VX) == 0) THEN !
|
||
|
OPEN(UNIT=IO_VX,FILE=FLIST(IO_VX),STATUS='unknown') ! vertex function Gamma(q,om)
|
||
|
END IF !
|
||
|
END IF !
|
||
|
IF(I_DC == 1) THEN !
|
||
|
IO_DC=FN(DCFILE) !
|
||
|
IF(JF == 1 .OR. INDEX_FILE(IO_DC) == 0) THEN !
|
||
|
OPEN(UNIT=IO_DC,FILE=FLIST(IO_DC),STATUS='unknown') ! plasmon damping coefficient Im[eps]/q^2
|
||
|
END IF !
|
||
|
END IF !
|
||
|
IF(I_MD == 1) THEN !
|
||
|
IO_MD=FN(MDFILE) !
|
||
|
IF(JF == 1 .OR. INDEX_FILE(IO_MD) == 0) THEN !
|
||
|
OPEN(UNIT=IO_MD,FILE=FLIST(IO_MD),STATUS='unknown') ! momentum distribution
|
||
|
END IF !
|
||
|
END IF !
|
||
|
IF(I_LD == 1) THEN !
|
||
|
IO_LD=FN(LDFILE) !
|
||
|
IF(JF == 1 .OR. INDEX_FILE(IO_LD) == 0) THEN !
|
||
|
OPEN(UNIT=IO_LD,FILE=FLIST(IO_LD),STATUS='unknown') ! Landau parameters
|
||
|
END IF !
|
||
|
END IF !
|
||
|
IF(I_DP == 1) THEN !
|
||
|
IO_DP=FN(DPFILE) !
|
||
|
IF(JF == 1 .OR. INDEX_FILE(IO_DP) == 0) THEN !
|
||
|
OPEN(UNIT=IO_DP,FILE=FLIST(IO_DP),STATUS='unknown') ! damping file
|
||
|
END IF !
|
||
|
END IF !
|
||
|
IF(I_LT == 1) THEN !
|
||
|
IO_LT=FN(LTFILE) !
|
||
|
IF(JF == 1 .OR. INDEX_FILE(IO_LT) == 0) THEN !
|
||
|
OPEN(UNIT=IO_LT,FILE=FLIST(IO_LT),STATUS='unknown') ! plasmon lifetime file
|
||
|
END IF !
|
||
|
END IF !
|
||
|
IF(I_BR == 1) THEN !
|
||
|
IO_BR=FN(BRFILE) !
|
||
|
IF(JF == 1 .OR. INDEX_FILE(IO_BR) == 0) THEN !
|
||
|
OPEN(UNIT=IO_BR,FILE=FLIST(IO_BR),STATUS='unknown') ! plasmon broadening
|
||
|
END IF !
|
||
|
END IF !
|
||
|
IF(I_PE == 1) THEN !
|
||
|
IO_PE=FN(PEFILE) !
|
||
|
IF(JF == 1 .OR. INDEX_FILE(IO_PE) == 0) THEN !
|
||
|
OPEN(UNIT=IO_PE,FILE=FLIST(IO_PE),STATUS='unknown') ! plasmon energy
|
||
|
END IF !
|
||
|
END IF !
|
||
|
IF(I_QC == 1) THEN !
|
||
|
IO_QC=FN(QCFILE) !
|
||
|
IF(JF == 1 .OR. INDEX_FILE(IO_QC) == 0) THEN !
|
||
|
OPEN(UNIT=IO_QC,FILE=FLIST(IO_QC),STATUS='unknown') ! plasmon q-bounds
|
||
|
END IF !
|
||
|
END IF !
|
||
|
IF(I_RL == 1) THEN !
|
||
|
IO_RL=FN(RLFILE) !
|
||
|
IF(JF == 1 .OR. INDEX_FILE(IO_RL) == 0) THEN !
|
||
|
OPEN(UNIT=IO_RL,FILE=FLIST(IO_RL),STATUS='unknown') ! relaxation time
|
||
|
END IF !
|
||
|
END IF !
|
||
|
IF(I_KS == 1) THEN !
|
||
|
IO_KS=FN(KSFILE) !
|
||
|
IF(JF == 1 .OR. INDEX_FILE(IO_KS) == 0) THEN !
|
||
|
OPEN(UNIT=IO_KS,FILE=FLIST(IO_KS),STATUS='unknown') ! screening wave vector
|
||
|
END IF !
|
||
|
END IF !
|
||
|
IF(I_OQ == 1) THEN !
|
||
|
IO_OQ=FN(OQFILE) !
|
||
|
IF(JF == 1 .OR. INDEX_FILE(IO_OQ) == 0) THEN !
|
||
|
OPEN(UNIT=IO_OQ,FILE=FLIST(IO_OQ),STATUS='unknown') ! omega = q * v_F
|
||
|
END IF !
|
||
|
END IF !
|
||
|
IF(I_ME == 1) THEN !
|
||
|
IO_ME=FN(MEFILE) !
|
||
|
IF(JF == 1 .OR. INDEX_FILE(IO_ME) == 0) THEN !
|
||
|
OPEN(UNIT=IO_ME,FILE=FLIST(IO_ME),STATUS='unknown') ! moments of epsilon
|
||
|
END IF !
|
||
|
END IF !
|
||
|
IF(I_MS == 1) THEN !
|
||
|
IO_MS=FN(MSFILE) !
|
||
|
IF(JF == 1 .OR. INDEX_FILE(IO_MS) == 0) THEN !
|
||
|
OPEN(UNIT=IO_MS,FILE=FLIST(IO_MS),STATUS='unknown') ! moments of S(q,omega)
|
||
|
END IF !
|
||
|
END IF !
|
||
|
IF(I_ML == 1) THEN !
|
||
|
IO_ML=FN(MLFILE) !
|
||
|
IF(JF == 1 .OR. INDEX_FILE(IO_ML) == 0) THEN !
|
||
|
OPEN(UNIT=IO_ML,FILE=FLIST(IO_ML),STATUS='unknown') ! moments of loss function
|
||
|
END IF !
|
||
|
END IF !
|
||
|
IF(I_MC == 1) THEN !
|
||
|
IO_MC=FN(MCFILE) !
|
||
|
IF(JF == 1 .OR. INDEX_FILE(IO_MC) == 0) THEN !
|
||
|
OPEN(UNIT=IO_MC,FILE=FLIST(IO_MC),STATUS='unknown') ! moments of conductivity
|
||
|
END IF !
|
||
|
END IF !
|
||
|
IF(I_DE == 1) THEN !
|
||
|
IO_DE=FN(DEFILE) !
|
||
|
IF(JF == 1 .OR. INDEX_FILE(IO_DE) == 0) THEN !
|
||
|
OPEN(UNIT=IO_DE,FILE=FLIST(IO_DE),STATUS='unknown') ! derivative of Re[ dielectric function ]
|
||
|
END IF !
|
||
|
END IF !
|
||
|
IF(I_ZE == 1) THEN !
|
||
|
IO_ZE=FN(ZEFILE) !
|
||
|
IF(JF == 1 .OR. INDEX_FILE(IO_ZE) == 0) THEN !
|
||
|
OPEN(UNIT=IO_ZE,FILE=FLIST(IO_ZE),STATUS='unknown') ! Re[ dielectric function ] = 0
|
||
|
END IF !
|
||
|
END IF !
|
||
|
IF(I_SR == 1) THEN !
|
||
|
IO_SR=FN(SRFILE) !
|
||
|
IF(JF == 1 .OR. INDEX_FILE(IO_SR) == 0) THEN !
|
||
|
OPEN(UNIT=IO_SR,FILE=FLIST(IO_SR),STATUS='unknown') ! sum rules for epsilon
|
||
|
END IF !
|
||
|
END IF !
|
||
|
IF(I_CW == 1) THEN !
|
||
|
IO_CW=FN(CWFILE) !
|
||
|
IF(JF == 1 .OR. INDEX_FILE(IO_CW) == 0) THEN !
|
||
|
OPEN(UNIT=IO_CW,FILE=FLIST(IO_CW),STATUS='unknown') ! confinement wave function
|
||
|
END IF !
|
||
|
END IF !
|
||
|
IF(I_CF == 1) THEN !
|
||
|
IO_CF=FN(CFFILE) !
|
||
|
IF(JF == 1 .OR. INDEX_FILE(IO_CF) == 0) THEN !
|
||
|
OPEN(UNIT=IO_CF,FILE=FLIST(IO_CF),STATUS='unknown') ! confinement potential
|
||
|
END IF !
|
||
|
END IF !
|
||
|
IF(I_EM == 1) THEN !
|
||
|
IO_EM=FN(EMFILE) !
|
||
|
IF(JF == 1 .OR. INDEX_FILE(IO_EM) == 0) THEN !
|
||
|
OPEN(UNIT=IO_EM,FILE=FLIST(IO_EM),STATUS='unknown') ! effective mass
|
||
|
END IF !
|
||
|
END IF !
|
||
|
IF(I_MF == 1) THEN !
|
||
|
IO_MF=FN(MFFILE) !
|
||
|
IF(JF == 1 .OR. INDEX_FILE(IO_MF) == 0) THEN !
|
||
|
OPEN(UNIT=IO_MF,FILE=FLIST(IO_MF),STATUS='unknown') ! mean free path
|
||
|
END IF !
|
||
|
END IF !
|
||
|
IF(I_SP == 1) THEN !
|
||
|
IO_SP=FN(SPFILE) !
|
||
|
IF(JF == 1 .OR. INDEX_FILE(IO_SP) == 0) THEN !
|
||
|
OPEN(UNIT=IO_SP,FILE=FLIST(IO_SP),STATUS='unknown') ! spectral function
|
||
|
END IF !
|
||
|
END IF !
|
||
|
IF(I_SE == 1) THEN !
|
||
|
IO_SE=FN(SEFILE) !
|
||
|
IF(JF == 1 .OR. INDEX_FILE(IO_SE) == 0) THEN !
|
||
|
OPEN(UNIT=IO_SE,FILE=FLIST(IO_SE),STATUS='unknown') ! self-energy
|
||
|
END IF !
|
||
|
END IF !
|
||
|
IF(I_SB == 1) THEN !
|
||
|
IO_SB=FN(SBFILE) !
|
||
|
IF(JF == 1 .OR. INDEX_FILE(IO_SB) == 0) THEN !
|
||
|
OPEN(UNIT=IO_SB,FILE=FLIST(IO_SB),STATUS='unknown') ! subband energies
|
||
|
END IF !
|
||
|
END IF !
|
||
|
IF(I_ES == 1) THEN !
|
||
|
IO_ES=FN(ESFILE) !
|
||
|
IF(JF == 1 .OR. INDEX_FILE(IO_ES) == 0) THEN !
|
||
|
OPEN(UNIT=IO_ES,FILE=FLIST(IO_ES),STATUS='unknown') ! Eliashberg function
|
||
|
END IF !
|
||
|
END IF !
|
||
|
IF(I_GR == 1) THEN !
|
||
|
IO_GR=FN(GRFILE) !
|
||
|
IF(JF == 1 .OR. INDEX_FILE(IO_GR) == 0) THEN !
|
||
|
OPEN(UNIT=IO_GR,FILE=FLIST(IO_GR),STATUS='unknown') ! Grüneisen parameter
|
||
|
END IF !
|
||
|
END IF !
|
||
|
IF(I_FD == 1) THEN !
|
||
|
IO_FD=FN(FDFILE) !
|
||
|
IF(JF == 1 .OR. INDEX_FILE(IO_FD) == 0) THEN !
|
||
|
OPEN(UNIT=IO_FD,FILE=FLIST(IO_FD),STATUS='unknown') ! Fermi-Dirac distribution
|
||
|
END IF !
|
||
|
END IF !
|
||
|
IF(I_BE == 1) THEN !
|
||
|
IO_BE=FN(BEFILE) !
|
||
|
IF(JF == 1 .OR. INDEX_FILE(IO_BE) == 0) THEN !
|
||
|
OPEN(UNIT=IO_BE,FILE=FLIST(IO_BE),STATUS='unknown') ! Bose-Einstein distribution
|
||
|
END IF !
|
||
|
END IF !
|
||
|
IF(I_MX == 1) THEN !
|
||
|
IO_MX=FN(MXFILE) !
|
||
|
IF(JF == 1 .OR. INDEX_FILE(IO_MX) == 0) THEN !
|
||
|
OPEN(UNIT=IO_MX,FILE=FLIST(IO_MX),STATUS='unknown') ! Maxwell distribution
|
||
|
END IF !
|
||
|
END IF !
|
||
|
IF(I_SC == 1) THEN !
|
||
|
IO_SC=FN(SCFILE) !
|
||
|
IF(JF == 1 .OR. INDEX_FILE(IO_SC) == 0) THEN !
|
||
|
OPEN(UNIT=IO_SC,FILE=FLIST(IO_SC),STATUS='unknown') ! scale parameters
|
||
|
END IF !
|
||
|
END IF !
|
||
|
IF(I_DS == 1) THEN !
|
||
|
IO_DS=FN(DSFILE) !
|
||
|
IF(JF == 1 .OR. INDEX_FILE(IO_DS) == 0) THEN !
|
||
|
OPEN(UNIT=IO_DS,FILE=FLIST(IO_DS),STATUS='unknown') ! density of states
|
||
|
END IF !
|
||
|
END IF !
|
||
|
IF(I_NV == 1) THEN !
|
||
|
IO_NV=FN(NVFILE) !
|
||
|
IF(JF == 1 .OR. INDEX_FILE(IO_NV) == 0) THEN !
|
||
|
OPEN(UNIT=IO_NV,FILE=FLIST(IO_NV),STATUS='unknown') ! Nevanlinaa function
|
||
|
END IF !
|
||
|
END IF !
|
||
|
IF(I_MT == 1) THEN !
|
||
|
IO_MT=FN(MTFILE) !
|
||
|
IF(JF == 1 .OR. INDEX_FILE(IO_MT) == 0) THEN !
|
||
|
OPEN(UNIT=IO_MT,FILE=FLIST(IO_MT),STATUS='unknown') ! time domain memory function
|
||
|
END IF !
|
||
|
END IF !
|
||
|
!
|
||
|
! Files for calculator 4
|
||
|
!
|
||
|
IF(I_GP == 1) THEN !
|
||
|
IO_GP=FN(GPFILE) !
|
||
|
IF(JF == 1 .OR. INDEX_FILE(IO_GP) == 0) THEN !
|
||
|
OPEN(UNIT=IO_GP,FILE=FLIST(IO_GP),STATUS='unknown') ! grand partition function
|
||
|
END IF !
|
||
|
END IF !
|
||
|
IF(I_PR == 1) THEN !
|
||
|
IO_PR=FN(PRFILE) !
|
||
|
IF(JF == 1 .OR. INDEX_FILE(IO_PR) == 0) THEN !
|
||
|
OPEN(UNIT=IO_PR,FILE=FLIST(IO_PR),STATUS='unknown') ! electronic pressure
|
||
|
END IF !
|
||
|
END IF !
|
||
|
IF(I_CO == 1) THEN !
|
||
|
IO_CO=FN(COFILE) !
|
||
|
IF(JF == 1 .OR. INDEX_FILE(IO_CO) == 0) THEN !
|
||
|
OPEN(UNIT=IO_CO,FILE=FLIST(IO_CO),STATUS='unknown') ! compressibility
|
||
|
END IF !
|
||
|
END IF !
|
||
|
IF(I_CP == 1) THEN !
|
||
|
IO_CP=FN(CPFILE) !
|
||
|
IF(JF == 1 .OR. INDEX_FILE(IO_CP) == 0) THEN !
|
||
|
OPEN(UNIT=IO_CP,FILE=FLIST(IO_CP),STATUS='unknown') ! chemical potential
|
||
|
END IF !
|
||
|
END IF !
|
||
|
IF(I_BM == 1) THEN !
|
||
|
IO_BM=FN(BMFILE) !
|
||
|
IF(JF == 1 .OR. INDEX_FILE(IO_BM) == 0) THEN !
|
||
|
OPEN(UNIT=IO_BM,FILE=FLIST(IO_BM),STATUS='unknown') ! bulk modulus
|
||
|
END IF !
|
||
|
END IF !
|
||
|
IF(I_SH == 1) THEN !
|
||
|
IO_SH=FN(SHFILE) !
|
||
|
IF(JF == 1 .OR. INDEX_FILE(IO_SH) == 0) THEN !
|
||
|
OPEN(UNIT=IO_SH,FILE=FLIST(IO_SH),STATUS='unknown') ! shear modulus
|
||
|
END IF !
|
||
|
END IF !
|
||
|
IF(I_S0 == 1) THEN !
|
||
|
IO_S0=FN(S0FILE) !
|
||
|
IF(JF == 1 .OR. INDEX_FILE(IO_S0) == 0) THEN !
|
||
|
OPEN(UNIT=IO_S0,FILE=FLIST(IO_S0),STATUS='unknown') ! zero sound velocity
|
||
|
END IF !
|
||
|
END IF !
|
||
|
IF(I_S1 == 1) THEN !
|
||
|
IO_S1=FN(S1FILE) !
|
||
|
IF(JF == 1 .OR. INDEX_FILE(IO_S1) == 0) THEN !
|
||
|
OPEN(UNIT=IO_S1,FILE=FLIST(IO_S1),STATUS='unknown') ! first sound velocity
|
||
|
END IF !
|
||
|
END IF !
|
||
|
IF(I_DT == 1) THEN !
|
||
|
IO_DT=FN(DTFILE) !
|
||
|
IF(JF == 1 .OR. INDEX_FILE(IO_DT) == 0) THEN !
|
||
|
OPEN(UNIT=IO_DT,FILE=FLIST(IO_DT),STATUS='unknown') ! Debye temperature
|
||
|
END IF !
|
||
|
END IF !
|
||
|
IF(I_PS == 1) THEN !
|
||
|
IO_PS=FN(PSFILE) !
|
||
|
IF(JF == 1 .OR. INDEX_FILE(IO_PS) == 0) THEN !
|
||
|
OPEN(UNIT=IO_PS,FILE=FLIST(IO_PS),STATUS='unknown') ! Pauli paramagnetic susceptibility
|
||
|
END IF !
|
||
|
END IF !
|
||
|
IF(I_IE == 1) THEN !
|
||
|
IO_IE=FN(IEFILE) !
|
||
|
IF(JF == 1 .OR. INDEX_FILE(IO_IE) == 0) THEN !
|
||
|
OPEN(UNIT=IO_IE,FILE=FLIST(IO_IE),STATUS='unknown') ! internal energy
|
||
|
END IF !
|
||
|
END IF !
|
||
|
IF(I_EI == 1) THEN !
|
||
|
IO_EI=FN(EIFILE) !
|
||
|
IF(JF == 1 .OR. INDEX_FILE(IO_EI) == 0) THEN !
|
||
|
OPEN(UNIT=IO_EI,FILE=FLIST(IO_EI),STATUS='unknown') ! excess internal energy
|
||
|
END IF !
|
||
|
END IF !
|
||
|
IF(I_FH == 1) THEN !
|
||
|
IO_FH=FN(FHFILE) !
|
||
|
IF(JF == 1 .OR. INDEX_FILE(IO_FH) == 0) THEN !
|
||
|
OPEN(UNIT=IO_FH,FILE=FLIST(IO_FH),STATUS='unknown') ! Helmholtz free energy
|
||
|
END IF !
|
||
|
END IF !
|
||
|
IF(I_EY == 1) THEN !
|
||
|
IO_EY=FN(EYFILE) !
|
||
|
IF(JF == 1 .OR. INDEX_FILE(IO_EY) == 0) THEN !
|
||
|
OPEN(UNIT=IO_EY,FILE=FLIST(IO_EY),STATUS='unknown') ! entropy
|
||
|
END IF !
|
||
|
END IF !
|
||
|
!
|
||
|
! Files for calculator 5
|
||
|
!
|
||
|
IF(I_EF == 1) THEN !
|
||
|
IO_EF=FN(EFFILE) !
|
||
|
IF(JF == 1 .OR. INDEX_FILE(IO_EF) == 0) THEN !
|
||
|
OPEN(UNIT=IO_EF,FILE=FLIST(IO_EF),STATUS='unknown') ! Fermi energy
|
||
|
END IF !
|
||
|
END IF !
|
||
|
IF(I_KF == 1) THEN !
|
||
|
IO_KF=FN(KFFILE) !
|
||
|
IF(JF == 1 .OR. INDEX_FILE(IO_KF) == 0) THEN !
|
||
|
OPEN(UNIT=IO_KF,FILE=FLIST(IO_KF),STATUS='unknown') ! Fermi momentum
|
||
|
END IF !
|
||
|
END IF !
|
||
|
IF(I_VF == 1) THEN !
|
||
|
IO_VF=FN(VFFILE) !
|
||
|
IF(JF == 1 .OR. INDEX_FILE(IO_VF) == 0) THEN !
|
||
|
OPEN(UNIT=IO_VF,FILE=FLIST(IO_VF),STATUS='unknown') ! Fermi velocity
|
||
|
END IF !
|
||
|
END IF !
|
||
|
IF(I_TE == 1) THEN !
|
||
|
IO_TE=FN(TEFILE) !
|
||
|
IF(JF == 1 .OR. INDEX_FILE(IO_TE) == 0) THEN !
|
||
|
OPEN(UNIT=IO_TE,FILE=FLIST(IO_TE),STATUS='unknown') ! Fermi temperature
|
||
|
END IF !
|
||
|
END IF !
|
||
|
IF(I_DL == 1) THEN !
|
||
|
IO_DL=FN(DLFILE) !
|
||
|
IF(JF == 1 .OR. INDEX_FILE(IO_DL) == 0) THEN !
|
||
|
OPEN(UNIT=IO_DL,FILE=FLIST(IO_DL),STATUS='unknown') ! Fermi density of states
|
||
|
END IF !
|
||
|
END IF !
|
||
|
!
|
||
|
! Files for calculator 6
|
||
|
!
|
||
|
IF(I_TW == 1) THEN !
|
||
|
IO_TW=FN(TWFILE) !
|
||
|
IF(JF == 1 .OR. INDEX_FILE(IO_TW) == 0) THEN !
|
||
|
OPEN(UNIT=IO_TW,FILE=FLIST(IO_TW),STATUS='unknown') ! thermal De Broglie wavelength
|
||
|
END IF !
|
||
|
END IF !
|
||
|
IF(I_VT == 1) THEN !
|
||
|
IO_VT=FN(VTFILE) !
|
||
|
IF(JF == 1 .OR. INDEX_FILE(IO_VT) == 0) THEN !
|
||
|
OPEN(UNIT=IO_VT,FILE=FLIST(IO_VT),STATUS='unknown') ! thermal velocity
|
||
|
END IF !
|
||
|
END IF !
|
||
|
IF(I_TC == 1) THEN !
|
||
|
IO_TC=FN(TCFILE) !
|
||
|
IF(JF == 1 .OR. INDEX_FILE(IO_TC) == 0) THEN !
|
||
|
OPEN(UNIT=IO_TC,FILE=FLIST(IO_TC),STATUS='unknown') ! thermal conductivity
|
||
|
END IF !
|
||
|
END IF !
|
||
|
!
|
||
|
! Files for calculator 7
|
||
|
!
|
||
|
IF(I_EG == 1) THEN !
|
||
|
IO_EG=FN(EGFILE) !
|
||
|
IF(JF == 1 .OR. INDEX_FILE(IO_EG) == 0) THEN !
|
||
|
OPEN(UNIT=IO_EG,FILE=FLIST(IO_EG),STATUS='unknown') ! ground state energy
|
||
|
END IF !
|
||
|
END IF !
|
||
|
IF(I_EX == 1) THEN !
|
||
|
IO_EX=FN(EXFILE) !
|
||
|
IF(JF == 1 .OR. INDEX_FILE(IO_EX) == 0) THEN !
|
||
|
OPEN(UNIT=IO_EX,FILE=FLIST(IO_EX),STATUS='unknown') ! exchange energy
|
||
|
END IF !
|
||
|
END IF !
|
||
|
IF(I_XC == 1) THEN !
|
||
|
IO_XC=FN(XCFILE) !
|
||
|
IF(JF == 1 .OR. INDEX_FILE(IO_XC) == 0) THEN !
|
||
|
OPEN(UNIT=IO_XC,FILE=FLIST(IO_XC),STATUS='unknown') ! exchange correlation energy
|
||
|
END IF !
|
||
|
END IF !
|
||
|
IF(I_EC == 1) THEN !
|
||
|
IO_EC=FN(ECFILE) !
|
||
|
IF(JF == 1 .OR. INDEX_FILE(IO_EC) == 0) THEN !
|
||
|
OPEN(UNIT=IO_EC,FILE=FLIST(IO_EC),STATUS='unknown') ! correlation energy
|
||
|
END IF !
|
||
|
END IF !
|
||
|
IF(I_HF == 1) THEN !
|
||
|
IO_HF=FN(HFFILE) !
|
||
|
IF(JF == 1 .OR. INDEX_FILE(IO_HF) == 0) THEN !
|
||
|
OPEN(UNIT=IO_HF,FILE=FLIST(IO_HF),STATUS='unknown') ! Hartree-Fock energy
|
||
|
END IF !
|
||
|
END IF !
|
||
|
IF(I_EK == 1) THEN !
|
||
|
IO_EK=FN(EKFILE) !
|
||
|
IF(JF == 1 .OR. INDEX_FILE(IO_EK) == 0) THEN !
|
||
|
OPEN(UNIT=IO_EK,FILE=FLIST(IO_EK),STATUS='unknown') ! kinetic energy
|
||
|
END IF !
|
||
|
END IF !
|
||
|
IF(I_EP == 1) THEN !
|
||
|
IO_EP=FN(EPFILE) !
|
||
|
IF(JF == 1 .OR. INDEX_FILE(IO_EP) == 0) THEN !
|
||
|
OPEN(UNIT=IO_EP,FILE=FLIST(IO_EP),STATUS='unknown') ! potential energy
|
||
|
END IF !
|
||
|
END IF !
|
||
|
!
|
||
|
! Files for calculator 8
|
||
|
!
|
||
|
IF(I_VI == 1) THEN !
|
||
|
IO_VI=FN(VIFILE) !
|
||
|
IF(JF == 1 .OR. INDEX_FILE(IO_VI) == 0) THEN !
|
||
|
OPEN(UNIT=IO_VI,FILE=FLIST(IO_VI),STATUS='unknown') ! shear viscosity
|
||
|
END IF !
|
||
|
END IF !
|
||
|
IF(I_DI == 1) THEN !
|
||
|
IO_DI=FN(DIFILE) !
|
||
|
IF(JF == 1 .OR. INDEX_FILE(IO_DI) == 0) THEN !
|
||
|
OPEN(UNIT=IO_DI,FILE=FLIST(IO_DI),STATUS='unknown') ! diffusion coefficient
|
||
|
END IF !
|
||
|
END IF !
|
||
|
!
|
||
|
! Files for calculator 9
|
||
|
!
|
||
|
IF(I_FP == 1) THEN !
|
||
|
IO_FP=FN(FPFILE) !
|
||
|
IF(JF == 1 .OR. INDEX_FILE(IO_FP) == 0) THEN !
|
||
|
OPEN(UNIT=IO_FP,FILE=FLIST(IO_FP),STATUS='unknown') ! fluctuation potential file
|
||
|
END IF !
|
||
|
END IF !
|
||
|
IF(I_EL == 1) THEN !
|
||
|
IO_EL=FN(ELFILE) !
|
||
|
IF(JF == 1 .OR. INDEX_FILE(IO_EL) == 0) THEN !
|
||
|
OPEN(UNIT=IO_EL,FILE=FLIST(IO_EL),STATUS='unknown') ! energy loss function
|
||
|
END IF !
|
||
|
END IF !
|
||
|
IF(I_PO == 1) THEN !
|
||
|
IO_PO=FN(POFILE) !
|
||
|
IF(JF == 1 .OR. INDEX_FILE(IO_PO) == 0) THEN !
|
||
|
OPEN(UNIT=IO_PO,FILE=FLIST(IO_PO),STATUS='unknown') ! stopping power
|
||
|
END IF !
|
||
|
END IF !
|
||
|
IF(I_RF == 1) THEN !
|
||
|
IO_RF=FN(RFFILE) !
|
||
|
IF(JF == 1 .OR. INDEX_FILE(IO_RF) == 0) THEN !
|
||
|
OPEN(UNIT=IO_RF,FILE=FLIST(IO_RF),STATUS='unknown') ! refractive index
|
||
|
END IF !
|
||
|
END IF !
|
||
|
IF(I_VC == 1) THEN !
|
||
|
IO_VC=FN(VCFILE) !
|
||
|
IF(JF == 1 .OR. INDEX_FILE(IO_VC) == 0) THEN !
|
||
|
OPEN(UNIT=IO_VC,FILE=FLIST(IO_VC),STATUS='unknown') ! dynamic screened Coulomb potential V(q,omega)
|
||
|
END IF !
|
||
|
END IF !
|
||
|
!
|
||
|
END SUBROUTINE OPEN_OUTPUT_FILES
|
||
|
!
|
||
|
END MODULE OPEN_OUTFILES
|