defval
C DEFVAL SOURCE BP208322 17/03/01 21:17:00 9325 . IMAT,IVACAR,ICAR,IVASTR,IVARI,IVADEF,IVADET, . IVADS,MFR,CMATE,INPLAS,IB,IGAU,IND, . WTRAV,WRK1,WRK5,SECT,EPAIST) * ********************************************************* * ENTREES ********************************************************* * * NUMAT1 : dimension de VALMAT * NUCAR : dimension de VALCAR * NBPTEL : nombre de points de Gauss par éléments * NSTRS : nombre de composantes du tenseur des contraintes * NVARI : nombre de variables internes * NDEF : nombre de composantes du tenseur des deformations * IMAT : pointeur sur un segment mptval de materiau (utilise par calsig) * IVACAR : pointeur sur un segment mptval de cacarteristiques geometriques * ICAR : pointeur sur un segment mptval de caracteristiques * geometriques (utilise par calsig) * IVASTR : pointeur sur un segment mptval de contraintes * IVARI : pointeur sur un segment mptval de variables internes * IVADEF : pointeur sur un segment mptval de deformations * IVADET : pointeur sur un segment mptval de deformations * IVADS : pointeur sur un segment mptval de contraintes (increments) * MFR : formulation de l'élément * CMATE : nom du matériau * INPLAS : numéro de matériau inélastique * IB : numéro de l'élément * IGAUS : numéro du point de Gauss * IND : indice de prise en compte des déformations plastiques initiales * IND=1 : oui * IND=0 : non * ********************************************************************** * SORTIES ********************************************************************** * * VALMAT(NUMAT1) : champ de caratéristiques du matériau * VALCAR(NUCAR) : (WTRAV) * SIG0(NSTRS) : contraintes au début du pas (WRK1) * EPST0(NSTRS) : deformations au début du pas (WRK5) * VAR0(NVARI) : variables internes au début du pas (WRK1) * EPIN0(NVARI) : déformations inélastiques au début du pas * (éventuellement) (WRK5) * DEPST(NSTRS) : incrément de déformation totale (WRK1) * SECT : section de l'élément IB (éventuel) * EPAIST : épaisseur et excentrement ( éventuel) * *********************************************************************** * IMPLICIT INTEGER(I-N) IMPLICIT REAL*8(A-H,O-Z) * -INC PPARAM -INC CCOPTIO -INC SMCHAML * SEGMENT MPTVAL INTEGER IPOS(NS) ,NSOF(NS) INTEGER IVAL(NCOSOU) CHARACTER*16 TYVAL(NCOSOU) ENDSEGMENT * CHARACTER*8 CMATE * 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 WRK5 REAL*8 EPIN0(NSTRS),EPINF(NSTRS),EPST0(NSTRS) ENDSEGMENT * SEGMENT WTRAV REAL*8 DDAUX(LHOOK,LHOOK),VALMAT(NUMAT) REAL*8 VALCAR(NUCAR),DSIGT(NSTRS) REAL*8 TXR(IDIM,IDIM),DDHOMU(LHOOK,LHOOK) REAL*8 XLOC(3,3),XGLOB(3,3) REAL*8 D1HOOK(LHOOK,LHOOK),ROTHOO(LHOOK,LHOOK) ENDSEGMENT * * recuperation de valmat et de valcar * NUCAR=VALCAR(/1) NSTRS=SIG0(/1) NVARI=VAR0(/1) * MPTVAL=IMAT DO 1005 IM=1,NUMAT1 IF (IVAL(IM).NE.0) THEN MELVAL=IVAL(IM) IF(VELCHE(/1)+VELCHE(/2).NE.0) THEN IBMN=MIN(IB ,VELCHE(/2)) IGMN=MIN(IGAU,VELCHE(/1)) VALMAT(IM)=VELCHE(IGMN,IBMN) ELSE IF(IELCHE(/1)+IELCHE(/2).NE.0) THEN IBMN=MIN(IB ,IELCHE(/2)) IGMN=MIN(IGAU,IELCHE(/1)) VALMAT(IM)=DBLE(IELCHE(IGMN,IBMN)) ELSE VALMAT(IM)=0.D0 ENDIF ELSE VALMAT(IM)=0.D0 ENDIF 1005 CONTINUE ** valmat est dimensionnee a 4 dans le cas test endoaxi1 ** et n'est jamais utilise au dessus * IF(INPLAS.EQ.26) THEN * VALMAT(7)=VALMAT(3) * DO 1006 ICOMP=3,6 * VALMAT(ICOMP)=0.D0 *1006 CONTINUE * ENDIF * IF ((MFR.EQ.7.OR.MFR.EQ.13.OR.MFR.EQ.15.OR.MFR.EQ.17).AND. 1 CMATE.NE.'SECTION') THEN * IF (MFR.EQ.15) THEN NUCAR=NUCAR/2 IE=1 DO 1007 IC=1,3,2 MPTVAL=IVACAR DO 1007 ICOMP=1,NUCAR MELVAL=IVAL(ICOMP) IAUX=MELVAL IF (IAUX.NE.0) THEN IGMN=MIN(IC,VELCHE(/1)) IBMN=MIN(IB,VELCHE(/2)) VALCAR(IE)=VELCHE(IGMN,IBMN) ELSE VALCAR(IE)=0.D0 ENDIF IE=IE+1 1007 CONTINUE * ELSE DO 1010 ICOMP=1,NUCAR MPTVAL=ICAR MELVAL=IVAL(ICOMP) IAUX=MELVAL VALCAR(ICOMP)=0.D0 DO 1008 IAUX1=1,NBPTEL IF (IAUX.NE.0) THEN IBMN=MIN(IB ,VELCHE(/2)) IGMN=MIN(IAUX1,VELCHE(/1)) VALCAR(ICOMP)=VALCAR(ICOMP)+VELCHE(IBMN,IGMN) ENDIF IF(IAUX1.EQ.NBPTEL) VALCAR(ICOMP)=VALCAR(ICOMP)/NBPTEL 1008 CONTINUE 1010 CONTINUE ENDIF ENDIF * * on recupere les contraintes initiales * MPTVAL=IVASTR DO 1101 IC=1,NSTRS MELVAL=IVAL(IC) IBMN=MIN(IB,VELCHE(/2)) IGMN=MIN(IGAU,VELCHE(/1)) SIG0(IC)=VELCHE(IGMN,IBMN) 1101 continue * * on recupere les variables internes * MPTVAL=IVARI DO IC=1,NVARI MELVAL=IVAL(IC) IF(IELCHE(/1)+IELCHE(/2).NE.0) THEN IBMN=MIN(IB,IELCHE(/2)) IGMN=MIN(IGAU,IELCHE(/1)) VAR0(IC)=DBLE(IELCHE(IGMN,IBMN)) ELSE IF(VELCHE(/1)+VELCHE(/2).NE.0) THEN IBMN=MIN(IB,VELCHE(/2)) IGMN=MIN(IGAU,VELCHE(/1)) VAR0(IC)=VELCHE(IGMN,IBMN) ENDIF END DO * * on recupere les deformations inelastiques initiales si besoin * IF(IND.EQ.1.OR.INPLAS.EQ.31.OR.INPLAS.EQ.30 . .OR.INPLAS.EQ.34.OR.INPLAS.EQ.37 . .OR.INPLAS.EQ.47.OR.INPLAS.EQ.66 . .OR.INPLAS.EQ.75.OR.INPLAS.EQ.118 . .OR.INPLAS.EQ.141) THEN MPTVAL=IVADEF DO 1103 IC=1,NDEF MELVAL=IVAL(IC) IBMN=MIN(IB,VELCHE(/2)) IGMN=MIN(IGAU,VELCHE(/1)) EPIN0(IC)=VELCHE(IGMN,IBMN) 1103 continue ENDIF * * on recupere les deformations totales si besoin * IF(MFR.EQ.33) THEN MPTVAL=IVADET DO 1104 IC=1,NDEF MELVAL=IVAL(IC) IBMN=MIN(IB,VELCHE(/2)) IGMN=MIN(IGAU,VELCHE(/1)) EPST0(IC)=VELCHE(IGMN,IBMN) 1104 continue ENDIF * * on recupere les increments de deformations totales * MPTVAL=IVADS DO 1105 IC=1,NSTRS MELVAL=IVAL(IC) IBMN=MIN(IB,VELCHE(/2)) IGMN=MIN(IGAU,VELCHE(/1)) DEPST(IC)=VELCHE(IGMN,IBMN) 1105 continue * IF(MFR.EQ.27.OR.MFR.EQ.49) THEN * * on cherche la section de l'element ib * MPTVAL=ICAR MELVAL=IVAL(1) IAUX=MELVAL IF (IAUX.NE.0) THEN IBMN=MIN(IB ,VELCHE(/2)) IGMN=MIN(IGAU,VELCHE(/1)) SECT=VELCHE(IGMN,IBMN) ELSE SECT=0.D0 ENDIF ENDIF * * prise en compte de l'epaisseur et de l'excentrement * dans le cas des coques minces avec ou sans cisaillement * transverse * IF ((CMATE.EQ.'ISOTROPE'.OR.CMATE.EQ.'ORTHOTRO'. 1 OR.CMATE.EQ.'UNIDIREC').AND. 2 (MFR.EQ.3.OR.MFR.EQ.9)) THEN MPTVAL=ICAR MELVAL=IVAL(1) IAUX=MELVAL IF (IAUX.NE.0) THEN IBMN=MIN(IB ,VELCHE(/2)) IGMN=MIN(IGAU,VELCHE(/1)) EPAIST=VELCHE(IGMN,IBMN) ELSE EPAIST=0.D0 ENDIF ENDIF * RETURN END
© Cast3M 2003 - Tous droits réservés.
Mentions légales