Download kapc21.eso

Back to the list

   1 : C KAPC21    SOURCE    PV        11/03/07    21:17:10     6885           
   2 :       SUBROUTINE  KAPC21(NES,X,A,NR,XR,IFACE,KFACE,KAC)
   3 :       IMPLICIT INTEGER(I-N)
   4 :       IMPLICIT REAL*8 (A-H,O-Z)                                                 
   5 : C
   6 : C     CAS DE 2 FACES PARALLELES: DIRECTION KAC                                  
   7 : C     ----------------------------------------                                  
   8 : C     A   : CENTRE DE L'H.C
   9 : C     IFACE : NUMERO DE FACE
  10 : C     KFACE : COORDONNEES ENTIERES SUR LA FACE
  11 : C
  12 :       DIMENSION X(NES),A(NES),XA(2),XR(NES)
  13 : C
  14 :       NR2 = NR/2
  15 :       EPS=1D-5
  16 :       XAB = -EPS
  17 :       A1 = -1D-10
  18 :                                                                                 
  19 :         DO 1  IES = 1,NES
  20 :          XA(IES) = X(IES)-A(IES)
  21 :          A2=DABS(XA(IES))
  22 :          IF(A2.GT.A1) THEN
  23 :            A1 = A2
  24 :            I = IES
  25 :          ENDIF
  26 :  1      CONTINUE
  27 : C
  28 :       IF (I.EQ.KAC) THEN
  29 :         DO 2 IES = 1,NES                                                        
  30 :            A2 = DABS(XA(IES))                                                   
  31 :            ERR = DABS(1.-A2/A1)                                                 
  32 :            IF (IES.EQ.I.AND.ERR.LT.0.01) THEN                                   
  33 :            I = IES                                                              
  34 :            GOTO 3                                                               
  35 :            ENDIF                                                                
  36 :  2      CONTINUE                                                                
  37 :       ENDIF                                                                     
  38 :                                                                                 
  39 :  3      CONTINUE                                                                
  40 :                                                                                 
  41 : C     WRITE(6,*) 'A1 XA(I) ',A1,XA(I)
  42 :       KS = KSIG(XA(I),EPS)
  43 : C     WRITE(6,*) ' KS ',KS
  44 : C
  45 :       IF (I.EQ.1) THEN
  46 :            XR(2) = XA(2)/A1
  47 :            I1 = 1 + INT(NR2*(1+XR(2)))
  48 :            KFACE = MIN0(NR,I1)
  49 :            IF(KS.EQ.1) THEN
  50 :            IFACE= 1
  51 :            XR(1) = 1.
  52 :            ELSE
  53 :            IFACE = 2
  54 :            XR(1) = -1.
  55 :            ENDIF
  56 :            RETURN
  57 :       ENDIF
  58 :       IF (I.EQ.2) THEN
  59 :            XR(1) = XA(1)/A1
  60 :            I1 = 1 + INT(NR2*(1+XR(1)))
  61 :            KFACE    = MIN0(NR,I1)
  62 :            IF(KS.EQ.1) THEN
  63 :            IFACE    = 3
  64 :            XR(2) =  1.
  65 :            ELSE
  66 :            IFACE    = 4
  67 :            XR(2) = -1.
  68 :            ENDIF
  69 :            RETURN
  70 :       ENDIF
  71 :       END
  72 :  
  73 :  

© Cast3M 2003 - All rights reserved.
Disclaimer