Download chama3.eso

Back to the list

   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 =====
  89 :         CALL ZERO(AEL,NBPTEL,NBPTEL)
  90 : C =====
  91 : C  2.2 - Recuperation des coordonnees GLOBALES des noeuds de l'element
  92 : C =====
  92 :         CALL DOXE(XCOOR,IDIM,NBPTEL,NUM,iElt,XEL)
  93 : C =====
  94 : C  2.3 - Boucle sur les points de Gauss de l'element iElt
  95 : C =====
  96 :         DO iGau=1,NBPGAU
  97 : C =======
  98 : C  2.3.1 - Calcul du volume associe au point de Gauss iGau
  99 : C =======
 100 :           V1=XZERO
 101 :           V2=XZERO
 102 :           V3=XZERO
 103 :           V4=XZERO
 104 :           V5=XZERO
 105 :           V6=XZERO
 106 :           V7=XZERO
 107 :           V8=XZERO
 108 :           V9=XZERO
 109 :           DO i=1,NBPTEL
 110 :             V1=V1+SHPTOT(2,i,iGau)*XEL(2,i)
 111 :             V2=V2+SHPTOT(3,i,iGau)*XEL(3,i)
 112 :             V3=V3+SHPTOT(3,i,iGau)*XEL(2,i)
 113 :             V4=V4+SHPTOT(2,i,iGau)*XEL(3,i)
 114 :             V5=V5+SHPTOT(3,i,iGau)*XEL(1,i)
 115 :             V6=V6+SHPTOT(2,i,iGau)*XEL(1,i)
 116 :             V7=V7+SHPTOT(4,i,iGau)*XEL(1,i)
 117 :             V8=V8+SHPTOT(4,i,iGau)*XEL(2,i)
 118 :             V9=V9+SHPTOT(4,i,iGau)*XEL(3,i)
 119 :           ENDDO
 120 :           Volu=(V3*V9-V2*V8)*V6+(V2*V7-V5*V9)*V1+(V5*V8-V3*V7)*V4
 121 :           Volu=ABS(Volu)*POIGAU(iGau)
 122 : C =======
 123 : C  2.3.2 - Calcul de la contribution du point de Gauss a la matrice AEL
 124 : C =======
 125 :           DO i=1,NBPTEL
 126 :             Z=SHPTOT(1,i,iGau)*Volu
 127 :             DO j=1,NBPTEL
 128 :               AEL(i,j)=AEL(i,j)+SHPTOT(1,j,iGau)*Z
 129 :             ENDDO
 130 :           ENDDO
 131 :         ENDDO
 132 : C =====
 133 : C  2.4 - Calcul des flux equivalents sur cet element (MCHAML aux noeuds)
 134 : C =====
 135 :         IEMIN=MIN(NEL1,iElt)
 136 :         DO i=1,NBPTEL
 137 :           Z=XZERO
 138 :           DO j=1,NBPTEL
 139 :             k=MIN(NBPTE1,j)
 140 :             Z=Z+MELVA1.VELCHE(k,IEMIN)*AEL(j,i)
 141 :           ENDDO
 142 :           VELCHE(i,iElt)=Z
 143 :         ENDDO
 144 :       ENDDO
 145 : 
 146 : C  3 - MENAGE : DESACTIVATION/DESTRUCTION DE SEGMENTS
 147 : C ====================================================
 148 :       SEGSUP,MMAT1
 149 :       SEGDES,MELEME,MELVA1,MINTE,MELVAL
 150 : 
 151 :       RETURN
 152 :       END
 153 : 
 154 :  

© Cast3M 2003 - All rights reserved.
Disclaimer