flux2
C FLUX2 SOURCE CB215821 24/04/12 21:16:00 11897 C======================================================================= C= F L U X 2 = C= --------- = C= = C= Fonction : = C= ---------- = C= Calcul des flux nodaux equivalents aux conditions de flux imposes = C= = C= Parametres : (E)=Entree (S)=Sortie = C= ------------ = C= IPMODE (E) Pointeur sur le segment MMODEL de la structure = C= IPCHPO (E) Pointeur sur le CHPOINT (ou le MCHAML) de flux = C= imposes aux noeuds de la structure = C= (champ variable ou constant) = C= NUMPOI (E) Vaut -1 si le flux impose est normal a la surface, = C= sinon pointeur sur un POINT correspondant a la = C= direction du flux (par rapport au repere global) = C= MOCOMP (E) Nom de la composante de flux = C= PEAU (E) Indique la peau consideree (elements COQUES) = C= MLMOTX (E) Pointeur MLMOTS de la liste des composantes de = C= IPCHPO associees aux 3 directions x,y,z. = C= IPFLUX (S) Pointeur sur le champ des flux nodaux equivalents = C= = C= Variables locales : = C= ------------------- = C= IMASSI Tableau contenant les numeros dans NOMTP des elements = C= thermiques de type MASSIF = C= LMASSI Longueur du tableau IMASSI = C= ICOQUE Tableau contenant les numeros dans NOMTP des elements = C= thermiques de type COQUE = C= LCOQUE Longueur du tableau ICOQUE = C= = C= Remarque : Le MODELE doit contenir exclusivement un seul type = C= ---------- d'elements, soit MASSIFs, soit COQUEs. = C= = C= Denis ROBERT, le 29 janvier 1988. = C======================================================================= IMPLICIT INTEGER(I-N) IMPLICIT REAL*8 (A-H,O-Z) -INC PPARAM -INC CCOPTIO -INC SMMODEL -INC SMCHPOI -INC SMCHAML -INC SMELEME CHARACTER*(*) MOCOMP,PEAU PARAMETER (LMASSI=16,LCOQUE=5) INTEGER IMASSI(LMASSI),ICOQUE(LCOQUE) LOGICAL ltelq C ---------- C Elements TRI3 TRI6 QUA4 QUA8 CUB8 CU20 PRI6 PR15 TET4 TE10 C MASSIFs PYR5 PY13 T1D2 T1D3 M1D2 M1D3 C ---------- DATA IMASSI / 4, 6, 8, 10, 14, 15, 16, 17, 23, 24, . 25, 26, 191, 192, 193, 194 / C ------------- C Elts COQUEs COQ2 COQ3 COQ8 COQ4 COQ6 C ------------- DATA ICOQUE / 44, 27, 41, 49, 56 / C 1 - VERIFICATIONS SUR LE MODELE C ================================= C ERREUR si l'objet MODELE ne contient pas uniquement un seul type C d'elements soit MASSIF, soit COQUE. C ERREUR si la PEAU n'est pas indiquee dans le cas d'elements COQUE. C ===== jMASSi=0 jCOQue=0 MMODEL=IPMODE NSOU=KMODEL(/1) DO i=1,NSOU IMODEL=KMODEL(i) IF (iOK.NE.0) THEN jMASSi=jMASSi+1 ELSE IF (iOK.NE.0) jCOQue=jCOQue+1 ENDIF ENDDO IF (jMASSi.NE.NSOU.AND.jCOQue.NE.NSOU) THEN RETURN ENDIF IF (jCOQue.EQ.NSOU) THEN IF (PEAU.EQ.' ') THEN RETURN ENDIF MOCOMP(1:4)='Q'//PEAU(1:3) ENDIF C 2 - PREPARATION DES DONNEES POUR LE CALCUL C ============================================ C= Creation d'un objet MAILLAGE contenant une seule fois tous les points C= 2.1 du CHAMELEM -IPCHPO if(IPCHPO.lt.0) then MCHELM=-1*IPCHPO N1=IMACHE(/1) if(N1.eq.0)then moterr(1:8)='CHAMELEM' interr(1)=MCHELM RETURN endif c verif que l'on est sur les points de gauss pour la thermique ISUPPO=INFCHE(1,6) if(ISUPPO.ne.6) then MCHELM=MCHEL2 endif MELEME=IMACHE(1) IPGEOM = MELEME if(N1.gt.1) then do i=2,N1 MELEME=IMACHE(2) ltelq=.FALSE. IF (IERR.NE.0) RETURN IPGEOM=IRET enddo endif C= 2.2 du CHPOINT IPCHPO (fusion des maillages supports de tous les MSOUPO) else MCHPOI=IPCHPO NSOUPO=IPCHP(/1) IF (NSOUPO.EQ.0) THEN RETURN ENDIF MSOUPO=IPCHP(1) IPGEOM=IGEOC DO i=2,NSOUPO MSOUPO=IPCHP(i) IGEO1=IGEOC ltelq=.FALSE. IF (IERR.NE.0) RETURN IPGEOM=IRET ENDDO endif C 3 - CALCUL DES FLUX EQUIVALENTS C ================================= C 3.1 - Cas des elements MASSIFS (1D,2D,3D) C ===== IF (jMASSi.EQ.NSOU) THEN C ===== C 3.2 - Cas des elements de COQUE C ===== C* ELSE IF (jCOQue.EQ.NSOU) THEN ELSE ENDIF END
© Cast3M 2003 - Tous droits réservés.
Mentions légales