C^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
SUBROUTINE GSTSCA(IPRE,EPP)
C^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
IMPLICIT REAL(A-H,O-Y)
IMPLICIT COMPLEX(Z)
INCLUDE 'PACVPP'
REAL EPP(3,3),ERE(3,3),EPCI(3,3)
C SXX, SXY, SXZ
C SYX, SYY, SYZ
C SZX, SZY, SZZ
C X Y Z
C 1 ALTV(1,1),ALTV(2,1),ALTV(3,1) AX1,AY1,AZ1
C 2 ALTV(1,2),ALTV(2,2),ALTV(3,2) AX2,AY2,AZ2
C 3 ALTV(1,3),ALTV(2,3),ALTV(3,3) AX3,AY3,AZ3
C
C CALCULATE INVERSE MATRIX OF STRESS
SXX=EPP(1,1)
SXY=EPP(1,2)
SXZ=EPP(1,3)
SYY=EPP(2,2)
SYZ=EPP(2,3)
SZZ=EPP(3,3)
C
ADJA=SXX*SYY*SZZ+2.0D0*SXY*SXZ*SYZ-SXZ*SXZ*SYY-SYZ*SYZ*SXX
& -SXY*SXY*SZZ
ADJAI=1.0D0/ADJA
C
ERE(1,1)=ADJAI*(SYY*SZZ-SYZ*SYZ)
ERE(1,2)=ADJAI*(SYZ*SXZ-SZZ*SXY)
ERE(1,3)=ADJAI*(SXY*SYZ-SXZ*SYY)
ERE(2,1)=ERE(1,2)
ERE(2,2)=ADJAI*(SZZ*SXX-SXZ*SXZ)
ERE(2,3)=ADJAI*(SXZ*SXY-SXX*SYZ)
ERE(3,1)=ERE(1,3)
ERE(3,2)=ERE(2,3)
ERE(3,3)=ADJAI*(SXX*SYY-SXY*SXY)
C CHECK!
DO 2000 I=1,3
DO 2100 J=1,3
EPCI(I,J)=EPP(I,1)*ERE(1,J)+EPP(I,2)*ERE(2,J)
& +EPP(I,3)*ERE(3,J)
2100 CONTINUE
2000 CONTINUE
C
WRITE (6,*) 'CHECK! EPP*ERE'
WRITE (6,*) EPCI(1,1),EPCI(1,2),EPCI(1,3)
WRITE (6,*) EPCI(2,1),EPCI(2,2),EPCI(2,3)
WRITE (6,*) EPCI(3,1),EPCI(3,2),EPCI(3,3)
C
DO 1000 I=1,KNG
GXX =ERE(1,1)*GX(I)+ERE(1,2)*GY(I)+ERE(1,3)*GZ(I)
GYY =ERE(2,1)*GX(I)+ERE(2,2)*GY(I)+ERE(2,3)*GZ(I)
GZZ =ERE(3,1)*GX(I)+ERE(3,2)*GY(I)+ERE(3,3)*GZ(I)
GX(I)=GXX
GY(I)=GYY
GZ(I)=GZZ
GR(I)=SQRT(GX(I)*GX(I)+GY(I)*GY(I)+GZ(I)*GZ(I))
1000 CONTINUE
C
C ERE(1,1)=1.0D0/EPP(1,1)
C ERE(2,2)=1.0D0/EPP(2,2)
C ERE(3,3)=1.0D0/EPP(3,3)
RETURN
END