Télécharger chama1.eso

Retour à la liste

Numérotation des lignes :

  1. C CHAMA1 SOURCE FANDEUR 10/12/17 21:16:00 6427
  2.  
  3. C=======================================================================
  4. C= C H A M A 1 =
  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 UNIDIMENSIONNEL 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.  
  28. SUBROUTINE CHAMA1 (IPSONO,IPGEOM,IPINTE, IPCHEQ)
  29.  
  30. IMPLICIT INTEGER(I-N)
  31. IMPLICIT REAL*8 (A-H,O-Z)
  32.  
  33. -INC CCOPTIO
  34. -INC CCREEL
  35.  
  36. -INC SMCHAML
  37. -INC SMELEME
  38. -INC SMINTE
  39. -INC SMCOORD
  40.  
  41. SEGMENT MMAT1
  42. REAL*8 XEL(3,NBPTEL), AEL(NBPTEL,NBPTEL)
  43. ENDSEGMENT
  44.  
  45. C= Quelques constantes (2.Pi et 4.Pi)
  46. PARAMETER (X2Pi=6.283185307179586476925286766559D0)
  47. PARAMETER (X4Pi=12.566370614359172953850573533118D0)
  48.  
  49. C 1 - INITIALISATION
  50. C ====================
  51. C 1.1 - Recuperation d'informations sur le maillage elementaire
  52. C =====
  53. MELEME=IPGEOM
  54. SEGACT,MELEME
  55. NBPTEL=NUM(/1)
  56. NbElt=NUM(/2)
  57. C =====
  58. C 1.2 - Recuperation d'informations sur l'element fini du maillage
  59. C =====
  60. MINTE=IPINTE
  61. SEGACT,MINTE
  62. NbPGau=POIGAU(/1)
  63. C*OF NBNO=SHPTOT(/2)
  64. C =====
  65. C 1.3 - Activation du MCHAML contenant les valeurs des sources
  66. C =====
  67. MELVA1=IPSONO
  68. SEGACT,MELVA1
  69. NBPTE1=MELVA1.VELCHE(/1)
  70. NEL1=MELVA1.VELCHE(/2)
  71. C =====
  72. C 1.5 - Initialisation du segment de travail MMAT1
  73. C =====
  74. SEGINI,MMAT1
  75. C =====
  76. C 1.6 - Initialisation du segment resultat MELVAL contenant les valeurs
  77. C des flux nodaux pour chaque element du maillage (IPGEOM)
  78. C =====
  79. N1PTEL=NBPTEL
  80. N1EL=NbElt
  81. N2PTEL=0
  82. N2EL=0
  83. SEGINI,MELVAL
  84. IPCHEQ=MELVAL
  85.  
  86. C 2 - BOUCLE SUR LES ELEMENTS DU MAILLAGE ELEMENTAIRE IMAMOD
  87. C ============================================================
  88. DO iElt=1,NbElt
  89. C =====
  90. C 2.1 - Mise a zero de la matrice symetrique AEL(i,j)=Forme(i).Forme(j)
  91. C =====
  92. CALL ZERO(AEL,NBPTEL,NBPTEL)
  93. C =====
  94. C 2.2 - Recuperation des coordonnees GLOBALES des noeuds de l'element
  95. C =====
  96. CALL DOXE(XCOOR,IDIM,NBPTEL,NUM,iElt,XEL)
  97. C =====
  98. C 2.4 - Boucle sur les points de Gauss de l'element iElt
  99. C =====
  100. DO iGau=1,NbPGau
  101. C =======
  102. C 2.4.1 - Calcul du volume associe au point de Gauss iGau
  103. C Traitement des modes 1D axisymetriques et spherique
  104. C =======
  105. Volu=XZERO
  106. DO i=1,NBPTEL
  107. Volu=Volu+SHPTOT(2,i,iGau)*XEL(1,i)
  108. ENDDO
  109. Volu=ABS(Volu)*POIGAU(iGau)
  110. IF (IFOMOD.EQ.4.OR.IFOMOD.EQ.5) THEN
  111. CALL DISTRR(XEL,SHPTOT(1,1,iGau),NBPTEL,RR)
  112. IF (IFOMOD.EQ.5) THEN
  113. Volu=X4Pi*RR*RR*Volu
  114. ELSE
  115. Volu=X2Pi*RR*Volu
  116. ENDIF
  117. ENDIF
  118. C =======
  119. C 2.3.2 - Calcul de la contribution du point de Gauss a la matrice AEL
  120. C =======
  121. DO i=1,NBPTEL
  122. ZZ=SHPTOT(1,i,iGau)*Volu
  123. DO j=1,NBPTEL
  124. AEL(i,j)=AEL(i,j)+SHPTOT(1,j,iGau)*ZZ
  125. ENDDO
  126. ENDDO
  127. ENDDO
  128. C =====
  129. C 2.4 - Calcul des flux equivalents sur cet element (MCHAML aux noeuds)
  130. C =====
  131. IEMIN=MIN(NEL1,iElt)
  132. DO i=1,NBPTEL
  133. ZZ=XZERO
  134. DO j=1,NBPTEL
  135. k=MIN(NBPTE1,j)
  136. ZZ=ZZ+MELVA1.VELCHE(k,IEMIN)*AEL(j,i)
  137. ENDDO
  138. VELCHE(i,iElt)=ZZ
  139. ENDDO
  140. ENDDO
  141.  
  142. C 3 - MENAGE : DESACTIVATION/DESTRUCTION DE SEGMENTS
  143. C ====================================================
  144. SEGSUP,MMAT1
  145. SEGDES,MELEME,MELVA1,MINTE,MELVAL
  146.  
  147. RETURN
  148. END
  149.  
  150.  
  151.  

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