File indexing completed on 2025-08-05 08:21:12
0001
0002
0003
0004
0005
0006
0007
0008
0009
0010
0011
0012
0013
0014
0015
0016
0017
0018
0019
0020
0021
0022
0023
0024
0025
0026
0027
0028
0029
0030
0031
0032
0033
0034
0035
0036
0037 FUNCTION PYMAEL(NI,X1,X2,R1,R2,ALPHA)
0038
0039
0040 IMPLICIT DOUBLE PRECISION(A-H, O-Z)
0041 IMPLICIT INTEGER(I-N)
0042
0043
0044 PYMAEL=0D0
0045 IF(X1.LE.2D0*R1.OR.X1.GE.1D0+R1**2-R2**2) RETURN
0046 IF(X2.LE.2D0*R2.OR.X2.GE.1D0+R2**2-R1**2) RETURN
0047 IF(X1+X2.LE.1D0+(R1+R2)**2) RETURN
0048 IF((2D0-2D0*X1-2D0*X2+X1*X2+2D0*R1**2+2D0*R2**2)**2.GE.
0049 &(X1**2-4D0*R1**2)*(X2**2-4D0*R2**2)) RETURN
0050 ALPCOR=MAX(0D0,MIN(1D0,ALPHA))
0051
0052
0053 ICLASS=NI/5
0054 ICOMBI=NI-5*ICLASS
0055 ISSET1=0
0056 ISSET2=0
0057 ISSET4=0
0058
0059
0060 PS=SQRT((1D0-(R1+R2)**2)*(1D0-(R1-R2)**2))
0061
0062
0063 IF(ICLASS.LE.1.OR.ICLASS.GE.17.OR.ICOMBI.EQ.0) THEN
0064 RLO=PS
0065 IF(ICOMBI.EQ.0.OR.ICOMBI.EQ.1) THEN
0066 ANUM=0D0
0067 ELSEIF(ICOMBI.EQ.2) THEN
0068 ANUM=(2D0-X1-X2)**2
0069 ELSEIF(ICOMBI.EQ.3) THEN
0070 ANUM=ALPCOR*(2D0-X1-X2)**2
0071 ELSE
0072 ANUM=0.5D0*(2D0-X1-X2)**2
0073 ENDIF
0074 RFO=PS*2D0*((X1+X2-1D0+ANUM-R1**2-R2**2)/
0075 & ((1D0+R1**2-R2**2-X1)*(1D0+R2**2-R1**2-X2))-
0076 & R1**2/(1D0+R2**2-R1**2-X2)**2-
0077 & R2**2/(1D0+R1**2-R2**2-X1)**2)
0078 ICOMBI=0
0079
0080
0081 ELSEIF(ICLASS.EQ.2) THEN
0082 IF(ICOMBI.EQ.1.OR.ICOMBI.EQ.3) THEN
0083 RLO1=PS*(2-R1**2-R1**4+6*R1*R2-R2**2+2*R1**2*R2**2-R2**4)/2.D0
0084 RFO1=-1.D0*(3+6*R1**2+R1**4-6*R1*R2+6*R1**3*R2-2*R2**2
0085 & -6*R1**2*R2**2+6*R1*R2**3+R2**4-3*X1+6*R1*R2*X1
0086 & +2*R2**2*X1+X1**2-2*R1**2*X1**2+3*R1**2*(2-X1-X2)
0087 & +6*R1*R2*(2-X1-X2)-R2**2*(2-X1-X2)-2*X1*(2-X1-X2)
0088 & -5*R1**2*X1*(2-X1-X2)+R2**2*X1*(2-X1-X2)+X1**2*(2-X1-X2)
0089 & -3*(2-X1-X2)**2-3*R1**2*(2-X1-X2)**2+R2**2*(2-X1-X2)**2
0090 & +2*X1*(2-X1-X2)**2+(2-X1-X2)**3-X2)/
0091 & (-1+R1**2-R2**2+X2)**2
0092 RFO1=RFO1-2*(-3+R1**2-6*R1*R2+6*R1**3*R2+3*R2**2-4*R1**2*R2**2
0093 & +6*R1*R2**3+2*X1+3*R1**2*X1+R2**2*X1-X1**2-R1**2*X1**2
0094 & -R2**2*X1**2+4*(2-X1-X2)+2*R1**2*(2-X1-X2)+3*R1*R2*(2-X1
0095 & -X2)-R2**2*(2-X1-X2)-3*X1*(2-X1-X2)-2*R1**2*X1*(2-X1-X2)
0096 & +X1**2*(2-X1-X2)-(2-X1-X2)**2-R1**2*(2-X1-X2)**2+R1*R2*(2
0097 & -X1-X2)**2+X1*(2-X1-X2)**2)/
0098 & (-1-R1**2+R2**2+X1)/(-1+R1**2-R2**2+X2)
0099 RFO1=RFO1-1.D0*(-1+2*R1**2+R1**4+6*R1*R2+6*R1**3*R2-2*R2**2
0100 & -6*R1**2*R2**2+6*R1*R2**3+R2**4-X1-2*R1**2*X1-6*R1*R2*X1
0101 & +8*R2**2*X1+X1**2-2*R2**2*X1**2-R1**2*(2-X1-X2)+R2**2*(2
0102 & -X1-X2)-R1**2*X1*(2-X1-X2)+R2**2*X1*(2-X1-X2)+X1**2*
0103 & (2-X1-X2)+X2)/(-1-R1**2+R2**2+X1)**2
0104 RFO1=RFO1/2.D0
0105 ISSET1=1
0106 ENDIF
0107 IF(ICOMBI.EQ.2.OR.ICOMBI.EQ.3) THEN
0108 RLO2=PS*(2-R1**2-R1**4-6*R1*R2-R2**2+2*R1**2*R2**2-R2**4)/2.D0
0109 RFO2=-1*(3+6*R1**2+R1**4+6*R1*R2-6*R1**3*R2-2*R2**2
0110 & -6*R1**2*R2**2-6*R1*R2**3+R2**4-3*X1-6*R1*R2*X1+2*R2**2*X1
0111 & +X1**2-2*R1**2*X1**2+3*R1**2*(2-X1-X2)-6*R1*R2*(2-X1-X2)
0112 & -R2**2*(2-X1-X2)-2*X1*(2-X1-X2)-5*R1**2*X1*(2-X1-X2)
0113 & +R2**2*X1*(2-X1-X2)+X1**2*(2-X1-X2)-3*(2-X1-X2)**2
0114 & -3*R1**2*(2-X1-X2)**2+R2**2*(2-X1-X2)**2+2*X1*(2-X1-X2)**2
0115 & +(2-X1-X2)**3-X2)/(-1+R1**2-R2**2+X2)**2
0116 RFO2=RFO2-2*(-3+R1**2+6*R1*R2-6*R1**3*R2+3*R2**2-4*R1**2*R2**2
0117 & -6*R1*R2**3+2*X1+3*R1**2*X1+R2**2*X1-X1**2-R1**2*X1**2
0118 & -R2**2*X1**2+4*(2-X1-X2)+2*R1**2*(2-X1-X2)-3*R1*R2*(2-X1
0119 & -X2)-R2**2*(2-X1-X2)-3*X1*(2-X1-X2)-2*R1**2*X1*(2-X1-X2)
0120 & +X1**2*(2-X1-X2)-(2-X1-X2)**2-R1**2*(2-X1-X2)**2-R1*R2*(2
0121 & -X1-X2)**2+X1*(2-X1-X2)**2)/
0122 & (-1-R1**2+R2**2+X1)/(-1+R1**2-R2**2+X2)
0123 RFO2=RFO2-1*(-1+2*R1**2+R1**4-6*R1*R2-6*R1**3*R2-2*R2**2
0124 & -6*R1**2*R2**2-6*R1*R2**3+R2**4-X1-2*R1**2*X1+6*R1*R2*X1
0125 & +8*R2**2*X1+X1**2-2*R2**2*X1**2-R1**2*(2-X1-X2)+R2**2*(2-X1
0126 & -X2)-R1**2*X1*(2-X1-X2)+R2**2*X1*(2-X1-X2)+X1**2*(2-X1-X2)
0127 & +X2)/(-1-R1**2+R2**2+X1)**2
0128 RFO2=RFO2/2.D0
0129 ISSET2=1
0130 ENDIF
0131 IF(ICOMBI.EQ.4) THEN
0132 RLO4=PS*(2D0-R1**2-R1**4-R2**2+2D0*R1**2*R2**2-R2**4)/2D0
0133 RFO4=(1-R1**4+6*R1**2*R2**2-R2**4+X1+3*R1**2*X1-9*R2**2*X1
0134 & -3*X1**2-R1**2*X1**2+3*R2**2*X1**2+X1**3-X2-R1**2*X2
0135 & +R2**2*X2-R1**2*X1*X2+R2**2*X1*X2+X1**2*X2)/
0136 & (-1-R1**2+R2**2+X1)**2
0137 RFO4=RFO4
0138 & -2*(1+R1**2+R2**2-4*R1**2*R2**2+R1**2*X1+2*R2**2*X1-X1**2
0139 & -R2**2*X1**2+2*R1**2*X2+R2**2*X2-3*X1*X2+X1**2*X2-X2**2
0140 & -R1**2*X2**2+X1*X2**2)/
0141 & (-1-R1**2+R2**2+X1)/(-1+R1**2-R2**2+X2)
0142 RFO4=RFO4+(1-R1**4+6*R1**2*R2**2-R2**4-X1+R1**2*X1-R2**2*X1+X2
0143 & -9*R1**2*X2+3*R2**2*X2+R1**2*X1*X2-R2**2*X1*X2-3*X2**2
0144 & +3*R1**2*X2**2-R2**2*X2**2+X1*X2**2+X2**3)/
0145 & (-1+R1**2-R2**2+X2)**2
0146 RFO4=RFO4/2.D0
0147 ISSET4=1
0148 ENDIF
0149
0150
0151 ELSEIF(ICLASS.EQ.3) THEN
0152 IF(ICOMBI.EQ.1.OR.ICOMBI.EQ.3) THEN
0153 RLO1=PS*(1D0-2D0*R1**2+R1**4+R2**2-6D0*R1*R2**2
0154 & +R1**2*R2**2-2D0*R2**4)
0155 RFO1=2*(-1+R1-2*R1**2+2*R1**3-R1**4+R1**5-R2**2+R1*R2**2
0156 & -5*R1**2*R2**2+R1**3*R2**2-2*R1*R2**4+2*X1-2*R1*X1
0157 & +2*R1**2*X1-2*R1**3*X1+2*R2**2*X1+5*R1*R2**2*X1
0158 & +R1**2*R2**2*X1+2*R2**4*X1-X1**2+R1*X1**2-R2**2*X1**2+3*X2
0159 & +4*R1**2*X2+R1**4*X2+2*R2**2*X2+2*R1**2*R2**2*X2-4*X1*X2
0160 & -2*R1**2*X1*X2-R2**2*X1*X2+X1**2*X2-2*X2**2
0161 & -2*R1**2*X2**2+X1*X2**2)/(1-R1**2+R2**2-X2)/(-2+X1+X2)
0162 RFO1=RFO1+(2*R2**2+6*R1*R2**2-6*R1**2*R2**2+6*R1**3*R2**2
0163 & +2*R2**4+6*R1*R2**4-R2**2*X1+R1**2*R2**2*X1-R2**4*X1+X2
0164 & -R1**4*X2-3*R2**2*X2-6*R1*R2**2*X2+9*R1**2*R2**2*X2
0165 & -2*R2**4*X2-X1*X2+R1**2*X1*X2-X2**2-3*R1**2*X2**2
0166 & +2*R2**2*X2**2+X1*X2**2)/(-1+R1**2-R2**2+X2)**2
0167 RFO1=RFO1+(-4-8*R1**2-4*R1**4+4*R2**2-4*R1**2*R2**2+8*R2**4
0168 & +9*X1+10*R1**2*X1+R1**4*X1-3*R2**2*X1+6*R1*R2**2*X1
0169 & +R1**2*R2**2*X1-2*R2**4*X1-6*X1**2-2*R1**2*X1**2+X1**3
0170 & +7*X2+8*R1**2*X2+R1**4*X2-7*R2**2*X2+6*R1*R2**2*X2
0171 & +R1**2*R2**2*X2-2*R2**4*X2-9*X1*X2-3*R1**2*X1*X2
0172 & +2*R2**2*X1*X2+2*X1**2*X2-3*X2**2-R1**2*X2**2
0173 & +2*R2**2*X2**2+X1*X2**2)/(-2+X1+X2)**2
0174 ISSET1=1
0175 ENDIF
0176 IF(ICOMBI.EQ.2.OR.ICOMBI.EQ.3) THEN
0177 RLO2=PS*(1D0-2D0*R1**2+R1**4+R2**2+6D0*R1*R2**2
0178 & +R1**2*R2**2-2D0*R2**4)
0179 RFO2=2*(1+R1+2*R1**2+2*R1**3+R1**4+R1**5+R2**2+R1*R2**2
0180 & +5*R1**2*R2**2+R1**3*R2**2-2*R1*R2**4-2*X1-2*R1*X1
0181 & -2*R1**2*X1-2*R1**3*X1-2*R2**2*X1+5*R1*R2**2*X1
0182 & -R1**2*R2**2*X1-2*R2**4*X1+X1**2+R1*X1**2+R2**2*X1**2-3*X2
0183 & -4*R1**2*X2-R1**4*X2-2*R2**2*X2-2*R1**2*R2**2*X2+4*X1*X2
0184 & +2*R1**2*X1*X2+R2**2*X1*X2-X1**2*X2+2*X2**2+2*R1**2*X2**2
0185 & -X1*X2**2)/(-1+R1**2-R2**2+X2)/(-2+X1+X2)
0186 RFO2=RFO2+(2*R2**2-6*R1*R2**2-6*R1**2*R2**2-6*R1**3*R2**2
0187 & +2*R2**4-6*R1*R2**4-R2**2*X1+R1**2*R2**2*X1-R2**4*X1+X2
0188 & -R1**4*X2-3*R2**2*X2+6*R1*R2**2*X2+9*R1**2*R2**2*X2
0189 & -2*R2**4*X2-X1*X2+R1**2*X1*X2-X2**2-3*R1**2*X2**2
0190 & +2*R2**2*X2**2+X1*X2**2)/(-1+R1**2-R2**2+X2)**2
0191 RFO2=RFO2+(-4-8*R1**2-4*R1**4+4*R2**2-4*R1**2*R2**2+8*R2**4+9*X1
0192 & +10*R1**2*X1+R1**4*X1-3*R2**2*X1-6*R1*R2**2*X1
0193 & +R1**2*R2**2*X1-2*R2**4*X1-6*X1**2-2*R1**2*X1**2+X1**3
0194 & +7*X2+8*R1**2*X2+R1**4*X2-7*R2**2*X2-6*R1*R2**2*X2
0195 & +R1**2*R2**2*X2-2*R2**4*X2-9*X1*X2-3*R1**2*X1*X2
0196 & +2*R2**2*X1*X2+2*X1**2*X2-3*X2**2-R1**2*X2**2+2*R2**2*X2**2
0197 & +X1*X2**2)/(-2+X1+X2)**2
0198 ISSET2=1
0199 ENDIF
0200 IF(ICOMBI.EQ.4) THEN
0201 RLO4=PS*(1.D0-2.D0*R1**2+R1**4+R2**2+R1**2*R2**2-2.D0*R2**4)
0202 RFO4=2*(1+2*R1**2+R1**4+R2**2+5*R1**2*R2**2-2*X1-2*R1**2*X1
0203 & -2*R2**2*X1-R1**2*R2**2*X1-2*R2**4*X1+X1**2+R2**2*X1**2
0204 & -3*X2-4*R1**2*X2-R1**4*X2-2*R2**2*X2-2*R1**2*R2**2*X2
0205 & +4*X1*X2+2*R1**2*X1*X2+R2**2*X1*X2-X1**2*X2+2*X2**2
0206 & +2*R1**2*X2**2-X1*X2**2)/(-1+R1**2-R2**2+X2)/(-2+X1+X2)
0207 RFO4=RFO4+(2*R2**2-6*R1**2*R2**2+2*R2**4-R2**2*X1+R1**2*R2**2*X1
0208 & -R2**4*X1+X2-R1**4*X2-3*R2**2*X2+9*R1**2*R2**2*X2
0209 & -2*R2**4*X2-X1*X2+R1**2*X1*X2-X2**2-3*R1**2*X2**2
0210 & +2*R2**2*X2**2+X1*X2**2)/(-1+R1**2-R2**2+X2)**2
0211 RFO4=RFO4+(-4-8*R1**2-4*R1**4+4*R2**2-4*R1**2*R2**2+8*R2**4+9*X1
0212 & +10*R1**2*X1+R1**4*X1-3*R2**2*X1+R1**2*R2**2*X1-2*R2**4*X1
0213 & -6*X1**2-2*R1**2*X1**2+X1**3+7*X2+8*R1**2*X2+R1**4*X2
0214 & -7*R2**2*X2+R1**2*R2**2*X2-2*R2**4*X2-9*X1*X2-3*R1**2*X1*X2
0215 & +2*R2**2*X1*X2+2*X1**2*X2-3*X2**2-R1**2*X2**2+2*R2**2*X2**2
0216 & +X1*X2**2)/(2-X1-X2)**2
0217 ISSET4=1
0218 ENDIF
0219
0220
0221 ELSEIF(ICLASS.EQ.4) THEN
0222 IF(ICOMBI.EQ.1.OR.ICOMBI.EQ.3) THEN
0223 RLO1=PS*(1D0-R1**2-R2**2-2D0*R1*R2)
0224 RFO1=-(-1+R1**4-2*R1*R2-2*R1**3*R2-6*R1**2*R2**2-2*R1*R2**3
0225 & +R2**4+X1-R1**2*X1+2*R1*R2*X1+3*R2**2*X1+X2+R1**2*X2
0226 & -R2**2*X2-X1*X2)/(-1-R1**2+R2**2+X1)**2
0227 & -2*(R1**2+R1**4-2*R1**3*R2+R2**2-6*R1**2*R2**2-2*R1*R2**3
0228 & +R2**4-R1**2*X1+R1*R2*X1+2*R2**2*X1+2*R1**2*X2+R1*R2*X2
0229 & -R2**2*X2-X1*X2)/(-1-R1**2+R2**2+X1)/(-1+R1**2-R2**2+X2)
0230 & -(-1+R1**4-2*R1*R2-2*R1**3*R2-6*R1**2*R2**2-2*R1*R2**3
0231 & +R2**4+X1-R1**2*X1+R2**2*X1+X2+3*R1**2*X2+2*R1*R2*X2
0232 & -R2**2*X2-X1*X2)/(-1+R1**2-R2**2+X2)**2
0233 ISSET1=1
0234 ENDIF
0235 IF(ICOMBI.EQ.2.OR.ICOMBI.EQ.3) THEN
0236 RLO2=PS*(1D0-R1**2-R2**2+2D0*R1*R2)
0237 RFO2=-(-1+R1**4+2*R1*R2+2*R1**3*R2-6*R1**2*R2**2+2*R1*R2**3
0238 & +R2**4+X1-R1**2*X1-2*R1*R2*X1+3*R2**2*X1+X2+R1**2*X2
0239 & -R2**2*X2-X1*X2)/(-1-R1**2+R2**2+X1)**2
0240 & -(-1+R1**4+2*R1*R2+2*R1**3*R2-6*R1**2*R2**2+2*R1*R2**3
0241 & +R2**4+X1-R1**2*X1+R2**2*X1+X2+3*R1**2*X2-2*R1*R2*X2
0242 & -R2**2*X2-X1*X2)/(-1+R1**2-R2**2+X2)**2
0243 & +2*(-R1**2-R1**4-2*R1**3*R2-R2**2+6*R1**2*R2**2
0244 & -2*R1*R2**3-R2**4+R1**2*X1+R1*R2*X1-2*R2**2*X1
0245 & -2*R1**2*X2+R1*R2*X2+R2**2*X2+X1*X2)/
0246 & (-1-R1**2+R2**2+X1)/(-1+R1**2-R2**2+X2)
0247 ISSET2=1
0248 ENDIF
0249 IF(ICOMBI.EQ.4) THEN
0250 RLO4=PS*(1D0-R1**2-R2**2)
0251 RFO4=-(-1+R1**4-6*R1**2*R2**2+R2**4+X1-R1**2*X1+3*R2**2*X1+X2
0252 & +R1**2*X2-R2**2*X2-X1*X2)/(-1-R1**2+R2**2+X1)**2
0253 & -2*(R1**2+R1**4+R2**2-6*R1**2*R2**2+R2**4-R1**2*X1
0254 & +2*R2**2*X1+2*R1**2*X2-R2**2*X2-X1*X2)/
0255 & (-1-R1**2+R2**2+X1)/(-1+R1**2-R2**2+X2)
0256 & -(-1+R1**4-6*R1**2*R2**2+R2**4+X1-R1**2*X1+R2**2*X1
0257 & +X2+3*R1**2*X2-R2**2*X2-X1*X2)/(-1+R1**2-R2**2+X2)**2
0258 ISSET4=1
0259 ENDIF
0260
0261
0262 ELSEIF(ICLASS.EQ.5) THEN
0263 IF(ICOMBI.EQ.1.OR.ICOMBI.EQ.3) THEN
0264 RLO1=PS*(1D0+R1**2-R2**2+2D0*R1)
0265 RFO1=(4-4*R1**2+4*R2**2-3*X1-2*R1*X1+R1**2*X1-R2**2*X1-5*X2
0266 & -2*R1*X2+R1**2*X2-R2**2*X2+X1*X2+X2**2)/(-2+X1+X2)**2
0267 & +2*(3-R1-5*R1**2-R1**3+3*R2**2+R1*R2**2-2*X1-R1*X1
0268 & +R1**2*X1-4*X2+2*R1**2*X2-R2**2*X2+X1*X2+X2**2)/
0269 & (1-R1**2+R2**2-X2)/(-2+X1+X2)
0270 & +(2-2*R1-6*R1**2-2*R1**3+2*R2**2-2*R1*R2**2-X1+R1**2*X1
0271 & -R2**2*X1-3*X2+2*R1*X2+3*R1**2*X2-R2**2*X2+X1*X2+X2**2)/
0272 & (-1+R1**2-R2**2+X2)**2
0273 ISSET1=1
0274 ENDIF
0275 IF(ICOMBI.EQ.2.OR.ICOMBI.EQ.3) THEN
0276 RLO2=PS*(1D0+R1**2-R2**2-2D0*R1)
0277 RFO2=(4-4*R1**2+4*R2**2-3*X1+2*R1*X1+R1**2*X1-R2**2*X1-5*X2
0278 & +2*R1*X2+R1**2*X2-R2**2*X2+X1*X2+X2**2)/(-2+X1+X2)**2
0279 & +2*(3+R1-5*R1**2+R1**3+3*R2**2-R1*R2**2-2*X1+R1*X1
0280 & +R1**2*X1-4*X2+2*R1**2*X2-R2**2*X2+X1*X2+X2**2)/
0281 & (1-R1**2+R2**2-X2)/(-2+X1+X2)
0282 & +(2+2*R1-6*R1**2+2*R1**3+2*R2**2+2*R1*R2**2-X1+R1**2*X1
0283 & -R2**2*X1-3*X2-2*R1*X2+3*R1**2*X2-R2**2*X2+X1*X2+X2**2)/
0284 & (-1+R1**2-R2**2+X2)**2
0285 ISSET2=1
0286 ENDIF
0287 IF(ICOMBI.EQ.4) THEN
0288 RLO4=PS*(1D0+R1**2-R2**2)
0289 RFO4=(4-4*R1**2+4*R2**2-3*X1+R1**2*X1-R2**2*X1-5*X2+R1**2*X2
0290 & -R2**2*X2+X1*X2+X2**2)/(-2+X1+X2)**2
0291 & +2*(3-5*R1**2+3*R2**2-2*X1+R1**2*X1-4*X2+2*R1**2*X2
0292 & -R2**2*X2+X1*X2+X2**2)/(1-R1**2+R2**2-X2)/(-2+X1+X2)
0293 & +(2-6*R1**2+2*R2**2-X1+R1**2*X1-R2**2*X1-3*X2+3*R1**2*X2
0294 & -R2**2*X2+X1*X2+X2**2)/(-1+R1**2-R2**2+X2)**2
0295 ISSET4=1
0296 ENDIF
0297
0298
0299 ELSEIF(ICLASS.EQ.6) THEN
0300 RLO1=PS*(1D0-2D0*R1**2+R1**4-2D0*R2**2-2D0*R1**2*R2**2+R2**4)
0301 RFO1=2D0*3D0+(1+R1**2+R2**2-X1)*(4*R1**2-X1**2)/
0302 & (-1-R1**2+R2**2+X1)**2
0303 & -2D0*(-1-3*R1**2-R2**2+X1+X1**2/2+X2-X1*X2/2)/
0304 & (-1-R1**2+R2**2+X1)
0305 & +(1+R1**2+R2**2-X2)*(4*R2**2-X2**2)
0306 & /(-1+R1**2-R2**2+X2)**2
0307 & -2D0*(-1-R1**2-3*R2**2+X1+X2-X1*X2/2+X2**2/2)/
0308 & (-1+R1**2-R2**2+X2)
0309 & -(-4*R1**2-4*R1**4-4*R2**2-8*R1**2*R2**2-4*R2**4+2*X1
0310 & +6*R1**2*X1+6*R2**2*X1-2*X1**2+2*X2+6*R1**2*X2+6*R2**2*X2
0311 & -4*X1*X2-2*R1**2*X1*X2-2*R2**2*X1*X2+X1**2*X2-2*X2**2
0312 & +X1*X2**2)/(-1-R1**2+R2**2+X1)/(-1+R1**2-R2**2+X2)
0313 ISSET1=1
0314
0315
0316 ELSEIF(ICLASS.EQ.7) THEN
0317 RLO1=PS*(1D0-2D0*R1**2+R1**4-2D0*R2**2-2D0*R1**2*R2**2+R2**4)
0318 RFO1=16*R2**2+8*(4*R2**2+2*R2**2*X1+X2+R1**2*X2+R2**2*X2-X1*X2
0319 & -2*X2**2)/(3*(-1+R1**2-R2**2+X2))+8*(1+R1**2+R2**2-X2)*
0320 & (4*R2**2-X2**2)/(3*(-1+R1**2-R2**2+X2)**2)+8*(X1+X2)*
0321 & (-1-2*R1**2-R1**4-2*R2**2+2*R1**2*R2**2-R2**4+2*X1
0322 & +2*R1**2*X1+2*R2**2*X1-X1**2+2*X2+2*R1**2*X2+2*R2**2*X2
0323 & -2*X1*X2-X2**2)/(3*(-2+X1+X2)**2)+8*(-1-R1**2+R2**2-X1)*
0324 & (2*R2**2*X1+X2+R1**2*X2+R2**2*X2-X1*X2-X2**2)/
0325 & (3*(-1+R1**2-R2**2+X2)*(-2+X1+X2))+8*(1+2*R1**2+R1**4
0326 & +2*R2**2-2*R1**2*R2**2+R2**4-2*X1-2*R1**2*X1-4*R2**2*X1
0327 & +X1**2-3*X2-3*R1**2*X2-3*R2**2*X2+3*X1*X2+2*X2**2)/
0328 & (3*(-2+X1+X2))
0329 RFO1=3D0*RFO1/8D0
0330 ISSET1=1
0331
0332
0333 ELSEIF(ICLASS.EQ.8) THEN
0334 RLO1=PS
0335 RFO1=(-1-2*R1**2-R1**4-2*R2**2+2*R1**2*R2**2-R2**4+2*X1
0336 & +2*R1**2*X1+2*R2**2*X1-X1**2-R2**2*X1**2+2*X2+2*R1**2*X2
0337 & +2*R2**2*X2-3*X1*X2-R1**2*X1*X2-R2**2*X1*X2+X1**2*X2-X2**2
0338 & -R1**2*X2**2+X1*X2**2)/
0339 & (1+R1**2-R2**2-X1)**2/(-1+R1**2-R2**2+X2)**2
0340 RFO1=2D0*RFO1
0341 ISSET1=1
0342
0343
0344 ELSEIF(ICLASS.EQ.9) THEN
0345 RLO1=PS
0346 RFO1=(-1-R1**2-R2**2+X2)/(-1+R1**2-R2**2+X2)**2
0347 & +(1+R1**2-R2**2+X1)/(-1+R1**2-R2**2+X2)/(-2+X1+X2)
0348 & -(X1+X2)/(-2+X1+X2)**2
0349 ISSET1=1
0350
0351
0352 ELSEIF(ICLASS.EQ.10) THEN
0353 IF(ICOMBI.EQ.1.OR.ICOMBI.EQ.3) THEN
0354 RLO1=PS*(1D0+R1**2-R2**2+2D0*R1)
0355 RFO1=(2*R1+X1)*(-1-R1**2-R2**2+X1)/(-1-R1**2+R2**2+X1)**2
0356 & +2*(-1-R1**2-2*R1**3-R2**2-2*R1*R2**2+3*X1/2+R1*X1
0357 & -R1**2*X1/2-R2**2*X1/2+X2+R1*X2+R1**2*X2-X1*X2/2)/
0358 & (-1-R1**2+R2**2+X1)/(-1+R1**2-R2**2+X2)
0359 & +(2-2*R1-6*R1**2-2*R1**3+2*R2**2-2*R1*R2**2-X1+R1**2*X1
0360 & -R2**2*X1-3*X2+2*R1*X2+3*R1**2*X2-R2**2*X2+X1*X2+X2**2)/
0361 & (-1+R1**2-R2**2+X2)**2
0362 ISSET1=1
0363 ENDIF
0364 IF(ICOMBI.EQ.2.OR.ICOMBI.EQ.3) THEN
0365 RLO2=PS*(1D0-2D0*R1+R1**2-R2**2)
0366 RFO2=(2*R1-X1)*(1+R1**2+R2**2-X1)/(-1-R1**2+R2**2+X1)**2
0367 & +2*(-1-R1**2+2*R1**3-R2**2+2*R1*R2**2+3*X1/2-R1*X1
0368 & -R1**2*X1/2-R2**2*X1/2+X2-R1*X2+R1**2*X2-X1*X2/2)/
0369 & (-1-R1**2+R2**2+X1)/(-1+R1**2-R2**2+X2)
0370 & +(2+2*R1-6*R1**2+2*R1**3+2*R2**2+2*R1*R2**2-X1+R1**2*X1
0371 & -R2**2*X1-3*X2-2*R1*X2+3*R1**2*X2-R2**2*X2+X1*X2+X2**2)/
0372 & (-1+R1**2-R2**2+X2)**2
0373 ISSET2=1
0374 ENDIF
0375 IF(ICOMBI.EQ.4) THEN
0376 RLO4=PS*(1+R1**2-R2**2)
0377 RFO4=X1*(-1-R1**2-R2**2+X1)/(-1-R1**2+R2**2+X1)**2
0378 & +2D0*(-1-R1**2-R2**2+3*X1/2-R1**2*X1/2-R2**2*X1/2
0379 & +X2+R1**2*X2-X1*X2/2)/
0380 & (-1-R1**2+R2**2+X1)/(-1+R1**2-R2**2+X2)
0381 & +(2-6*R1**2+2*R2**2-X1+R1**2*X1-R2**2*X1-3*X2+3*R1**2*X2
0382 & -R2**2*X2+X1*X2+X2**2)/(-1+R1**2-R2**2+X2)**2
0383 ISSET4=1
0384 ENDIF
0385
0386
0387 ELSEIF(ICLASS.EQ.11) THEN
0388 IF(ICOMBI.EQ.1.OR.ICOMBI.EQ.3) THEN
0389 RLO1=PS*(1D0-(R1+R2)**2)
0390 RFO1=(1+R1**2+2*R1*R2+R2**2-X1-X2)*(X1+X2)/(-2+X1+X2)**2
0391 & -(-1+R1**4-2*R1*R2-2*R1**3*R2-6*R1**2*R2**2-2*R1*R2**3
0392 & +R2**4+X1-R1**2*X1+R2**2*X1+X2+3*R1**2*X2+2*R1*R2*X2
0393 & -R2**2*X2-X1*X2)/(-1+R1**2-R2**2+X2)**2
0394 & +(-1-2*R1**2-R1**4-2*R1*R2-2*R1**3*R2+2*R1*R2**3+R2**4
0395 & +X1+R1**2*X1-2*R1*R2*X1-3*R2**2*X1+2*R1**2*X2-2*R2**2*X2
0396 & +X1*X2+X2**2)/(-1+R1**2-R2**2+X2)/(-2+X1+X2)
0397 ISSET1=1
0398 ENDIF
0399 IF(ICOMBI.EQ.2.OR.ICOMBI.EQ.3) THEN
0400 RLO2=PS*(1D0-(R1-R2)**2)
0401 RFO2=(1+R1**2-2*R1*R2+R2**2-X1-X2)*(X1+X2)/
0402 & (-2+X1+X2)**2
0403 & -(-1+R1**4+2*R1*R2+2*R1**3*R2-6*R1**2*R2**2+2*R1*R2**3
0404 & +R2**4+X1-R1**2*X1+R2**2*X1+X2+3*R1**2*X2-2*R1*R2*X2
0405 & -R2**2*X2-X1*X2)/(-1+R1**2-R2**2+X2)**2
0406 & +(-1-2*R1**2-R1**4+2*R1*R2+2*R1**3*R2-2*R1*R2**3+R2**4
0407 & +X1+R1**2*X1+2*R1*R2*X1-3*R2**2*X1+2*R1**2*X2-2*R2**2*X2
0408 & +X1*X2+X2**2)/(-1+R1**2-R2**2+X2)/(-2+X1+X2)
0409 ISSET2=1
0410 ENDIF
0411 IF(ICOMBI.EQ.4) THEN
0412 RLO4=PS*(1D0-R1**2-R2**2)
0413 RFO4=(1+R1**2+R2**2-X1-X2)*(X1+X2)/(-2+X1+X2)**2
0414 & -(-1+R1**4-6*R1**2*R2**2+R2**4+X1-R1**2*X1+R2**2*X1+X2
0415 & +3*R1**2*X2-R2**2*X2-X1*X2)/
0416 & (-1+R1**2-R2**2+X2)**2
0417 & -(-1-2*R1**2-R1**4+R2**4+X1+R1**2*X1-3*R2**2*X1
0418 & +2*R1**2*X2-2*R2**2*X2+X1*X2+X2**2)/
0419 & (2-X1-X2)/(-1+R1**2-R2**2+X2)
0420 ISSET4=1
0421 ENDIF
0422
0423
0424 ELSEIF(ICLASS.EQ.12) THEN
0425 IF(ICOMBI.EQ.1.OR.ICOMBI.EQ.3) THEN
0426 RLO1=PS*(1D0-R1**2+R2**2+2D0*R2)
0427 RFO1=(2*R2+X2)*(-1-R1**2-R2**2+X2)/(-1+R1**2-R2**2+X2)**2
0428 & +(4+4*R1**2-4*R2**2-5*X1-R1**2*X1-2*R2*X1+R2**2*X1+X1**2
0429 & -3*X2-R1**2*X2-2*R2*X2+R2**2*X2+X1*X2)/
0430 & (-2+X1+X2)**2-2*(-1-R1**2+R2+R1**2*R2-R2**2-R2**3+X1
0431 & +R2*X1+R2**2*X1+2*X2+R1**2*X2-X1*X2/2-X2**2/2)/
0432 & (2-X1-X2)/(-1+R1**2-R2**2+X2)
0433 ISSET1=1
0434 END IF
0435 IF(ICOMBI.EQ.2.OR.ICOMBI.EQ.3) THEN
0436 RLO2=PS*(1D0-R1**2+R2**2-2D0*R2)
0437 RFO2=(2*R2-X2)*(1+R1**2+R2**2-X2)/(-1+R1**2-R2**2+X2)**2
0438 & +(4+4*R1**2-4*R2**2-5*X1-R1**2*X1+2*R2*X1+R2**2*X1+X1**2
0439 & -3*X2-R1**2*X2+2*R2*X2+R2**2*X2+X1*X2)/
0440 & (-2+X1+X2)**2-2*(-1-R1**2-R2-R1**2*R2-R2**2+R2**3+X1
0441 & -R2*X1+R2**2*X1+2*X2+R1**2*X2-X1*X2/2-X2**2/2)/
0442 & (2-X1-X2)/(-1+R1**2-R2**2+X2)
0443 ISSET2=1
0444 END IF
0445 IF(ICOMBI.EQ.4) THEN
0446 RLO4=PS*(1D0-R1**2+R2**2)
0447 RFO4=X2*(-1-R1**2-R2**2+X2)/(-1+R1**2-R2**2+X2)**2
0448 & +(4+4*R1**2-4*R2**2-5*X1-R1**2*X1+R2**2*X1+X1**2
0449 & -3*X2-R1**2*X2+R2**2*X2+X1*X2)/
0450 & (-2+X1+X2)**2-2*(-1-R1**2-R2**2+X1+R2**2*X1+2*X2
0451 & +R1**2*X2-X1*X2/2-X2**2/2)/
0452 & (2-X1-X2)/(-1+R1**2-R2**2+X2)
0453 ISSET4=1
0454 END IF
0455
0456
0457 ELSEIF(ICLASS.EQ.13) THEN
0458 IF(ICOMBI.EQ.1.OR.ICOMBI.EQ.3) THEN
0459 RLO1=PS*(1D0+R1**2-R2**2+2D0*R1)
0460 RFO1=4*(2*R1+X1)*(-1-R1**2-R2**2+X1)/(3*(-1-R1**2+R2**2+X1)**2)
0461 & -(-1-R1**2-2*R1**3-R2**2-2*R1*R2**2+3*X1/2+R1*X1-R1**2*X1/2
0462 & -R2**2*X1/2+X2+R1*X2+R1**2*X2-X1*X2/2)/(3*(-1-R1**2+R2**2
0463 & +X1)*(-1+R1**2-R2**2+X2))-3*(-1+R1-R1**2-R1**3-R2**2
0464 & +R1*R2**2+2*X1+R2**2*X1-X1**2/2+X2+R1*X2+R1**2*X2-X1*X2/2)/
0465 & ((-1-R1**2+R2**2+X1)*(2-X1-X2))+3*(4-4*R1**2+4*R2**2-3*X1
0466 & -2*R1*X1+R1**2*X1-R2**2*X1-5*X2-2*R1*X2+R1**2*X2-R2**2*X2
0467 & +X1*X2+X2**2)/(-2+X1+X2)**2+3*(3-R1-5*R1**2-R1**3+3*R2**2
0468 & +R1*R2**2-2*X1-R1*X1+R1**2*X1-4*X2+2*R1**2*X2-R2**2*X2
0469 & +X1*X2+X2**2)/((1-R1**2+R2**2-X2)*(-2+X1+X2))+4*(2-2*R1
0470 & -6*R1**2-2*R1**3+2*R2**2-2*R1*R2**2-X1+R1**2*X1-R2**2*X1
0471 & -3*X2+2*R1*X2+3*R1**2*X2-R2**2*X2+X1*X2+X2**2)/
0472 & (3*(-1+R1**2-R2**2+X2)**2)
0473 RFO1=3D0*RFO1/4D0
0474 ISSET1=1
0475 ENDIF
0476 IF(ICOMBI.EQ.2.OR.ICOMBI.EQ.3) THEN
0477 RLO2=PS*(1D0+R1**2-R2**2-2D0*R1)
0478 RFO2=4*(2*R1-X1)*(1+R1**2+R2**2-X1)/(3*(-1-R1**2+R2**2+X1)**2)
0479 & -3*(-1-R1-R1**2+R1**3-R2**2-R1*R2**2+2*X1+R2**2*X1-X1**2/2
0480 & +X2-R1*X2+R1**2*X2-X1*X2/2)/((-1-R1**2+R2**2+X1)*(2-X1-X2))
0481 & +(2+2*R1**2-4*R1**3+2*R2**2-4*R1*R2**2-3*X1+2*R1*X1
0482 & +R1**2*X1+R2**2*X1-2*X2+2*R1*X2-2*R1**2*X2+X1*X2)/
0483 & (6*(-1-R1**2+R2**2+X1)*(-1+R1**2-R2**2+X2))+3*(4-4*R1**2
0484 & +4*R2**2-3*X1+2*R1*X1+R1**2*X1-R2**2*X1-5*X2+2*R1*X2
0485 & +R1**2*X2-R2**2*X2+X1*X2+X2**2)/(-2+X1+X2)**2+3*(3+R1
0486 & -5*R1**2+R1**3+3*R2**2-R1*R2**2-2*X1+R1*X1+R1**2*X1-4*X2
0487 & +2*R1**2*X2-R2**2*X2+X1*X2+X2**2)/
0488 & ((1-R1**2+R2**2-X2)*(-2+X1+X2))+4*(2+2*R1-6*R1**2+2*R1**3
0489 & +2*R2**2+2*R1*R2**2-X1+R1**2*X1-R2**2*X1-3*X2-2*R1*X2
0490 & +3*R1**2*X2-R2**2*X2+X1*X2+X2**2)/
0491 & (3*(-1+R1**2-R2**2+X2)**2)
0492 RFO2=3D0*RFO2/4D0
0493 ISSET2=1
0494 ENDIF
0495 IF(ICOMBI.EQ.4) THEN
0496 RLO4=PS*(1D0+R1**2-R2**2)
0497 RFO4=8*X1*(-1-R1**2-R2**2+X1)/(3*(-1-R1**2+R2**2+X1)**2)-6*(-1
0498 & -R1**2-R2**2+2*X1+R2**2*X1-X1**2/2+X2+R1**2*X2-X1*X2/2)/
0499 & ((-1-R1**2+R2**2+X1)*(2-X1-X2))+(2+2*R1**2+2*R2**2-3*X1
0500 & +R1**2*X1+R2**2*X1-2*X2-2*R1**2*X2+X1*X2)/(3*(-1-R1**2
0501 & +R2**2+X1)*(-1+R1**2-R2**2+X2))+6*(4-4*R1**2+4*R2**2-3*X1
0502 & +R1**2*X1-R2**2*X1-5*X2+R1**2*X2-R2**2*X2+X1*X2+X2**2)/
0503 & (-2+X1+X2)**2+6*(3-5*R1**2+3*R2**2-2*X1+R1**2*X1-4*X2
0504 & +2*R1**2*X2-R2**2*X2+X1*X2+X2**2)/
0505 & ((1-R1**2+R2**2-X2)*(-2+X1+X2))+8*(2-6*R1**2+2*R2**2-X1
0506 & +R1**2*X1-R2**2*X1-3*X2+3*R1**2*X2-R2**2*X2+X1*X2+X2**2)/
0507 & (3*(-1+R1**2-R2**2+X2)**2)
0508 RFO4=3D0*RFO4/8D0
0509 ISSET4=1
0510 ENDIF
0511
0512
0513 ELSEIF(ICLASS.EQ.14) THEN
0514 IF(ICOMBI.EQ.1.OR.ICOMBI.EQ.3) THEN
0515 RLO1=PS*(1-R1**2-R2**2-2D0*R1*R2)
0516 RFO1=64*(1+R1**2+2*R1*R2+R2**2-X1-X2)*(X1+X2)/(9*(-2+X1+X2)**2)
0517 & -16*(-1+R1**4-2*R1*R2-2*R1**3*R2-6*R1**2*R2**2-2*R1*R2**3
0518 & +R2**4+X1-R1**2*X1+2*R1*R2*X1+3*R2**2*X1+X2+R1**2*X2
0519 & -R2**2*X2-X1*X2)/(-1-R1**2+R2**2+X1)**2-16*(R1**2+R1**4
0520 & -2*R1**3*R2+R2**2-6*R1**2*R2**2-2*R1*R2**3+R2**4
0521 & -R1**2*X1+R1*R2*X1+2*R2**2*X1+2*R1**2*X2+R1*R2*X2-R2**2*X2
0522 & -X1*X2)/((-1-R1**2+R2**2+X1)*(-1+R1**2-R2**2+X2))
0523 & -64*(-1+R1**4-2*R1*R2-2*R1**3*R2-6*R1**2*R2**2-2*R1*R2**3
0524 & +R2**4+X1-R1**2*X1+R2**2*X1+X2+3*R1**2*X2+2*R1*R2*X2
0525 & -R2**2*X2-X1*X2)/(9*(-1+R1**2-R2**2+X2)**2)
0526 & +8*(-1+R1**4-2*R1*R2+2*R1**3*R2-2*R2**2-2*R1*R2**3-R2**4
0527 & -2*R1**2*X1+2*R2**2*X1+X1**2+X2-3*R1**2*X2-2*R1*R2*X2
0528 & +R2**2*X2+X1*X2)/((-1-R1**2+R2**2+X1)*(-2+X1+X2))
0529 RFO1=RFO1
0530 & +8*(-1-2*R1**2-R1**4-2*R1*R2-2*R1**3*R2+2*R1*R2**3+R2**4
0531 & +X1+R1**2*X1-2*R1*R2*X1-3*R2**2*X1+2*R1**2*X2-2*R2**2*X2
0532 & +X1*X2+X2**2)/(9*(2-X1-X2)*(-1+R1**2-R2**2+X2))
0533 RFO1=9D0*RFO1/64D0
0534 ISSET1=1
0535 ENDIF
0536 IF(ICOMBI.EQ.2.OR.ICOMBI.EQ.3) THEN
0537 RLO2=PS*(1-R1**2-R2**2+2D0*R1*R2)
0538 RFO2=64*(1+R1**2-2*R1*R2+R2**2-X1-X2)*(X1+X2)/(9*(-2+X1+X2)**2)
0539 & -16*(-1+R1**4+2*R1*R2+2*R1**3*R2-6*R1**2*R2**2+2*R1*R2**3
0540 & +R2**4+X1-R1**2*X1-2*R1*R2*X1+3*R2**2*X1+X2+R1**2*X2
0541 & -R2**2*X2-X1*X2)/(-1-R1**2+R2**2+X1)**2-64*(-1+R1**4
0542 & +2*R1*R2+2*R1**3*R2-6*R1**2*R2**2+2*R1*R2**3+R2**4+X1
0543 & -R1**2*X1+R2**2*X1+X2+3*R1**2*X2-2*R1*R2*X2-R2**2*X2
0544 & -X1*X2)/(9*(-1+R1**2-R2**2+X2)**2)+16*(-R1**2-R1**4
0545 & -2*R1**3*R2-R2**2+6*R1**2*R2**2-2*R1*R2**3-R2**4+R1**2*X1
0546 & +R1*R2*X1-2*R2**2*X1-2*R1**2*X2+R1*R2*X2+R2**2*X2+X1*X2)/
0547 & ((-1-R1**2+R2**2+X1)*(-1+R1**2-R2**2+X2))
0548 RFO2=RFO2
0549 & +8*(-1+R1**4+2*R1*R2-2*R1**3*R2-2*R2**2+2*R1*R2**3-R2**4
0550 & -2*R1**2*X1+2*R2**2*X1+X1**2+X2-3*R1**2*X2+2*R1*R2*X2
0551 & +R2**2*X2+X1*X2)/((-1-R1**2+R2**2+X1)*(-2+X1+X2))
0552 & +8*(-1-2*R1**2-R1**4+2*R1*R2+2*R1**3*R2-2*R1*R2**3
0553 & +R2**4+X1+R1**2*X1+2*R1*R2*X1-3*R2**2*X1+2*R1**2*X2
0554 & -2*R2**2*X2+X1*X2+X2**2)/(9*(2-X1-X2)*(-1+R1**2-R2**2+X2))
0555 RFO2=9D0*RFO2/64D0
0556 ISSET2=1
0557 ENDIF
0558 IF(ICOMBI.EQ.4) THEN
0559 RLO4=PS*(1-R1**2-R2**2)
0560 RFO4=128*(1+R1**2+R2**2-X1-X2)*(X1+X2)/(9*(-2+X1+X2)**2)-32*(-1
0561 & +R1**4-6*R1**2*R2**2+R2**4+X1-R1**2*X1+3*R2**2*X1+X2
0562 & +R1**2*X2-R2**2*X2-X1*X2)/(-1-R1**2+R2**2+X1)**2
0563 & -32*(R1**2+R1**4+R2**2-6*R1**2*R2**2+R2**4-R1**2*X1
0564 & +2*R2**2*X1+2*R1**2*X2-R2**2*X2-X1*X2)/
0565 & ((-1-R1**2+R2**2+X1)*(-1+R1**2-R2**2+X2))-128*(-1+R1**4
0566 & -6*R1**2*R2**2+R2**4+X1-R1**2*X1+R2**2*X1+X2+3*R1**2*X2
0567 & -R2**2*X2-X1*X2)/(9*(-1+R1**2-R2**2+X2)**2)
0568 & +16*(-1+R1**4-2*R2**2-R2**4-2*R1**2*X1+2*R2**2*X1+X1**2
0569 & +X2-3*R1**2*X2+R2**2*X2+X1*X2)/
0570 & ((-1-R1**2+R2**2+X1)*(-2+X1+ X2))
0571 RFO4=RFO4+16*(-1-2*R1**2-R1**4+R2**4+X1+R1**2*X1-3*R2**2*X1
0572 & +2*R1**2*X2-2*R2**2*X2+X1*X2+X2**2)/
0573 & (9*(1-R1**2+R2**2-X2)*(-2+X1+X2))
0574 RFO4=9D0*RFO4/128D0
0575 ISSET4=1
0576 ENDIF
0577
0578
0579 ELSEIF(ICLASS.EQ.15) THEN
0580 IF(ICOMBI.EQ.1.OR.ICOMBI.EQ.3) THEN
0581 RLO1=PS*(1D0-R1**2+R2**2+2D0*R2)
0582 RFO1=32*(2*R2+X2)*(-1-R1**2-R2**2+X2)/(9*(-1+R1**2-R2**2+X2)**2)
0583 & +8*(-1-R1**2-2*R1**2*R2-R2**2-2*R2**3+X1+R2*X1+R2**2*X1
0584 & +3*X2/2-R1**2*X2/2+R2*X2-R2**2*X2/2-X1*X2/2)/
0585 & ((-1-R1**2+R2**2+X1)*(-1+R1**2-R2**2+X2))+8*(2+2*R1**2-2*R2
0586 & -2*R1**2*R2-6*R2**2-2*R2**3-3*X1-R1**2*X1+2*R2*X1
0587 & +3*R2**2*X1+X1**2-X2-R1**2*X2+R2**2*X2+X1*X2)/
0588 & (-1-R1**2+R2**2+X1)**2+32*(4+4*R1**2-4*R2**2-5*X1
0589 & -R1**2*X1-2*R2*X1+R2**2*X1+X1**2-3*X2-R1**2*X2-2*R2*X2
0590 & +R2**2*X2+X1*X2)/(9*(-2+X1+X2)**2)
0591 RFO1=RFO1+8*(3+3*R1**2-R2+R1**2*R2-5*R2**2-R2**3-4*X1-R1**2*X1
0592 & +2*R2**2*X1+X1**2-2*X2-R2*X2+R2**2*X2+X1*X2)/
0593 & ((-1-R1**2+R2**2+X1)*(2-X1-X2))+8*(-1-R1**2+R2+R1**2*R2
0594 & -R2**2-R2**3+X1+R2*X1+R2**2*X1+2*X2+R1**2*X2-X1*X2/2
0595 & -X2**2/2)/(9*(2-X1-X2)*(-1+R1**2-R2**2+X2))
0596 RFO1=9D0*RFO1/32D0
0597 ISSET1=1
0598 END IF
0599 IF(ICOMBI.EQ.2.OR.ICOMBI.EQ.3) THEN
0600 RLO2=PS*(1D0-R1**2+R2**2-2D0*R2)
0601 RFO2=32*(2*R2-X2)*(1+R1**2+R2**2-X2)/(9*(-1+R1**2-R2**2+X2)**2)
0602 & +8*(-1-R1**2+2*R1**2*R2-R2**2+2*R2**3+X1-R2*X1+R2**2*X1
0603 & +3*X2/2-R1**2*X2/2-R2*X2-R2**2*X2/2-X1*X2/2)/
0604 & ((-1-R1**2+R2**2+X1)*(-1+R1**2-R2**2+X2))+8*(2+2*R1**2+2*R2
0605 & +2*R1**2*R2-6*R2**2+2*R2**3-3*X1-R1**2*X1-2*R2*X1
0606 & +3*R2**2*X1+X1**2-X2-R1**2*X2+R2**2*X2+X1*X2)/
0607 & (-1-R1**2+R2**2+X1)**2+8*(3+3*R1**2+R2-R1**2*R2-5*R2**2
0608 & +R2**3-4*X1-R1**2*X1+2*R2**2*X1+X1**2-2*X2+R2*X2+R2**2*X2
0609 & +X1*X2)/((-1-R1**2+R2**2+X1)*(2-X1-X2))
0610 RFO2=RFO2+32*(4+4*R1**2-4*R2**2-5*X1-R1**2*X1+2*R2*X1+R2**2*X1
0611 & +X1**2-3*X2-R1**2*X2+2*R2*X2+R2**2*X2+X1*X2)/
0612 & (9*(-2+X1+X2)**2)+8*(-1-R1**2-R2-R1**2*R2-R2**2+R2**3+X1
0613 & -R2*X1+R2**2*X1+2*X2+R1**2*X2-X1*X2/2-X2**2/2)/
0614 & (9*(2-X1-X2)*(-1+R1**2-R2**2+X2))
0615 RFO2=9D0*RFO2/32D0
0616 ISSET2=1
0617 END IF
0618 IF(ICOMBI.EQ.4) THEN
0619 RLO4=PS*(1D0-R1**2+R2**2)
0620 RFO4=64*X2*(-1-R1**2-R2**2+X2)/(9*(-1+R1**2-R2**2+X2)**2)
0621 & +16*(-1-R1**2-R2**2+X1+R2**2*X1+3*X2/2-R1**2*X2/2
0622 & -R2**2*X2/2-X1*X2/2)/
0623 & ((-1-R1**2+R2**2+X1)*(-1+R1**2-R2**2+X2))+16*(3+3*R1**2
0624 & -5*R2**2-4*X1-R1**2*X1+2*R2**2*X1+X1**2-2*X2+R2**2*X2
0625 & +X1*X2)/((-1-R1**2+R2**2+X1)*(2-X1-X2))
0626 & +64*(4+4*R1**2-4*R2**2-5*X1-R1**2*X1+R2**2*X1+X1**2-3*X2
0627 & -R1**2*X2+R2**2*X2+X1*X2)/(9*(-2+X1+X2)**2)
0628 RFO4=RFO4+16*(2+2*R1**2-6*R2**2-3*X1-R1**2*X1+3*R2**2*X1+X1**2
0629 & -X2-R1**2*X2+R2**2*X2+X1*X2)/(-1-R1**2+R2**2+X1)**2
0630 & +16*(-1-R1**2-R2**2+X1+R2**2*X1+2*X2+R1**2*X2-X1*X2/2
0631 & -X2**2/2)/(9*(2-X1-X2)*(-1+R1**2-R2**2+X2))
0632 RFO4=9D0*RFO4/64D0
0633 ISSET4=1
0634 END IF
0635
0636
0637 ELSEIF(ICLASS.EQ.16) THEN
0638 RLO=PS
0639 IF(ICOMBI.EQ.0.OR.ICOMBI.EQ.1) THEN
0640 ANUM=0D0
0641 ELSEIF(ICOMBI.EQ.2) THEN
0642 ANUM=(2D0-X1-X2)**2
0643 ELSEIF(ICOMBI.EQ.3) THEN
0644 ANUM=ALPCOR*(2D0-X1-X2)**2
0645 ELSE
0646 ANUM=0.5D0*(2D0-X1-X2)**2
0647 ENDIF
0648 RFO=PS*2D0*((X1+X2-1D0+ANUM-R1**2-R2**2)/
0649 & ((1D0+R1**2-R2**2-X1)*(1D0+R2**2-R1**2-X2))-
0650 & R1**2/(1D0+R2**2-R1**2-X2)**2-
0651 & R2**2/(1D0+R1**2-R2**2-X1)**2)
0652 RFO=9D0*RFO/4D0
0653 ICOMBI=0
0654 ENDIF
0655
0656
0657 IF(ICOMBI.EQ.0) THEN
0658 ELSEIF(ICOMBI.EQ.1.AND.ISSET1.EQ.1) THEN
0659 RLO=RLO1
0660 RFO=RFO1
0661 ELSEIF(ICOMBI.EQ.2.AND.ISSET2.EQ.1) THEN
0662 RLO=RLO2
0663 RFO=RFO2
0664 ELSEIF(ICOMBI.EQ.3.AND.ISSET1.EQ.1.AND.ISSET2.EQ.1) THEN
0665 RLO=ALPCOR*RLO1+(1D0-ALPCOR)*RLO2
0666 RFO=ALPCOR*RFO1+(1D0-ALPCOR)*RFO2
0667 ELSEIF(ISSET4.EQ.1) THEN
0668 RLO=RLO4
0669 RFO=RFO4
0670 ELSEIF(ICOMBI.EQ.4.AND.ISSET1.EQ.1.AND.ISSET2.EQ.1) THEN
0671 RLO=0.5D0*(RLO1+RLO2)
0672 RFO=0.5D0*(RFO1+RFO2)
0673 ELSEIF(ISSET1.EQ.1) THEN
0674 RLO=RLO1
0675 RFO=RFO1
0676 ELSE
0677 CALL PYERRM(16,'(PYMAEL:) not implemented ME code')
0678 RLO=1D0
0679 RFO=0D0
0680 ENDIF
0681
0682
0683 PYMAEL=RFO/RLO
0684
0685 RETURN
0686 END