Télécharger liamas.eso

Retour à la liste

Numérotation des lignes :

liamas
  1. C LIAMAS SOURCE CHAT 05/01/13 01:16:42 5004
  2. SUBROUTINE LIAMAS(NBPGAU,IDIM,NBNN,NDDL,XE,CFPI,WORK,POIGAU,
  3. 1 SHPTOT,REL,LRE,IER246)
  4. C=======================================================================
  5. C
  6. C CALCULE LA MATRICE MASSE DE L ELEMENT DE RACCORD
  7. C LIQUIDE MASSIF LINEAIRE CAS TRIDIMENSIONNEL
  8. C (INTEGRE LE PRODUIT PI*U AVEC U DEPLACEMENT NORMAL A LA PAROI
  9. C DU SOLIDE)
  10. C
  11. C ROUTINE FORTRAN PUR
  12. C
  13. C JACQUELINE BROCHARD OCTOBRE 85
  14. C=======================================================================
  15. C ENTREES
  16. C NBPGAU = NB DE PTS DE GAUSS
  17. C NBNN = NB DE NOEUDS DE L ELEMENT DE RACCORD
  18. C XE(3,NBNN) = COORDONNEES LOCALES DE L ELEMENT
  19. C CFPI = COEFFICIENT DE NORMALISATION SUR PI
  20. C WORK(IDIM) = COMPOSANTES DE LA NORMALE SORTANTE AU FLUIDE
  21. C POIGAU(NBPGAU) = POIDS DE GAUSS
  22. C SHPTOT(6,NBNN,NBPGAU) = FONCTIONS DE FORME ET DERIVEES DE
  23. C L ELEMENT DE RACCORD
  24. C SORTIES
  25. C REL(LRE,LRE) = MATRICE DE MASSE
  26. C=======================================================================
  27. IMPLICIT INTEGER(I-N)
  28. IMPLICIT REAL*8 (A-H,O-Z)
  29. DIMENSION XE(3,1),WORK(IDIM),POIGAU(NBPGAU),SHPTOT(6,NBNN,1)
  30. DIMENSION REL(LRE,1)
  31. DATA EPSI/1.D-12/
  32. DATA XZER/0.D0/
  33. C
  34. C BOUCLE SUR LES NOEUDS LIQUIDE ET INTEGRATION NUMERIQUE
  35. C
  36. IER246=0
  37. NBNNL=NBNN/2
  38. DO 100 NL=1,NBNNL
  39. DO 80 IGAU=1,NBPGAU
  40. C
  41. C CALCUL DU RAYON ET DES COMPOSANTES DU VECTEUR NORMAL A LA PAROI
  42. C
  43. VNQSI1=XZER
  44. VNQSI2=XZER
  45. VNQSI3=XZER
  46. VNETA1=XZER
  47. VNETA2=XZER
  48. VNETA3=XZER
  49. ALFA=XZER
  50. BETA=XZER
  51. GAMMA=XZER
  52. ID=NBNNL+1
  53. DO 20 J=ID,NBNN
  54. VNQSI1=VNQSI1+SHPTOT(2,J,IGAU)*XE(1,J)
  55. VNQSI2=VNQSI2+SHPTOT(2,J,IGAU)*XE(2,J)
  56. VNQSI3=VNQSI3+SHPTOT(2,J,IGAU)*XE(3,J)
  57. VNETA1=VNETA1+SHPTOT(3,J,IGAU)*XE(1,J)
  58. VNETA2=VNETA2+SHPTOT(3,J,IGAU)*XE(2,J)
  59. VNETA3=VNETA3+SHPTOT(3,J,IGAU)*XE(3,J)
  60. 20 CONTINUE
  61. ALFA=VNQSI2*VNETA3-VNQSI3*VNETA2
  62. BETA=VNQSI3*VNETA1-VNQSI1*VNETA3
  63. GAMMA=VNQSI1*VNETA2-VNQSI2*VNETA1
  64. C
  65. C ON COMPARE L ORIENTATION DE LA NORMALE SORTANTE AU FLUIDE
  66. C A CELLE DE LA PAROI
  67. C
  68. PSCAL=ALFA*WORK(1)+BETA*WORK(2)+GAMMA*WORK(3)
  69. IF (ABS(PSCAL).LT.EPSI) GOTO 777
  70. SENS=PSCAL/ABS(PSCAL)
  71. C
  72. C ON REMPLIT LA MATRICE
  73. C
  74. DO 30 J=ID,NBNN
  75. IL=2*NL
  76. IC1=2*NBNNL+(J-ID)*NDDL+1
  77. IC2=IC1+1
  78. IC3=IC1+2
  79. REL(IL,IC1)=REL(IL,IC1)-SENS*CFPI*SHPTOT(1,NL,IGAU)
  80. 1 *POIGAU(IGAU)*ALFA*SHPTOT(1,J,IGAU)
  81. REL(IL,IC2)=REL(IL,IC2)-SENS*CFPI*SHPTOT(1,NL,IGAU)
  82. 1 *POIGAU(IGAU)*BETA*SHPTOT(1,J,IGAU)
  83. REL(IL,IC3)=REL(IL,IC3)-SENS*CFPI*SHPTOT(1,NL,IGAU)
  84. 1 *POIGAU(IGAU)*GAMMA*SHPTOT(1,J,IGAU)
  85. 30 CONTINUE
  86. 80 CONTINUE
  87. C
  88. C SYMETRISATION
  89. C
  90. DO 40 J=ID,NBNN
  91. IL=2*NL
  92. IC1=2*NBNNL+(J-ID)*NDDL+1
  93. IC2=IC1+1
  94. IC3=IC1+2
  95. REL(IC1,IL)=REL(IL,IC1)
  96. REL(IC2,IL)=REL(IL,IC2)
  97. REL(IC3,IL)=REL(IL,IC3)
  98. 40 CONTINUE
  99. 100 CONTINUE
  100. GOTO 666
  101. C
  102. C ERREUR LE VECTEUR PERMETTANT D ORIENTER L ELEMENT DE RACCORD
  103. C EST NUL OU PARALLELE A LA FRONTIERE DU FLUIDE
  104. C
  105. 777 IER246=246
  106. 666 CONTINUE
  107. RETURN
  108. END
  109.  
  110.  

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