ULYSSES In Space

 

Sun Banner
ULYSSES

Ulysses HISCALE Data Analysis Handbook

 

Appendix 9  Geometric Factor Study for the Deflected and Unscattered Electrons of HISCALE (Buckley MS Thesis)

 

A9.13  Appendix: Computer Programs

 

*		         PROGRAM I.1			  	  *
******************************************************************************
*                               TRAJ6PT                                      *
* THIS IS THE MAIN TRAJECTORY PROGRAM.  ALL VARIABLES AND PARAMETERS ARE     *
* DEFINED IN THE COMMENTS FOUND ON PAGE 65 OF SHODHAN'S THESIS.              *
******************************************************************************
 
      PROGRAM TRAJ1PHI
      IMPLICIT NONE
      CHARACTER*72 FNAME,FNAME1,FNAME2,FNAME3,FNAME4
      INTEGER I,I1,IHLF,J,MAXE,NCOUNT,NDIM,NHIT,NPHI,NTHETA,NU
      INTEGER NXK,NYK,NZK,MAXSURF
      PARAMETER (MAXE=100)
      REAL*8 C,CON,ERRWT
      PARAMETER (CON=2.540005D0,NDIM=6)
      REAL*8 STEPHI,STEPTHETA,EK,ENEK,PHIMIN,EVELO,
     & PHI,QMC,QMCP,
     & THETA,THETAMAX,THETAMID,V,VX,VY,VZ
      REAL*8 AUX(16,NDIM),DERY(NDIM),PRMT(5),X0,Y(NDIM),Y0,Z0
      REAL CPUTIME,TIMER,ZTIM0
      INCLUDE 'PASS5.CMN'
      COMMON /QMC/QMC
      COMMON /NCOUNT/NCOUNT,/NU/NU,/NHIT/NHIT
C     COMMON /FNAME/FNAME
      COMMON /FNAME4/FNAME4
      COMMON /FNAME1/FNAME1
      COMMON /FNAME2/FNAME2,FNAME3
      DATA C/2.998D0/,QMCP/0.175602D0/
      EXTERNAL FCT,OUTP
      ZTIM0=TIMER()    
      CALL GEOM    
    
C     OPEN(UNIT=7,FILE='TRAJSH.DAT',ACCESS='SEQUENTIAL',STATUS='NEW')
      WRITE(6,*) 'ENTER THE INITIAL COORDINATES OF THE e IN INCHES'
      READ(5,*) X0,Y0,Z0
C     TO ENTER QUANTITIES FOR PRMT
      WRITE(6,*) 'ENTER LOWER BOUND ON TIME (t=0)'
      READ(5,*) PRMT(1)
      WRITE(6,*) 'ENTER THE UPPER BOUND ON TIME'
      READ(5,*) PRMT(2)
      WRITE(6,*) 'ENTER THE TIME STEP'
      READ(5,*) PRMT(3)
      WRITE(6,*) 'ENTER THE ERROR BOUND'
      READ(5,*) PRMT(4)
   
      WRITE(6,*) 'ENTER THE ENERGY OF THE PARTICLE IN MEV'
      READ(5,*) EK
      ENEK=IDINT(1000.0D0*EK)  
      NXK=IDINT(-10000.0D0*X0)
      NYK=IDINT(-10000.0D0*Y0)
      NZK=IDINT(10000.0D0*Z0)
      ENCODE (17,60,FNAME1)NXK,NYK,NZK,IDINT(ENEK)
      OPEN(UNIT=8,STATUS='NEW',ACCESS='SEQUENTIAL',FILE=FNAME1)
      ENCODE (19,110,FNAME2)NXK,NYK,NZK,IDINT(ENEK)
      OPEN(UNIT=1,STATUS='NEW',ACCESS='SEQUENTIAL',FILE=FNAME2)
      ENCODE (20,120,FNAME3)NXK,NYK,NZK,IDINT(ENEK)
      OPEN(UNIT=2,STATUS='NEW',ACCESS='SEQUENTIAL',FILE=FNAME3)
      ENCODE (23,125,FNAME4)NXK,NYK,NZK,IDINT(ENEK)
      OPEN(UNIT=3,STATUS='NEW',ACCESS='SEQUENTIAL',FILE=FNAME4)
      V = EVELO(EK)          !COMPUTE V FOR THIS ENERGY OF e
      QMC = -QMCP*DSQRT(1 - (V/C)**2)  
      WRITE (6,*) 'ENTER MID. THETA,THETAMAX,DEL THETA'
      READ (5,*) THETAMID,THETAMAX,STEPTHETA
      WRITE (6,*) 'ENTER MIN. PHI,NO. OF STEPS,DEL PHI'
      READ (5,*) PHIMIN,NPHI,STEPHI
      WRITE (8,70) EK,V
      WRITE (8,80) THETAMID,THETAMAX,STEPTHETA
      WRITE (8,90) PHIMIN,NPHI,STEPHI
      WRITE (8,20) PRMT(1),PRMT(2),PRMT(3),PRMT(4)
      WRITE (8,*)
      WRITE (8,95) X0,Y0,Z0
      WRITE (1,130)
	WRITE (1,*) (1) 
      WRITE (2,140)
	WRITE (2,*) (1)
      WRITE (3,150)
C     TO CONVERT FROM INCHES TO CMS. 
      X0 = X0 * CON
      Y0 = Y0 * CON
      Z0 = Z0 * CON
      WRITE (8,100) X0,Y0,Z0
      WRITE (8,*)
 
      NPAS=0 
      DO I=1,NPHI
 
        PHI=PHIMIN + DFLOAT(I-1)*STEPHI
       
        DO J=-1,1,2
          IF (J .EQ. -1) THEN
           THETA=THETAMID
          ELSE
           THETA=THETAMID + DFLOAT(J)*STEPTHETA
          END IF
          NHIT=2
          DO WHILE (NHIT .EQ. 2 .AND. THETA .LT. THETAMAX)
