Télécharger trjulo.eso

Retour à la liste

Numérotation des lignes :

trjulo
  1. C TRJULO SOURCE CHAT 05/01/13 03:51:40 5004
  2. SUBROUTINE TRJULO(XNOEU,UNOEU,UELEM,XY,ITYP,IDIM,NOEL1,NOUN,
  3. * IFORMU,SHP,SHY)
  4. C*******************************************************************
  5. C ISSU DE TRIOEF sp ULOTAR
  6. C calcul de la vitesse dans l'element de reference
  7. C********************************************************************
  8. C ENTREES
  9. C XNOEU COORDONNEES REELLES DES NOEUDS DE L ELEMENT
  10. C UNOEU VITESSES AUX NOEUDS DE L ELEMENT(OU FLUX AUX FACES)
  11. C XY COORDONNEES DE REFERENCES DU POINT DE CALCUL
  12. C ITYP TYPE DE L ELEMENT
  13. C NOEL1 NOMBRE DE NOEUDS DE L ELEMENT POSITION
  14. C NOUN NOMBRE DE VITESSES OU FLUX PAR ELEMENT. Pour les EFMH ce
  15. C ce nombre est different de NOEL1 pour le cube et le prisme
  16. C SORTIES
  17. C UELEM VITESSE DANS L ELEMENT DE REFERENCE EXPRIMEE AVEC LES
  18. C COORDONNEES DE REFERENCE AU POINT DE CALCUL
  19. C
  20. C SHP(1,I) FONCTIONS DE FORMES AU POINT DE CALCUL
  21. C SHP(2,I) DERIVEE DES FONCTIONS DE FORME / XSI AU POINT DE CALCUL
  22. C SHP(3,I) " " " " " / ETA " " " "
  23. C SHP(4,I) " " " " " /DZETA " " " "
  24. C ********************************************************************
  25. C
  26. C
  27. IMPLICIT INTEGER(I-N)
  28. IMPLICIT REAL*8 (A-H,O-Z)
  29. C
  30. C
  31. C
  32. DIMENSION UNOEU(*),XY(*),UELEM(*),UE(3)
  33. DIMENSION XNOEU(3,*),SHP(6,*),SHY(12,*)
  34. C
  35. C
  36. C*** CALCUL DES XI ET DES DXI
  37. C
  38. C write(6,*)' ulotar' ,noel1,((unoeu(i,j),i=1,idim),j=1,noel1)
  39. C write(6,*) xy(1),xy(2),((xnoeu(i,j),i=1,idim),j=1,noel1)
  40. CALL SHAPE(XY(1),XY(2),XY(3),ITYP,SHP,IRET)
  41. C
  42. C*** VITESSE
  43. C
  44. C
  45. C
  46. C*** COEFFICIENTS DE DERIVATION
  47. C
  48. IF(IDIM.EQ.2)THEN
  49. C
  50. C*** BIDIM
  51. C
  52. A=0.D0
  53. B=0.D0
  54. C=0.D0
  55. D=0.D0
  56. DO 63 I=1,NOEL1
  57. A=A+SHP(2,I)*XNOEU(1,I)
  58. B=B+SHP(3,I)*XNOEU(1,I)
  59. C=C+SHP(2,I)*XNOEU(2,I)
  60. D=D+SHP(3,I)*XNOEU(2,I)
  61. 63 CONTINUE
  62. DEL=A*D-B*C
  63. IF(IFORMU.EQ.1)THEN
  64. C FORMULATION ELEMENTS FINIS
  65. CALL TRJVPO(UNOEU,UE,XY,ITYP,IDIM,NOEL1,SHP)
  66. UELEM(1)=(D*UE(1)-B*UE(2))/DEL
  67. UELEM(2)=(A*UE(2)-C*UE(1))/DEL
  68. C write(6,*) 'vitesse',(ue(i),i=1,idim)
  69. C FORMULATION HYBRIDE
  70. ELSEIF(IFORMU.EQ.2)THEN
  71. ITYH=NUMHYB(ITYP)
  72. CALL HYSHP(XY(1),XY(2),XY(3),ITYH,NOUN,12,SHY,IRET)
  73. DO 50 I=1,IDIM
  74. UE(I)=0.D0
  75. DO 40 K=1,NOUN
  76. UE(I)=UE(I)+SHY(I,K)*UNOEU(K)
  77. 40 CONTINUE
  78. C write(6,*)'shy ',i,(shy(i,k),k=1,noel1)
  79. UELEM(I)=UE(I)/ABS(DEL)
  80. 50 CONTINUE
  81. ENDIF
  82. C write(6,*)' uelem ',uelem(1),uelem(2)
  83. C
  84. C
  85. C*** TRIDIM
  86. C
  87. ELSE
  88. A1=0.D0
  89. A2=0.D0
  90. A3=0.D0
  91. B1=0.D0
  92. B2=0.D0
  93. B3=0.D0
  94. C1=0.D0
  95. C2=0.D0
  96. C3=0.D0
  97. DO 75 I=1,NOEL1
  98. A1=A1+SHP(2,I)*XNOEU(1,I)
  99. A2=A2+SHP(3,I)*XNOEU(1,I)
  100. A3=A3+SHP(4,I)*XNOEU(1,I)
  101. B1=B1+SHP(2,I)*XNOEU(2,I)
  102. B2=B2+SHP(3,I)*XNOEU(2,I)
  103. B3=B3+SHP(4,I)*XNOEU(2,I)
  104. C1=C1+SHP(2,I)*XNOEU(3,I)
  105. C2=C2+SHP(3,I)*XNOEU(3,I)
  106. C3=C3+SHP(4,I)*XNOEU(3,I)
  107. 75 CONTINUE
  108. DET=A1*(B2*C3-C2*B3)+A2*(C1*B3-B1*C3)+A3*(B1*C2-B2*C1)
  109. IF(IFORMU.EQ.1)THEN
  110. C FORMULATION ELEMENTS FINIS
  111. CALL TRJVPO(UNOEU,UE,XY,ITYP,IDIM,NOEL1,SHP)
  112. UELEM(1)=((B2*C3-C2*B3)*UE(1)+(A3*C2-A2*C3)*UE(2)
  113. * +(A2*B3-A3*B2)*UE(3))/DET
  114. UELEM(2)=((C1*B3-C3*B1)*UE(1)+(A1*C3-A3*C1)*UE(2)
  115. * +(A3*B1-A1*B3)*UE(3))/DET
  116. UELEM(3)=((B1*C2-B2*C1)*UE(1)+(A2*C1-A1*C2)*UE(2)
  117. * +(A1*B2-A2*B1)*UE(3))/DET
  118. C write(6,*) 'vitesse',(ue(i),i=1,idim)
  119. C FORMULATION HYBRIDE
  120. ELSEIF(IFORMU.EQ.2)THEN
  121. ITYH=NUMHYB(ITYP)
  122. CALL HYSHP(XY(1),XY(2),XY(3),ITYH,NOUN,12,SHY,IRET)
  123. DO 70 I=1,IDIM
  124. UE(I)=0.D0
  125. DO 60 K=1,NOUN
  126. UE(I)=UE(I)+SHY(I,K)*UNOEU(K)
  127. 60 CONTINUE
  128. UELEM(I)=UE(I)/ABS(DET)
  129. 70 CONTINUE
  130. ENDIF
  131. C
  132. ENDIF
  133. RETURN
  134. END
  135.  
  136.  
  137.  
  138.  

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