Télécharger zconv.eso

Retour à la liste

Numérotation des lignes :

zconv
  1. C ZCONV SOURCE CHAT 05/01/13 04:21:31 5004
  2. C Attention ! IDIM, IKT, IKU ne servent jamais
  3. C
  4. SUBROUTINE ZCONV(FN,GR,PG,XYZ,HR,PGSQ,RPG,
  5. & NES,IDIM,NP,NPG,IAXI,AIMPL,IKOMP,
  6. & COEF,IKR,UN,IKU,NPTU,IPADU,AMU,IKM,
  7. & LE,NBEL,K0,XCOOR,
  8. & AF1,AF2,AF3,AS1,AS2,AS3,NINC,IDCEN,DTM1,
  9. & TN,IKT,NPT,IPADT,COTE,NELZ)
  10. IMPLICIT INTEGER(I-N)
  11. IMPLICIT REAL*8 (A-H,O-Z)
  12. C************************************************************************
  13. C
  14. C CALCUL DE LA MATRICE ELEMENTAIRE DE CONVECTION
  15. C
  16. C
  17. C************************************************************************
  18. DIMENSION FN(NP,NPG),GR(IDIM,NP,NPG),PG(NPG),XYZ(IDIM,NP)
  19. DIMENSION HR(IDIM,NP,NPG),PGSQ(NPG),RPG(NPG)
  20. DIMENSION LE(NP,NBEL),IPADU(*),IPADT(*)
  21. DIMENSION COTE(NELZ,*)
  22. DIMENSION AF1(NBEL,NP,NP),AS1(NBEL,NP,NP)
  23. DIMENSION AF2(NBEL,NP,NP),AS2(NBEL,NP,NP)
  24. DIMENSION AF3(NBEL,NP,NP),AS3(NBEL,NP,NP)
  25. DIMENSION XCOOR(*)
  26. DIMENSION COEF(1),UN(NPTU,IDIM),AMU(1),TN(NPT,NINC)
  27.  
  28. PARAMETER (LRV=64,NPX=9,NPGX=9)
  29. DIMENSION WT(LRV,NPX,NPGX),WS(LRV,NPX,NPGX),HK(LRV,3,NPX,NPGX)
  30. DIMENSION PGSK(LRV,NPGX),RPGK(LRV,NPGX),AIRE(LRV)
  31. DIMENSION UMJ(LRV,3,NPGX),DUMJ(LRV,3,NPGX)
  32. DIMENSION COEFK(LRV),ANUK(LRV)
  33. DIMENSION AL(LRV),AH(LRV),AP(LRV)
  34. C***
  35. C WRITE(IOIMP,*)' DEBUT XCONV ',npt,nelz,idim,iaxi
  36. C
  37. C
  38. C Calcul du nombre de paquets de LRV éléments
  39. C
  40. NNN=MOD(NBEL,LRV)
  41. IF(NNN.EQ.0) THEN
  42. NPACK=NBEL/LRV
  43. ELSE
  44. NPACK=1+(NBEL-NNN)/LRV
  45. ENDIF
  46. KPACKD=1
  47. KPACKF=NPACK
  48. C
  49. C ******* BOUCLE SUR LES PAQUETS DE LRV ELEMENTS **********
  50. C
  51. DO 7001 KPACK=KPACKD,KPACKF
  52. C
  53. C ======= A L'INTERIEUR DE CHAQUE PAQUET DE LRV ELEMENTS =======
  54. C
  55. C 1. Calcul des limites du paquet courant.
  56. KDEB=1+(KPACK-1)*LRV
  57. KFIN=MIN(NBEL,KDEB+LRV-1)
  58. C
  59. DO 7002 K=KDEB,KFIN
  60. KP=K-KDEB+1
  61. NK=K+K0
  62. NKR=(1-IKR)*(NK-1)+1
  63. NKM=(1-IKM)*(NK-1)+1
  64. COEFK(KP)=COEF(NKR)
  65. ANUK(KP)=AMU(NKM)/COEF(NKR)
  66. AL(KP)=COTE(NK,1)
  67. AH(KP)=COTE(NK,2)
  68. 7002 CONTINUE
  69.  
  70. IF(IDIM.EQ.3)THEN
  71. DO 8002 K=KDEB,KFIN
  72. KP=K-KDEB+1
  73. NK=K+K0
  74. AP(KP)=COTE(NK,3)
  75. 8002 CONTINUE
  76. ENDIF
  77.  
  78. DO 7005 NC=1,NINC
  79.  
  80. CALL KSUPG(FN,GR,PG,XYZ,HR,PGSQ,RPG,
  81. & NES,NP,NPG,IAXI,XCOOR,
  82. & WT,WS,HK,PGSK,RPGK,AIRE,
  83. & UMJ,DUMJ,KDEB,KFIN,LRV,NPX,NPGX,
  84. & TN(1,NC),IPADT,UN,IPADU,NPTU,NELZ,ANUK,
  85. & IDCEN,LE,
  86. & AL,AH,AP,
  87. & DTM1,DT,DTT1,DTT2,DIAEL,NUEL)
  88.  
  89. DO 7003 K=KDEB,KFIN
  90. KP=K-KDEB+1
  91.  
  92. DO 4 I=1,NP
  93. DO 41 J=1,NP
  94. S1=0.D0
  95. S2=0.D0
  96. DO 5 L=1,NPG
  97. DO 51 N=1,IDIM
  98. S1=S1+WT(KP,I,L)*UMJ(KP,N,L)*HK(KP,N,J,L)
  99. $ *PGSK(KP,L)
  100. S2=S2+WS(KP,I,L)*UMJ(KP,N,L)*HK(KP,N,J,L)
  101. $ *PGSK(KP,L)
  102. 51 CONTINUE
  103. 5 CONTINUE
  104. IF(NC.EQ.1)THEN
  105. AF1(K,J,I)=S1*COEFK(KP)*AIMPL
  106. AS1(K,J,I)=S2*COEFK(KP)*(AIMPL-1.D0)
  107. ELSEIF(NC.EQ.2)THEN
  108. AF2(K,J,I)=S1*COEFK(KP)*AIMPL
  109. AS2(K,J,I)=S2*COEFK(KP)*(AIMPL-1.D0)
  110. ELSEIF(NC.EQ.3)THEN
  111. AF3(K,J,I)=S1*COEFK(KP)*AIMPL
  112. AS3(K,J,I)=S2*COEFK(KP)*(AIMPL-1.D0)
  113. ENDIF
  114.  
  115. 41 CONTINUE
  116. 4 CONTINUE
  117. 7003 CONTINUE
  118.  
  119. IF(IKOMP.EQ.1)THEN
  120.  
  121. DO 7004 K=KDEB,KFIN
  122. KP=K-KDEB+1
  123.  
  124. DO 6 I=1,NP
  125. DO 61 J=1,NP
  126. S1=0.D0
  127. S2=0.D0
  128. DO 7 L=1,NPG
  129. DO 71 N=1,IDIM
  130. S1=S1+WT(KP,I,L)*FN(J,L)*DUMJ(KP,N,L)
  131. $ *PGSK(KP,L)
  132. S2=S2+WS(KP,I,L)*FN(J,L)*DUMJ(KP,N,L)
  133. $ *PGSK(KP,L)
  134. 71 CONTINUE
  135. 7 CONTINUE
  136. IF(NC.EQ.1)THEN
  137. AF1(K,J,I)=AF1(K,J,I)+S1*COEFK(KP)*AIMPL
  138. AS1(K,J,I)=AS1(K,J,I)+S2*COEFK(KP)*(AIMPL-1
  139. $ .D0)
  140. ELSEIF(NC.EQ.2)THEN
  141. AF2(K,J,I)=AF2(K,J,I)+S1*COEFK(KP)*AIMPL
  142. AS2(K,J,I)=AS2(K,J,I)+S2*COEFK(KP)*(AIMPL-1
  143. $ .D0)
  144. ELSEIF(NC.EQ.3)THEN
  145. AF3(K,J,I)=AF3(K,J,I)+S1*COEFK(KP)*AIMPL
  146. AS3(K,J,I)=AS3(K,J,I)+S2*COEFK(KP)*(AIMPL-1
  147. $ .D0)
  148. ENDIF
  149. 61 CONTINUE
  150. 6 CONTINUE
  151. 7004 CONTINUE
  152.  
  153. ENDIF
  154. 7005 CONTINUE
  155. C
  156. C WRITE(IOIMP,*)' FIN XCONV '
  157. 7001 CONTINUE
  158. RETURN
  159. 1002 FORMAT(10(1X,1PE11.4))
  160. END
  161.  
  162.  
  163.  
  164.  
  165.  

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