Télécharger racmas.eso

Retour à la liste

Numérotation des lignes :

racmas
  1. C RACMAS SOURCE CHAT 05/01/13 02:44:30 5004
  2. SUBROUTINE RACMAS(NBPGAU,IFOUR,NIFOUR,IDIM,NBNN,XE,CFPI,WORK,
  3. 1 POIGAU,SHPTOT,REL,LRE)
  4. C=======================================================================
  5. C
  6. C CALCULE LA MATRICE MASSE DE L ELEMENT DE RACCORD
  7. C LIQUIDE MASSIF LINEAIRE CAS BIDIMENSIONNEL
  8. C (INTEGRE LE PRODUIT XPI*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 IFOUR = IFOUR DE CCOPTIO
  18. C NBNN = NB DE NOEUDS DE L ELEMENT DE RACCORD
  19. C XE(3,NBNN) = COORDONNEES LOCALES DE L ELEMENT
  20. C CFPI = COEFFICIENT DE NORMALISATION SUR XPI
  21. C WORK(IDIM) = COMPOSANTES DE LA NORMALE SORTANTE AU FLUIDE
  22. C POIGAU(NBPGAU) = POIDS DE GAUSS
  23. C SHPTOT(6,NBNN,NBPGAU) = FONCTIONS DE FORME ET DERIVEES DE
  24. C L ELEMENT DE RACCORD
  25. C SORTIES
  26. C REL(LRE,LRE) = MATRICE DE MASSE
  27. C=======================================================================
  28. IMPLICIT INTEGER(I-N)
  29. IMPLICIT REAL*8 (A-H,O-Z)
  30. C Include contenant quelques constantes dont XPI :
  31. -INC CCREEL
  32. DIMENSION XE(3,1),WORK(IDIM),POIGAU(NBPGAU),SHPTOT(6,NBNN,1)
  33. DIMENSION REL(LRE,1)
  34. DATA EPSI/1.D-12/
  35. C
  36. C BOUCLE SUR LES NOEUDS LIQUIDE ET INTEGRATION NUMERIQUE
  37. C
  38. NBNNL=NBNN/2
  39. DO 100 NL=1,NBNNL
  40. DO 80 IGAU=1,NBPGAU
  41. C
  42. C CALCUL DU RAYON ET DES COMPOSANTES DU VECTEUR NORMAL A LA PAROI
  43. C
  44. R=XZERO
  45. ALFA=XZERO
  46. BETA=XZERO
  47. ID=NBNNL+1
  48. DO 20 J=ID,NBNN
  49. JJ=J-NBNNL
  50. R=R+XE(1,J)*SHPTOT(1,JJ,IGAU)
  51. ALFA=ALFA-SHPTOT(2,JJ,IGAU)*XE(2,J)
  52. BETA=BETA+SHPTOT(2,JJ,IGAU)*XE(1,J)
  53. 20 CONTINUE
  54. IF(IFOUR.EQ.0.OR.(IFOUR.EQ.1.AND.NIFOUR.EQ.0)) THEN
  55. R=R*2*XPI
  56. ELSEIF(IFOUR.EQ.1.AND.NIFOUR.NE.0) THEN
  57. R=R*XPI
  58. ELSE
  59. R=1.D0
  60. ENDIF
  61. C
  62. C ON COMPARE L ORIENTATION DE LA NORMALE SORTANTE AU FLUIDE
  63. C A CELLE DE LA PAROI
  64. C
  65. PSCAL=ALFA*WORK(1)+BETA*WORK(2)
  66. IF (ABS(PSCAL).LT.EPSI) GOTO 777
  67. SENS=PSCAL/ABS(PSCAL)
  68. C
  69. C ON REMPLIT LA MATRICE
  70. C
  71. IF(IFOUR.LT.1) NCP=2
  72. IF(IFOUR.EQ.1) NCP=3
  73. DO 30 J=ID,NBNN
  74. JJ=J-NBNNL
  75. IL=2*NL
  76. IC1=2*NBNNL+(J-ID)*NCP+1
  77. IC2=IC1+1
  78. REL(IL,IC1)=REL(IL,IC1)-SENS*CFPI*SHPTOT(1,NL,IGAU)
  79. 1 *POIGAU(IGAU)*R*ALFA*SHPTOT(1,JJ,IGAU)
  80. REL(IL,IC2)=REL(IL,IC2)-SENS*CFPI*SHPTOT(1,NL,IGAU)
  81. 1 *POIGAU(IGAU)*R*BETA*SHPTOT(1,JJ,IGAU)
  82. 30 CONTINUE
  83. 80 CONTINUE
  84. C
  85. C LE COUPLAGE LIQUIDE-MASSIF 2D LIE LES NOEUDS
  86. C (1,NBNN) (2,NBNN-1) ETC , ON INVERSE DONC LES TERMES
  87. C DE LA MATRICE
  88. C
  89. IL=2*NL
  90. DO 35 I=1,NCP
  91. IB=2*NBNNL+I
  92. ELT=REL(IL,IB)
  93. JB=2*NBNNL+(NBNNL-1)*NCP+I
  94. REL(IL,IB)=REL(IL,JB)
  95. REL(IL,JB)=ELT
  96. 35 CONTINUE
  97. C
  98. C SYMETRISATION
  99. C
  100. DO 40 J=ID,NBNN
  101. IL=2*NL
  102. IC1=2*NBNNL+(J-ID)*NCP+1
  103. IC2=IC1+1
  104. REL(IC1,IL)=REL(IL,IC1)
  105. REL(IC2,IL)=REL(IL,IC2)
  106. 40 CONTINUE
  107. 100 CONTINUE
  108. GOTO 666
  109. C
  110. C ERREUR LE VECTEUR PERMETTANT D ORIENTER L ELEMENT DE RACCORD
  111. C EST NUL OU PARALLELE A LA FRONTIERE DU FLUIDE
  112. C
  113. 777 CALL ERREUR(246)
  114. 666 CONTINUE
  115. RETURN
  116. END
  117.  
  118.  
  119.  
  120.  
  121.  
  122.  
  123.  

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