Télécharger kcacub.eso

Retour à la liste

Numérotation des lignes :

kcacub
  1. C KCACUB SOURCE CB215821 16/04/21 21:17:30 8920
  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 = SQRT(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.  
  110.  
  111.  
  112.  

© Cast3M 2003 - Tous droits réservés.
Mentions légales