From 191f51ecd7ae8d4d1ed1299f04f8339def8e1891 Mon Sep 17 00:00:00 2001
From: kamischi <karl-michael.schindler@web.de>
Date: Fri, 23 Aug 2024 11:29:12 +0200
Subject: [PATCH] add f77 test case

---
 tests/SetEpsTestCasesFromScratch/f77/Makefile |  20 +
 tests/SetEpsTestCasesFromScratch/f77/README   |  13 +
 .../f77/change_working_dir.for                |  25 +
 tests/SetEpsTestCasesFromScratch/f77/doRun.sh |  15 +
 tests/SetEpsTestCasesFromScratch/f77/eels.for | 877 ++++++++++++++++++
 .../f77/epsLog/seteps001.log                  | Bin 0 -> 15090 bytes
 .../f77/epsLog/seteps004.log                  | Bin 0 -> 15090 bytes
 .../f77/epsLog/seteps006.log                  | Bin 0 -> 24947 bytes
 8 files changed, 950 insertions(+)
 create mode 100644 tests/SetEpsTestCasesFromScratch/f77/Makefile
 create mode 100644 tests/SetEpsTestCasesFromScratch/f77/README
 create mode 100755 tests/SetEpsTestCasesFromScratch/f77/change_working_dir.for
 create mode 100755 tests/SetEpsTestCasesFromScratch/f77/doRun.sh
 create mode 100644 tests/SetEpsTestCasesFromScratch/f77/eels.for
 create mode 100644 tests/SetEpsTestCasesFromScratch/f77/epsLog/seteps001.log
 create mode 100644 tests/SetEpsTestCasesFromScratch/f77/epsLog/seteps004.log
 create mode 100644 tests/SetEpsTestCasesFromScratch/f77/epsLog/seteps006.log

