Geology Reference
In-Depth Information
C Construct matrix A.
13 AN=DFLOAT(N)
C Define factors.
F1=AN*(AN+1.D0)
F2=LAMBDA+2.D0*MU
F3=3.D0*LAMBDA+2.D0*MU
F4=RHO*GZERO
F5=4.D0*PI*G*RHO
C Assign values to matrix elements.
A(1,1)=-2.D0*LAMBDA/(F2*R)
A(1,2)=1.D0/F2
A(1,3)=F1*LAMBDA/(F2*R)
A(1,4)=0.D0
A(1,5)=0.D0
A(1,6)=0.D0
A(2,1)=4.D0*(-F4+MU*F3/(F2*R))/R-2.D0*RHO*WES-ANGS*RHO
A(2,2)=-4.D0*MU/(F2*R)
A(2,3)=F1*(F4-2.D0*MU*F3/(F2*R))/R+COR*RHO
A(2,4)=F1/R
A(2,5)=0.D0
A(2,6)=-RHO
IF(N.EQ.0.AND.IR.EQ.1) GO TO 14
A(3,1)=-1.D0/R
A(3,2)=0.D0
A(3,3)=1.D0/R
A(3,4)=1.D0/MU
A(3,5)=0.D0
A(3,6)=0.D0
A(4,1)=(F4-2.D0*MU*F3/(F2*R))/R
C If degree is not zero, add Coriolis term.
IF(N.NE.0) A(4,1)=A(4,1)+COR*RHO/F1
A(4,2)=-LAMBDA/(F2*R)
A(4,3)=2.D0*MU*((2.D0*F1-1.D0)*LAMBDA
1 +(2.D0*F1-2.D0)*MU)/(F2*R*R)-ANGS*RHO
C If degree is not zero, add Coriolis term.
IF(N.NE.0) A(4,3)=A(4,3)+COR*RHO/F1
A(4,4)=-3.D0/R
A(4,5)=-RHO/R
A(4,6)=0.D0
14 CONTINUE
A(5,1)=F5
A(5,2)=0.D0
A(5,3)=0.D0
A(5,4)=0.D0
A(5,5)=0.D0
A(5,6)=1.D0
IF(N.EQ.0.AND.IR.EQ.1) GO TO 15
A(6,1)=0.D0
A(6,2)=0.D0
A(6,3)=-F5*F1/R
A(6,4)=0.D0
A(6,5)=F1/(R*R)
15 CONTINUE
A(6,6)=-2.D0/R
C Branch to inner core calculation
IF(IR.EQ.1) GO TO 16
C Multiply A into Y to find derivative matrix for the shell.
DO 17 I=1,6
DO 18 J=1,6
DO 19 K=1,6
YP(I,J)=YP(I,J)+A(I,K)*Y(K,J)
Search WWH ::




Custom Search