Télécharger chama3.eso

Retour à la liste

Numérotation des lignes :

  1. C CHAMA3 SOURCE FANDEUR 10/12/17 21:16:03 6427
  2.  
  3. C=======================================================================
  4. C= C H A M A 3 =
  5. C= ----------- =
  6. C= =
  7. C= Fonction : =
  8. C= ---------- =
  9. C= Calcul du MCHAML (champ par element aux noeuds) des flux nodaux =
  10. C= equivalents a des sources volumiques. Cas TRIDIMENSIONNEL MASSIF =
  11. C= =
  12. C= Parametres : (E)=Entree (S)=Sortie =
  13. C= ------------ =
  14. C= IPSONO (E) Pointeur sur le segment MELVAL des SOURCES =
  15. C= IPGEOM (E) Pointeur sur un objet MAILLAGE elementaire =
  16. C= IPINTE (E) Pointeur sur un segment MINTE contenant les =
  17. C= caracteristiques d'integration =
  18. C= IPCHEQ (S) Pointeur sur un segment MELVAL contenant les =
  19. C= flux de chaleur nodaux equivalents =
  20. C= =
  21. C= Variables locales : =
  22. C= ------------------- =
  23. C= XEL(3,NBPTEL) Coordonnees GLOBALES des noeuds d'un element =
  24. C= VOLU Volume elementaire au point de Gauss =
  25. C= AEL Matrice de travail =
  26. C= =
  27. C= Denis ROBERT, le 16 fevrier 1988. =
  28. C=======================================================================
  29.  
  30. SUBROUTINE CHAMA3 (IPSONO,IPGEOM,IPINTE, IPCHEQ)
  31.  
  32. IMPLICIT INTEGER(I-N)
  33. IMPLICIT REAL*8 (A-H,O-Z)
  34.  
  35. -INC CCREEL
  36. -INC CCOPTIO
  37.  
  38. -INC SMCHAML
  39. -INC SMELEME
  40. -INC SMINTE
  41. -INC SMCOORD
  42.  
  43. SEGMENT MMAT1
  44. REAL*8 XEL(3,NBPTEL), AEL(NBPTEL,NBPTEL)
  45. ENDSEGMENT
  46.  
  47. C 1 - INITIALISATION
  48. C ====================
  49. C 1.1 - Recuperation d'informations sur le maillage elementaire
  50. C =====
  51. MELEME=IPGEOM
  52. SEGACT,MELEME
  53. NBPTEL=NUM(/1)
  54. NbElt=NUM(/2)
  55. C =====
  56. C 1.2 - Recuperation d'informations sur l'element fini du maillage
  57. C =====
  58. MINTE=IPINTE
  59. SEGACT,MINTE
  60. NBPGAU=POIGAU(/1)
  61. NBNO=SHPTOT(/2)
  62. C =====
  63. C 1.3 - Activation du MCHAML contenant les valeurs des sources
  64. C =====
  65. MELVA1=IPSONO
  66. SEGACT,MELVA1
  67. NBPTE1=MELVA1.VELCHE(/1)
  68. NEL1=MELVA1.VELCHE(/2)
  69. C =====
  70. C 1.4 - Initialisation du segment de travail MMAT1
  71. C =====
  72. SEGINI,MMAT1
  73. C =====
  74. C 1.5 - Initialisation du segment resultat MELVAL contenant les valeurs
  75. C des flux nodaux pour chaque element du maillage (IPGEOM)
  76. C =====
  77. N1PTEL=NBPTEL
  78. N1EL=NbElt
  79. N2PTEL=0
  80. N2EL=0
  81. SEGINI,MELVAL
  82. IPCHEQ=MELVAL
  83.  
  84. C 2 - BOUCLE SUR LES ELEMENTS DU MAILLAGE ELEMENTAIRE IMAMOD
  85. C ============================================================
  86. DO iElt=1,NbElt
  87. C =====
  88. C 2.1 - Mise a zero de la matrice symetrique AEL(i,j)=Forme(i).Forme(j)
  89. C =====
  90. CALL ZERO(AEL,NBPTEL,NBPTEL)
  91. C =====
  92. C 2.2 - Recuperation des coordonnees GLOBALES des noeuds de l'element
  93. C =====
  94. CALL DOXE(XCOOR,IDIM,NBPTEL,NUM,iElt,XEL)
  95. C =====
  96. C 2.3 - Boucle sur les points de Gauss de l'element iElt
  97. C =====
  98. DO iGau=1,NBPGAU
  99. C =======
  100. C 2.3.1 - Calcul du volume associe au point de Gauss iGau
  101. C =======
  102. V1=XZERO
  103. V2=XZERO
  104. V3=XZERO
  105. V4=XZERO
  106. V5=XZERO
  107. V6=XZERO
  108. V7=XZERO
  109. V8=XZERO
  110. V9=XZERO
  111. DO i=1,NBPTEL
  112. V1=V1+SHPTOT(2,i,iGau)*XEL(2,i)
  113. V2=V2+SHPTOT(3,i,iGau)*XEL(3,i)
  114. V3=V3+SHPTOT(3,i,iGau)*XEL(2,i)
  115. V4=V4+SHPTOT(2,i,iGau)*XEL(3,i)
  116. V5=V5+SHPTOT(3,i,iGau)*XEL(1,i)
  117. V6=V6+SHPTOT(2,i,iGau)*XEL(1,i)
  118. V7=V7+SHPTOT(4,i,iGau)*XEL(1,i)
  119. V8=V8+SHPTOT(4,i,iGau)*XEL(2,i)
  120. V9=V9+SHPTOT(4,i,iGau)*XEL(3,i)
  121. ENDDO
  122. Volu=(V3*V9-V2*V8)*V6+(V2*V7-V5*V9)*V1+(V5*V8-V3*V7)*V4
  123. Volu=ABS(Volu)*POIGAU(iGau)
  124. C =======
  125. C 2.3.2 - Calcul de la contribution du point de Gauss a la matrice AEL
  126. C =======
  127. DO i=1,NBPTEL
  128. Z=SHPTOT(1,i,iGau)*Volu
  129. DO j=1,NBPTEL
  130. AEL(i,j)=AEL(i,j)+SHPTOT(1,j,iGau)*Z
  131. ENDDO
  132. ENDDO
  133. ENDDO
  134. C =====
  135. C 2.4 - Calcul des flux equivalents sur cet element (MCHAML aux noeuds)
  136. C =====
  137. IEMIN=MIN(NEL1,iElt)
  138. DO i=1,NBPTEL
  139. Z=XZERO
  140. DO j=1,NBPTEL
  141. k=MIN(NBPTE1,j)
  142. Z=Z+MELVA1.VELCHE(k,IEMIN)*AEL(j,i)
  143. ENDDO
  144. VELCHE(i,iElt)=Z
  145. ENDDO
  146. ENDDO
  147.  
  148. C 3 - MENAGE : DESACTIVATION/DESTRUCTION DE SEGMENTS
  149. C ====================================================
  150. SEGSUP,MMAT1
  151. SEGDES,MELEME,MELVA1,MINTE,MELVAL
  152.  
  153. RETURN
  154. END
  155.  
  156.  
  157.  

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