diff --git a/tests/SetEpsTestCasesFromScratch/f77/Makefile b/tests/SetEpsTestCasesFromScratch/f77/Makefile
new file mode 100644
index 0000000..246d122
--- /dev/null
+++ b/tests/SetEpsTestCasesFromScratch/f77/Makefile
@@ -0,0 +1,20 @@
+# the fortran compiler
+FC = gfortran 
+
+# the options for the fortran compiler
+FFLAGS = -g -gdwarf-2 -fbounds-check -fcheck=all -O0
+
+# the implicit rule for compiling for files
+%.o: %.for ; $(FC) $(FFLAGS) -c -o $@ $< 
+
+all: eels
+
+eels: change_working_dir.o eels.for
+	$(FC) $(FFLAGS) -o eels eels.for change_working_dir.o
+
+clean:
+	rm -f *.o
+	rm -rf *.dSYM
+	rm -f eels
+
+.PHONY: all clean
diff --git a/tests/SetEpsTestCasesFromScratch/f77/README b/tests/SetEpsTestCasesFromScratch/f77/README
new file mode 100644
index 0000000..d483945
--- /dev/null
+++ b/tests/SetEpsTestCasesFromScratch/f77/README
@@ -0,0 +1,13 @@
+Command for compilation:
+
+> make
+
+Command for execution:
+
+> doRun.sh
+
+Cleanup:
+
+> make clean
+
+KMS
\ No newline at end of file
diff --git a/tests/SetEpsTestCasesFromScratch/f77/change_working_dir.for b/tests/SetEpsTestCasesFromScratch/f77/change_working_dir.for
new file mode 100755
index 0000000..6841ba8
--- /dev/null
+++ b/tests/SetEpsTestCasesFromScratch/f77/change_working_dir.for
@@ -0,0 +1,25 @@
+      subroutine change_working_dir()
+
+C This routine gets the first argument of the commandline and takes it 
+C as the path to change the working directory
+C used intrinsic routines:
+C iarg returns the number of commandline arguments without the program cname.
+C chdir changes the directory and returns 0 on success.
+C trim removes blanks from strings.
+
+      character(256) argument
+      integer status
+      
+      if (iargc() == 1) then
+         call getarg(1, argument)
+         status = chdir(trim(argument))
+         if (status /= 0) then
+            write (*,*) '*** Change directory failed ***'
+            write (*,*) 'Directory tried: ', trim(argument)
+            write (*,*) 'Error code (see: man chdir): ', status
+            write (*,*) 'Continuing in the start directory'
+         endif
+      endif
+
+      return
+      end
diff --git a/tests/SetEpsTestCasesFromScratch/f77/doRun.sh b/tests/SetEpsTestCasesFromScratch/f77/doRun.sh
new file mode 100755
index 0000000..f5a8e51
--- /dev/null
+++ b/tests/SetEpsTestCasesFromScratch/f77/doRun.sh
@@ -0,0 +1,15 @@
+#!/bin/sh -v
+cp ../inputFIles/eelsin001 eelsin
+./eels
+mv seteps.log epsLog/seteps001.log
+
+cp ../inputFIles/eelsin004 eelsin
+./eels
+mv seteps.log epsLog/seteps004.log
+
+cp ../inputFIles/eelsin006 eelsin
+./eels
+mv seteps.log epsLog/seteps006.log
+
+rm eelsin
+rm EELSOU
diff --git a/tests/SetEpsTestCasesFromScratch/f77/eels.for b/tests/SetEpsTestCasesFromScratch/f77/eels.for
new file mode 100644
index 0000000..768825c
--- /dev/null
+++ b/tests/SetEpsTestCasesFromScratch/f77/eels.for
@@ -0,0 +1,877 @@
+      PROGRAM EELS                                                      ABTI0030
+C    ****************************************************************** ABTI0031
+C    *                                                                * ABTI0032
+C    * COMPUTE THE CLASSICAL EELS SPECTRUM OF AN ARBITRARY PLANE-     * ABTI0033
+C    * STATIFIED MEDIUM MADE FROM ISOTROPIC MATERIALS IN SPECULAR     * ABTI0034
+C    * GEOMETRY USING THE DIELECTRIC THEORY OF EELS.                  * ABTI0035
+C    *                                                                * ABTI0036
+C    ****************************************************************** ABTI0037
+      PARAMETER(LMAX=100,JMAX=300,NT=5)                                 ABTI0038
+      LOGICAL RATION,USER                                               ABTI0039
+      CHARACTER CONTRL*10,NAME*10,COMMEN*72                             ABTI0040
+      DOUBLE PRECISION A,ACOEF,AERR,ALPHA,ARGMIN,ARGMAX,B,BCOEF,BETA,   ABTI0041
+     ,C1,C2,CCOEF,COSPSI,DLIMF,DW,DX,E0,ELLEPS,ENER,EPSINF,EPSMAC,      ABTI0042
+     ,FACRU,F,F0,F1,FPIC,FUN,OSC,PHIA,PHIB,PI,PREFAC,PSIA,PSII,QRAT,    ABTI0043
+     ,RERR,RU,SINPSI,T,TANPSI,TABLE,THETA,THICK,UM,WIDT,WMIN,WMAX,WN,   ABTI0044
+     ,WPIC,X,XMIN,XMAX,Z,Z1,Z2                                          ABTI0045
+      COMPLEX EPS                                                       ABTI0046
+      DIMENSION COMMEN(2),EPSINF(LMAX),NOS(LMAX),OSC(3,JMAX),TABLE(NT)  ABTI0047
+      DIMENSION NAME(LMAX)
+      COMMON/PARAM/ACOEF,BCOEF,CCOEF,ELLEPS,COSPSI,SINPSI,TANPSI,       ABTI0048
+     1             RU,UM,DLIMF,WN,USER,RATION                           ABTI0049
+      COMMON/MULAYR/EPS(LMAX),THICK(LMAX),ARGMIN,ARGMAX,EPSMAC,         ABTI0050
+     2              LAYERS,NPER                                         ABTI0051
+      EXTERNAL FUN                                                      ABTI0052
+      QRAT(X) = (1.0D0+X*(BETA+C1*X))/((1.0D0+X*(BETA+C2*X))*           ABTI0053
+     *            (1.0D0+ALPHA*X)**2)                                   ABTI0054
+      DATA AERR/0.0D0/,RERR/1.0D-06/,F/0.0D0/,F1/0.0D0/                 ABTI0055
+
+C **** log modification start
+      open(unit = 99, file = 'seteps.log')
+C **** log modification end
+
+C                                                                       ABTI0056
+C *** MACHINE-DEPENDENT CONSTANTS                                       ABTI0057
+C *** EPSMAC + 1.0 = EPSMAC , COSH(ARGMIN) = 1.0 , TANH(ARGMAX) = 1.0   ABTI0058
+C                                                                       ABTI0059
+      PI = 4.0D0*ATAN(1.0D0)                                            ABTI0060
+      EPSMAC = 1.0D0                                                    ABTI0061
+    1 EPSMAC = EPSMAC/2.0D0                                             ABTI0062
+      IF(1.0D0+EPSMAC.GT.1.0D0) GOTO 1                                  ABTI0063
+      ARGMIN = SQRT(2.0D0*EPSMAC)                                       ABTI0064
+      ARGMAX = 0.5D0*LOG(2.0D0/EPSMAC)                                  ABTI0065
+C                                                                       ABTI0066
+C *** READ SPECTROMETER PARAMETERS                                      ABTI0067
+C                                                                       ABTI0068
+      call change_working_dir()
+      OPEN(UNIT=11,FILE='EELSIN')                                       ABTI0069
+C     IMPACT ENERGY (EV)                                                ABTI0070
+      READ(11,*) E0                                                     ABTI0071
+C     INCIDENCE ANGLE (%)                                               ABTI0072
+      READ(11,*) THETA                                                  ABTI0073
+C     ANGULAR APERTURES OF THE ELLIPTIC DETECTOR (%)                    ABTI0074
+      READ(11,*) PHIA                                                   ABTI0075
+      READ(11,*) PHIB                                                   ABTI0076
+C     ENERGY-LOSS INTERVAL AND STEP SIZE (CM**-1)                       ABTI0077
+      READ(11,*) WMIN                                                   ABTI0078
+      READ(11,*) WMAX                                                   ABTI0079
+      READ(11,*) DW                                                     ABTI0080
+C     COMMENT LINES                                                     ABTI0081
+      READ(11,'(A72)') (COMMEN(K),K=1,2)                                ABTI0082
+C                                                                       ABTI0083
+      WRITE(6,100) E0,THETA,PHIA,PHIB,WMIN,WMAX,DW,(COMMEN(K),K=1,2)    ABTI0084
+      IF(PHIA.LE.0.0D0 .OR. PHIB.LE.0.0D0) STOP '*** WRONG INPUT ***'   ABTI0085
+      IF(E0.LE.0.0D0 .OR. THETA+PHIA.GE.90.0D0) STOP '*** BAD INPUT ***'ABTI0086
+      DLIMF = 0.0D0                                                     ABTI0087
+      RATION = .FALSE.                                                  ABTI0088
+C                                                                       ABTI0089
+C *** READ TARGET SPECIFICATIONS                                        ABTI0090
+C                                                                       ABTI0091
+      READ(11,*) LAYERS,NPER                                            ABTI0092
+      USER = LAYERS.EQ.0                                                ABTI0093
+      IF(USER) GOTO 15                                                  ABTI0094
+      NEPS = LAYERS                                                     ABTI0095
+      IF(NPER.EQ.-1) THEN                                               ABTI0096
+         NEPS = LAYERS+1                                                ABTI0097
+         NPER = 1                                                       ABTI0098
+         WRITE(6,*) 'THE SUBSTRATE IS A ANISOTROPIC UNIAXIAL MATERIAL'  ABTI0099
+      ENDIF                                                             ABTI0100
+      IF(LAYERS.LT.0 .OR. NPER.LT.1 .OR. NPER.GT.LAYERS) STOP           ABTI0101
+     .                '*** INVALID TARGET SPECIFICATIONS ***'           ABTI0102
+      IF(NEPS.GT.LMAX) STOP '*** TOO MANY LAYERS ***'                   ABTI0103
+      WRITE(6,101) LAYERS,NPER                                          ABTI0104
+      IF(LAYERS.EQ.1) RATION = .TRUE.                                   ABTI0105
+      LSTART = LAYERS-NPER+1                                            ABTI0106
+      JOS = 0                                                           ABTI0107
+      DO 10 L=1,NEPS                                                    ABTI0108
+         IF(L.LE.LAYERS) READ(11,102) NAME(L),THICK(L)                  ABTI0109
+         READ(11,*) EPSINF(L),NOS(L)                                    ABTI0110
+         WRITE(6,103)
+C        IF(L.EQ.LSTART) WRITE(6,103)                                   ABTI0111
+         IF(NOS(L).LE.0) THEN                                           ABTI0112
+            IF(L.LE.LAYERS) WRITE(6,104) L,NAME(L),THICK(L),EPSINF(L)   ABTI0113
+            IF(L.GT.LAYERS) WRITE(6,105) EPSINF(L)                      ABTI0114
+         ELSE                                                           ABTI0115
+            DO 5 J=1,NOS(L)                                             ABTI0116
+               JOS = JOS+1                                              ABTI0117
+               IF(JOS.GT.JMAX) STOP '*** TOO MANY OSCILLATORS ***'      ABTI0118
+               READ(11,*) (OSC(K,JOS),K=1,3)                            ABTI0119
+               IF((J==NOS(L)/2+1).AND.(NOS(L).GT.1)) THEN
+                  WRITE(6,114)
+                  WRITE(6,115)
+               ENDIF
+               IF(J.EQ.1) THEN                                          ABTI0120
+                  IF(L.LE.LAYERS) WRITE(6,104) L,NAME(L),THICK(L),      ABTI0121
+     ,                             EPSINF(L),(OSC(I,JOS),I=1,3)         ABTI0122
+                  IF(L.GT.LAYERS) WRITE(6,105)                          ABTI0123
+     .                             EPSINF(L),(OSC(I,JOS),I=1,3)         ABTI0124
+               ELSE                                                     ABTI0125
+                  WRITE(6,106) (OSC(I,JOS),I=1,3)                       ABTI0126
+               ENDIF                                                    ABTI0127
+    5       CONTINUE                                                    ABTI0128
+         ENDIF                                                          ABTI0129
+   10 CONTINUE                                                          ABTI0130
+      WRITE(6,*)                                                        ABTI0131
+      READ(11,102,END=15) CONTRL                                        ABTI0132
+      IF(CONTRL.EQ.'IMAGE') THEN                                        ABTI0133
+C ***    IMAGE-CHARGE SCREENING FACTOR                                  ABTI0134
+         IF(LAYERS.EQ.1 .AND. NEPS.EQ.2) THEN                           ABTI0135
+            DLIMF = SQRT(EPSINF(1)*EPSINF(2))                           ABTI0136
+         ELSE                                                           ABTI0137
+            DLIMF = EPSINF(1)                                           ABTI0138
+         ENDIF                                                          ABTI0139
+         DLIMF = (DLIMF-1.0D0)/(DLIMF+1.0D0)                            ABTI0140
+      ENDIF                                                             ABTI0141
+C                                                                       ABTI0142
+C *** INITIALIZE CONSTANTS                                              ABTI0143
+C                                                                       ABTI0144
+   15 OPEN(UNIT=12,FILE='EELSOU')                                       ABTI0145
+      WRITE(12,107) E0,THETA,PHIA,PHIB,COMMEN(1)                        ABTI0146
+      NW = 1+INT((WMAX-WMIN)/DW)                                        ABTI0147
+      NOUT = 1+NW/20                                                    ABTI0148
+      ENER = 8.065D+03*E0                                               ABTI0149
+      PSIA = PHIA/180.0D0*PI                                            ABTI0150
+      PSII = THETA/180.0D0*PI                                           ABTI0151
+      COSPSI = COS(PSII)                                                ABTI0152
+      SINPSI = SIN(PSII)                                                ABTI0153
+      TANPSI = TAN(PSII)                                                ABTI0154
+      PREFAC = SQRT(2.555D+05/E0)/(1.37D+02*COSPSI)                     ABTI0155
+      FACRU = PSIA/COSPSI*SQRT(0.2624664D0*E0)                          ABTI0156
+      ELLEPS = (1.0D0-PHIA/PHIB)*(1.0D0+PHIA/PHIB)                      ABTI0157
+      ACOEF = SINPSI**2+ELLEPS*COSPSI**2                                ABTI0158
+      BCOEF = SINPSI*COSPSI                                             ABTI0159
+      IF(DLIMF.GT.0.0D0) THEN                                           ABTI0160
+         RATION = .FALSE.                                               ABTI0161
+         WRITE(6,108) DLIMF                                             ABTI0162
+C ***    DLIMF : HALF THE LENGTH UNIT IMPOSED BY THE IMAGE FORCE        ABTI0163
+         DLIMF = 1.80D0*DLIMF/(E0*COSPSI**2)                            ABTI0164
+      ENDIF                                                             ABTI0165
+      IF(.NOT.RATION) GOTO 35                                           ABTI0166
+C                                                                       ABTI0167
+C *** SET UP COEFFICIENTS FOR THE RATIONAL APPROXIMATION TO THE INTEGRALABTI0168
+C                                                                       ABTI0169
+      WRITE(6,*) '==> SET UP A RATIONAL APPROXIMATION TO THE INTEGRAL'  ABTI0170
+      CALL QUANC8(FUN,0.0D0,PI/2.0D0,AERR,RERR,ALPHA,C1,NOFU,C2)        ABTI0171
+      ALPHA  = (2.0D0/PI)**2*ALPHA                                      ABTI0172
+      C1 = 2.0D0/PI/SQRT(1.0D0-ELLEPS)*SINPSI*ALPHA**2                  ABTI0173
+      IF(C1.GT.0.99D0) GOTO 30                                          ABTI0174
+      C2 = 3.0D0*ALPHA**2/(1.0D0-C1)                                    ABTI0175
+      C1 = C1*C2                                                        ABTI0176
+      XMIN = WMIN/(2.0D0*ENER*PSIA)                                     ABTI0177
+      XMAX = WMAX/(2.0D0*ENER*PSIA)                                     ABTI0178
+      IF(XMIN.LE.0.0D0) XMIN = 0.0D0                                    ABTI0179
+      DX = MAX(0.02D0,(XMAX-XMIN)/NT)                                   ABTI0180
+      Z1 = 0.0D0                                                        ABTI0181
+      Z2 = 0.0D0                                                        ABTI0182
+      DO 20 I=1,NT                                                      ABTI0183
+         X = XMIN+I*DX                                                  ABTI0184
+         CALL QUEELS(X,F,AERR,RERR,FACRU)                               ABTI0185
+         TABLE(I) = F                                                   ABTI0186
+         F = F*(1.0D0+ALPHA*X)**2                                       ABTI0187
+         IF(ABS(C2*F-C1).LT.C2*RERR) GOTO 20                            ABTI0188
+         Z = (1.0D0-F)/(C2*F-C1)                                        ABTI0189
+         IF(Z.LE.0.0D0) GOTO 20                                         ABTI0190
+         Z1 = Z1+X*Z*(X**2-Z)                                           ABTI0191
+         Z2 = Z2+(X*Z)**2                                               ABTI0192
+   20 CONTINUE                                                          ABTI0193
+      IF(Z2.EQ.0.0D0) GOTO 30                                           ABTI0194
+      BETA = Z1/Z2                                                      ABTI0195
+      Z = 0.0D0                                                         ABTI0196
+      DO 25 I=1,NT                                                      ABTI0197
+         X = XMIN+I*DX                                                  ABTI0198
+         Z = Z+(TABLE(I)-QRAT(X))**2                                    ABTI0199
+   25 CONTINUE                                                          ABTI0200
+      Z = SQRT(Z)/NT                                                    ABTI0201
+      IF(Z.GT.5.0D-03) GOTO 30                                          ABTI0202
+      WRITE(6,109) ALPHA,C1,C2,BETA,Z                                   ABTI0203
+      GOTO 35                                                           ABTI0204
+   30 WRITE(6,*) '===> CANNOT DO IT'                                    ABTI0205
+      RATION = .FALSE.                                                  ABTI0206
+C                                                                       ABTI0207
+C *** LOOP OVER THE ENERGY LOSSES                                       ABTI0208
+C                                                                       ABTI0209
+   35 WRITE(6,110)                                                      ABTI0210
+
+C **** log modification start
+      write (99, '(i5, i5)')         neps, layers
+      write (99, '(a)')              mode
+      do i = 1, neps
+        write (99, '(a, g15.7, i5)') name(i), epsinf(i), nos(i)
+        do j = 1, nos(i)
+          write (99, '(3g15.7)')     osc(1,j), osc(2,j), osc(3,j)
+        enddo
+      enddo
+      write (99, *)
+C **** log modification end
+
+      DO 50 IW=1,NW                                                     ABTI0211
+         F0 = F1                                                        ABTI0212
+         F1 = F                                                         ABTI0213
+         F = 0.0D0                                                      ABTI0214
+         WN = WMIN+(IW-1)*DW                                            ABTI0215
+         IF(WN.LT.0.0D0) GOTO 45                                        ABTI0216
+         IF(WN.EQ.0.0D0) GOTO 40                                        ABTI0217
+         IF(.NOT.USER) CALL SETEPS(NEPS,NOS,OSC,JOS,EPSINF,WN,NAME)     ABTI0218
+         X = WN/(2.0D0*ENER*PSIA)                                       ABTI0219
+         IF(RATION) THEN                                                ABTI0220
+            F = QRAT(X)*AIMAG(-2.0/(1.0+EPS(1)))                        ABTI0221
+         ELSE                                                           ABTI0222
+            CALL QUEELS(X,F,AERR,RERR,FACRU)                            ABTI0223
+         ENDIF                                                          ABTI0224
+         F = PREFAC*F/WN                                                ABTI0225
+   40    WRITE(12,111) WN,F                                             ABTI0226
+C ***    LOCALIZE A PEAK USING A PARABOLIC INTERPOLATION                ABTI0227
+         IF(IW.LT.3) GOTO 45                                            ABTI0228
+         IF(F1-F0.LE.AERR) GOTO 45                                      ABTI0229
+         IF(F1-F.LE.AERR) GOTO 45                                       ABTI0230
+         A = (F1-F0)+(F1-F)                                             ABTI0231
+         IF(A.LE.4.0D0*RERR*F1) GOTO 45                                 ABTI0232
+         B = 0.5D0*(F1-F0+3.0D0*(F1-F))                                 ABTI0233
+         T = B/A                                                        ABTI0234
+         WPIC = WN-T*DW                                                 ABTI0235
+         FPIC = F+0.5D0*B*T                                             ABTI0236
+         WIDT = SQRT(8.0D0*FPIC/A)*DW                                   ABTI0237
+         WRITE(6,112) WPIC,FPIC,WIDT                                    ABTI0238
+   45    IF(MOD(IW,NOUT).EQ.0) WRITE(6,113) 100.0*IW/NW,WN,F            ABTI0239
+   50 CONTINUE                                                          ABTI0240
+      CLOSE(UNIT=11)                                                    ABTI0241
+      CLOSE(UNIT=12)                                                    ABTI0242
+
+C **** log modification start
+      close (unit = 99)
+C **** log modification end
+
+      STOP                                                              ABTI0243
+  100 FORMAT(' PROGRAM EELS (MARCH 1990)'/' E0 =',F6.2,' EV ,  THETA =',ABTI0244
+     ,       F5.1,'% ,  PHIA =',F5.2,'% ,  PHIB =',F5.2,'%'/            ABTI0245
+     .       ' ENERGY LOSSES FROM',G11.4,'  TO',G11.4,' , STEP =',G11.4,ABTI0246
+     ,       ' CM**-1'//(1X,A72))                                       ABTI0247
+  101 FORMAT(I3,' LAYER(S), NPER =',I2//'   L',2X,'MATERIAL',7X,        ABTI0248
+     ,       'THICKNESS',5X,'EPSINF',4X,'WTO , WP',5X,'Q',7X,'GAM/WTO') ABTI0249
+  102 FORMAT(A10,D15.5)                                                 ABTI0250
+  103 FORMAT(1X,72('-'))                                                ABTI0251
+  104 FORMAT(1X,I3,2X,A10,G15.3,F10.4,F12.4,F10.4,F9.4)                 ABTI0252
+  105 FORMAT(31X,F10.4,F12.4,F10.4,F9.4)                                ABTI0253
+  106 FORMAT(41X,F12.4,F10.4,F9.4)                                      ABTI0254
+  107 FORMAT('E0 =',F6.2,' THETA =',F5.1,' PHIA =',F5.2,' PHIB =',F5.2/ ABTI0255
+     .       A72)                                                       ABTI0256
+  108 FORMAT(' ==> ELECTRON ATTRACTED BY AN IMAGE CHARGE =',F6.3)       ABTI0257
+  109 FORMAT(5X,'ALPHA =',F9.4,4X,'C1 =',F9.4,4X,'C2 =',F9.4,4X,        ABTI0258
+     ,       'BETA =',F9.4/5X,'ACCURACY =',E9.2)                        ABTI0259
+  110 FORMAT(//' RUN (%)  WN (CM**-1)  PCL(WN) (CM) |',                 ABTI0260
+     ,          ' PEAK LOCATION  AMPLITUDE    WIDTH')                   ABTI0261
+  111 FORMAT(2E15.7)                                                    ABTI0262
+  112 FORMAT(40X,F10.2,D12.4,F10.2)                                     ABTI0263
+  113 FORMAT(2X,F5.1,3X,F11.3,D14.5)                                    ABTI0264
+  114 FORMAT(45X,'WLO , WP',5X,'Q',7X,'GAM/WLO')
+  115 FORMAT(45X,28('-')) 
+      END                                                               ABTI0265
+      SUBROUTINE QUEELS(X,F,AERR,RERR,FACRU)                            ABTI0266
+C    ****************************************************************** ABTI0267
+C    *                                                                * ABTI0268
+C    * PERFORM Q-SPACE INTEGRATION FOR COMPUTING THE EELS SPECTRUM OF * ABTI0269
+C    * A ISOTROPIC TARGET USING POLAR COORDINATES.                    * ABTI0270
+C    *                                                                * ABTI0271
+C    * X IS THE DIMENSIONLESS ENERGY LOSS HBAR*OMEGA/(2*E0*PHIA)      * ABTI0272
+C    * AERR AND RERR ARE THE DESIRED ABSOLUTE AND RELATIVE ACCURACIES * ABTI0273
+C    * FACRU*X IS THE UNITS OF WAVEVECTORS OMEGA/V_PERPENDICULAR      * ABTI0274
+C    * F IS THE Q-INTEGRAL MULTIPLIED BY (2/PI)**2                    * ABTI0275
+C    *                                                                * ABTI0276
+C    ****************************************************************** ABTI0277
+      LOGICAL RATION,USER                                               ABTI0278
+      DOUBLE PRECISION ACOEF,AERR,BCOEF,CCOEF,COSPSI,DLIMF,ELLEPS,      ABTI0279
+     ,ERROR,F,FACRU,FINT1,FINT2,FINT3,FLAG,RERR,RU,SINPSI,U1,U2,UM,UT,  ABTI0280
+     ,TANPSI,WN,X,Y                                                     ABTI0281
+      DIMENSION ERROR(3),FLAG(3)                                        ABTI0282
+      COMMON/PARAM/ACOEF,BCOEF,CCOEF,ELLEPS,COSPSI,SINPSI,TANPSI,       ABTI0283
+     ,             RU,UM,DLIMF,WN,USER,RATION                           ABTI0284
+      EXTERNAL FINT1,FINT2,FINT3                                        ABTI0285
+      F = 0.0D0                                                         ABTI0286
+      IF(X.LE.0.0D0) RETURN                                             ABTI0287
+      RU = FACRU*X                                                      ABTI0288
+      CCOEF = COSPSI**2/X                                               ABTI0289
+      UT = CCOEF-BCOEF                                                  ABTI0290
+      U1 = ABS(UT)                                                      ABTI0291
+      U2 = CCOEF+BCOEF                                                  ABTI0292
+      IF(UT.GT.0.0D0) THEN                                              ABTI0293
+         CALL QUANC8(FINT1,0.0D0,U1,AERR,RERR,Y,ERROR(1),NOFU,FLAG(1))  ABTI0294
+         F = Y                                                          ABTI0295
+      ELSE                                                              ABTI0296
+         FLAG(1) = 0.0D0                                                ABTI0297
+      ENDIF                                                             ABTI0298
+      IF(U2.GT.U1) THEN                                                 ABTI0299
+         CALL QUANC8(FINT2,U1,U2,AERR,RERR,Y,ERROR(2),NOFU,FLAG(2))     ABTI0300
+         F = F+Y                                                        ABTI0301
+      ELSE                                                              ABTI0302
+         FLAG(2) = 0.0D0                                                ABTI0303
+      ENDIF                                                             ABTI0304
+      IF(ABS(ACOEF).GT.X*(1.0D0-ELLEPS)*BCOEF) THEN                     ABTI0305
+         UM = SQRT(CCOEF/X/(1.0D0-ELLEPS)+BCOEF**2/ACOEF)               ABTI0306
+         IF(UM.GT.U2) THEN                                              ABTI0307
+            CALL QUANC8(FINT3,U2,UM,AERR,RERR,Y,ERROR(3),NOFU,FLAG(3))  ABTI0308
+            F = F+Y                                                     ABTI0309
+         ENDIF                                                          ABTI0310
+         IF(UM.LT.U1) THEN                                              ABTI0311
+            CALL QUANC8(FINT3,UM,U1,AERR,RERR,Y,ERROR(3),NOFU,FLAG(3))  ABTI0312
+            F = F-Y                                                     ABTI0313
+         ENDIF                                                          ABTI0314
+      ELSE                                                              ABTI0315
+         FLAG(3) = 0.0D0                                                ABTI0316
+      ENDIF                                                             ABTI0317
+      ISTOP = 0                                                         ABTI0318
+      DO 5 IE=1,3                                                       ABTI0319
+         IF(FLAG(IE).EQ.0.0D0) GOTO 5                                   ABTI0320
+         WRITE(6,100) IE,FLAG(IE),ERROR(IE)                             ABTI0321
+         IF(FLAG(IE)-AINT(FLAG(IE)).GT.0.5D-02) ISTOP = ISTOP+1         ABTI0322
+    5 CONTINUE                                                          ABTI0323
+      IF(ISTOP.GT.0) STOP '*** EXECUTION ABORTED ***'                   ABTI0324
+      F = (2.0D0/3.141592653589793238D0)**2*F                           ABTI0325
+      RETURN                                                            ABTI0326
+  100 FORMAT(' +++ FLAG(',I1,') =',F10.5,',  ERROR =',D11.4,' +++')     ABTI0327
+      END                                                               ABTI0328
+      SUBROUTINE QUANC8(FUN,A,B,ABSERR,RELERR,RESULT,ERREST,NOFUN,FLAG) ABTI0329
+C                                                                       ABTI0330
+C   ESTIMATE THE INTEGRAL OF FUN(X) FROM A TO B                         ABTI0331
+C   TO A USER PROVIDED TOLERANCE.                                       ABTI0332
+C   AN AUTOMATIC ADAPTIVE ROUTINE BASED ON                              ABTI0333
+C   THE 8-PANEL NEWTON-COTES RULE (G. FORSYTHE ET AL, 1977, P. 92)      ABTI0334
+C                                                                       ABTI0335
+C   INPUT ..                                                            ABTI0336
+C                                                                       ABTI0337
+C   FUN     THE NAME OF THE INTEGRAND FUNCTION SUBPROGRAM FUN(X).       ABTI0338
+C   A       THE LOWER LIMIT OF INTEGRATION.                             ABTI0339
+C   B       THE UPPER LIMIT OF INTEGRATION.(B MAY BE LESS THAN A.)      ABTI0340
+C   RELERR  A RELATIVE ERROR TOLERANCE. (SHOULD BE NON-NEGATIVE)        ABTI0341
+C   ABSERR  AN ABSOLUTE ERROR TOLERANCE. (SHOULD BE NON-NEGATIVE)       ABTI0342
+C                                                                       ABTI0343
+C   OUTPUT ..                                                           ABTI0344
+C                                                                       ABTI0345
+C   RESULT  AN APPROXIMATION TO THE INTEGRAL HOPEFULLY SATISFYING THE   ABTI0346
+C           LEAST STRINGENT OF THE TWO ERROR TOLERANCES.                ABTI0347
+C   ERREST  AN ESTIMATE OF THE MAGNITUDE OF THE ACTUAL ERROR.           ABTI0348
+C   NOFUN   THE NUMBER OF FUNCTION VALUES USED IN CALCULATION OF RESULT.ABTI0349
+C   FLAG    A RELIABILITY INDICATOR.  IF FLAG IS ZERO, THEN RESULT      ABTI0350
+C           PROBABLY SATISFIES THE ERROR TOLERANCE.  IF FLAG IS         ABTI0351
+C           XXX.YYY , THEN  XXX = THE NUMBER OF INTERVALS WHICH HAVE    ABTI0352
+C           NOT CONVERGED AND  0.YYY = THE FRACTION OF THE INTERVAL     ABTI0353
+C           LEFT TO DO WHEN THE LIMIT ON  NOFUN  WAS APPROACHED.        ABTI0354
+C                                                                       ABTI0355
+      DOUBLE PRECISION FUN, A, B, ABSERR, RELERR, RESULT, ERREST, FLAG  ABTI0356
+      DOUBLE PRECISION W0,W1,W2,W3,W4,AREA,X0,F0,STONE,STEP,COR11,TEMP  ABTI0357
+      DOUBLE PRECISION QPREV,QNOW,QDIFF,QLEFT,ESTERR,TOLERR             ABTI0358
+      DOUBLE PRECISION QRIGHT(31),F(16),X(16),FSAVE(8,30),XSAVE(8,30)   ABTI0359
+      DOUBLE PRECISION DABS,DMAX1                                       ABTI0360
+      INTEGER NOFUN                                                     ABTI0361
+      INTEGER LEVMIN,LEVMAX,LEVOUT,NOMAX,NOFIN,LEV,NIM,I,J              ABTI0362
+C                                                                       ABTI0363
+C   ***   STAGE 1 ***   GENERAL INITIALIZATION                          ABTI0364
+C   SET CONSTANTS.                                                      ABTI0365
+C                                                                       ABTI0366
+      LEVMIN = 1                                                        ABTI0367
+      LEVMAX = 30                                                       ABTI0368
+      LEVOUT = 6                                                        ABTI0369
+      NOMAX = 5000                                                      ABTI0370
+      NOFIN = NOMAX - 8*(LEVMAX-LEVOUT+2**(LEVOUT+1))                   ABTI0371
+C                                                                       ABTI0372
+C   TROUBLE WHEN NOFUN REACHES NOFIN                                    ABTI0373
+C                                                                       ABTI0374
+      W0 =   3956.0D0 / 14175.0D0                                       ABTI0375
+      W1 =  23552.0D0 / 14175.0D0                                       ABTI0376
+      W2 =  -3712.0D0 / 14175.0D0                                       ABTI0377
+      W3 =  41984.0D0 / 14175.0D0                                       ABTI0378
+      W4 = -18160.0D0 / 14175.0D0                                       ABTI0379
+C                                                                       ABTI0380
+C   INITIALIZE RUNNING SUMS TO ZERO.                                    ABTI0381
+C                                                                       ABTI0382
+      FLAG = 0.0D0                                                      ABTI0383
+      RESULT = 0.0D0                                                    ABTI0384
+      COR11  = 0.0D0                                                    ABTI0385
+      ERREST = 0.0D0                                                    ABTI0386
+      AREA   = 0.0D0                                                    ABTI0387
+      NOFUN = 0                                                         ABTI0388
+      IF (A .EQ. B) RETURN                                              ABTI0389
+C                                                                       ABTI0390
+C   ***   STAGE 2 ***   INITIALIZATION FOR FIRST INTERVAL               ABTI0391
+C                                                                       ABTI0392
+      LEV = 0                                                           ABTI0393
+      NIM = 1                                                           ABTI0394
+      X0 = A                                                            ABTI0395
+      X(16) = B                                                         ABTI0396
+      QPREV  = 0.0D0                                                    ABTI0397
+      F0 = FUN(X0)                                                      ABTI0398
+      STONE = (B - A) / 16.0D0                                          ABTI0399
+      X(8)  =  (X0  + X(16)) / 2.0D0                                    ABTI0400
+      X(4)  =  (X0  + X(8))  / 2.0D0                                    ABTI0401
+      X(12) =  (X(8)  + X(16)) / 2.0D0                                  ABTI0402
+      X(2)  =  (X0  + X(4))  / 2.0D0                                    ABTI0403
+      X(6)  =  (X(4)  + X(8))  / 2.0D0                                  ABTI0404
+      X(10) =  (X(8)  + X(12)) / 2.0D0                                  ABTI0405
+      X(14) =  (X(12) + X(16)) / 2.0D0                                  ABTI0406
+      DO 25 J = 2, 16, 2                                                ABTI0407
+         F(J) = FUN(X(J))                                               ABTI0408
+   25 CONTINUE                                                          ABTI0409
+      NOFUN = 9                                                         ABTI0410
+C                                                                       ABTI0411
+C   ***   STAGE 3 ***   CENTRAL CALCULATION                             ABTI0412
+C   REQUIRES QPREV,X0,X2,X4,...,X16,F0,F2,F4,...,F16.                   ABTI0413
+C   CALCULATES X1,X3,...X15, F1,F3,...F15,QLEFT,QRIGHT,QNOW,QDIFF,AREA. ABTI0414
+C                                                                       ABTI0415
+   30 X(1) = (X0 + X(2)) / 2.0D0                                        ABTI0416
+      F(1) = FUN(X(1))                                                  ABTI0417
+      DO 35 J = 3, 15, 2                                                ABTI0418
+         X(J) = (X(J-1) + X(J+1)) / 2.0D0                               ABTI0419
+         F(J) = FUN(X(J))                                               ABTI0420
+   35 CONTINUE                                                          ABTI0421
+      NOFUN = NOFUN + 8                                                 ABTI0422
+      STEP = (X(16) - X0) / 16.0D0                                      ABTI0423
+      QLEFT  =  (W0*(F0 + F(8))  + W1*(F(1)+F(7))  + W2*(F(2)+F(6))     ABTI0424
+     1  + W3*(F(3)+F(5))  +  W4*F(4)) * STEP                            ABTI0425
+      QRIGHT(LEV+1)=(W0*(F(8)+F(16))+W1*(F(9)+F(15))+W2*(F(10)+F(14))   ABTI0426
+     1  + W3*(F(11)+F(13)) + W4*F(12)) * STEP                           ABTI0427
+      QNOW = QLEFT + QRIGHT(LEV+1)                                      ABTI0428
+      QDIFF = QNOW - QPREV                                              ABTI0429
+      AREA = AREA + QDIFF                                               ABTI0430
+C                                                                       ABTI0431
+C   ***   STAGE 4 *** INTERVAL CONVERGENCE TEST                         ABTI0432
+C                                                                       ABTI0433
+      ESTERR = DABS(QDIFF) / 1023.0D0                                   ABTI0434
+      TOLERR = DMAX1(ABSERR,RELERR*DABS(AREA)) * (STEP/STONE)           ABTI0435
+      IF (LEV .LT. LEVMIN) GO TO 50                                     ABTI0436
+      IF (LEV .GE. LEVMAX) GO TO 62                                     ABTI0437
+      IF (NOFUN .GT. NOFIN) GO TO 60                                    ABTI0438
+      IF (ESTERR .LE. TOLERR) GO TO 70                                  ABTI0439
+C                                                                       ABTI0440
+C   ***   STAGE 5   ***   NO CONVERGENCE                                ABTI0441
+C   LOCATE NEXT INTERVAL.                                               ABTI0442
+C                                                                       ABTI0443
+   50 NIM = 2*NIM                                                       ABTI0444
+      LEV = LEV+1                                                       ABTI0445
+C                                                                       ABTI0446
+C   STORE RIGHT HAND ELEMENTS FOR FUTURE USE.                           ABTI0447
+C                                                                       ABTI0448
+      DO 52 I = 1, 8                                                    ABTI0449
+         FSAVE(I,LEV) = F(I+8)                                          ABTI0450
+         XSAVE(I,LEV) = X(I+8)                                          ABTI0451
+   52 CONTINUE                                                          ABTI0452
+C                                                                       ABTI0453
+C   ASSEMBLE LEFT HAND ELEMENTS FOR IMMEDIATE USE.                      ABTI0454
+C                                                                       ABTI0455
+      QPREV = QLEFT                                                     ABTI0456
+      DO 55 I = 1, 8                                                    ABTI0457
+         J = -I                                                         ABTI0458
+         F(2*J+18) = F(J+9)                                             ABTI0459
+         X(2*J+18) = X(J+9)                                             ABTI0460
+   55 CONTINUE                                                          ABTI0461
+      GO TO 30                                                          ABTI0462
+C                                                                       ABTI0463
+C   ***   STAGE 6   ***   TROUBLE SECTION                               ABTI0464
+C   NUMBER OF FUNCTION VALUES IS ABOUT TO EXCEED LIMIT.                 ABTI0465
+C                                                                       ABTI0466
+   60 NOFIN = 2*NOFIN                                                   ABTI0467
+      LEVMAX = LEVOUT                                                   ABTI0468
+      FLAG = FLAG + (B - X0) / (B - A)                                  ABTI0469
+      GO TO 70                                                          ABTI0470
+C                                                                       ABTI0471
+C   CURRENT LEVEL IS LEVMAX.                                            ABTI0472
+C                                                                       ABTI0473
+   62 FLAG = FLAG + 1.0D0                                               ABTI0474
+C                                                                       ABTI0475
+C   ***   STAGE 7   ***   INTERVAL CONVERGED                            ABTI0476
+C   ADD CONTRIBUTIONS INTO RUNNING SUMS.                                ABTI0477
+C                                                                       ABTI0478
+   70 RESULT = RESULT + QNOW                                            ABTI0479
+      ERREST = ERREST + ESTERR                                          ABTI0480
+      COR11  = COR11  + QDIFF / 1023.0D0                                ABTI0481
+C                                                                       ABTI0482
+C   LOCATE NEXT INTERVAL.                                               ABTI0483
+C                                                                       ABTI0484
+   72 IF (NIM .EQ. 2*(NIM/2)) GO TO 75                                  ABTI0485
+      NIM = NIM/2                                                       ABTI0486
+      LEV = LEV-1                                                       ABTI0487
+      GO TO 72                                                          ABTI0488
+   75 NIM = NIM + 1                                                     ABTI0489
+      IF (LEV .LE. 0) GO TO 80                                          ABTI0490
+C                                                                       ABTI0491
+C   ASSEMBLE ELEMENTS REQUIRED FOR THE NEXT INTERVAL.                   ABTI0492
+C                                                                       ABTI0493
+      QPREV = QRIGHT(LEV)                                               ABTI0494
+      X0 = X(16)                                                        ABTI0495
+      F0 = F(16)                                                        ABTI0496
+      DO 78 I = 1, 8                                                    ABTI0497
+         F(2*I) = FSAVE(I,LEV)                                          ABTI0498
+         X(2*I) = XSAVE(I,LEV)                                          ABTI0499
+   78 CONTINUE                                                          ABTI0500
+      GO TO 30                                                          ABTI0501
+C                                                                       ABTI0502
+C   ***   STAGE 8   ***   FINALIZE AND RETURN                           ABTI0503
+C                                                                       ABTI0504
+   80 RESULT = RESULT + COR11                                           ABTI0505
+C                                                                       ABTI0506
+C   MAKE SURE ERREST NOT LESS THAN ROUNDOFF LEVEL.                      ABTI0507
+C                                                                       ABTI0508
+      IF (ERREST .EQ. 0.0D0) RETURN                                     ABTI0509
+   82 TEMP = DABS(RESULT) + ERREST                                      ABTI0510
+      IF (TEMP .NE. DABS(RESULT)) RETURN                                ABTI0511
+      ERREST = 2.0D0*ERREST                                             ABTI0512
+      GO TO 82                                                          ABTI0513
+      END                                                               ABTI0514
+      SUBROUTINE SETEPS(NEPS,NOS,OSC,JOS,EPSINF,WN,NAME)                ABTI0515
+C    ****************************************************************** ABTI0516
+C    *                                                                * ABTI0517
+C    * SET UP LONG-WAVELENGTH DIELECTRIC FUNCTIONS OF THE LAYERS FOR  * ABTI0518
+C    * THE PRESENT FREQUENCY WN (IN CM**-1)                           * ABTI0519
+C    *                                                                * ABTI0520
+C    ****************************************************************** ABTI0521
+      PARAMETER(LMAX=100)                                               ABTI0522
+      CHARACTER NAME*10
+      DOUBLE PRECISION ARGMIN,ARGMAX,EPSINF,EPSMAC,OSC,THICK,WN,X       ABTI0523
+      COMPLEX DENO,EPS,DENO1,DENO2                                      ABTI0524
+      DIMENSION NOS(NEPS),OSC(3,JOS),EPSINF(NEPS),NAME(NEPS)            ABTI0525
+      COMMON/MULAYR/EPS(LMAX),THICK(LMAX),ARGMIN,ARGMAX,EPSMAC,         ABTI0526
+     ,              LAYERS,NPER                                         ABTI0527
+      J = 0                                                             ABTI0528
+      DO 2 L=1,NEPS
+         M = NOS(L)/2
+         DENO1 = CMPLX(1.0D0,0.0D0)
+         DENO2 = CMPLX(1.0D0,0.0D0)
+         IF(NOS(L).GT.1) THEN
+            DO 1 K=1,M
+               J = J+1
+       DENO1 = DENO1*(OSC(1,J+M)**2-WN**2-CMPLX(0.0,WN*OSC(3,J+M)))
+       DENO2 = DENO2*(OSC(1,J  )**2-WN**2-CMPLX(0.0,WN*OSC(3,J  )))
+    1       CONTINUE
+            EPS(L) = EPSINF(L)*DENO1/DENO2
+         ELSE IF(NAME(L).EQ.'metal') THEN
+            J = J+1
+            EPS(L) = -OSC(1,J)**2/( WN**2+CMPLX(0.0D0,WN*OSC(3,J)) )
+         ELSE
+            EPS(L) = EPSINF(L)
+            J = J+1
+            X = WN/OSC(1,J)
+            DENO = X*CMPLX(X,OSC(3,J))
+            IF(OSC(2,J).GE.0.0D0) DENO = 1.0-DENO
+            IF(ABS(DENO).EQ.0.0) DENO = EPSMAC
+            EPS(L) = EPS(L)+OSC(2,J)/DENO
+         ENDIF
+    2 CONTINUE                                                          ABTI0538
+      IF(NEPS.EQ.LAYERS+1) THEN                                         ABTI0540
+C        THE SUBSTRATE IS A ANISOTROPIC UNIAXIAL MATERIAL               ABTI0541
+         EPS(LAYERS) = SQRT(EPS(LAYERS)*EPS(LAYERS+1))                  ABTI0542
+         IF(AIMAG(EPS(LAYERS)).LT.0.0) EPS(LAYERS) = -EPS(LAYERS)       ABTI0543
+      ENDIF                                                             ABTI0544
+
+C **** log modification start
+      write (99, '(30g15.7)') wn, (eps(j), j = 1, neps)
+C **** log modification end
+
+      RETURN                                                            ABTI0545
+      END                                                               ABTI0546
+      DOUBLE PRECISION FUNCTION FUN(PHI)                                ABTI0547
+C    ****************************************************************** ABTI0548
+C    *                                                                * ABTI0549
+C    * INTEGRAND OF THE EXPRESSION OF THE 1ST ORDER TERM IN THE       * ABTI0550
+C    * EXPANSION OF THE EELS INTEGRAL FOR A HOMOGENEOUS TARGET.       * ABTI0551
+C    *                                                                * ABTI0552
+C    ****************************************************************** ABTI0553
+      LOGICAL USER,RATION                                               ABTI0554
+      DOUBLE PRECISION ACOEF,BCOEF,CCOEF,COSPSI,DLIMF,ELLEPS,PHI,RU,    ABTI0555
+     ,SINPHI,SINPSI,TANPSI,UM,WN                                        ABTI0556
+      COMMON/PARAM/ACOEF,BCOEF,CCOEF,ELLEPS,COSPSI,SINPSI,TANPSI,       ABTI0557
+     ,             RU,UM,DLIMF,WN,USER,RATION                           ABTI0558
+      SINPHI = SIN(PHI)                                                 ABTI0559
+      FUN = SQRT((1.0D0-ELLEPS+ELLEPS*SINPHI**2)*(1.0D0-SINPSI*SINPHI)* ABTI0560
+     *          (1.0D0+SINPSI*SINPHI))                                  ABTI0561
+      RETURN                                                            ABTI0562
+      END                                                               ABTI0563
+      DOUBLE PRECISION FUNCTION FINT1(U)                                ABTI0564
+C    ****************************************************************** ABTI0565
+C    *                                                                * ABTI0566
+C    * INTEGRATION OVER THE AZIMUTAL ANGLE FROM 0.0 TO PI             * ABTI0567
+C    *                                                                * ABTI0568
+C    ****************************************************************** ABTI0569
+      LOGICAL RATION,USER                                               ABTI0570
+      DOUBLE PRECISION ACOEF,BCOEF,CCOEF,COSPSI,DEN,DIF,DLIMF,E,ELLEPS, ABTI0571
+     ,PI,ROM,ROP,RU,SINPSI,SUM,SURLOS,U,UM,USURLO,T,TANPSI,WN           ABTI0572
+      COMMON/PARAM/ACOEF,BCOEF,CCOEF,ELLEPS,COSPSI,SINPSI,TANPSI,       ABTI0573
+     ,             RU,UM,DLIMF,WN,USER,RATION                           ABTI0574
+      DATA PI/3.141592653589793238D0/                                   ABTI0575
+      IF(U.EQ.0.0D0) THEN                                               ABTI0576
+         FINT1 = 0.0D0                                                  ABTI0577
+         RETURN                                                         ABTI0578
+      ENDIF                                                             ABTI0579
+      E = TANPSI*U                                                      ABTI0580
+      ROM = (1.0D0-E)**2+U**2                                           ABTI0581
+      ROP = (1.0D0+E)**2+U**2                                           ABTI0582
+      SUM = ROP+ROM                                                     ABTI0583
+      ROM = SQRT(ROM)                                                   ABTI0584
+      ROP = SQRT(ROP)                                                   ABTI0585
+      DIF = ROP-ROM                                                     ABTI0586
+      DEN = SQRT((2.0D0-DIF)*(2.0D0+DIF))*ROP*ROM                       ABTI0587
+      FINT1 = PI*U**2*(4.0D0*SUM-DIF**2*(SUM-ROP*ROM))/DEN**3           ABTI0588
+      IF(RATION) RETURN                                                 ABTI0589
+      IF(USER) THEN                                                     ABTI0590
+         FINT1 = FINT1*USURLO(RU*U,WN)                                  ABTI0591
+      ELSE                                                              ABTI0592
+         FINT1 = FINT1*SURLOS(RU*U)                                     ABTI0593
+         IF(DLIMF.GT.0.0D0) THEN                                        ABTI0594
+            T = RU*U*DLIMF                                              ABTI0595
+            FINT1 = FINT1*(1.D0+T*LOG(T/(T+0.26D0)))**2/(1.D0+1.40D0*T) ABTI0596
+         ENDIF                                                          ABTI0597
+      ENDIF                                                             ABTI0598
+      RETURN                                                            ABTI0599
+      END                                                               ABTI0600
+      DOUBLE PRECISION FUNCTION FINT2(U)                                ABTI0601
+C    ****************************************************************** ABTI0602
+C    *                                                                * ABTI0603
+C    * INTEGRATION OVER THE AZIMUTAL ANGLE FROM 0.0 TO PHI < PI       * ABTI0604
+C    *                                                                * ABTI0605
+C    ****************************************************************** ABTI0606
+      LOGICAL RATION,USER                                               ABTI0607
+      DOUBLE PRECISION A,ARG,B,B2,C,CCOEF,COSPSI,DLIMF,ELLEPS,PHI,      ABTI0608
+     ,PHINT,RU,SINPSI,SURLOS,U,UM,USURLO,T,TANPSI,WN,X                  ABTI0609
+      COMMON/PARAM/A,B,CCOEF,ELLEPS,COSPSI,SINPSI,TANPSI,RU,UM,DLIMF,   ABTI0610
+     ,             WN,USER,RATION                                       ABTI0611
+      IF(U.EQ.0.0D0) THEN                                               ABTI0612
+         FINT2 = 0.0D0                                                  ABTI0613
+         RETURN                                                         ABTI0614
+      ENDIF                                                             ABTI0615
+      B2 = B**2                                                         ABTI0616
+      C = (1.0D0-ELLEPS)*(COSPSI*U)**2+(B-CCOEF)*(B+CCOEF)              ABTI0617
+      IF(ABS(A*C).GT.1.0D-03*B2) THEN                                   ABTI0618
+         X = (B-SQRT(B2-A*C))/A                                         ABTI0619
+      ELSE                                                              ABTI0620
+         X = A*C/B2                                                     ABTI0621
+         X = 0.5D0*C*(1.D0+0.25D0*X*(1.D0+0.5D0*X*(1.D0+0.625D0*X)))/B  ABTI0622
+      ENDIF                                                             ABTI0623
+      ARG = X/U                                                         ABTI0624
+      IF(ABS(ARG).GT.1.0D0) ARG = SIGN(1.0D0,ARG)                       ABTI0625
+      PHI = ACOS(ARG)                                                   ABTI0626
+      FINT2 = PHINT(PHI,TANPSI,U)                                       ABTI0627
+      IF(RATION) RETURN                                                 ABTI0628
+      IF(USER) THEN                                                     ABTI0629
+         FINT2 = FINT2*USURLO(RU*U,WN)                                  ABTI0630
+      ELSE                                                              ABTI0631
+         FINT2 = FINT2*SURLOS(RU*U)                                     ABTI0632
+         IF(DLIMF.GT.0.0D0) THEN                                        ABTI0633
+            T = RU*U*DLIMF                                              ABTI0634
+            FINT2 = FINT2*(1.D0+T*LOG(T/(T+0.26D0)))**2/(1.D0+1.40D0*T) ABTI0635
+         ENDIF                                                          ABTI0636
+      ENDIF                                                             ABTI0637
+      RETURN                                                            ABTI0638
+      END                                                               ABTI0639
+      DOUBLE PRECISION FUNCTION FINT3(U)                                ABTI0640
+C    ****************************************************************** ABTI0641
+C    *                                                                * ABTI0642
+C    * INTEGRATION OVER THE AZIMUTAL ANGLE FROM PHI1 > 0 TO PHI2 < PI * ABTI0643
+C    *                                                                * ABTI0644
+C    ****************************************************************** ABTI0645
+      LOGICAL RATION,USER                                               ABTI0646
+      DOUBLE PRECISION A,ARG,B,CCOEF,COSPSI,DLIMF,ELLEPS,PHI1,PHI2,     ABTI0647
+     ,PHINT,SINPSI,SURLOS,RAC,RU,U,UM,USURLO,T,TANPSI,WN                ABTI0648
+      COMMON/PARAM/A,B,CCOEF,ELLEPS,COSPSI,SINPSI,TANPSI,RU,UM,DLIMF,   ABTI0649
+     ,             WN,USER,RATION                                       ABTI0650
+      IF(U.EQ.0.0D0) THEN                                               ABTI0651
+         FINT3 = 0.0D0                                                  ABTI0652
+         RETURN                                                         ABTI0653
+      ENDIF                                                             ABTI0654
+      RAC = SIGN(1.0D0,A)*COSPSI*SQRT((1.0D0-ELLEPS)*A*(UM-U)*(UM+U))   ABTI0655
+      ARG = (B-RAC)/(U*A)                                               ABTI0656
+      IF(ABS(ARG).GT.1.0D0) ARG = SIGN(1.0D0,ARG)                       ABTI0657
+      PHI2 = ACOS(ARG)                                                  ABTI0658
+      FINT3 = PHINT(PHI2,TANPSI,U)                                      ABTI0659
+      ARG = (B+RAC)/(U*A)                                               ABTI0660
+      IF(ABS(ARG).GT.1.0D0) ARG = SIGN(1.0D0,ARG)                       ABTI0661
+      PHI1 = ACOS(ARG)                                                  ABTI0662
+      FINT3 = FINT3-PHINT(PHI1,TANPSI,U)                                ABTI0663
+      IF(RATION) RETURN                                                 ABTI0664
+      IF(USER) THEN                                                     ABTI0665
+         FINT3 = FINT3*USURLO(RU*U,WN)                                  ABTI0666
+      ELSE                                                              ABTI0667
+         FINT3 = FINT3*SURLOS(RU*U)                                     ABTI0668
+         IF(DLIMF.GT.0.0D0) THEN                                        ABTI0669
+            T = RU*U*DLIMF                                              ABTI0670
+            FINT3 = FINT3*(1.D0+T*LOG(T/(T+0.26D0)))**2/(1.D0+1.40D0*T) ABTI0671
+         ENDIF                                                          ABTI0672
+      ENDIF                                                             ABTI0673
+      RETURN                                                            ABTI0674
+      END                                                               ABTI0675
+      DOUBLE PRECISION FUNCTION PHINT(PHI,A,U)                          ABTI0676
+C    ****************************************************************** ABTI0677
+C    *                                                                * ABTI0678
+C    * EVALUATE THE INTEGRAL FROM ZERO TO PHI OF                      * ABTI0679
+C    *                                                                * ABTI0680
+C    *                 U                 2                            * ABTI0681
+C    *  ( ----------------------------- )  DPHI                       * ABTI0682
+C    *                          2     2                               * ABTI0683
+C    *    (1 - A * U * COS(PHI))  +  U                                * ABTI0684
+C    *                                                                * ABTI0685
+C    * FOR 0 <= PHI <= PI , U >= 0 AND A >= 0                         * ABTI0686
+C    *                                                                * ABTI0687
+C    ****************************************************************** ABTI0688
+      DOUBLE PRECISION A,AI,AR,BI,BR,C,CPR,D,E,ESR,PI,PHI,QR,RI,RM,ROOT,ABTI0689
+     ,RP,RR,S,SPR,TM,TP,U,U2,X,ZETA,ZETAI,ZETAR,ZR                      ABTI0690
+      PI = 3.141592653589793238D0                                       ABTI0691
+      C = COS(PHI)                                                      ABTI0692
+      S = SIN(PHI)                                                      ABTI0693
+      U2 = U**2                                                         ABTI0694
+      E = A*U                                                           ABTI0695
+      IF(U.LT.1.0D0 .AND. E.LT.1.0D-02*(1.0D0+U2)) GOTO 5               ABTI0696
+      RM = SQRT((1.0D0-E)**2+U2)                                        ABTI0697
+      RP = SQRT((1.0D0+E)**2+U2)                                        ABTI0698
+      ROOT = SQRT(RM*RP)                                                ABTI0699
+      TM = 0.5D0*ATAN2(U,1.0D0-E)                                       ABTI0700
+      TP = 0.5D0*ATAN2(U,1.0D0+E)                                       ABTI0701
+      CPR = COS(TM+TP)                                                  ABTI0702
+      SPR = SIN(TM+TP)                                                  ABTI0703
+      IF(C.GE.0.0D0) GOTO 2                                             ABTI0704
+      IF(ABS(S).GT.1.0D-07) GOTO 1                                      ABTI0705
+      RR = -PI/ROOT*CPR                                                 ABTI0706
+      RI = PI/ROOT*SPR                                                  ABTI0707
+      AR = -RR+U*RI                                                     ABTI0708
+      AI = -RI-U*RR                                                     ABTI0709
+      GOTO 4                                                            ABTI0710
+    1 X = (1.0D0-C)/S                                                   ABTI0711
+      GOTO 3                                                            ABTI0712
+    2 X = S/(1.0D0+C)                                                   ABTI0713
+    3 ZETA = SQRT(RM/RP)                                                ABTI0714
+      ZETAR = -ZETA*SIN(TM-TP)                                          ABTI0715
+      ZETAI = ZETA*COS(TM-TP)                                           ABTI0716
+      BR = 0.5D0*LOG(((ZETAR+X)**2+ZETAI**2)/((ZETAR-X)**2+ZETAI**2))   ABTI0717
+      BI = ATAN2(ZETAI,ZETAR+X)-ATAN2(ZETAI,ZETAR-X)                    ABTI0718
+      RR = -1.0D0/ROOT*(BR*SPR-BI*CPR)                                  ABTI0719
+      RI = -1.0D0/ROOT*(BI*SPR+BR*CPR)                                  ABTI0720
+      D = E*S/((1.0D0-E*C)**2+U2)                                       ABTI0721
+      AR = D*(1.0D0-E*C)-RR+U*RI                                        ABTI0722
+      AI = -D*U-RI-U*RR                                                 ABTI0723
+    4 QR = 1.0D0/(RM*RP)*(AR*(CPR-SPR)*(CPR+SPR)+2.0D0*AI*CPR*SPR)      ABTI0724
+      PHINT = 0.5D0*(RI/U-QR)                                           ABTI0725
+      RETURN                                                            ABTI0726
+    5 ZR = 1.0D0+U2                                                     ABTI0727
+      ESR = E/ZR                                                        ABTI0728
+      PHINT = U2/ZR**2*((( (4.D0/3.D0)*(2.0D0+C**2)*S*(5.0D0-3.0D0*U2)* ABTI0729
+     *             ESR + (PHI+C*S)*(5.D0-U2))*ESR + 4.0D0*S)*ESR + PHI) ABTI0730
+      RETURN                                                            ABTI0731
+      END                                                               ABTI0732
+      DOUBLE PRECISION FUNCTION SURLOS(DK)                              ABTI0733
+C    ****************************************************************** ABTI0734
+C    *                                                                * ABTI0735
+C    * EELS SURFACE LOSS FUNCTION FOR AN ARBITRARY MULTILAYERED TARGET* ABTI0736
+C    *                                                                * ABTI0737
+C    ****************************************************************** ABTI0738
+      PARAMETER(LMAX=100)                                               ABTI0739
+      LOGICAL STATIC,ZERO                                               ABTI0740
+      DOUBLE PRECISION ARG,ARGMIN,ARGMAX,CN,CNM1,D,DK,EPSMAC,SN,SNM1,TN ABTI0741
+      COMPLEX A,B,CSI,EPS,PNM2,PNM1,PN,PP,QNM2,QNM1,QN,QP,Z             ABTI0742
+      DIMENSION ARG(LMAX)                                               ABTI0743
+      COMMON/MULAYR/EPS(LMAX),D(LMAX),ARGMIN,ARGMAX,EPSMAC,LAYERS,NPER  ABTI0744
+      ZERO(Z) = REAL(Z).EQ.0.0 .AND. AIMAG(Z).EQ.0.0                    ABTI0745
+      LSTART = LAYERS-NPER+1                                            ABTI0746
+      STATIC = .TRUE.                                                   ABTI0747
+      N = 1                                                             ABTI0748
+    1 ARG(N) = DK*D(N)                                                  ABTI0749
+      IF(ARG(N).GT.ARGMAX .OR. ZERO(EPS(N))) GOTO 10                    ABTI0750
+      IF(N.GE.LSTART .AND. ARG(N).GT.ARGMIN) STATIC = .FALSE.           ABTI0751
+      N = N+1                                                           ABTI0752
+      IF(N.LE.LAYERS) GOTO 1                                            ABTI0753
+C                                                                       ABTI0754
+C *** PERIODIC CONTINUED FRACTION, PERIOD = NPER                        ABTI0755
+C                                                                       ABTI0756
+      IF(NPER.GT.1) GOTO 2                                              ABTI0757
+      CSI = EPS(LAYERS)                                                 ABTI0758
+      GOTO 9                                                            ABTI0759
+    2 IF(STATIC) GOTO 5                                                 ABTI0760
+      CN = COSH(ARG(LSTART))                                            ABTI0761
+      SN = SINH(ARG(LSTART))                                            ABTI0762
+      PNM1 = 1.0                                                        ABTI0763
+      PN =  CN                                                          ABTI0764
+      PP = EPS(LSTART)*SN                                               ABTI0765
+      QNM1 = 0.0                                                        ABTI0766
+      QN = SN/EPS(LSTART)                                               ABTI0767
+      QP = PN                                                           ABTI0768
+      DO 3 N=LSTART+1,LAYERS                                            ABTI0769
+         CNM1 = CN                                                      ABTI0770
+         SNM1 = SN                                                      ABTI0771
+         CN = COSH(ARG(N))                                              ABTI0772
+         SN = SINH(ARG(N))                                              ABTI0773
+         A = EPS(N)*SN                                                  ABTI0774
+         PP = CN*PP+A*PN                                                ABTI0775
+         QP = CN*QP+A*QN                                                ABTI0776
+         B = (EPS(N-1)/EPS(N))*(SN/SNM1)                                ABTI0777
+         A = CNM1*B+CN                                                  ABTI0778
+         PNM2 = PNM1                                                    ABTI0779
+         PNM1 = PN                                                      ABTI0780
+         QNM2 = QNM1                                                    ABTI0781
+         QNM1 = QN                                                      ABTI0782
+         PN = A*PNM1-B*PNM2                                             ABTI0783
+         QN = A*QNM1-B*QNM2                                             ABTI0784
+    3 CONTINUE                                                          ABTI0785
+      IF(ZERO(QN)) GOTO 4                                               ABTI0786
+      A = 0.5*(PN-QP)/QN                                                ABTI0787
+      B = SQRT(A**2+PP/QN)                                              ABTI0788
+      PN = A-PN/QN                                                      ABTI0789
+      IF(ABS(PN+B).GT.ABS(PN-B)) B = -B                                 ABTI0790
+      CSI = A+B                                                         ABTI0791
+      GOTO 9                                                            ABTI0792
+    4 A = QP-PN                                                         ABTI0793
+      IF(ZERO(A)) GOTO 12                                               ABTI0794
+      CSI = PP/A                                                        ABTI0795
+      GOTO 9                                                            ABTI0796
+C                                                                       ABTI0797
+C *** SMALL-DK LIMIT OF THE PERIODIC TAIL                               ABTI0798
+C                                                                       ABTI0799
+    5 PN = 0.0                                                          ABTI0800
+      QN = 0.0                                                          ABTI0801
+      DO 6 N=LSTART,LAYERS                                              ABTI0802
+        PN = PN+D(N)*EPS(N)                                             ABTI0803
+        QN = QN+D(N)/EPS(N)                                             ABTI0804
+    6 CONTINUE                                                          ABTI0805
+      IF(ZERO(QN)) GOTO 12                                              ABTI0806
+      CSI = SQRT(PN/QN)                                                 ABTI0807
+      IF(AIMAG(CSI).GT.0.0) GOTO 9                                      ABTI0808
+      IF(AIMAG(CSI).LT.0.0) THEN                                        ABTI0809
+         CSI = -CSI                                                     ABTI0810
+      ELSE                                                              ABTI0811
+         IF(REAL(QN).LT.0.0) CSI = -CSI                                 ABTI0812
+      ENDIF                                                             ABTI0813
+    9 N = LSTART                                                        ABTI0814
+      GOTO 11                                                           ABTI0815
+   10 CSI = EPS(N)                                                      ABTI0816
+C                                                                       ABTI0817
+C *** BACKWARD ALGORITHM                                                ABTI0818
+C                                                                       ABTI0819
+   11 N = N-1                                                           ABTI0820
+      IF(N.LE.0) GOTO 15                                                ABTI0821
+      IF(ARG(N).EQ.0.0D0) GOTO 11                                       ABTI0822
+      T = TANH(ARG(N))                                                  ABTI0823
+      B = EPS(N)+CSI*T                                                  ABTI0824
+      IF(ZERO(B)) GOTO 13                                               ABTI0825
+      CSI = EPS(N)*(CSI+T*EPS(N))/B                                     ABTI0826
+      GOTO 11                                                           ABTI0827
+   12 N = LSTART                                                        ABTI0828
+   13 IF(N.LE.1) GOTO 14                                                ABTI0829
+      N = N-1                                                           ABTI0830
+      CSI = EPS(N)/TANH(ARG(N))                                         ABTI0831
+      GOTO 11                                                           ABTI0832
+   14 SURLOS = 0.0D0                                                    ABTI0833
+      GOTO 17                                                           ABTI0834
+   15 A = CSI+1.0                                                       ABTI0835
+      IF(ZERO(A)) GOTO 16                                               ABTI0836
+      SURLOS = AIMAG(-2.0/A)                                            ABTI0837
+      GOTO 17                                                           ABTI0838
+   16 SURLOS = 2.0D0/EPSMAC                                             ABTI0839
+   17 RETURN
+      END                                                               ABTI0841
+      DOUBLE PRECISION FUNCTION USURLO(DQ,WN)                           ABTI0842
+C    ****************************************************************** ABTI0843
+C    *                                                                * ABTI0844
+C    * USER-SUPPLIED DIELECTRIC SURFACE LOSS FUNCTION AIMAG(G(DQ,WN)) * ABTI0845
+C    * INPUT ARGUMENTS :                                              * ABTI0846
+C    *    DQ : MODULUS OF THE TWO-DIMENSIONAL SURFACE WAVE VECTOR     * ABTI0847
+C    *         (ANGSTROEM**-1)                                        * ABTI0848
+C    *    WN : FREQUENCY (CM**-1)                                     * ABTI0849
+C    *                                                                * ABTI0850
+C    ****************************************************************** ABTI0851
+      DOUBLE PRECISION DQ,WN                                            ABTI0852
+      USURLO =  1.0D0                                                   ABTI0853
+      RETURN                                                            ABTI0854
+      END                                                               ABTI0855
diff --git a/tests/SetEpsTestCasesFromScratch/f77/epsLog/seteps001.log b/tests/SetEpsTestCasesFromScratch/f77/epsLog/seteps001.log
new file mode 100644
index 0000000000000000000000000000000000000000..cdd1cfa4e76e9347f7b76b7104d26940d549e9d9
GIT binary patch
literal 15090
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

literal 0
HcmV?d00001

diff --git a/tests/SetEpsTestCasesFromScratch/f77/epsLog/seteps004.log b/tests/SetEpsTestCasesFromScratch/f77/epsLog/seteps004.log
new file mode 100644
index 0000000000000000000000000000000000000000..a851395f53c8fb965813dff69a69c879f8039f6a
GIT binary patch
literal 15090
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

literal 0
HcmV?d00001

diff --git a/tests/SetEpsTestCasesFromScratch/f77/epsLog/seteps006.log b/tests/SetEpsTestCasesFromScratch/f77/epsLog/seteps006.log
new file mode 100644
index 0000000000000000000000000000000000000000..58cff9d956f25913fa66096d764d8464719edfb9
GIT binary patch
literal 24947
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

literal 0
HcmV?d00001

-- 
GitLab