fde23d
C FDE23D SOURCE BP208322 16/11/18 21:17:02 9177 C_______________________________________________________________________ C C CALCULE LES FORCES DE DEBITS SUR LES FACES D ELEMENTS C MASSIFS ( INSPIRE DE FPMA2D ET FPMA3D ) C C ENTREES : C --------- C C IPTVPR POINTEUR SUR UN MELVAL CONTENANT LES PRESSIONS APPLIQUEES C IPMAIL POINTEUR SUR UN OBJET GEOMETRIQUE C IPTINT POINTEUR SUR UN MINTE CONTENANT LES POINTS D INTEGRATION C IVAFOR POINTEUR SUR UN MPTVAL ET LES MELVAL CONTENANT LES FORCES C NODALES RESUL C IELI NUMERO DU TYPE D'E.F. LINEAIRE ASSOCIE C C Passage aux nouveaux CHAMELEM par JM CAMPENON le 06/91 C_______________________________________________________________________ C IMPLICIT INTEGER(I-N) IMPLICIT REAL*8(A-H,O-Z) C -INC SMCHAML -INC SMELEME -INC SMINTE -INC SMCOORD -INC PPARAM -INC CCOPTIO -INC CCGEOME C SEGMENT SHXX REAL*8 SHPXXX(6,NBBB) ENDSEGMENT C SEGMENT WORK REAL*8 XE(3,NBPTE1) ENDSEGMENT C MELVAL=IVAFOR C MELVA1=IPTVPR SEGACT MELVA1 NBPTE1=MELVA1.VELCHE(/1) NEL1 =MELVA1.VELCHE(/2) C MINTE=IPTINT SEGACT MINTE NBPGAU=POIGAU(/1) C MELEME=IPMAIL SEGACT MELEME NBPTE1=NUM(/1) NEL =NUM(/2) NBBB=NBNNE(IELI) C NBPTEL=NBBB SEGINI SHXX SEGINI WORK C C BOUCLE SUR LES ELEMENTS C DO 1 IB=1,NEL C C BOUCLE SUR LES POINTS DE GAUSS C IF(IDIM.EQ.3) THEN C C CAS TRIDIM C DO 10 K=1,NBPGAU DXDQSI=0.D0 DXDETA=0.D0 DYDQSI=0.D0 DYDETA=0.D0 C C BOUCLE SUR TOUS LES NOEUDS C DO 20 I=1,NBPTE1 DXDQSI=DXDQSI+SHPTOT(2,I,K)*XE(1,I) DYDQSI=DYDQSI+SHPTOT(2,I,K)*XE(2,I) DXDETA=DXDETA+SHPTOT(3,I,K)*XE(1,I) DYDETA=DYDETA+SHPTOT(3,I,K)*XE(2,I) 20 CONTINUE DJAC=DXDQSI*DYDETA-DXDETA*DYDQSI C KMIN =MIN(K,NBPTE1) IBMIN=MIN(IB,NEL1) TJ=POIGAU(K)*MELVA1.VELCHE(KMIN,IBMIN)*DJAC C C ON RECUPERE LES FONCTIONS DE FORME LINEAIRES C XX=QSIGAU(K) YY=ETAGAU(K) ZZ=DZEGAU(K) CALL SHAPE(XX,YY,ZZ,IELI,SHPXXX,IRT2) C C BOUCLE SUR LES SOMMETS UNIQUEMENT C DO 30 J=1,NBBB VELCHE(J,IB)=VELCHE(J,IB)+SHPXXX(1,J)*TJ 30 CONTINUE 10 CONTINUE ELSE IF (IDIM.EQ.2) THEN C C CAS BIDIM C DO 110 K=1,NBPGAU DXDQSI=0.D0 DYDQSI=0.D0 R=0.D0 C C BOUCLE SUR TOUS LES NOEUDS C DO 120 I=1,NBPTE1 DXDQSI=DXDQSI+SHPTOT(2,I,K)*XE(1,I) DYDQSI=DYDQSI+SHPTOT(2,I,K)*XE(2,I) R=R+SHPTOT(1,I,K)*XE(1,I) 120 CONTINUE IF (IFOUR.LT.0) R=1.D0 DJAC=SQRT(DXDQSI*DXDQSI+DYDQSI*DYDQSI) KMIN=MIN(K,NBPTE1) IBMIN=MIN(IB,NEL1) TJ=POIGAU(K)*MELVA1.VELCHE(KMIN,IBMIN)*R*DJAC C C ON RECUPERE LES FONCTIONS DE FORME LINEAIRES C XX=QSIGAU(K) YY=ETAGAU(K) ZZ=0. CALL SHAPE(XX,YY,ZZ,IELI,SHPXXX,IRT2) C C BOUCLE SUR LES SOMMETS UNIQUEMENT C DO 130 J=1,NBBB VELCHE(J,IB)=VELCHE(J,IB)+SHPXXX(1,J)*TJ 130 CONTINUE C 110 CONTINUE ENDIF C 1 CONTINUE SEGSUP SHXX SEGSUP WORK SEGDES MELVA1,MELEME,MINTE SEGDES MELVAL RETURN END
© Cast3M 2003 - Tous droits réservés.
Mentions légales