Télécharger vitapp.eso

Retour à la liste

Numérotation des lignes :

  1. C VITAPP SOURCE CHAT 05/01/13 04:07:33 5004
  2. SUBROUTINE VITAPP(NDIM,ITY1,ITYG,NOEL1
  3. $ ,NOUN,DIAM,UELEM,XDEP,UREF,UREEL,IZSH,ITEST)
  4.  
  5. ****************************************************************************
  6. *** SP 'VITAPP' : calcule les vitesses aux pts calcul reel et reference
  7. *** par approximation en utilisant les fctions base ds element de reference.
  8. ***
  9. *** APPELES 1 = 'HYSHP', 'MATMAT'
  10. *** APPELES 2 = 'JCBIEN'
  11. ***
  12. *** E= 'NDIM' dimension de l'espace
  13. *** 'ITY1' entier caracterisant le type de l'element
  14. *** 'ITYG' entier caracterisant la geometrie de l'element
  15. *** 'NOEL1' nombre de noeuds de l'element considere
  16. *** 'NOUN' nombre de flux consideres
  17. *** 'DIAM' "longueur caracteristique" de l'element
  18. *** 'UELEM' valeurs des flux aux faces
  19. *** 'XDEP' coordonnees reference du pt de depart
  20. ***
  21. *** S = 'UREF' vitesse dans element reference au pt calcul
  22. *** 'UREEL' vitesse dans element reel au pt calcul
  23. *** 'ITEST' vaut 0 quand le Jacobien est nul, sinon 1
  24. ***
  25. *** E/S = 'IZSH' segment content pour l'elemt considere et au pt depart :
  26. *** 'XYZL' coordonnees reelles des noeuds (E)
  27. *** 'SHP' fonctions de forme et derivees ds elemt ref (S)
  28. *** 'SHY' fonctions de base et derivees ds elemt ref (S)
  29. ***
  30. *** Rq : 'XZPREC' (-INC CCREEL) erreur precision calcul machine
  31. ***
  32. *** Auteur Cyril Nou
  33. ****************************************************************************
  34.  
  35. IMPLICIT INTEGER(I-N)
  36. IMPLICIT REAL*8 (A-H,O-Z)
  37. -INC CCREEL
  38. SEGMENT IZSH
  39. REAL*8 SHP(6,MNO9),SHY(12,MNO9),XYZL(3,MNO9)
  40. ENDSEGMENT
  41. DIMENSION XDEP(3),UELEM(NOUN),XJAC2(3,3),UREF(3),UREEL(3)
  42.  
  43. ************************************************
  44. *** CALCUL VITESSE REFERENCE AU PT DE CALCUL ***
  45. ************************************************
  46.  
  47. *** initialisation de depart
  48. ITEST=1
  49. DO 10 I=1,3
  50. UREF(I)=0.D0
  51. UREEL(I)=0.D0
  52. 10 CONTINUE
  53. ITYH=NUMHYB(ITYG)
  54. *** calcul des fonctions de base au pt de calcul de reference
  55. CALL HYSHP(XDEP(1),XDEP(2),XDEP(3),ITYH,NOUN,12,SHY,IRET)
  56. DO 20 I=1,NDIM
  57. DO 30 K=1,NOUN
  58. *** calcul de la vitesse au pt de calcul de reference
  59. UREF(I)=UREF(I)+SHY(I,K)*UELEM(K)
  60. 30 CONTINUE
  61. 20 CONTINUE
  62.  
  63. ******************************************************
  64. *** PASSAGE A VITESSE AU PT DE CALCUL REEL ASSOCIE ***
  65. ******************************************************
  66.  
  67. *** calcul matrice jacobienne et jacobien au pt calcul
  68. CALL JCBIEN(XDEP,ITY1,NDIM,NOEL1,XJAC2,DET2,IZSH)
  69. *** calcul de la variable pour adimensionner 'DET2'
  70. ADIM=1.D0
  71. IF (NDIM.EQ.2) THEN
  72. ADIM=DIAM**2
  73. ELSEIF (NDIM.EQ.3) THEN
  74. ADIM=DIAM**3
  75. ENDIF
  76. *** chgt de variable espace ref -> espace reel
  77. IF (ABS(DET2/ADIM).GE.XZPREC) THEN
  78. CALL MATMAT(XJAC2,UREF,3,3,1,UREEL)
  79. DO 40 I=1,NDIM
  80. UREEL(I)=UREEL(I)/ABS(DET2)
  81. 40 CONTINUE
  82. ELSE
  83. ITEST=0
  84. ENDIF
  85.  
  86. RETURN
  87. END
  88.  
  89.  
  90.  
  91.  
  92.  

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