comdef
C COMDEF SOURCE OF166741 24/10/07 21:15:08 12016 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 C IECOU : POINTEUR SUR LE SEGMENT IECOU C XECOU : POINTEUR SUR LE SEGMENT XECOU C IPINF : POINTEUR SUR UN SEGMENT INFO 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 SMCHAML -INC SMELEME -INC SMCOORD -INC SMMODEL -INC CCHAMP -INC DECHE -INC CCREEL * SEGMENT INFO INTEGER INFELL(16) ENDSEGMENT C C Segment NECOU utilisé dans ECOINC C 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 C C Segment IECOU: sert de fourre-tout pour les initialisations C d'entiers C 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 C C Segment XECOU: sert de fourre-tout pour les initialisations C de reels C SEGMENT XECOU REAL*8 DTOPTI,TSOM,TCAR,DTT,DT,TREFA,TEMP00 ENDSEGMENT C C ================================================================= C wrk53 = iwrk53 imodel = iqmod MELEME = IMAMOD Nbnode = NUM(/1) Nbelmt = NUM(/2) C C ================================================================= C Initialisation du segment WRK53 : C Les variables NUCAR,NMATR,NCARF,NVART,NMATT et NCARR sont C renseignees par COMOU2 C ================================================================= 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 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 IF(IPINF.NE.0) THEN INFO=IPINF c* segact info MFR =INFELL(13) NBG =INFELL(6) NBGS =INFELL(4) NSTRS=INFELL(16) LRE =INFELL(9) LHOOK=INFELL(10) c* IF (MELE.EQ.96) NBNO = INFELL(8) IPORE=INFELL(8) MINTE=INFELL(11) ELSE 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) ENDIF 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 PRECIS = 1.d-10 C JNPLAS = INPLAS * * LOGVIS : vrai pour les matériaux visqueux, endommageables de * Lemaitre et Coulomb (inplas=jnplas = 34 ) 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 LUNI1=.FALSE. 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) LUNI1=.TRUE. IF ((MFR.EQ.3.OR.MFR.EQ.9).AND.IFOUR.EQ.2) LUNI2=.TRUE. ENDIF C C ================================================================= C Initialisation du segment XECOU C ================================================================= TSOM = 0.D0 TCAR = 0.D0 TREFA = 20. if (JNPLAS.EQ.43) TREFA=-1.E35 C C ================================================================= C Initialisation du segment IECOU C ================================================================= 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 NSOM=0 NINV=0 NINCMA=0 NCOMP=0 INAT=0 LTRAC=260 LW2bi=150 NBNNbi=Nbnode NBELMb=Nbelmt MFRbi =MFR NBGMAT = NBPTEL NELMAT = NEL C NDEF=NSTRS NSTRSS=NSTRS * cas milieux poreux IF(MFRbi.EQ.33.AND.(MATE.GE.1.AND.MATE.LE.4)) NSTRSS=NSTRS-1 C 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 KERR1=0 C NHRM=NIFOUR MELEMB=IMAMOD IF (JNPLAS.EQ.51) LENDO=260 C IF(MFRbi.EQ.7.OR.MFRbi.EQ.13.OR.LUNI1)THEN NBBB=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. * 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 C 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 * 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 ( INPLAS .EQ. 26 ) THEN PRECIS = 1.d-8 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 C C ================================================================= C Initialisation (si necessaire) du segment NECOU 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=MFR ELSE MFR1=MFR 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) IFOURB=-2 ENDIF NCOURB=0 IPLAST=0 IT=1 IMAPLA=1 ISOTRO=0 ITYP=0 C 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 C ENDIF C ================================================================= C RETURN END
© Cast3M 2003 - Tous droits réservés.
Mentions légales