C --- ------------------------------------------------------------------ SUBROUTINE ARVIS(I) PARAMETER ( IX = 9480*3, JX = 30, KX = 72 ) PARAMETER ( PI1 = 3.141593, PI8 = 8.*PI1 ) COMMON/BLOC1/RO(JX,KX),VR(JX,KX),VT(JX,KX),VP(JX,KX), & BR(JX,KX),BT(JX,KX),BP(JX,KX),TP(JX,KX) COMMON/BLOC2/DTH,DPH,DR COMMON/BLOC3/TH(JX),PHI(KX),RAD(IX) COMMON/BLOC4/JM,KM,JP1,KP1,JM1,KM1,IM COMMON/BLOC5/ROP,VRP,VTP,VPP,BRP,BTP,BPP,TPP COMMON/BLOC13/F(8),G(8),H(8),S(8) DATA GAM/1.67/, R/0.824E-2/, XMU1/PI8/ DATA A / 0.00002 /, B / 0.00002 / DIMENSION U(8,JX,KX), UP(8) GAM1 = GAM - 1.0 DMU1 = 1./XMU1 R1 = RAD(I) R2 = R1**2 DO 12 J=1,JM DO 12 K=1,KM ROP=RO(J,K) VRP=VR(J,K) VTP=VT(J,K) VPP=VP(J,K) BRP=BR(J,K) BTP=BT(J,K) BPP=BP(J,K) TPP=TP(J,K) U(1,J,K) = R2*ROP U(2,J,K) = R2*ROP*VRP U(3,J,K) = R2*ROP*VTP U(4,J,K) = R2*ROP*VPP U(5,J,K) = R1*BRP U(6,J,K) = R1*BTP U(7,J,K) = R1*BPP TEMP1 = 2.*ROP*R*TPP/GAM1 TEMP2 = (VRP**2+VTP**2+VPP**2)/2. TEMP3 = (BRP**2+BTP**2+BPP**2)*DMU1 U(8,J,K) = R2*(TEMP1+ROP*TEMP2+TEMP3) 12 CONTINUE DO 30 J=2,JM1 ASIN = A*SIN(Th(J)) DO 30 K=2,KM1 DO 20 N=1,8 UP(N) = U(N,J,K) & + ASIN*( U(N,J-1,K) - 2.*U(N,J,K) + U(N,J+1,K) )/DTH**2 & + B*( U(N,J,K-1) - 2.*U(N,J,K) + U(N,J,K+1) )/DPH**2 20 CONTINUE ROP = UP(1)/R2 VRP = UP(2)/UP(1) VTP = UP(3)/UP(1) VPP = UP(4)/UP(1) BRP = UP(5)/R1 BTP = UP(6)/R1 BPP = UP(7)/R1 TEMP1 = VRP**2+VTP**2+VPP**2 TEMP2 = (BRP**2+BTP**2+BPP**2)*DMU1 TPP = GAM1/(2.*ROP*R)*(UP(8)/R2-0.5*ROP*TEMP1-TEMP2) RO(J,K)=ROP VR(J,K)=VRP VT(J,K)=VTP VP(J,K)=VPP BR(J,K)=BRP BT(J,K)=BTP BP(J,K)=BPP TP(J,K)=TPP 30 CONTINUE RETURN END