Fundamental Technologies

Voyager LECP Pages

An Analysis of the Performance of the Magnetic Deflection System in the Voyager Low Energy Charged Particle Experiment

by Sheela Shodhan

E.9 TRAJRT2BDET5

**************************************************************************
* PURPOSE : THIS IS A FILE OF ROUTINES THAT HAVE BEEN DECLARED EXTERNAL  *
*          IN THE  MAIN PROGRAM & WHICH ARE PASSED INTO THE ROUTINE      *
*          DHPCG THAT SOLVES THE SYSTEM OF DIFFERENTIAL EQUATIONS.       *
* SUBROUTINES:                                                           *
* FCT : CALCULATES THE RIGHT HAND SIDE OF THE DIFFERENTIAL EQUATIONS     *
* OUTP : EVERY OUTPUT POINT IN THE INTEGRATION PROCESS IS HANDED ONTO THI*
*       -S ROUTINE BY THE DIFFERENTIAL EQUATION SOLVER DHPCG. THIS OUTPUT*
*       POINT IS A POINT IN THE LINE-SEGMENT OF THE TRAJECTORY WHICH IS  *
*       THEN TESTED AGAINST THE VARIOUS SURFACES BY CALLING THE ROUTINE  *
*       'CHECHIT' TO DETERMINE WHETHER THE PARTICLE HITS ANY OF THE SURFA* 
*       -CES AND LOST OR ESCAPED. TRAJECTORY CALCULATION CONTINUES UNTIL *
*       THE FATE OF THE PARTICLE IS DETERMINED.                          *
**************************************************************************
      SUBROUTINE FCT(X,Y,DERY)
* PURPOSE : TO COMPUTE THE RIGHT HAND SIDE DERY OF THE SYSTEM AT THE     *
*          GIVEN VALUES OF X & Y.                                        *
************************************************************************** 
      IMPLICIT NONE
      INTEGER NDIM
      PARAMETER (NDIM=6)
      REAL*8 BX,BY,BZ,DERY(NDIM),FAC,QMC,X,X00,Y(NDIM),Y00,Z00
      COMMON /QMC/QMC
C     COMMON /BX/BX,BY,BZ,/X00/X00,Y00,Z00
      PARAMETER (FAC=0.02540005D0)
      X00 = Y(1)/FAC
      Y00 = Y(2)/FAC
      Z00 = Y(3)/FAC
      CALL FDMOD(X00,Y00,Z00,BX,BY,BZ)
D     PRINT *,' QMC ',QMC
D     PRINT *,' X00 ',X00,' Y00 ',Y00,' Z00 ',Z00
D     PRINT *,' BX ',BX,' BY ',BY,' BZ ',BZ
      DERY(1) = Y(4)
      DERY(2) = Y(5)
      DERY(3) = Y(6)
      DERY(4) = QMC * (Y(5)*BZ - Y(6)*BY)
      DERY(5) = QMC * (Y(6)*BX - Y(4)*BZ)
      DERY(6) = QMC * (Y(4)*BY - Y(5)*BX)
      
      RETURN
      END
C----------------------------------------------------------------------
C----------------------------------------------------------------------
      SUBROUTINE OUTP(X,Y,DERY,IHLF,NDIM,PRMT,HIT)
* PURPOSE : THIS IS A ROUTINE THAT IS DECLARED EXTERNAL IN THE MAIN   *
* ROUTINE. IT PRINTS THE OUTPUT VALUES OBTAINED FROM THE ROUTINE      *
* DHPCG - WHICH SOLVES THE SYSTEM OF DIFF. EQUATIONS.                 *
***********************************************************************
      IMPLICIT NONE
      CHARACTER*72 FNAME
      INTEGER HIT,I,IHLF,MULC,MULC1,NCOUNT,NDIM,NSURF,NU
      REAL*8 DERY(NDIM),PRMT(5),X,Y(NDIM),TLN(2,3),TOTV,BX,BY,BZ,B,
     &   X00,Y00,Z00,FAC,PASVEL(10000,2)
      REAL*8 FPHI,DIST,X1,Y1,Z1
      PARAMETER (FAC=0.02540005D0)
      COMMON /NCOUNT/NCOUNT
      COMMON /TLN/TLN,/NU/NU
      COMMON /PASVEL/PASVEL
      INCLUDE 'PASS5.CMN'
      DATA MULC/40/,MULC1/10/
      TOTV=DSQRT(Y(4)*Y(4) + Y(5)*Y(5) + Y(6)*Y(6))
      NCOUNT = NCOUNT + 1
D     B = DSQRT(BX*BX + BY*BY + BZ*BZ)
      IF (NU .EQ. 1) THEN
        DO I=1,3
          TLN(2,I)=Y(I)/FAC
        END DO
      ELSE
        DO I=1,3
          TLN(1,I)=TLN(2,I)
          TLN(2,I)=Y(I)/FAC
        END DO
        CALL CHECKHIT(HIT,NSURF)
                        !HIT=0 :CONTINUE WITH TRAJECTORY CALCULATION
                        !   =1 :HIT THE NSURF(NTH SURFACE), LOST
                        !   =2 :SUCCESSFULLY ESCAPED FROM THE SENSOR 
        IF (HIT .EQ. 2) THEN
          NPAS=NPAS+1
C         COMPUTE THE POLAR & THE AZIMUTHAL ANGLES OF THIS ESCAPING
C         PARTICLE
          X1=TLN(2,1)-TLN(1,1)
          Y1=TLN(2,2)-TLN(1,2)
          Z1=TLN(2,3)-TLN(1,3)          
          DIST=DSQRT(X1*X1 + Y1*Y1 + Z1*Z1)
          PAS(NPAS,3)=DACOS(Z1/DIST)
          PAS(NPAS,4)=FPHI(X1,Y1)
          PASVEL(NPAS,1)=DACOS(Y(6)/TOTV)
          PASVEL(NPAS,2)=FPHI(Y(4),Y(5))
          DO I=1,6
           PAS(NPAS,I+4)=Y(I)
          END DO
        END IF
      END IF 
      NU=NU+1         
 15   FORMAT (1X,D14.7,6(1X,D15.8),1X,D21.14)
 20   FORMAT(3(X,F13.6))
      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.

Last modified 12/9/02, Tizby Hunt-Ward
tizby@ftecs.com