defini
C DEFINI SOURCE CB215821 24/04/12 21:15:35 11897 . ISTEP,INPLAS,NPINT,IPOTAB,IVADEF, . IPMAIL,IVAMAT, . ITHHER,NUMAT,NUCAR,LOGVIS, . LUNI1,LUNI2,LW,KERRE) * ******************************************* * ENTREES ******************************************* * * MELE : numéro élément fini * NCARR : nombre de composantes de caratéristiques géométriques * NSTRS : nombre de composantes de contrainte * NMATT : nombre de composantes de propriétés matériau * CMATE : nom du matériau * MATE : numero du materiau * ISTEP : indicateur d'action pour calcul nonlocal * =0 dans le cas d'un calcul local (normal) * =1 ou 2 dans le cas d'un calcul nonlocal * =1 pour calcul des fonctions seuil uniquement * =2 pour calcul des variables dissipatives a partir * des fonctions seuil moyennees prealablement par nloc * INPLAS : numéro de matériau inélastique * NPINT : nombre de points d'intégration * IPOTAB : pointeur sur segment table * IVADEF : pointeur sur un segment mptval de deformations * IPMAIL : pointeur du maillage * IVAMAT : pointeur sur un segment mptval de materiau * ITHHER : =0 si pas de chargement thermique * =1 si chargement thermique mais materiau constant * =2 si chargement thermique et mat. dependant de la temperature * NUMAT : nombre de composantes du melval de imat * NUCAR : nombre de composantes du melval de icar * ******************************************* * SORTIES ******************************************* * * LOGVIS : booléen pour les modèles visqueux et endommageables * de Lemaitre * LUNI1 : booléens pour le modèle ACIER_UNI * LUNI2 : ( INPLAS.EQ.40) * NUCAR : nombre de composantes du melval de icar ( entrée modifiée) * Les sorties sont passées par des communs (NECOU,IECOU,XECOU) * ****************************************** * IMPLICIT INTEGER(I-N) IMPLICIT REAL*8(A-H,O-Z) * -INC PPARAM -INC CCOPTIO -INC SMCHAML -INC SMELEME -INC SMCOORD -INC SMMODEL -INC SMINTE -INC CCHAMP -INC CECOU * SEGMENT MPTVAL INTEGER IPOS(NS) ,NSOF(NS) INTEGER IVAL(NCOSOU) CHARACTER*16 TYVAL(NCOSOU) ENDSEGMENT LOGICAL LUNI1,LUNI2 LOGICAL LOGVIS,LOGIN,LOGRE CHARACTER*72 CHARRE CHARACTER*8 CMATE * * * * LOGVIS est vrai pour les matériaux visqueux, endommageables de * Lemaitre et Coulomb (inplas = 34 ) * * ---> Viscoplastique et Fluage * LOGVIS=.FALSE. * IF ( INPLAS .EQ. 17 .OR. 2 ( INPLAS .GE. 19 .AND. INPLAS .LE. 25) .OR. 4 INPLAS .EQ. 61 .OR. INPLAS .EQ. 63 .OR. 4 INPLAS .EQ. 65 .OR. INPLAS .EQ. 53 .OR. 1 INPLAS .EQ. 29 .OR. INPLAS .EQ. 76 .OR. 2 INPLAS .EQ. 44 .OR. INPLAS .EQ. 45 .OR. 2 INPLAS .EQ. 70 .OR. INPLAS .EQ. 74 .OR. 9 INPLAS .EQ. 77 .OR. INPLAS .EQ. 82 .OR. 9 INPLAS .EQ. 84 .OR. INPLAS .EQ. 85 .OR. 9 INPLAS .EQ. 86 .OR. INPLAS .EQ. 94 .OR. 9 INPLAS .EQ. 95 .OR. INPLAS .EQ.100 .OR. 9 INPLAS .EQ. 101 .OR. INPLAS .EQ.102 .OR. 9 INPLAS .EQ. 141 .OR. INPLAS .EQ.143 9 ) THEN LOGVIS=.TRUE. ENDIF * * ---> PLastique endommageable de Lemaitre * IF (INPLAS.EQ.26) LOGVIS=.TRUE. * * ---> Plastique Coulomb * IF (INPLAS.EQ.34) LOGVIS=.TRUE. * ---> Modele VISCOHINTE IF (INPLAS.EQ.90) LOGVIS=.TRUE. * * * INITIALISATIONS * NYOG=0 NYNU=0 NYALFA=0 NYSMAX=0 NYN=0 NYM=0 NYKK=0 NYALF1=0 NYBET1=0 NYR=0 NYA=0 NYRHO=0 NSIGY=0 NNKX=0 NYKX=0 IND=0 * KERR1=0 * TEMP0=0.D0 * NHRM=NIFOUR MELEME=IPMAIL NBNN=NUM(/1) NBELEM=NUM(/2) ICARA=NCARR IF(MFR.EQ.7.OR.MFR.EQ.13)ICARA=NCARR+IDIM-1 LW=200 LW2=150 NDEF=NSTRS NSTRSS=NSTRS IF(MFR.EQ.33) NSTRSS=NSTRS-1 * LUNI1=.FALSE. LUNI2=.FALSE. * NCXMAT=NMATT IF(INPLAS.EQ.3)THEN NCXMAT=NMATT+7 END IF LTRAC=260 IF (INPLAS.EQ.51) LENDO=260 * * * le cas LUNI1 = VRAI correspond au materiau ACIER_UNI * IF(INPLAS.EQ.40)THEN IF (MFR.EQ.1.AND.IFOUR.LE.0)LUNI1=.TRUE. IF ((MFR.EQ.3.OR.MFR.EQ.9).AND.IFOUR.EQ.2)LUNI2=.TRUE. ENDIF C MPTVAL=IVAMAT NBGMAT = 0 NELMAT = 0 DO 1001 IM=1,NMATT IF(IVAL(IM).NE.0)THEN MELVAL=IVAL(IM) * am 11/4/97 pourquoi ne pas tester la taille des ielche a 0 ? IF(CMATE.EQ.'SECTION')THEN NBGMAT=MAX(NBGMAT,IELCHE(/1)) NELMAT=MAX(NELMAT,IELCHE(/2)) ELSE NBGMAT=MAX(NBGMAT,VELCHE(/1)) NELMAT=MAX(NELMAT,VELCHE(/2)) ENDIF ENDIF 1001 CONTINUE c * * test sur istep * IF (ISTEP .GT. 2 .OR. ISTEP .LT. 0) THEN KERRE=54 END IF * * test sur inplas pour recuperer eventuellement d'autres infos * * modeles de viscoplasticite on recupere le pas de temps dt en indice 'dt' * * on recupere le nombre max de sous pas en indice 'maxisouspas' * * et on met ind = 1 * IF ( INPLAS .EQ. 17 .OR. INPLAS .EQ. 19 .OR. 1 INPLAS .EQ. 20 .OR. INPLAS .EQ. 61 .OR. 1 INPLAS .EQ. 21 .OR. INPLAS .EQ. 65 .OR. 2 INPLAS .EQ. 22 .OR. INPLAS .EQ. 23 .OR. 3 INPLAS .EQ. 24 .OR. INPLAS .EQ. 70 .OR. 6 INPLAS .EQ. 25 .OR. INPLAS .EQ. 29 .OR. 8 INPLAS .EQ. 43 .OR. INPLAS .EQ. 44 .OR. 8 INPLAS .EQ. 45 .OR. INPLAS .EQ. 53 .OR. 7 INPLAS .EQ. 63 .OR. INPLAS .EQ. 66 .OR. 9 INPLAS .EQ. 74 .OR. INPLAS .EQ. 76 .OR. 9 INPLAS .EQ. 84 .OR. INPLAS .EQ. 85 .OR. 9 INPLAS .EQ. 86 .OR. INPLAS .EQ. 90 .OR. 9 INPLAS .EQ. 77 .OR. INPLAS .EQ. 82 .OR. & INPLAS .EQ. 94 .OR. INPLAS .EQ. 95 .OR. & INPLAS .EQ. 100 .OR. INPLAS .EQ. 101 .OR. & INPLAS .EQ. 102 .OR. INPLAS .EQ. 141) THEN * IF(IPOTAB.EQ.0.OR.IVADEF.EQ.0) THEN KERRE=999 RETURN ENDIF IF (INPLAS.NE.43) THEN IF (ITHHER.EQ.1.OR.ITHHER.EQ.2) THEN & 'TALPHA_REFERENCE',LOGIN,IOBIN, & 'FLOTTANT',IVALRE,TREFA,CHARRE,LOGRE,IOBRE) IF(IERR.NE.0)THEN KERRE=999 RETURN ENDIF ENDIF ENDIF IND = 1 & 'FLOTTANT',IVALRE,DT,CHARRE,LOGRE,IOBRE) IF(IERR.NE.0)THEN KERRE=999 RETURN END IF & LOGIN,IOBIN,'ENTIER ',MSOUPA,XVALRE,CHARRE,LOGRE,IOBRE) IF(IERR.NE.0) THEN KERRE=999 RETURN END IF * & IOBIN,'FLOTTANT',IVALRE,TEMP0,CHARRE,LOGRE,IOBRE) IF(IERR.NE.0)THEN KERRE=999 RETURN END IF ENDIF * * ---> PLastique endommageable de Lemaitre * IF ( INPLAS .EQ. 26 ) THEN * IF(IPOTAB.EQ.0.OR.IVADEF.EQ.0) THEN KERRE=999 RETURN ENDIF IF (ITHHER.EQ.1.OR.ITHHER.EQ.2) THEN & 'TALPHA_REFERENCE',LOGIN,IOBIN, & 'FLOTTANT',IVALRE,TREFA,CHARRE,LOGRE,IOBRE) IF(IERR.NE.0)THEN KERRE=999 RETURN ENDIF ENDIF ENDIF IF(MFR.EQ.7.OR.MFR.EQ.13.OR.LUNI1)THEN NBBB=NBNN ENDIF * DTOPTI = 1.D6*DT TSOM = 0.D0 NSOM = 0 NINV = 0 NINCMA = 0 TCAR = 0.D0 NCOMP = 0 DTT=DT * c c mise a 0 des variables du common necou si besoin c les bonnes valeurs sont attribuees selon les modeles c initialisations selon les cas c IF(INPLAS.NE.2)THEN * IF(NPINT.NE.0.AND.MELE.EQ.28) THEN IFOURB=-2 MFR1=1 IF(INPLAS.EQ.66) MFR1=MFR ELSE MFR1=MFR IFOURB=IFOUR ENDIF * * cas des coques minces * en materiau unidirectionnel plastique * on met IFOURB a -2 * IF(MATE.EQ.4.AND.INPLAS.NE.0.AND.MFR.EQ.3) THEN IFOURB=-2 ENDIF * NCOURB=0 IPLAST=0 IMAPLA=1 IT=1 ISOTRO=0 ITYP=0 * * correspondance ( mfr,ifour) et ityp faite dans ecoinc * IFLUAG=0 ICINE=0 ITHER=0 IFLUPL=0 ICYCL=0 IBI=0 JFLUAG=0 JELEM =0 LFLUAG=0 IRELAX=0 JNTRIN=0 MFLUAG=0 LEGAUS=0 JGRDEF=0 ENDIF * IF(MFR.EQ.15) NUCAR=NUCAR*2 NUMAT1=NUMAT * IF(INPLAS.EQ.26)THEN NNVARI=2 NUMAT=NUMAT+4 ENDIF IF (INPLAS.EQ.26.OR.INPLAS.EQ.29) THEN INAT=INPLAS ELSE INAT=0 ENDIF * RETURN END
© Cast3M 2003 - Tous droits réservés.
Mentions légales