Télécharger trjfl1.eso

Retour à la liste

Numérotation des lignes :

trjfl1
  1. C TRJFL1 SOURCE CB215821 23/01/25 21:15:36 11573
  2. SUBROUTINE TRJFL1(MCHPO1,IZPBID,MCHELM,IELTFA,MELEME,IZVPT,NBREL)
  3. IMPLICIT INTEGER(I-N)
  4. IMPLICIT REAL*8 (A-H,O-Z)
  5. CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC
  6. C
  7. C MET LES FLUX SOUS UNE FORME AGREABLE POUR LE
  8. C CALCUL DES TRAJECTOIRES( FORMULATION HYBRIDE)
  9. C appelé par TRJFLU pour chaque pas de temps transitoire
  10. C ENTREES
  11. C MCHPO1 POINTEUR DU CHAMPOIN DES FLUX PAR FACES
  12. C IZPBID POINTEUR DES CORRESPONDANCES ELEMENTS FLUX
  13. C MCHELM POINTEUR DU CHAMELEM CONTENANT L ORIENTATION DU FLUX
  14. C IELTFA POINTEUR DU MAILLAGE FACES PAR ELEMENTS(ISSU DE KDOM)
  15. C MELEME POINTEUR DU MAILLAGE
  16. C SORTIE
  17. C IZVPT POINTEUR DU SEGMENT CONTENANT LES POINTEURS
  18. C DES IZUN POUR UN PAS DE TEMPS DONNE
  19. C
  20. C on suppose que NSOUPO=1 ( controlé en amont)
  21. C
  22. CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC
  23.  
  24. -INC PPARAM
  25. -INC CCOPTIO
  26. -INC SMELEME
  27. -INC SMCHPOI
  28. -INC SMCHAML
  29. -INC SMCOORD
  30. -INC SMINTE
  31. C
  32. SEGMENT IPMAHY
  33. INTEGER MAHYBR(NSOUS)
  34. ENDSEGMENT
  35. SEGMENT HYBSTO
  36. REAL*8 HYBASE(NDIM,NBDDL,NBPP)
  37. ENDSEGMENT
  38. SEGMENT TRAV
  39. REAL*8 XE(3,NBNN)
  40. REAL*8 SHP(6,NBNN) , SHY(IDIM,NBDDL)
  41. REAL*8 ZJAC(IDIM,IDIM) , VECT(IDIM),VN(IDIM)
  42. ENDSEGMENT
  43. *
  44. POINTEUR IELTFA.MELEME
  45. SEGMENT IZVPT
  46. INTEGER IPUN1(NBS),IPUMAX
  47. ENDSEGMENT
  48. SEGMENT IZUN
  49. REAL*8 UN(I1,I2,I3)
  50. ENDSEGMENT
  51. POINTEUR IZUN1.IZUN ,IZUN2.IZUN
  52. SEGMENT IZBID
  53. INTEGER ITBID(I2,I3)
  54. ENDSEGMENT
  55. SEGMENT IZPBID
  56. INTEGER IPBID(NBS)
  57. ENDSEGMENT
  58. C UMAX norme de la vitesse au centre de chaque element
  59. C utilsee dans TRJCOU
  60. SEGMENT IZUMAX
  61. REAL*8 UMAX(NBREL)
  62. ENDSEGMENT
  63. C
  64. C SEGACT MCHPO1
  65. SEGACT MELEME
  66. NBSOUS=LISOUS(/1)
  67. IPT3=MELEME
  68. SEGACT IELTFA
  69. NBS=IPBID(/1)
  70. C
  71. SEGINI IZUMAX
  72. C write(6,*)'SEGINI IZUMAX ',IZUMAX
  73. C ON PREPARE LE CHPOIN
  74. MSOUPO=MCHPO1.IPCHP(1)
  75. SEGACT MSOUPO
  76. MPOVAL=IPOVAL
  77. SEGACT MPOVAL
  78. IPT2=IGEOC
  79. SEGACT IPT2
  80. NPGEO=IPT2.NUM(/2)
  81. I1=VPOCHA(/2)
  82. IPT1=IELTFA
  83. ID2=0
  84. C
  85. SEGACT,MCOORD
  86. DO 50 ISOUS=1,NBS
  87. IF(NBSOUS.GT.0)IPT1=IELTFA.LISOUS(ISOUS)
  88. IZBID= IPBID(ISOUS)
  89. SEGACT IZBID
  90. MCHAML=ICHAML(ISOUS)
  91. SEGACT MCHAML
  92. MELVAL=IELVAL(1)
  93. SEGACT MELVAL
  94. SEGACT IPT1
  95. I2=IPT1.NUM(/1)
  96. I3=IPT1.NUM(/2)
  97. ID1=ID2
  98. ID2=ID2+I3
  99. C WRITE(6,*) ' I1 I2 I3 ', I1,I2,I3
  100. SEGINI IZUN
  101. C write(6,*)'SEGINI IZUN',izun
  102. IPUN1(ISOUS)=IZUN
  103. DO 40 IEL=1,I3
  104. DO 30 ID=1,I2
  105. IP=ITBID(ID,IEL)
  106. UN(1,ID,IEL)=VPOCHA(IP,1)*VELCHE(ID,IEL)
  107. 30 CONTINUE
  108. 40 CONTINUE
  109. C CALCUL DU MODULE DE LA VITESSE AU CENTRE
  110. C WRITE(6,*)' CALCUL DU MODULE DE LA VITESSE AU CENTRE'
  111. IF(NBSOUS.GT.0)IPT3=LISOUS(ISOUS)
  112. SEGACT IPT3
  113. NBNN=IPT3.NUM(/1)
  114. NBDDL=I2
  115. SEGINI TRAV
  116. ITYP=IPT3.ITYPEL
  117. NTYP=NUMHYB(ITYP)
  118. C WRITE(6,*)' RESHPT',NBNN,NTYP,ITYP,IPT3.ITYPEL
  119. CALL RESHPT(1,NBNN,ITYP,ITYP,0,IPINTE,IRT1)
  120. C WRITE(6,*)' HYSHPT',IPT3.ITYPEL,I2,IPINTE
  121. CALL HYSHPT(NTYP,I2,IPINTE,IPTHYB)
  122. C WRITE(6,*)' HYSHPT',IPT3.ITYPEL,I2,IPINTE,IPTHYB
  123. MINTE=IPINTE
  124. SEGACT MINTE
  125. HYBSTO=IPTHYB
  126. SEGACT HYBSTO
  127. NDIM=IDIM*(IDIM+1)
  128. DO 60 IEL=1,I3
  129. CALL INITD(VN,IDIM,0.D0)
  130. CALL DOXE(XCOOR,IDIM,NBNN,IPT3.NUM,IEL,XE)
  131. CALL MHYBR3(1,NBNN,I2,NDIM,IDIM,IDIM,XE,HYBASE,SHPTOT,
  132. * SHY,SHP,ZJAC,DJAC)
  133. DO 65 IDDL=1,I2
  134. CALL INITD(VECT,IDIM,0.D0)
  135. DO 75 J=1,IDIM
  136. DO 80 I=1,IDIM
  137. VECT(I)=VECT(I)+ZJAC(I,J)*SHY(J,IDDL)
  138. 80 CONTINUE
  139. 75 CONTINUE
  140. C write(6,*)' vect',(vect(i),i=1,idim)
  141. COEF=UN(1,IDDL,IEL)/DJAC
  142. C write(6,*)' coef ',coef,DJAC
  143. DO 85 I=1,IDIM
  144. VN(I)=VN(I)+COEF*VECT(I)
  145. 85 CONTINUE
  146. 65 CONTINUE
  147. C write(6,*)' vn',(vn(i),i=1,idim)
  148. UE=0.D0
  149. DO 90 I=1,IDIM
  150. UE=UE+VN(I)*VN(I)
  151. 90 CONTINUE
  152. UMAX(IEL+ID1)=SQRT(UE)
  153. 60 CONTINUE
  154. C write(6,*)' TRJFLU ',i2,i3,idun(isous)
  155. C WRITE(6,100)(((UN(I,J,K),I=1,I1),J=1,I2),K=1,I3)
  156. 100 FORMAT(1X,10E12.5)
  157. C write(6,*)' TRJFLU UMAX'
  158. C WRITE(6,100)(UMAX(K+ID1),K=1,I3)
  159. SEGSUP TRAV ,MINTE,HYBSTO
  160. 50 CONTINUE
  161. IPUMAX=IZUMAX
  162. C write(6,*)' idun ',(idun(i),i=1,nbs)
  163. C
  164. RETURN
  165. END
  166.  
  167.  

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