1 : C CAPAC2 SOURCE CHAT 12/02/07 21:15:01 7282 2 : 3 : C======================================================================= 4 : C= C A P A C 2 = 5 : C= ----------- = 6 : C= = 7 : C= Fonction : = 8 : C= ---------- = 9 : C= Calcul de la matrice de CAPACITE CALORIFIQUE pour les elements = 10 : C= finis COQUEs de type COQ4, COQ6 et COQ8 = 11 : C= = 12 : C= Parametres : (E)=Entree (S)=Sortie = 13 : C= ------------ = 14 : C= NEF (E) Numero de l'ELEMENT FINI dans NOMTP (cf. CCHAMP) = 15 : C= IMAIL (E) Numero du segment IMODEL dans le segment MMODEL = 16 : C= IPCHA1 (E) Pointeur sur un segment MCHEL1 de caracteristiques= 17 : C= CLAT (E) Chaleur latente du changement de phase = 18 : C= IPRIGI (E/S) Matrice de CAPACITE resultat (ACTIF) = 19 : C= = 20 : C= P. DOWLATYARI, aout 1990. = 21 : C======================================================================= 22 : 23 : SUBROUTINE CAPAC2 (NEF,IPMAIL,IPINT1,IPINT2,IVAMAT,NVAMAT, 24 : & IVAPHA,NVAPHA, IPMATR,NLIGR) 25 : 26 : IMPLICIT INTEGER(I-N) 27 : IMPLICIT REAL*8 (A-H,O-Z) 28 : 29 : -INC CCOPTIO 30 : -INC CCREEL 31 : -INC CCHAMP 32 : 33 : -INC SMCHAML 34 : -INC SMCOORD 35 : -INC SMELEME 36 : -INC SMINTE 37 : -INC SMRIGID 38 : 39 : SEGMENT MMAT1 40 : REAL*8 XE(3,NBNN),CAPSS(NBNN,NBNN),CAPV(NLIGR,NLIGR) 41 : REAL*8 TXR(3,3,NBNN),EXC(NBNN),FORME(NBNN) 42 : REAL*8 VACOMP(NBPGAU),EP(NBPGAU) 43 : ENDSEGMENT 44 : 45 : SEGMENT MPTVAL 46 : INTEGER IPOS(NS),NSOF(NS),IVAL(NCOSOU) 47 : CHARACTER*16 TYVAL(NCOSOU) 48 : ENDSEGMENT 49 : 50 : DIMENSION XJ(3,3),VACOMG(3) 51 : 52 : C= Coefficients d'integration dans l'epaisseur (Degay 04/95) 53 : PARAMETER (X1s15=0.066666666666666666666666666667D0) 54 : PARAMETER (X2s15=0.133333333333333333333333333333D0) 55 : PARAMETER (X8s15=0.533333333333333333333333333333D0) 56 : PARAMETER (Xm1s30=-0.033333333333333333333333333333D0) 57 : DATA Coef11,Coef12,Coef13 / X2s15 , X1s15 , Xm1s30 / 58 : DATA Coef21,Coef22,Coef23 / X1s15 , X8s15 , X1s15 / 59 : DATA Coef31,Coef32,Coef33 / Xm1s30 , X1s15 , X2s15 / 60 : 61 : C 1 - INITIALISATIONS ET VERIFICATIONS 62 : C ====================================== 63 : MELEME = IPMAIL 64 : c* SEGACT,MELEME 65 : NBNN = NUM(/1) 66 : NBELEM = NUM(/2) 67 : NBNN2 = 2*NBNN 68 : NBNN3 = 3*NBNN 69 : C ===== 70 : MINTE1 = IPINT1 71 : SEGACT,MINTE1 72 : NBPGAU = MINTE1.POIGAU(/1) 73 : C ===== 74 : MINTE2 = IPINT2 75 : SEGACT,MINTE2 76 : C ===== 77 : MPTVAL = IVAMAT 78 : c* SEGACT,MPTVAL 79 : c*C- Verification sur la constance du champ d'epaisseur : 80 : c*C- epaisseur toujours placee en derniere position du mptval 81 : c* IPMELV = IVAL(NVAMAT) 81 : c* CALL QUELCH(IPMELV,IOK) 82 : c* IF (IOK.NE.0) THEN 82 : c* CALL ERREUR(566) 83 : c* GOTO 9990 84 : c* ENDIF 85 : C ===== 86 : c* IF (IVAPHA.NE.0) THEN 87 : c* MPTVAL = IVAPHA 88 : c* SEGACT,MPTVAL 89 : c* ENDIF 90 : C ===== 91 : xMATRI = IPMATR 92 : c* SEGACT,XMATRI*MOD 93 : c* NLIGRP = NBNN3 = NLIGR 94 : c* NLIGRD = NBNN3 = NLIGR 95 : C ===== 96 : SEGINI,MMAT1 97 : 98 : E3 = XZERO 99 : 100 : C 2 - BOUCLE SUR LES ELEMENTS DU MAILLAGE ELEMENTAIRE IPMAIL 101 : C ============================================================ 102 : DO iElt = 1, NBELEM 103 : C ===== 104 : C 2.1 - Recuperation des coordonnees GLOABLES des noeuds de l'element 105 : C ===== 105 : CALL DOXE(XCOOR,IDIM,NBNN,NUM,iElt,XE) 106 : C ===== 107 : C 2.2 - Calcul des axes locaux lies a l'element COQUE pour tous les 108 : C noeuds de l'element fini 109 : C ===== 109 : CALL CQ8LOC(XE,NBNN,MINTE2.SHPTOT,TXR,iOK) 110 : IF (iOK.EQ.0) THEN 110 : CALL ERREUR(515) 111 : GOTO 9990 112 : ENDIF 113 : C ===== 114 : C 2.3 - Recuperation des caracteristiques materielles pour tous les 115 : C points de Gauss de l'element (avec calcul du terme Rho.Cp.Vol 116 : C et prise en compte d'un eventuel changement de phase) 117 : C ===== 118 : DO iGau = 1, NBPGAU 118 : CALL CAPA5(iGau,iElt,IVAMAT,NVAMAT,IVAPHA,NVAPHA, VACOMG) 119 : VACOMP(iGau) = VACOMG(1) 120 : EP(iGau) = VACOMG(3) 121 : ENDDO 122 : C ===== 123 : C 2.4 - Mise a zero de la matrice de CAPACITE de l'element iElt 124 : C ===== 124 : CALL ZERO(CAPV,NLIGR,NLIGR) 125 : C ===== 126 : C 2.5 - Boucle sur les points de Gauss de l'element iElt 127 : C ===== 128 : DO iGau = 1, NBPGAU 129 : C ======= 130 : C 2.5.1 - Calcul du jacobien associe a ce point de Gauss 131 : C ======= 131 : CALL CQ8JCE(iGau,NBNN,E3,XE,EP,EXC,TXR,MINTE1.SHPTOT,XJ, 132 : & DJAC,iOK) 133 : C ======= 134 : C 2.5.2 - Erreur si le jacobien est nul en ce point de Gauss 135 : C ======= 136 : IF (iOK.LT.0) THEN 137 : INTERR(1) = iElt 137 : CALL ERREUR(405) 138 : GOTO 9990 139 : ENDIF 140 : C ======= 141 : C 2.5.3 - Calcul de la contribution du point de Gauss a la matrice 142 : C CAPACITE elementaire pour cet element fini 143 : C ======= 144 : CAPA = DJAC * minte1.POIGAU(iGau) * VACOMP(iGau) 144 : CALL ZERO(CAPSS,NBNN,NBNN) 145 : DO i0 = 1, NBNN 146 : FORME(i0) = MINTE1.SHPTOT(1,i0,iGau) 147 : ENDDO 147 : CALL NTNST(FORME,CAPA,NBNN,1,CAPSS) 148 : C ======= 149 : C 2.5.4 - Ajout de termes specifiques dus a l'integration (analytique) 150 : C suivant l'epaisseur de l'element de type COQUE 151 : C ======= 152 : DO j0=1,NBNN 153 : j1=j0+NBNN 154 : j2=j1+NBNN 155 : DO i0=1,NBNN 156 : i1=i0+NBNN 157 : i2=i1+NBNN 158 : Cte=CAPSS(i0,j0) 159 : CAPV(i0,j0)=CAPV(i0,j0) + Cte*Coef11 160 : CAPV(i1,j0)=CAPV(i1,j0) + Cte*Coef21 161 : CAPV(i2,j0)=CAPV(i2,j0) + Cte*Coef31 162 : CAPV(i0,j1)=CAPV(i0,j1) + Cte*Coef12 163 : CAPV(i1,j1)=CAPV(i1,j1) + Cte*Coef22 164 : CAPV(i2,j1)=CAPV(i2,j1) + Cte*Coef32 165 : CAPV(i0,j2)=CAPV(i0,j2) + Cte*Coef13 166 : CAPV(i1,j2)=CAPV(i1,j2) + Cte*Coef23 167 : CAPV(i2,j2)=CAPV(i2,j2) + Cte*Coef33 168 : ENDDO 169 : ENDDO 170 : ENDDO 171 : C ===== 172 : C 2.6 - Stockage de la matrice de CAPACITE pour cet element fini 173 : C (remplissage de XMATRI) 174 : C ===== 174 : CALL REMPMT(CAPV,NLIGR,RE(1,1,iElt)) 175 : ENDDO 176 : 177 : C 3 - MENAGE : DESACTIVATION/DESTRUCTION DE SEGMENTS 178 : C ==================================================== 179 : 9990 CONTINUE 180 : SEGSUP,MMAT1 181 : c* SEGDES,MELEME,MINTE,MINTE2,XMATRI 182 : c* MPTVAL = IVAMAT 183 : c* SEGDES,MPTVAL 184 : c* IF (IVAPHA.NE.0) THEN 185 : c* MPTVAL = IVAPHA 186 : c* SEGDES,MPTVAL 187 : c* ENDIF 188 : 189 : RETURN 190 : END 191 : 192 : 193 :
© Cast3M 2003 - All rights reserved.
Disclaimer