fde23d
C FDE23D SOURCE OF166741 24/10/21 21:15:13 12042 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_______________________________________________________________________ IMPLICIT INTEGER(I-N) IMPLICIT REAL*8(A-H,O-Z) -INC PPARAM -INC CCOPTIO -INC CCGEOME -INC SMCHAML -INC SMELEME -INC SMINTE -INC SMCOORD SEGMENT WORK REAL*8 SHPXXX(6,NBBB), XE(3,NBPTEL) ENDSEGMENT MELVAL=IVAFOR MELVA1=IPTVPR NPT1 = MELVA1.VELCHE(/1) NEL1 = MELVA1.VELCHE(/2) MINTE=IPTINT NBPGAU=POIGAU(/1) MELEME = IPMAIL NBPTEL = NUM(/1) NEL = NUM(/2) NBBB = NBNNE(IELI) SEGINI,WORK C C BOUCLE SUR LES ELEMENTS C DO 1 IB=1,NEL IBMIN = MIN(IB,NEL1) 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 DO 20 I=1,NBPTEL 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 ,NPT1) 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,NBPTEL 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,NPT1) 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,WORK RETURN END
© Cast3M 2003 - Tous droits réservés.
Mentions légales