defcar
C DEFCAR SOURCE PV090527 24/04/04 21:15:10 11875 . WRK1) * ******************************************************** * ENTREES ******************************************************** * * NCARR : nombre de composantes des caractéristiques géométriques * ICARA : dimension de XCAR * IB : numéro de l'élément * IGAU : numéro du point de Gauss * MFR : formulation de l'élément * MELE : numéro de l'element fini * IVACAR : pointeur sur un segment mptval de caracteristiques geometrique * ******************************************************* * SORTIES ******************************************************* * * XCAR(ICARA) : caractéristiques géométriques (WRK1) * ******************************************************* * IMPLICIT INTEGER(I-N) IMPLICIT REAL*8(A-H,O-Z) * -INC PPARAM -INC CCOPTIO -INC SMCHAML -INC SMCOORD * SEGMENT MPTVAL INTEGER IPOS(NS) ,NSOF(NS) INTEGER IVAL(NCOSOU) CHARACTER*16 TYVAL(NCOSOU) ENDSEGMENT * SEGMENT WRK1 REAL*8 DDHOOK(LHOOK,LHOOK),SIG0(NSTRS),DEPST(NSTRS) REAL*8 SIGF(NSTRS),VAR0(NVARI),VARF(NVARI) REAL*8 DEFP(NSTRS),XCAR(ICARA) ENDSEGMENT * SEGMENT WRKTRA REAL*8 TTRAV(NTTRAV) ENDSEGMENT * ICARA=XCAR(/1) IF(IVACAR.NE.0)THEN MPTVAL=IVACAR * * cas des tuyaux * IF(MFR.EQ.13)THEN DO 2106 IC=1,5 MELVAL=IVAL(IC) IAUX=MELVAL IF(IAUX.NE.0)THEN IBMN=MIN(IB,VELCHE(/2)) IGMN=MIN(IGAU,VELCHE(/1)) XCAR(IC)=VELCHE(IGMN,IBMN) ELSE XCAR(IC)=0.D0 ENDIF 2106 continue DO 2107 IC=6,NCARR MELVAL=IVAL(IC) IAUX=MELVAL IF(IAUX.NE.0)THEN IBMN=MIN(IB,VELCHE(/2)) IGMN=MIN(IGAU,VELCHE(/1)) XCAR(IC)=VELCHE(IGMN,IBMN) ELSE XCAR(IC)=-1.D0 ENDIF 2107 continue C C Poutre 3D C ELSE IF(MFR.EQ.7.AND.IDIM.EQ.3)THEN DO 1107 IC=1,NCARR MELVAL=IVAL(IC) IAUX=MELVAL IF(IAUX.NE.0)THEN IBMN=MIN(IB,VELCHE(/2)) IGMN=MIN(IGAU,VELCHE(/1)) XCAR(IC)=VELCHE(IGMN,IBMN) ELSE XCAR(IC)=0.D0 ENDIF 1107 continue C distinction entre poutre bernouilli et poutre timo en ce qui C concerne le defaut pour les sections reduites de l'effort tranchant IF(MFR.EQ.7.AND.MELE.EQ.84)THEN SD=XCAR(4) SREDY=XCAR(5) SREDZ=XCAR(6) IF(SREDY.EQ.0) XCAR(5)=SD IF(SREDZ.EQ.0) XCAR(6)=SD ENDIF C C Poutre 2D C ELSEIF(IDIM.EQ.2)THEN DO 1106 IC=1,NCARR MELVAL=IVAL(IC) IAUX=MELVAL IF(IAUX.NE.0)THEN IBMN=MIN(IB,VELCHE(/2)) IGMN=MIN(IGAU,VELCHE(/1)) XCAR(IC)=VELCHE(IGMN,IBMN) ELSE * cas des coques minces : défaut de alfah IF(IC.EQ.2.AND.(MFR.EQ.3.OR.MFR.EQ.9)) THEN XCAR(IC)=0.66666666666666D0 ELSE XCAR(IC)=0.D0 ENDIF ENDIF 1106 continue C distinction entre poutre bernouilli et poutre timo en ce qui C concerne le defaut pour les sections reduites de l'effort tranchant SD=XCAR(1) if (ncarr.ge.3) then SREDY=XCAR(3) IF(SREDY.EQ.0) XCAR(3)=SD endif C ELSE DO 1110 IC=1,ICARA MELVAL=IVAL(IC) IAUX=MELVAL IF(IAUX.NE.0)THEN IBMN=MIN(IB,VELCHE(/2)) IGMN=MIN(IGAU,VELCHE(/1)) XCAR(IC)=VELCHE(IGMN,IBMN) ELSE * cas des coques minces : défaut de alfah IF (IC.EQ.2.AND.(MFR.EQ.3.OR.MFR.EQ.9)) THEN XCAR(IC)=0.66666666666666D0 ELSE XCAR(IC)=0.D0 ENDIF ENDIF 1110 continue ENDIF * * rearrangement du tableau xcar pour qu'on ait le meme ordre * que l'ancien chamelem * IF(MFR.EQ.7.AND.IDIM.EQ.3)THEN VX=XCAR(ICARA-5) VY=XCAR(ICARA-4) VZ=XCAR(ICARA-3) XCAR(ICARA-5)=XCAR(ICARA-2) XCAR(ICARA-4)=XCAR(ICARA-1) XCAR(ICARA-3)=XCAR(ICARA) XCAR(ICARA-2)=VX XCAR(ICARA-1)=VY XCAR(ICARA)=VZ * ELSE IF(MFR.EQ.13)THEN NTTRAV = 7 SEGINI WRKTRA DO 1111 IC=4,10 TTRAV(IC-3)=XCAR(IC) 1111 continue IF(IDIM.EQ.2)THEN XCAR(4)=XCAR(ICARA-1) XCAR(5)=XCAR(ICARA) DO 1112 IC=1,NTTRAV XCAR(IC+5)=TTRAV(IC) 1112 continue ELSE IF(IDIM.EQ.3)THEN XCAR(4)=XCAR(ICARA-2) XCAR(5)=XCAR(ICARA-1) XCAR(6)=XCAR(ICARA) DO 1113 IC=1,NTTRAV XCAR(IC+6)=TTRAV(IC) 1113 continue ENDIF SEGSUP WRKTRA ENDIF ENDIF RETURN END
© Cast3M 2003 - Tous droits réservés.
Mentions légales