Télécharger xdudw.eso

Retour à la liste

Numérotation des lignes :

xdudw
  1. C XDUDW SOURCE FANDEUR 13/01/29 21:16:34 7683
  2. SUBROUTINE XDUDW(FN,FM,GR,PG,XYZ,HR,PGSQ,RPG,AJ,
  3. & NES,IDIM,NP,MP,NPG,IAXI,NINC,
  4. & COES,IK1,S,INDGS,IKS,
  5. & LE,NBEL,K0,XCOOR,AF,AS,CT,PQ,
  6. & AF1,AF2,AF3,AF4,AF5,AF6,AF7,AF8,AF9,
  7. & S2,NPT,IPAD,LEP,IPAP,SPQ)
  8.  
  9. IMPLICIT INTEGER(I-N)
  10. IMPLICIT REAL*8 (A-H,O-Z)
  11.  
  12. C************************************************************************
  13. C
  14. C OPERATEUR DUDW
  15. C
  16. C CALCULE L'OPERATEUR DE PENALISATION DIV(U)=EPS*P
  17. C
  18. C OPTIONS : SOURCE DIV(U)-Q=EPS*P
  19. C
  20. C
  21. C************************************************************************
  22.  
  23. DIMENSION XYZ(IDIM,NP),FN(NP,NPG),GR(IDIM,NP,NPG),PG(NPG)
  24. DIMENSION FM(MP,NPG),HR(NES,NP,NPG)
  25. DIMENSION PGSQ(NPG),RPG(NPG),AJ(IDIM,IDIM,NPG)
  26. DIMENSION XCOOR(*)
  27. DIMENSION COES(1),LE(NP,NBEL),LEP(MP,*)
  28. DIMENSION AF(NP,NP,NINC,NINC),CT(MP,NP,NINC),AS(NP,NINC),PQ(MP)
  29. DIMENSION AF1(NBEL,NP,NP),AF2(NBEL,NP,NP),AF3(NBEL,NP,NP)
  30. DIMENSION AF4(NBEL,NP,NP),AF5(NBEL,NP,NP),AF6(NBEL,NP,NP)
  31. DIMENSION AF7(NBEL,NP,NP),AF8(NBEL,NP,NP),AF9(NBEL,NP,NP)
  32. DIMENSION S(*),S2(NPT,NINC),IPAD(*),IPAP(*) ,SPQ(*)
  33. REAL*8 U,UIM(10),URIM(10)
  34. C* REAL*8 UJM(10),URJM(10)
  35. C pour pression P0,P1 et P2
  36. -INC CCREEL
  37.  
  38. C***********************************************************************
  39.  
  40. DEUPI=1.D0
  41. IF(IAXI.NE.0)DEUPI=2.D0*XPI
  42.  
  43. NK=K0
  44. DO 108 KE=1,NBEL
  45. NK=NK+1
  46. JC=(1-IK1)*(NK-1)+1
  47. DO 109 I=1,NP
  48. J=LE(I,KE)
  49. DO 109 N=1,IDIM
  50. XYZ(N,I)=XCOOR((J-1)*(IDIM+1)+N)
  51. 109 CONTINUE
  52.  
  53. CALL CALJBR
  54. &(FN,GR,PG,XYZ,HR,PGSQ,RPG,NES,IDIM,NP,NPG,IAXI,AIRE,AJ,SGN)
  55.  
  56. DO 31 K=1,NINC
  57. DO 31 I=1,NP
  58. DO 39 M=1,MP
  59. UIM(M)=0.D0
  60. URIM(M)=0.D0
  61. DO 33 L=1,NPG
  62. UIM(M)=UIM(M)+FM(M,L)*HR(K,I,L)*PGSQ(L)*DEUPI*RPG(L)
  63. 33 CONTINUE
  64. IF(IAXI.NE.0.AND.K.EQ.1)THEN
  65. DO 34 L=1,NPG
  66. 34 URIM(M)=URIM(M)+FM(M,L)*FN(I,L)*PGSQ(L)*DEUPI
  67. ENDIF
  68. CT(M,I,K)=UIM(M)+URIM(M)
  69. C*?? U=U+(UIM(M)+URIM(M))*(UJM(M)+URJM(M))
  70. 39 CONTINUE
  71. 31 CONTINUE
  72.  
  73. DO 41 M=1,MP
  74. PQ(M)=0.D0
  75. DO 41 L=1,NPG
  76. PQ(M)=PQ(M)+FM(M,L)*PGSQ(L)*DEUPI*RPG(L)
  77. 41 CONTINUE
  78.  
  79. DO 316 I=1,NP
  80. DO 316 J=1,NP
  81. DO 316 K=1,NINC
  82. DO 316 N=1,NINC
  83. U=0.D0
  84. DO 315 M=1,MP
  85. C? U=U+CT(M,I,K)*CT(M,J,N)/PQ(M)
  86. U=U+CT(M,I,K)*CT(M,J,N)
  87. 315 CONTINUE
  88. AF(J,I,N,K)=U/COES(JC)
  89. 316 CONTINUE
  90.  
  91. C
  92. C CAS DES SOURCES OU PUITS DE MASSE
  93. C
  94. IF(INDGS.NE.0)THEN
  95. DO 73 M=1,MP
  96. J1=IPAP(LEP(M,KE))
  97. JS=(1-IKS)*(J1-1)+1
  98. PQ(M)=0.D0
  99. DO 71 L=1,NPG
  100. PQ(M)=PQ(M)+FM(M,L)*S(JS)*PGSQ(L)*DEUPI*RPG(L)
  101. 71 CONTINUE
  102. C? SPQ(J1)=PQ(M)/COES(JC)
  103. SPQ(J1)=PQ(M)
  104. 73 CONTINUE
  105.  
  106. DO 70 K=1,NINC
  107. DO 70 I=1,NP
  108. I1=IPAD(LE(I,KE))
  109. U=0.D0
  110. DO 72 M=1,MP
  111. U=U+CT(M,I,K)*PQ(M)
  112. 72 CONTINUE
  113. S2(I1,K)=S2(I1,K)+U/COES(JC)
  114. 70 CONTINUE
  115. ENDIF
  116.  
  117. 107 CONTINUE
  118. C write(6,*)' KE=',ke,' np=',np,IDIM
  119. IF(IDIM.EQ.2)THEN
  120. DO 701 I=1,NP
  121. DO 701 J=1,NP
  122. AF1(KE,J,I)=AF(J,I,1,1)
  123. AF2(KE,J,I)=AF(J,I,2,1)
  124. AF3(KE,J,I)=AF(J,I,1,2)
  125. AF4(KE,J,I)=AF(J,I,2,2)
  126. 701 CONTINUE
  127. C write(6,*)' AF1 '
  128. C write(6,1002)AF1
  129. C write(6,*)' AF2 '
  130. C write(6,1002)AF2
  131. C write(6,*)' AF3 '
  132. C write(6,1002)AF3
  133. C write(6,*)' AF4 '
  134. C write(6,1002)AF4
  135. ELSEIF(IDIM.EQ.3)THEN
  136. DO 702 I=1,NP
  137. DO 702 J=1,NP
  138. AF1(KE,J,I)=AF(J,I,1,1)
  139. AF2(KE,J,I)=AF(J,I,2,1)
  140. AF3(KE,J,I)=AF(J,I,3,1)
  141. AF4(KE,J,I)=AF(J,I,1,2)
  142. AF5(KE,J,I)=AF(J,I,2,2)
  143. AF6(KE,J,I)=AF(J,I,3,2)
  144. AF7(KE,J,I)=AF(J,I,1,3)
  145. AF8(KE,J,I)=AF(J,I,2,3)
  146. AF9(KE,J,I)=AF(J,I,3,3)
  147. 702 CONTINUE
  148. ENDIF
  149. 108 CONTINUE
  150.  
  151. C write(6,*)' XDUDW FIN '
  152. RETURN
  153. 1002 FORMAT(8(1X,1PE11.4))
  154. 1001 FORMAT(20(1X,I5))
  155. END
  156.  
  157.  
  158.  

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