Télécharger lic4ma.eso

Retour à la liste

Numérotation des lignes :

lic4ma
  1. C LIC4MA SOURCE PV 18/06/20 21:15:06 9860
  2. SUBROUTINE LIC4MA(NBPGAU,IDIM,NBNN,NDDL,XE,CFPI,WORK,POIGAU,
  3. 1 QSIGAU,ETAGAU,SHPTOT,REL,LRE,IER246)
  4. C=======================================================================
  5. C
  6. C CALCULE LA MATRICE MASSE DE L ELEMENT DE RACCORD
  7. C LIQUIDE-COQUE 4 NOEUDS 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 BERTRAND BEAUFILS AOUT 92 ( D'APRES ROUTINE LICOMA)
  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 QSIGAU(NBPGAU),ETAGAU(NBPGAU) = COORDONNEES DES PTS 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. DIMENSION XE(3,*),WORK(IDIM),POIGAU(NBPGAU),QSIGAU(NBPGAU)
  31. DIMENSION ETAGAU(NBPGAU),SHPTOT(6,NBNN,*),SHP(6,4)
  32. DIMENSION XEL(3,4),BPSS(3,3),VME(32,32)
  33. DIMENSION REL(LRE,*)
  34. DATA EPSI/1.D-12/
  35. DATA XZER/0.D0/
  36. IER246=0
  37. C
  38. C MATRICE DE PASSAGE ET COORDONNEES LOCALES
  39. C
  40. CALL CQ4LOC(XE,XEL,BPSS,NOQUAL,0)
  41. C
  42. C MISE A 0 DE LA MATRICE DE MASSE
  43. C
  44. CALL ZERO(VME,LRE,LRE)
  45. C
  46. C ON COMPARE L ORIENTATION DE LA NORMALE SORTANTE AU FLUIDE
  47. C A CELLE DE LA PAROI
  48. C
  49. NBNNL=NBNN/2
  50. ID=NBNNL+1
  51. VNQSI1=XZER
  52. VNQSI2=XZER
  53. VNQSI3=XZER
  54. VNETA1=XZER
  55. VNETA2=XZER
  56. VNETA3=XZER
  57. ALFA=XZER
  58. BETA=XZER
  59. GAMMA=XZER
  60. DO 20 J=ID,NBNN
  61. VNQSI1=VNQSI1+SHPTOT(2,J,1)*XE(1,J)
  62. VNQSI2=VNQSI2+SHPTOT(2,J,1)*XE(2,J)
  63. VNQSI3=VNQSI3+SHPTOT(2,J,1)*XE(3,J)
  64. VNETA1=VNETA1+SHPTOT(3,J,1)*XE(1,J)
  65. VNETA2=VNETA2+SHPTOT(3,J,1)*XE(2,J)
  66. VNETA3=VNETA3+SHPTOT(3,J,1)*XE(3,J)
  67. 20 CONTINUE
  68. ALFA=VNQSI2*VNETA3-VNQSI3*VNETA2
  69. BETA=VNQSI3*VNETA1-VNQSI1*VNETA3
  70. GAMMA=VNQSI1*VNETA2-VNQSI2*VNETA1
  71. PSCAL=ALFA*WORK(1)+BETA*WORK(2)+GAMMA*WORK(3)
  72. IF (ABS(PSCAL).LT.EPSI) GOTO 777
  73. SENS=PSCAL/ABS(PSCAL)
  74. C
  75. C CALCUL DES TERMES DE LA MATRICE : INTEGRATION NUMERIQUE
  76. C NL : NUMERO D UN NOEUD LIQUIDE
  77. C IGAU : NUMERO DU POINT DE GAUSS
  78. C J : NUMERO D UN NOEUD DE COQUE
  79. C K INDICE SUR LA COMPOSANTE W , RX , OU RY
  80. C
  81. COEF2=SENS*CFPI
  82. DO 100 NL=1,NBNNL
  83. IL=2*NL
  84. DO 80 IGAU=1,NBPGAU
  85. C
  86. C CALCUL DU JACOBIEN
  87. C
  88. DO 250 NP=1,NBNNL
  89. SHP(1,NP)=SHPTOT(1,NP,IGAU)
  90. SHP(2,NP)=SHPTOT(2,NP,IGAU)
  91. SHP(3,NP)=SHPTOT(3,NP,IGAU)
  92. 250 CONTINUE
  93. CALL JACOBI(XEL,SHP,2,NBNNL,DJAC)
  94. C
  95. C
  96. COEF1=COEF2*DJAC
  97. DO 200 NS=ID,NBNN
  98. IC1=(2*NBNNL)+((NS-ID)*NDDL)+3
  99. VME(IL,IC1)=VME(IL,IC1)-(COEF1*SHPTOT(1,NL,IGAU)
  100. 1 *POIGAU(IGAU)*SHPTOT(1,NS,IGAU))
  101.  
  102. 200 CONTINUE
  103. 80 CONTINUE
  104. C
  105. C CHANGEMENT DE REPERE ET SYMETRISATION
  106. C
  107. DO 50 J=ID,NBNN
  108. INDM=2*NBNNL+(J-ID)*NDDL
  109. INDF=INDM+3
  110. DO 55 I=1,3
  111. DO 56 IP=1,3
  112. REL(IL,INDM+I)=REL(IL,INDM+I)+BPSS(IP,I)*VME(IL,INDM+IP)
  113. REL(IL,INDF+I)=REL(IL,INDF+I)+BPSS(IP,I)*VME(IL,INDF+IP)
  114. 56 CONTINUE
  115. 55 CONTINUE
  116. DO 40 K=1,6
  117. IC=INDM+K
  118. REL(IC,IL)=REL(IL,IC)
  119. 40 CONTINUE
  120. 50 CONTINUE
  121. 100 CONTINUE
  122. GOTO 666
  123. C
  124. C ERREUR LE VECTEUR PERMETTANT D ORIENTER L ELEMENT DE RACCORD
  125. C EST NUL OU PARALLELE A LA FRONTIERE DU FLUIDE
  126. C
  127. 777 IER246=246
  128. 666 CONTINUE
  129. RETURN
  130. END
  131.  
  132.  
  133.  

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