Download fobey0.eso

Back to the list

   1 : C FOBEY0    SOURCE    CHAT      05/01/13    00:05:37     5004           
   2 :       SUBROUTINE  FOBEY0(XR1,NXR1,XR2)
   3 :       IMPLICIT INTEGER(I-N)
   4 :       IMPLICIT REAL*8 (A-H,O-Z)
   5 : C    Include contenant quelques constantes dont XPI :
   6 : -INC CCREEL
   7 : C     
   8 : C     
   9 : C  XR1( NXR1) : TABLEAU DE REELS TOUS > 0
  10 : C  XR2( NXR1) : TABLEAU DE REELS
  11 : C     
  12 : C           XR2(I) = Y0 (  XR1(I) )
  13 : C      Y0 FONCTION DE BESSEL DE DEUXIEME ESPECE D'ORDRE 0
  14 : C     
  15 : C       APPROXIMATION POLYNOMIALE PAR SECTEUR
  16 : C       REFERENCE : ABRAMOWITZ HANDBOOK OF MATHEMATICAL FONCTIONS
  17 : C       PRECISION  E = 1.D-8
  18 : C     
  19 :       DIMENSION XR1(NXR1)
  20 :       DIMENSION XR2(NXR1)
  21 :       DIMENSION XB(1)
  22 :       DIMENSION XBB(1)
  23 : C     
  24 :       A0=  .36746691D0
  25 :       A2=  .60559366D0
  26 :       A4= -.74350384D0
  27 :       A6=  .25300117D0
  28 :       A8= -.04261214D0
  29 :       A10= .00427916D0
  30 :       A12=-.00024846D0
  31 : C     
  32 :       B0=  .79788456D0
  33 :       B1= -.00000077D0
  34 :       B2= -.00552740D0
  35 :       B3= -.00009512D0
  36 :       B4=  .00137237D0
  37 :       B5= -.00072805D0
  38 :       B6=  .00014476D0
  39 : C     
  40 :       C0= -.78539816D0
  41 :       C1= -.04166397D0
  42 :       C2= -.00003954D0
  43 :       C3=  .00262573D0
  44 :       C4= -.00054125D0
  45 :       C5= -.00029333D0
  46 :       C6=  .00013558D0
  47 : C     
  48 :       DO 100  I=1,NXR1
  49 :          IF (XR1(I) .LE.3D0) THEN
  50 :             XB(1)= XR1(I)
  50 :             CALL FOBEJ0(XB,1,XBB)
  51 :             A00 = (2.D0 / XPI)* (LOG( XB(1) / 2.D0))* XBB(1)
  52 :             Y2= (XR1(I) / 3D0)**2
  53 :             XR2(I)= A00+A0+Y2*(A2+Y2*(A4+Y2*(A6+Y2*(A8+Y2*(A10+Y2*A12)))
  54 :      $           ))
  55 :          ELSE
  56 :             Y= 3D0/XR1(I)
  57 :             F0= B0+Y*(B1+Y*(B2+Y*(B3+Y*(B4+Y*(B5+Y*B6)))))
  58 :             T0 = XR1(I)+C0+Y*(C1+Y*(C2+Y*(C3+Y*(C4+Y*(C5+Y*C6)))))
  59 :             XR2(I) = (1.D0 / ( XR1(I) ** .5D0))* F0 * SIN (T0)
  60 :          ENDIF
  61 :  100  CONTINUE
  62 : C     
  63 :       RETURN
  64 :       END
  65 : 
  66 : 
  67 : 
  68 : 
  69 :  
  70 :  
  71 :  

© Cast3M 2003 - All rights reserved.
Disclaimer