chal1
C CHAL1 SOURCE CB215821 24/04/12 21:15:13 11897 C======================================================================= C= C H A L 1 = C= --------- = C= = C= Fonction : = C= ---------- = C= Calcul des flux equivalents a des sources volumiques = C= = C= Parametres : (E)=Entree (S)=Sortie = C= ------------ = C= IPMODE (E) Pointeur sur le segment MMODEL de la structure = C= IPCHSO (E) Pointeur sur le segment MCHAML de sources donnees = C= en chaque element de la structure (champ variable) = C= IPCARA (E) Pointeur sur le segment MCHALM de CARACTERISTIQUES = C= dans le cas des COQues et des BARRes = C= IPFLUX (S) Pointeur sur le champ des flux nodaux equivalents = C= = C= Remarque : Le MODELE doit contenir exclusivement un seul type = C= ---------- d'elements, soit MASSIFs, soit COQUEs, soit BARREs. = C======================================================================= & IPFLUX) IMPLICIT INTEGER(I-N) IMPLICIT REAL*8 (A-H,O-Z) -INC PPARAM -INC CCOPTIO -INC SMMODEL -INC SMCHAML IPFLUX = 0 C 1 - CHANGEMENT DU SUPPORT DU MCHAML DE CARACTERISTIQUES S'IL EXISTE C ==== C Transport des points de Gauss aux noeuds si necessaire ? C On devrait plutot le faire sur ISUPSO ? C Mais comme pour l'instant on utilise IPCARA que pour des modeles ou C tout est calcule aux noeuds et ISUPSO = 1, cela va bien. IPCARB = IPCARA IF (IPCARA.NE.0) THEN IF (IERR.NE.0 .OR. iok.NE.0) THEN RETURN ENDIF ENDIF MMODEL = IPMODE NSOU = mmodel.KMODEL(/1) C 3 - CREATION DU MCHAML RESULTAT (GLOBAL) C ========================================== L1 = 18 N1 = NSOU N3 = 6 SEGINI,mchelm mchelm.IFOCHE = IFOUR mchelm.TITCHE = 'SOURCES.VOLUMIQUES' IPCHAL = mchelm C 4 - CALCUL DES FLUX EQUIVALENTS AUX SOURCES VOLUMIQUES C ======================================================== C 4.1 - Cas des elements MASSIFS (1D,2D,3D) C ===== IF (ITYPEF.EQ.1) THEN C ===== C 4.2 - Cas des elements de COQUE C ===== ELSE IF (ITYPEF.EQ.2) THEN C ===== C 4.3 - Cas des elements BARREs C ===== ELSE IF (ITYPEF.EQ.3) THEN ELSE RETURN ENDIF C 5 - DESACTIVATION DES OBJETS UTILISES C ======================================= C Compactage eventuel du champ RESULTAT : mchelm = IPCHAL N1 = 0 DO is = 1, NSOU IF (mchelm.IMACHE(is).NE.0) THEN N1 = N1 + 1 mchelm.CONCHE(N1) = mchelm.CONCHE(is) mchelm.IMACHE(N1) = mchelm.IMACHE(is) mchelm.ICHAML(N1) = mchelm.ICHAML(is) DO js = 1, N3 mchelm.INFCHE(N1,js) = mchelm.INFCHE(is,js) ENDDO ENDIF ENDDO IF (N1.NE.NSOU) THEN SEGADJ,mchelm ENDIF C En cas d'erreur : IF (IERR.NE.0) IPCHAL = 0 C Champ resultat (= 0 en cas d'erreur) IPFLUX = IPCHAL END
© Cast3M 2003 - Tous droits réservés.
Mentions légales