comdef
C COMDEF SOURCE OF166741 25/11/04 21:15:33 12349 C C---------------------------------------------------------------------- C SUBROUTINE APPELEE PAR COML6 C C OBJECTIF : INITIALISER LES SEGMENTS WRK53, NECOU, IECOU ET XECOU C C ENTREES : C --------- C IWRK53 : POINTEUR SUR LE SEGMENT WRK53 C NECOU : POINTEUR SUR LE SEGMENT NECOU (INCLUDE TECOU) C IECOU : POINTEUR SUR LE SEGMENT IECOU (INCLUDE TECOU) C XECOU : POINTEUR SUR LE SEGMENT XECOU (INCLUDE TECOU) C ISUP : ENTIER INDIQUANT LE SUPPORT DES POINTS D'INTEGRATION C C SORTIES : C --------- C IPINT : POINTEUR SUR LE SEGMENT D'INTEGRATION MINTE C LES SEGMENTS WRK53, IECOU, NECOU ET XECOU INITIALISES C (EN PARTIE, COMOU2 COMPLETERA WRK53) C---------------------------------------------------------------------- IMPLICIT INTEGER(I-N) IMPLICIT REAL*8(A-H,O-Z) -INC PPARAM -INC CCOPTIO -INC CCGEOME -INC CCREEL -INC CCHAMP -INC SMCHAML -INC SMELEME -INC SMCOORD -INC SMMODEL -INC DECHE -INC TECOU wrk53 = iwrk53 imodel = iqmod MELEME = imodel.IMAMOD Nbnode = meleme.NUM(/1) Nbelmt = meleme.NUM(/2) C ================================================================= C Initialisation du segment WRK53 : C Les variables NUCAR,NMATR,NCARF,NVART,NMATT et NCARR sont C renseignees par COMOU2 C ================================================================= wrk53.KERRE=0 C C ISTEP : indicateur d'action pour calcul nonlocal C =0 dans le cas d'un calcul local (normal) C =1 ou 2 dans le cas d'un calcul nonlocal C =1 pour calcul des fonctions seuil uniquement C =2 pour calcul des variables dissipatives a partir C des fonctions seuil moyennees prealablement par nloc IF (ISTEP .GT. 2 .OR. ISTEP .LT. 0) THEN wrk53.KERRE=54 END IF C MATE = IMATEE INPLAS = INATUU MELE = NEFMOD IPMAIL = IMAMOD C C Coque integree ou pas ? NPINT=INFMOD(1) NBNN2 = Nbnode NBELEM2= Nbelmt NFOR = FORMOD(/2) NMAT = MATMOD(/2) CMATE = CMATEE CONM = CONMOD ITHHER = 0 JECHER = 0 LW = 200 LW2 = 150 C MFR =INFELE(13) NBG =INFELE(6) NBGS =INFELE(4) NSTRS=INFELE(16) LRE =INFELE(9) LHOOK=INFELE(10) c* IF (MELE.EQ.96) NBNO = INFELE(8) IPORE=INFELE(8) MINTE=INFMOD(2+isup) IPINT = MINTE C if (CMATEE.EQ.'IMPELAST'.and.inatuu.ne.161) LHOOK = 6 IF (MFR.EQ.3.AND.NPINT.NE.0) LHOOK=4 LHOO2=LHOOK*LHOOK C IF (MFR.EQ.33) THEN NBNO=IPORE ELSE ENDIF C C Actualise (coml6 bcle 100) pour les modeles non lineaires externes C Coordonnees du point d'integration courant COORGA(1)=0.0D0 COORGA(2)=0.0D0 COORGA(3)=0.0D0 C C Longueur caracteristique de l'element courant LCARAC=0.0D0 C NBPTEL=NBGS NEL=Nbelmt N2PTEL=0 N2EL=0 C C pour les variables internes seules IF (MFR.EQ.7.OR.MFR.EQ.13) THEN IF (CMATE.EQ.'SECTION ') THEN N2PTEL=NBPTEL N2EL=NEL ENDIF ENDIF C wrk53.PRECIS = 1.d-10 C JNPLAS = wrk53.INPLAS * * LOGVIS : vrai pour les matériaux visqueux, endommageables de * Lemaitre et Coulomb (inplas=jnplas = 34 ) wrk53.LOGVIS=.FALSE. * * ---> 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 .OR. c ajout Sellier f JNPLAS .EQ. 187 .OR. JNPLAS .EQ. 188 .OR. g JNPLAS .EQ. 189 .OR. JNPLAS .EQ. 190 .OR. h JNPLAS .EQ. 191 ) 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 C wrk53.LUNI1=.FALSE. wrk53.LUNI2=.FALSE. C C Le cas LUNI1 = VRAI correspond au materiau ACIER_UNI IF (JNPLAS.EQ.40) THEN IF (MFR.EQ.1.AND.IFOUR.LE.0) wrk53.LUNI1=.TRUE. IF ((MFR.EQ.3.OR.MFR.EQ.9).AND.IFOUR.EQ.2) wrk53.LUNI2=.TRUE. ENDIF C C ================================================================= C Initialisation du segment XECOU C ================================================================= xecou.TSOM = 0.D0 xecou.TCAR = 0.D0 xecou.TREFA = 20. if (JNPLAS.EQ.43) xecou.TREFA=-1.E35 C C ================================================================= C Initialisation du segment IECOU C ================================================================= iecou.NYOG=0 iecou.NYNU=0 iecou.NYALFA=0 iecou.NYSMAX=0 iecou.NYN=0 iecou.NYM=0 iecou.NYKK=0 iecou.NYALF1=0 iecou.NYBET1=0 iecou.NYR=0 iecou.NYA=0 iecou.NYRHO=0 iecou.NSIGY=0 iecou.NNKX=0 iecou.NYKX=0 iecou.IND=0 iecou.NSOM=0 iecou.NINV=0 iecou.NINCMA=0 iecou.NCOMP=0 iecou.INAT=0 iecou.LTRAC=260 iecou.LW2bi=150 iecou.NBNNbi=Nbnode iecou.NBELMb=Nbelmt iecou.MFRbi =MFR iecou.NBGMAT = NBPTEL iecou.NELMAT = NEL iecou.NDEF=NSTRS iecou.NSTRSS=NSTRS * cas milieux poreux IF (iecou.MFRbi.EQ.33.AND.(MATE.GE.1.AND.MATE.LE.4)) & iecou.NSTRSS = NSTRS-1 iecou.NYOG1=0 iecou.NYNU1=0 iecou.NYALFT1=0 iecou.NYSMAX1=0 iecou.NYN1=0 iecou.NYM1=0 iecou.NYKK1=0 iecou.NYALF2=0 iecou.NYBET2=0 iecou.NYR1=0 iecou.NYA1=0 iecou.NYQ1=0 iecou.NYRHO1=0 iecou.NSIGY1=0 iecou.KERR1=0 C iecou.NHRM=NIFOUR iecou.MELEMB=IMAMOD iecou.LENDO=0 IF (JNPLAS.EQ.51) iecou.LENDO=260 C IF (iecou.MFRbi.EQ.7.OR.iecou.MFRbi.EQ.13.OR.LUNI1) THEN iecou.NBBB=iecou.NBNNbi ENDIF C C 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. * iecou.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 iecou.MSOUPA = 200 wrk53.PRECIS = 5.d-7 ENDIF C Modeles de viscoplasticite 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 .OR. c sellier g JNPLAS .EQ. 187 .OR. JNPLAS .EQ. 188 .OR. h JNPLAS .EQ. 189 .OR. JNPLAS .EQ. 190 .OR. i JNPLAS .EQ. 191 ) THEN * iecou.IND = 1 * if (jnplas.eq.44.or.jnplas.eq.45) then iecou.MSOUPA = 2000 else IF (JNPLAS.EQ.107.OR.JNPLAS.EQ.108) THEN iecou.MSOUPA = 2000 else iecou.MSOUPA = 200 endif wrk53.PRECIS = 5.d-7 * ELSE IF ( JNPLAS .EQ. 130 ) THEN iecou.IND = 1 iecou.MSOUPA = 200 wrk53.PRECIS = 5.d-7 ELSE IF ( INPLAS .EQ. 26 ) THEN wrk53.PRECIS = 1.d-8 ELSE IF ( JNPLAS .EQ. 136 .OR. JNPLAS .EQ. 137 .OR. & JNPLAS .EQ. 138 .OR. JNPLAS .EQ. 139 ) THEN iecou.IND = 1 iecou.MSOUPA = 200 wrk53.PRECIS = 5.d-7 ENDIF * IF (JNPLAS.EQ.2.OR.JNPLAS.EQ.27) THEN wrk53.PRECIS = 1.d-10 ELSE IF ( JNPLAS .EQ. 15) THEN wrk53.PRECIS = 5.d-7 ELSE IF ( JNPLAS .EQ. 51) THEN wrk53.PRECIS = 1.d-4 ENDIF C ================================================================= C Initialisation (si necessaire) du segment NECOU C ================================================================= IF (jnplas.NE.2) THEN c IF (NPINT.NE.0.AND.MELE.EQ.28) THEN iecou.MFR1=1 IF (JNPLAS.EQ.66) iecou.MFR1=MFR necou.IFOURB=-2 ELSE iecou.MFR1=MFR necou.IFOURB=IFOUR ENDIF * * cas des coques minces * IF (MFR.EQ.3) THEN * en materiau unidirectionnel plastique, on met IFOURB a -2 IF (MATE.EQ.4.AND.JNPLAS.NE.0) necou.IFOURB=-2 ENDIF necou.NCOURB=0 necou.IPLAST=0 necou.IT=1 necou.IMAPLA=1 necou.ISOTRO=0 necou.ITYP=0 C correspondance ( mfrbi,ifour) et ityp faite dans ecoinc necou.IFLUAG=0 necou.ICINE=0 necou.ITHER=0 necou.IFLUPL=0 necou.ICYCL=0 necou.JFLUAG=0 iecou.JELEM =0 necou.LFLUAG=0 necou.IRELAX=0 necou.JNTRIN=0 necou.MFLUAG=0 necou.JGRDEF=0 C ENDIF C ================================================================= RETURN END
© Cast3M 2003 - Tous droits réservés.
Mentions légales