Télécharger xdudw.eso

Retour à la liste

Numérotation des lignes :

xdudw
  1. C XDUDW SOURCE CB215821 26/08/24 21:18:54 12622
  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 1003 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. 1003 CONTINUE
  53.  
  54. CALL CALJBR
  55. &(FN,GR,PG,XYZ,HR,PGSQ,RPG,NES,IDIM,NP,NPG,IAXI,AIRE,AJ,SGN)
  56.  
  57. DO 1004 K=1,NINC
  58. DO 31 I=1,NP
  59. DO 39 M=1,MP
  60. UIM(M)=0.D0
  61. URIM(M)=0.D0
  62. DO 33 L=1,NPG
  63. UIM(M)=UIM(M)+FM(M,L)*HR(K,I,L)*PGSQ(L)*DEUPI*RPG(L)
  64. 33 CONTINUE
  65. IF(IAXI.NE.0.AND.K.EQ.1)THEN
  66. DO 34 L=1,NPG
  67. URIM(M)=URIM(M)+FM(M,L)*FN(I,L)*PGSQ(L)*DEUPI
  68. 34 CONTINUE
  69. ENDIF
  70. CT(M,I,K)=UIM(M)+URIM(M)
  71. C*?? U=U+(UIM(M)+URIM(M))*(UJM(M)+URJM(M))
  72. 39 CONTINUE
  73. 31 CONTINUE
  74. 1004 CONTINUE
  75.  
  76. DO 1005 M=1,MP
  77. PQ(M)=0.D0
  78. DO 41 L=1,NPG
  79. PQ(M)=PQ(M)+FM(M,L)*PGSQ(L)*DEUPI*RPG(L)
  80. 41 CONTINUE
  81. 1005 CONTINUE
  82.  
  83. DO 1008 I=1,NP
  84. DO 1007 J=1,NP
  85. DO 1006 K=1,NINC
  86. DO 316 N=1,NINC
  87. U=0.D0
  88. DO 315 M=1,MP
  89. C? U=U+CT(M,I,K)*CT(M,J,N)/PQ(M)
  90. U=U+CT(M,I,K)*CT(M,J,N)
  91. 315 CONTINUE
  92. AF(J,I,N,K)=U/COES(JC)
  93. 316 CONTINUE
  94. 1006 CONTINUE
  95. 1007 CONTINUE
  96. 1008 CONTINUE
  97.  
  98. C
  99. C CAS DES SOURCES OU PUITS DE MASSE
  100. C
  101. IF(INDGS.NE.0)THEN
  102. DO 73 M=1,MP
  103. J1=IPAP(LEP(M,KE))
  104. JS=(1-IKS)*(J1-1)+1
  105. PQ(M)=0.D0
  106. DO 71 L=1,NPG
  107. PQ(M)=PQ(M)+FM(M,L)*S(JS)*PGSQ(L)*DEUPI*RPG(L)
  108. 71 CONTINUE
  109. C? SPQ(J1)=PQ(M)/COES(JC)
  110. SPQ(J1)=PQ(M)
  111. 73 CONTINUE
  112.  
  113. DO 1009 K=1,NINC
  114. DO 70 I=1,NP
  115. I1=IPAD(LE(I,KE))
  116. U=0.D0
  117. DO 72 M=1,MP
  118. U=U+CT(M,I,K)*PQ(M)
  119. 72 CONTINUE
  120. S2(I1,K)=S2(I1,K)+U/COES(JC)
  121. 70 CONTINUE
  122. 1009 CONTINUE
  123. ENDIF
  124.  
  125. 107 CONTINUE
  126. C write(6,*)' KE=',ke,' np=',np,IDIM
  127. IF(IDIM.EQ.2)THEN
  128. DO 1010 I=1,NP
  129. DO 701 J=1,NP
  130. AF1(KE,J,I)=AF(J,I,1,1)
  131. AF2(KE,J,I)=AF(J,I,2,1)
  132. AF3(KE,J,I)=AF(J,I,1,2)
  133. AF4(KE,J,I)=AF(J,I,2,2)
  134. 701 CONTINUE
  135. 1010 CONTINUE
  136. C write(6,*)' AF1 '
  137. C write(6,1002)AF1
  138. C write(6,*)' AF2 '
  139. C write(6,1002)AF2
  140. C write(6,*)' AF3 '
  141. C write(6,1002)AF3
  142. C write(6,*)' AF4 '
  143. C write(6,1002)AF4
  144. ELSEIF(IDIM.EQ.3)THEN
  145. DO 1011 I=1,NP
  146. DO 702 J=1,NP
  147. AF1(KE,J,I)=AF(J,I,1,1)
  148. AF2(KE,J,I)=AF(J,I,2,1)
  149. AF3(KE,J,I)=AF(J,I,3,1)
  150. AF4(KE,J,I)=AF(J,I,1,2)
  151. AF5(KE,J,I)=AF(J,I,2,2)
  152. AF6(KE,J,I)=AF(J,I,3,2)
  153. AF7(KE,J,I)=AF(J,I,1,3)
  154. AF8(KE,J,I)=AF(J,I,2,3)
  155. AF9(KE,J,I)=AF(J,I,3,3)
  156. 702 CONTINUE
  157. 1011 CONTINUE
  158. ENDIF
  159. 108 CONTINUE
  160.  
  161. C write(6,*)' XDUDW FIN '
  162. RETURN
  163. 1002 FORMAT(8(1X,1PE11.4))
  164. 1001 FORMAT(20(1X,I5))
  165. END
  166.  
  167.  
  168.  
  169.  

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