VOYAGER
Voyager LECP Data Analysis Handbook
Instrument Modeling Reports
by Sheela Shodhan
E.21 FDLNX9FR
*********************************************************************** * PURPOSE : THIS PROGRAM COMPUTES THE MAGNETIC FIELD IN SPACE. * * THIS IS A MAIN ROUTINE IN A SET OF ROUTINES TO PLOT THE * * PROJECTIONS OF THE FIELD LINES ON THE XZ PLANE OR THE YZ * * PLANE. THE CHOICE OF THE PLANE DEPENDS UPON THE USER. HE / * * SHE SPECIFIES THE PLANE BY INPUTING THE VALUE OF THE VARIABLE* * 'NCRS'. NCRS = 1 FOR XZ PLANE; * * = 2 FOR YZ PLANE. * * ROUTINES TO BE LINKED : FDLNX9FR, FDLNPLOTBLN5, FDMOD1, PLOTR5BLN * * DESCRIPTION : (1) FDLNX9FR:THIS IS THE MAIN ROUTINE TO PLOT THE PROJ* * -ECTIONS OF THE FIELD LINES ON THE XZ AND THE YZ PLANE.* * FOR DETAILED DESCRIPTION, PLEASE SEE THE ROUTINES THEMSELVES. * * (2) FDLNPLOTBLN5:THIS ROUTINE READS THE VALUES TO BE * * PLOTTED FROM THE USER DEFINED FILES AND INITIALISES * * APPROPRIATE ARRAYS TO BE PASSED ON TO THE PLOT ROUTIN* * -ES SO THAT THESE CAN BE PLOTTED. * * (3) FDMOD1:ROUTINE TO COMPUTE FIELD COMPONENTS Bx, By * * AND Bz AT THE GIVEN POINT (X,Y,Z) IN SPACE. * * (4) PLOTR5BLN:PLOT ROUTINE TO PLOT THE PROJECTION OF * * THE FIELD LINES ON THE REQUIRED PLANE. * ***********************************************************************
IMPLICIT NONE REAL*8 X0,Y0,Z0,X,Y,Z REAL*8 BOUND,DS,FINT,UP INTEGER J,K,NCRS
02 PRINT *,'ENTER THE CHOICE OF THE PLANE OF PROJECTION' PRINT *,'FOR XZ PLANE:1; FOR YZ PLANE:2 ' READ *,NCRS
IF (NCRS .EQ. 1) THEN OPEN (UNIT=1,FILE='FDLNXZ.DAT',STATUS='NEW') ELSE IF (NCRS .EQ. 2) THEN OPEN (UNIT=1,FILE='FDLNYZ.DAT',STATUS='NEW') ELSE PRINT *,'ERROR IN THE CHOICE OF THE PROJECTION PLANE' PRINT *,'NO SUCH PLANE-PLEASE TRY AGAIN' GO TO 2 END IF END IF
WRITE(1,20)
PRINT *,'ENTER THE INTIAL POINT X0,Y0,Z0' READ *, X0,Y0,Z0
PRINT *,'ENTER THE INTERVAL BETWEEN THE FIELD LINES' READ *, FINT
PRINT *,'ENTER THE INCREMENT IN SPACE FOR A FIELD LINE' READ *,DS
X = X0 Y = Y0 Z = Z0
CALL MFRAME(NCRS,X,Y,Z) CALL BOUNDCAL(BOUND,FINT,NCRS,UP,X,Y,Z) J = 2 DO WHILE (((FINT .GT. 0.0D0) .AND. (UP .LE. BOUND)) .OR. & ((FINT .LT. 0.0D0) .AND. (UP .GE. BOUND)))
J = J + 1
DO K=-1,1,2 CALL FDLINE(J,K,DS,X,Y,Z) END DO
IF (NCRS .EQ. 1) THEN X = X + FINT Y = Y Z = Z UP = X ELSE X = X Y = Y + FINT Z = Z UP = Y END IF END DO
CLOSE(1)
20 FORMAT(X,9X,'X',10X,9X,'Y',19X,'Z',19X,'BX',19X, 1 'BY',15X,'BZ')
STOP END C---------------------------------------------------------------------- C----------------------------------------------------------------------
SUBROUTINE FDLINE(J,K,DS,X1,Y1,Z1) * * * PURPOSE : THIS SUBROUTINE COMPUTES THE MAGNETIC FIELD AT POINTS IN * * SPACE GIVEN THE INITIAL POINT. THIS INITIAL POINT IS A POIN* * -T IN THE MIDDLE PLANE Z=0.0. THEN STARTING FROM THIS MID- * * -PLANE, CALCULATION CONTINUES UNTIL THE SIGN OF Z/Bz REVERSE* * -S. * * VARIABLES : * * INPUT : * * X1,Y1,Z1 : INITIAL POINT ON THE MIDDLE PLANE FROM WHICH THE COMPUTAT* * - ION STARTS. * * J : NUMBER OF THE FIELD LINE. * * K : INDICATES WHETHER THE COMPUTATION IS TOWARDS THE RIGHT MAGNET OR* * THE LEFT MAGNET. * * OUTPUT : * * *.DAT : FILE ON WHICH THE POSITION COORDINATES (X,Y,Z) AND THE FIELD* * COMPONENTS Bx, By AND Bz ARE RECORDED. * * OTHERS : * * Bx, By, Bz : FIELD COMPONENTS AT A POINT (X,Y,Z) IN SPACE. * * HIT : INDICATES WHETHER THE SIGN OF Z-COORDINATE HAS REVERSED OR NOT* * =0 NOT REVERSED SO CONTINUE WITH THE COMPUTATION, * * =1 REVERSED, SO STOP COMPUTATON FOR THIS SIDE OF THE MID-PLANE.* * X, Y, Z : 1-D ARRAYS OF POSITION COORDINATES OF THE POINT IN SPACE. * *********************************************************************** IMPLICIT NONE INTEGER I,J,K,NPT,HIT,MNPT REAL*8 X1,Y1,Z1 REAL*8 DS,DIST,ZB
PARAMETER (MNPT=300) REAL*8 X(MNPT),Y(MNPT),Z(MNPT),BX(MNPT),BY(MNPT),BZ(MNPT) REAL*8 B,DX,DY,DZ
X(1) = X1 Y(1) = Y1 Z(1) = Z1
NPT = 250 HIT = 0 I = 0
DIST = DFLOAT(K) * DS D PRINT *,'K: ',K,' DIST: ',DIST
DO WHILE ((HIT .EQ. 0) .AND. (I .LE. NPT)) I = I+1 CALL FDMOD(X(I),Y(I),Z(I),BX(I),BY(I),BZ(I)) D PRINT *,'X(I),Y(I),Z(I): ',X(I),Y(I),Z(I) D PRINT *,'BX,BY,BZ: ',BX(I),BY(I),BZ(I) B = DSQRT(BX(I)**2 + BY(I)**2 + BZ(I)**2) DX = BX(I) * DIST/B DY = BY(I) * DIST/B DZ = BZ(I) * DIST/B D WRITE(1,*) 'DX: ',DX,' DY: ',DY,' DZ: ',DZ D PRINT *,'DX,DY,DZ: ',DX,DY,DZ D PRINT *,' ' X(I+1) = X(I) + DX Y(I+1) = Y(I) + DY Z(I+1) = Z(I) + DZ
IF (K .EQ. -1) THEN IF (Z(I+1) .LE. Z(I)) HIT=1 ELSE IF (Z(I+1) .GE. Z(I)) HIT=1 END IF END DO
D PRINT *,'HI, I AM ABOUT TO WRITE ON FILE(?)' NPT = I-1 IF (K .EQ. -1) THEN WRITE(1,05) J DO I=NPT,1,-1 WRITE(1,10) X(I),Y(I),Z(I),BX(I),BY(I),BZ(I) END DO ELSE DO I=2,NPT WRITE(1,10) X(I),Y(I),Z(I),BX(I),BY(I),BZ(I) END DO WRITE(1,15) END IF
05 FORMAT(X,I3) 10 FORMAT(X,6(2X,D18.11)) 15 FORMAT(X,'****** END OF A FIELD LINE ******')
RETURN END C---------------------------------------------------------------------- C----------------------------------------------------------------------
SUBROUTINE BOUNDCAL(BOUND,FINT,NCRS,UP,X,Y,Z) * * * PURPOSE : THIS SUBROUTINE CALCULATES THE BOUND ON THE INITIAL VALUE* * OF THE FIELD LINE. THIS BOUND IS NECESSARY SINCE ONLY LINES * * NEAR THE MAGNETS ARE TO BE DRAWN. * ***********************************************************************
IMPLICIT NONE REAL * 8 BOUND,FINT,UP,X,Y,Z REAL * 8 XS1,XS2,YS1,YS2 INTEGER NCRS
DATA XS1,XS2,YS1,YS2/0.0D0,1.8D0,-0.8D0,0.0D0/
IF (NCRS .EQ. 1) THEN IF (FINT .GT. 0.0D0) BOUND = XS1+XS2+X IF (FINT .LT. 0.0D0) BOUND = XS1+X-XS2 UP = X ELSE IF (FINT .GT. 0.0D0) BOUND = YS2+(YS1-Y) IF (FINT .LT. 0.0D0) BOUND = YS1-(Y-YS2) UP = Y END IF RETURN END C---------------------------------------------------------------------- C---------------------------------------------------------------------- SUBROUTINE MFRAME(NCRS,X,Y,Z) * * * PURPOSE : THIS ROUTINE PLOTS THE PROJECTIONS OF THE MAGNETS ON THE * * REQUIRED PLANE. * FOR NCRS=1, PROJECTION ON THE XZ PLANE, * * =2, PROJECTION ON THE YZ PLANE. * ***********************************************************************
REAL*8 X,XM(2),Y,YL,YM(2),YYZ1,YYZ2,Z,ZCR,ZM(2) REAL*8 BX,BY,BZ INTEGER J,NCRS DATA BX,BY,BZ/0.0D0,0.0D0,0.0D0/ DATA XM(1),XM(2)/0.40D0,-0.4D0/ DATA YL/0.4698463104D0/ DATA YYZ1,YYZ2/-0.187938520D0,-0.7517541D0/ DATA ZYZ1,ZYZ2/0.540106043,0.3348939570D0/
DO J=1,2 WRITE(1,05)J IF (NCRS .EQ. 1) THEN ZCR = 0.43750D0 + ((YL - DABS(Y))*DTAN(0.3490658504D0)) WRITE(6,*)' NCRS ',NCRS,' ZCR ',ZCR IF (J .EQ. 1) THEN WRITE(1,10) XM(1),Y,ZCR,BX,BY,BZ WRITE(1,10) XM(2),Y,ZCR,BX,BY,BZ ELSE WRITE(1,10) XM(1),Y,-ZCR,BX,BY,BZ WRITE(1,10) XM(2),Y,-ZCR,BX,BY,BZ ENDIF
ELSE IF (NCRS .EQ. 2) THEN IF (J .EQ. 1) THEN WRITE(1,10) X,YYZ1,ZYZ1,BX,BY,BZ WRITE(1,10) X,YYZ2,ZYZ2,BX,BY,BZ ELSE WRITE(1,10) X,YYZ1,-ZYZ1,BX,BY,BZ WRITE(1,10) X,YYZ2,-ZYZ2,BX,BY,BZ ENDIF ELSE WRITE(6,*) 'THERE IS EN ERROR IN THE PLANE DESIRED'
END IF END IF WRITE(1,15) END DO
05 FORMAT(X,I3) 10 FORMAT(X,6(2X,D18.11)) 15 FORMAT(X,'****** END OF A FIELD LINE ******')
RETURN END C---------------------------------------------------------------------- C----------------------------------------------------------------------
Return to thesis table of contents.
Return to Voyager
LECP Data Analysis Handbook Table of Contents.
Return to Fundamental
Technologies Home Page.
Updated 8/9/19, Cameron Crane
VOYAGER 1 ELAPSED TIME
--:--:--:--
Days: Hours:
Minutes: Seconds
*Since official launch
September 5, 1977, 12:56:00:00 UTC
*Since official launch
September 5, 1977, 12:56:00:00 UTC
VOYAGER 2 ELAPSED TIME
--:--:--:--
Days: Hours:
Minutes: Seconds
*Since official launch
August 20, 1977, 14:29:00:00 UTC
*Since official launch
August 20, 1977, 14:29:00:00 UTC
QUICK FACTS
Manufacturer:
Voyagers 1 and 2 were built in the Jet Propulsion
Laboratory in Southern California.
Mission Duration: 40+ years have elapsed for both Voyager 1 and Voyager 2 (both are ongoing).
Destination: Their original destinations were Saturn and Jupiter. Their current destination is interstellar space.
Mission Duration: 40+ years have elapsed for both Voyager 1 and Voyager 2 (both are ongoing).
Destination: Their original destinations were Saturn and Jupiter. Their current destination is interstellar space.