Download kcacub.eso

Back to the list

   1 : C KCACUB    SOURCE    CHAT      05/01/13    00:52:14     5004           
   2 :       SUBROUTINE  KCACUB(NES,NR,G,VP,NFACE,KROT,KSIG,IR)
   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 :       DIMENSION VP(NES,NR,NR),G(NR,NR),IR(1)
   8 :       DIMENSION KROT(NFACE,NES),KSIG(NFACE,NES)
   9 : C     
  10 : C Calcul des facteurs de forme en 3D
  11 : C Sp appele par KALPRE
  12 : C     CALCUL DES FF ET DES DIRECTIONS POUR TOUTE LA SURFACE DE REFERENCE
  13 : C        ( PLAN Z = +1)
  14 : C     
  15 : C        NF = 1    X = +1        NF = 2     X = -1
  16 : C        NF = 3    Y = +1        NF = 4     Y = -1
  17 : C        NF = 5    Z = +1        NF = 6     Z = -1
  18 : C     
  19 : C     UTILISATION :
  20 : C     
  21 : C            D(NF,K,I,J) = KSIG(NF,K) * V(KROT(NF,K),I,J)
  22 : C     
  23 : C           NF : NUMERO DE FACE
  24 : C           K  : DIRECTION DE ESPACE
  25 : C           I,J: INDICES DE DISCRETISATION LOCAL A CHAQUE FACE
  26 : C     
  27 : C    REM: VP ORIENTE CU CENTRE VERS LA CELLULE
  28 : C    ***
  29 : C     
  30 : C     
  31 :       NR2 = NR/2
  32 : 
  33 :       DO 30 I = 1,NR2
  34 :          IR(I)      = NR2-I+1
  35 :          IR(I+ NR2) = I
  36 :  30   CONTINUE
  37 : 
  38 :       DO 1  I = 1, NR
  39 :          DO 2  J = 1, NR
  40 :             VP(1,I,J) = (IR(I)-0.5D0)/NR
  41 :             VP(2,I,J) = (IR(J)-0.5D0)/NR
  42 :             RP = VP(1,I,J)*VP(1,I,J)+VP(2,I,J)*VP(2,I,J) + 0.5D0*0.5D0
  43 :             RP = DSQRT(RP)
  44 :             IS = 1
  45 :             JS = 1
  46 :             IF (I.LE.NR2)   IS = -1
  47 :             IF (J.LE.NR2)   JS = -1
  48 :             VP(1,I,J) = IS * VP(1,I,J)/RP
  49 :             VP(2,I,J) = JS * VP(2,I,J)/RP
  50 :             VP(3,I,J) =  0.5D0/RP
  51 :             G(I,J) = 0.5D0/(RP*RP*RP)/NR/NR/XPI
  52 :  2       CONTINUE
  53 :  1    CONTINUE
  54 : 
  55 : C     
  56 : C     TABLEAU DE CORRESPONDANCE
  57 : C     
  58 : C     FACE X
  59 : C     
  60 :       NF = 1
  61 :       KROT(NF,1) = 3
  62 :       KROT(NF,2) = 1
  63 :       KROT(NF,3) = 2
  64 :       NF = 2
  65 :       KROT(NF,1) = 3
  66 :       KROT(NF,2) = 1
  67 :       KROT(NF,3) = 2
  68 : C     
  69 : C     FACE Y
  70 : C     
  71 :       NF = 3
  72 :       KROT(NF,1) = 1
  73 :       KROT(NF,2) = 3
  74 :       KROT(NF,3) = 2
  75 :       NF = 4
  76 :       KROT(NF,1) = 1
  77 :       KROT(NF,2) = 3
  78 :       KROT(NF,3) = 2
  79 : C     
  80 : C     FACE Z
  81 : C     
  82 :       NF = 5
  83 :       KROT(NF,1) = 1
  84 :       KROT(NF,2) = 2
  85 :       KROT(NF,3) = 3
  86 :       NF = 6
  87 :       KROT(NF,1) = 1
  88 :       KROT(NF,2) = 2
  89 :       KROT(NF,3) = 3
  90 : C     
  91 : C     FACE POSITIVES
  92 : C     
  93 :       DO 4 NF = 1,NFACE
  94 :          DO 5 K = 1,NES
  95 :             KSIG(NF,K) = 1
  96 :  5       CONTINUE
  97 :  4    CONTINUE
  98 : C     
  99 :       KSIG(2,1) = -1
 100 :       KSIG(4,2) = -1
 101 :       KSIG(6,3) = -1
 102 : C     
 103 :       RETURN
 104 :       END
 105 : 
 106 : 
 107 :  
 108 :  
 109 :  

© Cast3M 2003 - All rights reserved.
Disclaimer