C ..................................................... C : νοδεμψ νιλςοχϊςωχα : C : Xg,Yg,Zg - λοοςδιξατω ιξτεςεσυΰύεκ ξασ τοώλι : C : X=Xg-DX, Y=Yg-DY, Z=Zg-DZ - λοοςδιξατω οτξοσι- : C : τεμψξο γεξτςα : C : νιλςοχϊςωχα : C : : C : WX,WY,WZ - σλοςοστι χ ότοκ τοώλε ; : C : V0,H0,R0 - θαςαλτεςιστιλι νιλςοχϊςωχα. : C :...................................................: SUBROUTINE VV (X,Y,Z,WX,WY,WZ,V0,H0,R0) C ................................................... C π/πςοηςαννα οπςεδεμεξιρ σλοςοστι χετςα : C πςοιϊχομψξοκ τοώλε : C ..................................................: COMMON/CIR/CIP CIP=2*V0*R0/(1.-1./(1. +(2*H0/R0)**2)**1.5) C ................................................... C RC - ςαδιυσ ρδςα νιλςοϊςωχα : C RD - ςασστορξιε οτ γεξτςα βμιφακϋεηο ρδςα : C δο ισσμεδυενοκ τοώλι : C ..................................................: RC=0.8*H0 R=SQRT(X**2+Z**2) RD=SQRT((ABS(R)-R0)**2+(ABS(Y)-H0)**2) C ................................................... C πςοχεςλα: ξαθοδιτσρ μι ισσμεδυεναρ τοώλα χ ρδςε : C ..................................................: IF(RD-RC) 21,22,22 C ................................................... C ςεαμιϊαγιρ χαςιαξτα - τοώλα χ ρδςε : C ..................................................: 21 Q=RD/RC IF(Q)24,23,24 C ................................................... C (R1, H1) - χελτος: : C γεξτς ρδςα - ισσμεδυεναρ τοώλα : C ..................................................: 24 R1=R-SIGN(R0,R) Y1=Y-SIGN(H0,Y) CALL WAP(V0,H0,R0,SIGN(H0,Y)+Y1/Q,SIGN(R0,R)+R1/Q,WR1,WY1) 23 WR=Q*WR1 WY=Q*WY1 GO TO 25 C ................................................... C ςεαμιϊαγιρ χαςιαξτα - : C ισσμεδυεναρ τοώλα χξε ρδςα : C ..................................................: 22 IF(ABS(R).LE.0.5) R=0.5 CALL WAP(V0,H0,R0,Y,R,WR,WY) 25 WX=WR*X/R WZ=WR*Z/R WY=-WY RETURN END FUNCTION STR(H0,R0,Y,R) C ................................................. C χωώισμεξιε χιθςεχοκ ζυξλγιι STR : C ................................................: COMMON/CIR/CIP C ................................................. C χωώισμεξιε ςασστορξικ R : C ................................................: R1=SQRT((Y-H0)**2+(R-R0)**2) R2=SQRT((Y+H0)**2+(R-R0)**2) R3=SQRT((Y-H0)**2+(R+R0)**2) R4=SQRT((Y+H0)**2+(R+R0)**2) C ................................................ C χωώισμεξιε λοόζζιγιεξτοχ RK : C ...............................................: RK1=((R3-R1)/(R3+R1))**2 RK2=((R4-R2)/(R4+R2))**2 C ................................................ C χωώισμεξιε πςιβμιφεξικ όμμιπτιώεσλιθ : C ιξτεηςαμοχ : C ...............................................: AR=0.788*RK1/(0.25+0.75*SQRT(1.-RK1)) AM=0.788*RK2/(0.25+0.75*SQRT(1.-RK2)) C ................................................. C χωώισμεξιε χιθςεχοκ ζυξλγιι : C ................................................: STR=-CIP*((R1+R3)*AR-(R2+R4)*AM)/6.2831852 RETURN END SUBROUTINE WAP(V0,H0,R0,Y,R,WR,WY) C ................................................ C οπςεδεμεξιε ξαπςαχμεξιρ χετςα πο : C χιθςεχοκ ζυξλγιι χξε ρδςα : C D - δεμψτα, πςινεξρεναρ πςι χωώισμεξιι : C πςοιϊχοδξοκ : C ...............................................: D=0.2 C ................................................ C χωώισμεξιε ςαδιαμψξοκ ι χεςτιλαμψξοκ : C σοσταχμρΰύιθ σλοςοστι χετςα : C ...............................................: STR1=STR(H0,R0,Y,R) WY=(STR1-STR(H0,R0,Y,R+D))/(R*D) WR=(STR(H0,R0,Y-D,R)-STR1)/(R*D) RETURN END