C COMDEF SOURCE PV 19/08/20 21:15:58 10288 * renseigne en partie les COMMON ******************************************* * 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 * IPMAIL : pointeur du maillage * NUMAT : nombre de composantes materiau * ******************************************* * 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) * Les sorties sont passées par des communs (NECOU,IECOU,XECOU) * ****************************************** * IMPLICIT INTEGER(I-N) IMPLICIT REAL*8(A-H,O-Z) * -INC CCOPTIO -INC SMCHAML -INC SMELEME -INC SMCOORD -INC CCHAMP -INC DECHE -INC CCREEL * * Segment NECOU utilisé dans ECOINC * SEGMENT NECOU INTEGER NCOURB,IPLAST,IT,IMAPLA,ISOTRO, . ITYP,IFOURB,IFLUAG, . ICINE,ITHER,IFLUPL,ICYCL,IBI, . JFLUAG,KFLUAG,LFLUAG, . IRELAX,JNTRIN,MFLUAG,JSOUFL,JGRDEF ENDSEGMENT * * Segment IECOU: sert de fourre-tout pour les initialisations * d'entiers * SEGMENT IECOU INTEGER NYOG,NYNU,NYALFA,NYSMAX,NYN,NYM,NYKK,NYALF1, . NYBET1,NYR,NYA,NYRHO,NSIGY,NNKX,NYKX,IND,NSOM,NINV, . NINCMA,NCOMP,JELEM,LEGAUS,INAT,NCXMAT,LTRAC,MFRBI, . IELE,NHRM,NBNNBI,NBELMB,ICARA,LW2BI,NDEF,NSTRSS, . MFR1,NBGMAT,NELMAT,MSOUPA,NUMAT1,LENDO,NBBB,NNVARI, . KERR1,MELEMB,NYOG1,NYNU1,NYALFT1,NYSMAX1,NYN1,NYM1, . NYKK1,NYALF2,NYBET2,NYR1,NYA1,NYQ1,NYRHO1,NSIGY1 ENDSEGMENT * * Segment XECOU: sert de fourre-tout pour les initialisations * de réels * SEGMENT XECOU REAL*8 DTOPTI,TSOM,TCAR,DTT,DT,TREFA,TEMP00 ENDSEGMENT * wrk53 = iwrk53 * c* On utilise JNPLAS (locale) en lieu et place de INPLAS (segment) c* tout au long du present sousprogramme jnplas = INPLAS * * mecanique * LOGVIS=.FALSE. * * LOGVIS est vrai pour les matériaux visqueux, endommageables de * Lemaitre et Coulomb (inplas=jnplas = 34 ) * * ---> Viscoplastique et Fluage * IF (JNPLAS.EQ. 17 .OR. JNPLAS.EQ. 19 .OR. 2 JNPLAS.EQ. 20 .OR. JNPLAS.EQ. 21 .OR. JNPLAS .EQ. 22 .OR. 2 JNPLAS.EQ. 23 .OR. JNPLAS.EQ. 24 .OR. JNPLAS .EQ. 25 .OR. 3 JNPLAS .EQ. 61 .OR.JNPLAS .EQ. 63 .OR. 4 JNPLAS .EQ. 65 .OR.JNPLAS .EQ. 53 .OR.JNPLAS .EQ. 29 .OR. 5 JNPLAS .EQ. 44 .OR. JNPLAS .EQ. 45 .OR. 6 JNPLAS .EQ. 70 .OR. JNPLAS .EQ. 74 .OR. 7 JNPLAS .EQ. 76 .OR.JNPLAS .EQ. 77 .OR. JNPLAS.EQ.82 .OR. 8 JNPLAS .EQ. 84 .OR. JNPLAS.EQ.85 .OR.JNPLAS .EQ. 86 .OR. 9 JNPLAS .EQ. 106 .OR. JNPLAS .EQ. 102 .OR. a JNPLAS .EQ. 107 .OR. JNPLAS .EQ. 108 .OR. b JNPLAS .EQ. 134 .OR. JNPLAS .EQ. 135 .OR. c JNPLAS .EQ. 136 .OR. JNPLAS .EQ. 137 .OR. d JNPLAS .EQ. 142 .OR. JNPLAS .EQ. 146 .OR. e JNPLAS .EQ. 153 .OR. JNPLAS .EQ. 154 ) THEN LOGVIS=.TRUE. * * ---> PLastique endommageable de Lemaitre * ELSE IF (JNPLAS.EQ.26 .OR. JNPLAS .EQ. 130 ) THEN LOGVIS=.TRUE. * * ---> Plastique Coulomb * ELSE IF (JNPLAS.EQ.34) THEN LOGVIS=.TRUE. * ENDIF * LUNI1=.FALSE. LUNI2=.FALSE. * * le cas LUNI1 = VRAI correspond au materiau ACIER_UNI IF(JNPLAS.EQ.40)THEN IF (MFRbi.EQ.1.AND.IFOUR.LE.0)LUNI1=.TRUE. IF ((MFRbi.EQ.3.OR.MFRbi.EQ.9).AND.IFOUR.EQ.2)LUNI2=.TRUE. ENDIF * * 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 NYOG1=0 NYNU1=0 NYALFT1=0 NYSMAX1=0 NYN1=0 NYM1=0 NYKK1=0 NYALF2=0 NYBET2=0 NYR1=0 NYA1=0 NYQ1=0 NYRHO1=0 NSIGY1=0 * JECHER=0 * ITHHER = 0 KERR1=0 TREFA = 20. if (jnplas.eq.43) TREFA=-1.E35 * c MFRbi =NUMMFR(MELE) NHRM=NIFOUR MELEME=IPMAIL melemb=meleme c NBNNbi=NUM(/1) c NBELMb=NUM(/2) ICARA=NCARR IF(MFRbi.EQ.7.OR.MFRbi.EQ.13)ICARA=NCARR+IDIM c LW=200 c LW2bi=150 NDEF=NSTRS NSTRSS=NSTRS * * cas milieux poreux IF(MFRbi.EQ.33.AND.MATE.EQ.1) NSTRSS=NSTRS-1 * NCXMAT=NMATT IF(JNPLAS.EQ.3)THEN NCXMAT=NMATT+7 END IF LTRAC=260 IF (JNPLAS.EQ.51) LENDO=260 * * test sur istep * IF (ISTEP .GT. 2 .OR. ISTEP .LT. 0) THEN KERRE=54 END IF * PRECIS = 1.d-10 * test sur jnplas=inplas pour recuperer eventuellement d'autres infos * * modeles non lineaires externes * IF (JNPLAS.LT.0) THEN * * Convention : tous les modeles externes doivent sortir les * deformations inelastiques CUMULEES, et non les increments. * Convention sans incidence sur 'NON_LINEAIRE' 'UTILISATEUR' car * l'integrateur externe generique UMAT n'a pas de sortie prevue * pour les deformations inelastiques. * IND = 1 * * Modeles 'VISCO_EXTERNE' : integres par CCREEP * On adopte les parametres par defaut des modeles viscoplastiques * (cf. ci-dessous) * IF (JNPLAS.EQ.-2) THEN MSOUPA = 200 PRECIS = 5.d-7 ENDIF * * modeles de viscoplasticite * * le nombre max de sous pas * * et on met ind = 1 * ELSE IF (JNPLAS.EQ. 17 .OR. JNPLAS.EQ. 19 .OR. JNPLAS.EQ. 21 .OR. 2 JNPLAS .EQ. 20 .OR. JNPLAS .EQ. 61 .OR.JNPLAS .EQ. 65 .OR. 4 JNPLAS .EQ. 22 .OR. JNPLAS .EQ. 23 .OR.JNPLAS .EQ. 24 .OR. 6 JNPLAS .EQ. 25 .OR. JNPLAS .EQ. 29 .OR.JNPLAS .EQ. 70 .OR. 7 JNPLAS .EQ. 43 .OR. JNPLAS .EQ. 44 .OR.JNPLAS .EQ. 63 .OR. 8 JNPLAS .EQ. 45 .OR. JNPLAS .EQ. 53 .OR.JNPLAS .EQ. 66 .OR. a JNPLAS .EQ. 74 .OR. JNPLAS .EQ. 76 .OR.JNPLAS .EQ. 84 .OR. b JNPLAS .EQ. 77 .OR. JNPLAS .EQ. 82 .OR.JNPLAS .EQ. 85 .OR. d JNPLAS .EQ. 86 .OR. JNPLAS .EQ. 102 .OR.JNPLAS .EQ. 108 .OR. e JNPLAS .EQ. 106 .OR. JNPLAS .EQ. 107 .OR.JNPLAS .EQ. 142 .OR. f JNPLAS .EQ. 153 .OR. JNPLAS .EQ. 154) THEN * IND = 1 * if (jnplas.eq.44.or.jnplas.eq.45) then MSOUPA = 2000 else IF (JNPLAS.EQ.107.OR.JNPLAS.EQ.108) THEN MSOUPA = 2000 else MSOUPA = 200 endif PRECIS = 5.d-7 * ELSE IF ( JNPLAS .EQ. 130 ) THEN IND = 1 MSOUPA = 200 PRECIS = 5.d-7 ELSE IF ( JNPLAS .EQ. 136 .OR. JNPLAS .EQ. 137 .OR. 2 JNPLAS .EQ. 138 .OR. JNPLAS .EQ. 139 ) THEN IND = 1 MSOUPA = 200 PRECIS = 5.d-7 ENDIF * IF (JNPLAS.EQ.2.OR.JNPLAS.EQ.27) THEN PRECIS = 1.d-10 ELSE IF ( JNPLAS .EQ. 15) THEN PRECIS = 5.d-7 ELSE IF ( JNPLAS .EQ. 51) THEN PRECIS = 1.d-4 ENDIF IF(MFRbi.EQ.7.OR.MFRbi.EQ.13.OR.LUNI1)THEN NBBB=NBNNbi ENDIF * TSOM = 0.D0 NSOM = 0 NINV = 0 NINCMA = 0 TCAR = 0.D0 NCOMP = 0 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 (jnplas.NE.2) THEN c IF(NPINT.NE.0.AND.MELE.EQ.28) THEN IFOURB=-2 MFR1=1 IF(JNPLAS.EQ.66) MFR1=MFRbi ELSE MFR1=MFRbi IFOURB=IFOUR ENDIF * * cas des coques minces * IF (MFRbi.EQ.3) THEN * en materiau unidirectionnel plastique, on met IFOURB a -2 IF (MATE.EQ.4.AND.JNPLAS.NE.0) IFOURB=-2 ENDIF * NCOURB=0 IPLAST=0 IMAPLA=1 IT=1 ISOTRO=0 ITYP=0 * * correspondance ( mfrbi,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 * NUMAT1=NUMAT IF(JNPLAS.EQ.26)THEN INAT=JNPLAS NNVARI=2 NUMAT=NUMAT+4 ELSE IF (JNPLAS.EQ.29.OR.JNPLAS.EQ.142) THEN INAT=JNPLAS ELSE INAT=0 ENDIF * RETURN END
© Cast3M 2003 - Tous droits réservés.
Mentions légales