CTITLESADRIV -- FUNCTION TO CALCULATE DISTANCE WRT THETA1 00010001 C*********************************************************************** C COPYRIGHT ATLANTIC RICHFIELD COMPANY 1991 * C*********************************************************************** C 00020000 CA AUTHOR ARCO 00030000 CA DESIGNER ARCO 00040000 CA LANGUAGE FORTRAN H 00050000 CA WRITTEN 09-01-84 00060000 C REVISED MO-DA-YR BY PROGRAMMER 00070000 C REVISED 04-02-87 JMP - PUT IN PRODUCTION SPARC. 00080001 C 00090000 CA CALLING SEQUENCE: 00100000 CA X = SADRIV ( ZTHETA, ZALPHA, ZDEPTH) 00110001 CA 00120000 CA IN/OUT ARGUMENT TYPE DESCRIPTION 00130000 CA 00140000 CA IN ZTHETA R8 LOCAL VARIABLE FOR THETA 00150000 CA IN ZALPHA R8 LOCAL VARIABLE FOR ALPHA OF CURRENT LAYER 00160000 CA IN ZDEPTH R4 LOCAL VARIABLE FOR THICKNESS OF CURRENT 00170000 CA LAYER 00180000 CA 00190000 CA PURPOSE OF PROGRAM: 00200000 CA THIS FUNCTION IS USED TO CALCULATE THE DERIVATIVE OF THE 00210000 CA DISTANCE WITH RESPECT TO THETA-1. THIS IS SIMPLY THE DERIVATIVE 00220000 CA OF THE DIST FUNCTION AND IT IS SUMMED IN THE MAIN PROGRAM TO 00230000 CA GET DXR. 00240000 CA 00250000 CA ROUTINES CALLED: NONE 00260000 CA 00270000 C--------------------------------------------------------------------- 00280000 REAL FUNCTION SADRIV (ZTHETA, ZALPHA, ZDEPTH) 00290001 C 00300000 C____________________________________________________________ 00310000 C 00320000 C LOCAL VARIABLES 00330000 C 00340000 C____________________________________________________________ 00350000 C 00360000 REAL *4 ZDEPTH 00370000 REAL *8 ZTHETA 00380000 2 , ZALPHA 00390000 C 00400000 C MAKE SURE WE DON'T TRY TO TAKE THE SQUARE ROOT OF A NEGATIVE. 00410000 C 00420000 IF ((ZALPHA * DSIN(ZTHETA)) .GE. 1.0) 00430000 1 ZTHETA = 2 * DASIN(1 / ZALPHA) - ZTHETA 00440001 C 00450000 SADRIV = 2 * DCOS(ZTHETA) * ZALPHA * ZDEPTH / 00460001 1 (DSQRT(1 - (ZALPHA * DSIN(ZTHETA)) **2) **3) 00470000 RETURN 00480000 END 00490000