ADAS Subroutine xxecon
SUBROUTINE XXECON( INTYP, OUTTYP, IEVAL, EIN, EOUT ) C----------------------------------------------------------------------- C C ****************** FORTRAN77 SUBROUTINE: XXECON ********************* C C PURPOSE: TO CONVERT AN ARRAY OF VELOCITIES/ENERGIES INTO A SPECIFIED C FORM. C C CALLING PROGRAM: GENERAL USE C C SUBROUTINE: C C INPUT : (I*4) INTYP = 1 => 'EIN(array)' UNITS: AT. UNITS (VEL.) C = 2 => 'EIN(array)' UNITS: CM/SEC (VEL.) C = 3 => 'EIN(array)' UNITS: EV/AMU (ENERGY) C INPUT : (I*4) OUTTYP = 1 => 'EOUT(array)' UNITS: AT.UNITS (VEL.) C = 2 => 'EOUT(array)' UNITS: CM/SEC (VEL.) C = 3 => 'EOUT(array)' UNITS: EV/AMU (ENERGY) C INPUT : (I*4) IEVAL = NO. OF VELOCITIES/ENERGIES IN EIN(array) C INPUT : (R*8) EIN() = INPUT VELOCITIES/ENERGIES (STATED UNITS) C OUTPUT: (R*8) EOUT() = OUTPUT VELOCITIES/ENERGIES (STATED UNITS) C C (R*8) AMU2KG = PARAMETER: AMU TO KG CONVERSION FACTOR C (R*8) EV2J = PARAMETER: EV TO JOULES CONVERSION FACTOR C (R*8) M2CM = PARAMETER: METRES TO CM CONVERSION FACTOR C (R*8) VELE0H = PARAMETER: ORBITAL VELOCITY (CM/SEC) OF C AN ELECTRON IN THE SMALLEST ORBIT OF A C HYDROGEN ATOM (BOHR) = 2.1877D+8 CM/SEC C (R*8) AT2VEL = AT.UNITS (VEL) TO CM/SEC (VEL) CONVERSION C (R*8) VEL2AT = CM/SEC (VEL) TO AT.UNITS (VEL) CONVERSION C (R*8) VEL2EN = CM/SEC (VEL) TO EV/AMU (ENGY.) CONVERSION C (R*8) EN2VEL = EV/AMU (ENGY.) TO CM/SEC (VEL) CONVERSION C (R*8) AT2EN = AT.UNITS (VEL) TO EV/AMU (ENG) CONVERSION C (R*8) EN2AT = EV/AMU (ENG) TO AT.UNITS (VEL) CONVERSION C C (I*4) I = GENERAL USE C C (R*8) ECONV() = ENERGY/VELOCITY CONVERSION PARAMETERS C C ROUTINES: NONE C C NOTE: C ENERGY/VELOCITY CONVERSION PARAMETERS: C C INTYP = 1 ; ECONV(1) => VELOCITY: AT.UNITS -> OUTPUT FORM C INTYP = 2 ; ECONV(2) => VELOCITY: CM/SEC -> OUTPUT FORM C INTYP = 3 ; ECONV(3) => ENERGY : EV/AMU -> OUTPUT FORM C C AUTHOR: PAUL E. BRIDEN (TESSELLA SUPPORT SERVICES PLC) C K1/0/81 C JET EXT. 4569 C C DATE: 05/02/91 C C VERSION: 1.2 DATE: 01-05-96 C MODIFIED: WILLIAM OSBORN C - CORRECTED AT2EN. IT WAS AT2VEL*VEL2EN. C C----------------------------------------------------------------------- C C----------------------------------------------------------------------- INTEGER IEVAL, INTYP, OUTTYP REAL*8 EIN(IEVAL), EOUT(IEVAL)