C            ENCODE (23,50,FNAME)NXK,NYK,NZK,IDINT(ENEK),
C     &                          IDINT(THETA),IDINT(PHI)
C            OPEN(UNIT=4,STATUS='NEW',ACCESS='SEQUENTIAL',FILE=FNAME)
            NCOUNT = 0        
            NU = 1
C           WRITE(7,05) I
C           WRITE(7,10) EK,V,THETA(J),PHI(I)
C           WRITE(7,20) PRMT(1),PRMT(2),PRMT(3),PRMT(4)
C           WRITE(7,30)
C           WRITE(6,*) J
C           TO COMPUTE THE VELOCITY PROJECTIONS Vx,Vy,Vz
            CALL VELOPROJ(V,VX,VY,VZ,THETA,PHI)
    
            WRITE(6,*) ' THETA ',THETA,' PHI ',PHI
C           TO INITIALISE THE INITIAL VALUES 
            Y(1) = X0
            Y(2) = Y0
            Y(3) = Z0
            Y(4) = VX
            Y(5) = VY
            Y(6) = VZ
            ERRWT = 1.0D0/6.0D0
            DO I1=1,NDIM
             DERY(I1) = ERRWT
            END DO
            CALL DHPCG(PRMT,Y,DERY,NDIM,IHLF,FCT,OUTP,AUX)
            IF (NHIT .EQ. 2) THEN
             PAS(NPAS,1) = THETA
             PAS(NPAS,2) = PHI
            END IF
            WRITE(6,*) 
            WRITE(6,*) ' IHLF NO. OF BISECTIONS OF STEP: ',IHLF
            WRITE(6,*) 'TOTAL NO. OF POINTS IN THE TRAJECTORY: ',NU-1
	    
	    IF ((THETA.LT.140).AND.(THETA.GT.40)) NHIT = 2
	    THETA = THETA+DFLOAT(J)*STEPTHETA
          END DO
        END DO 
      END DO
      CALL PASSOUTPUT
      WRITE(6,*) 'NPAS:',NPAS
      CPUTIME=TIMER()-ZTIM0
      WRITE(6,*) 'C.P.U. TIME: ',CPUTIME
      WRITE(1,40)
      WRITE(2,40)
 05   FORMAT(1X,I3)
 10   FORMAT(1X,'ENERGY(in mev)',D10.3,2X,'VELOCITY(*10+10)',F12.5,2X,
     & 'THETA(in deg.)',F10.3,2X,'PHI(in deg.)',F10.3)
 20   FORMAT(1X,'INITIAL TIME(*10-08)',F12.6,2X,'FINAL TIME(*10-08)',
     & F12.6,2X,'INITIAL STEP(*10-08)',F14.8,1X,'ERROR BOUND',F19.12)
 30   FORMAT(4X,'T(-08)',10X,'X(+02)',10X,'Y(+02)',10X,'Z(+02)',10X,
     & 'VX(+10)',10X,'VY(+10)',10X,'VZ(+10)',10X,'(V+10)')
 40   FORMAT(X,'---*---*---*--- END OF ENERGY ---*---*---*---')
 50   FORMAT (I3,I3,I4,'.E',I5,I3,I3)
 60   FORMAT (I3,I3,I4,'.E',I5)
 70   FORMAT (1X,'ENERGY(in mev)',D10.3,2X,'VELOCITY(*10+10)',F12.5)
 80   FORMAT (1X,'MIDDLE THETA(in deg.)',F10.2,2X,'MAX.THETA',
     & F10.2,2X,'DEL THETA',F10.2)
 90   FORMAT (1X,'INITIAL PHI  (in deg.)',F10.2,2X,'NO. OF STEPS',
     & I5,2X,'DEL PHI  ',F10.2)
 95   FORMAT (1X,'STARTING POSITION(in in.)',2X,'X(+02)',D14.7,
     & 2X,'Y(+02)',D14.7,2X,'Z(+02)',D14.7)
100   FORMAT (1X,'STARTING POSITION(in cm.)',2X,'X(+02)',D14.7,
     & 2X,'Y(+02)',D14.7,2X,'Z(+02)',D14.7)
110   FORMAT (I3,I3,I4,'.E',I5,'IN')
120   FORMAT (I3,I3,I4,'.E',I5,'OUT')
125   FORMAT (I3,I3,I4,'.E',I5,'OUTVEL')
130   FORMAT(1X,'POLAR & AZIMUTHAL ANGLES AT THE DETECTOR')
140   FORMAT(1X,'POLAR & AZIMUTHAL ANGLES AT THE APERTURE')
150   FORMAT(1X,'POLAR & AZIMUTHAL ANGLES AT THE APERTURE FROM VEL.')
      CLOSE(1)
      CLOSE(2)
      CLOSE(3)
      END
C-----------------------------------------------------------------------------
C-----------------------------------------------------------------------------            

 

 

Return to the Table of Contents for Buckley's Thesis

Return to HISCALE List of Appendices

Return to Ulysses HISCALE Data Analysis Handbook Table of Contents


Updated 8/8/19, Cameron Crane

QUICK FACTS

Manufacturer: ESA provided the Ulysses spacecraft, NASA provided the power supply, and various others provided its instruments.

Mission End Date: June 30, 2009

Destination: The inner heliosphere of the sun away from the ecliptic plane

Orbit:  Elliptical orbit transversing the polar regions of the sun outside of the ecliptic plane