ccotr3
C CCOTR3 SOURCE PV 17/12/08 21:15:27 9660 1 IFOU,IB,IGAU,NBGMAT,iecou) C COTRA3 SOURCE AM1 95/03/16 21:18:49 1567 c SUBROUTINE COTRA3(KERRE,NSTRS,CMATE,WTRAV,N2EL,N2PTEL, c 1 MFR,IFOU,IB,IGAU,EPAIST,MELE,NPINT,NBGMAT, c 2 NBPGAU,NELMAT,SECT,LHOOK,CRIGI,NMATT,WRK0,WRK1) C IMPLICIT INTEGER(I-N) IMPLICIT REAL*8(A-H,O-Z) C -INC PPARAM -INC CCOPTIO -INC SMEVOLL -INC SMLREEL -INC SMCOORD -INC DECHE ****************************************************************** * RECUPERATION DES LOIS DE COMPORTEMENT POUR * * LES ELEMENTS GLOBAUX * ****************************************************************** * ENTREES : * WRK0 SEGMENT DE TRAVAIL CONTENANT LES CARACTERISTIQUES * MATERIAUX * WRK1 SEGMENT DE TRAVAIL CONTENANT LES EFFORTS, LES DEPLACEMENTS * ET LA MATRICE DE HOOK * NMATT =NOMBRE DE COMPOSANTES DE PROPRIETES DE MATERIAU * WTRAV SEGMENT DE TRAVAIL CONTENANT LES TABLEAUX UTILISES POUR * LE CALCUL DE LA MATRICE DE HOOKE ELASTIQUE (SS-PROGRAMME CALSIG) * * N2EL = NBRE D ELEMENTS DANS SEGMENT DE HOOKE * N2PTEL= NBRE DE POINTS DANS SEGMENT DE HOOKE * MFR1 = NUMERO DE LA FORMULATION * IFOU = OPTION DE CALCUL * IB = NUMERO DE L ELEMENT COURANT * IGAU = NUMERO DU POINT COURANT * EPAIST= EPAISSEUR * NBPGAU= NBRE DE POINTS DE GAUSS * MELE = NUMERO DE L ELEMENT FINI * NPINT = NBRE DE POINTS D INTEGRATION * NBGMAT= NBRE DE POINTS DANS SEGMENT DE CARACTERISTIQUES * NELMAT= NBRE D ELEMENTS DANS SEGMENT DE CARACTERISTIQUES * SECT = SECTION * LHOOK = TAILLE DE LA MATRICE DE HOOKE * * SORTIES : * KERRE INDICATEUR D'ERREUR * * VARIABLES INTERNES CREES * INDLEG CODAGE DES LOIS CONTENUES DANS L'ELEMENT GLOBAL * WRKGL SEGMENT CONTENANT LES LOIS DE COMPORTEMENT RETENUES * (3 AU MAXIMUM) * IPWRKGL SEGMENTS DE POINTEURS SUR LES LOIS DE COMPORTEMENT * ***************************************************************** * * SEGMENT IECOU * COMMON/IECOU/NYOG,NYNU,NYALFA,NYSMAX,NYN,NYM,NYKK, INTEGER icow1,icow2,icow3,icow4,icow5,icow6,icow7, C INTEGER NYOG, NYNU, NYALFA,NYSMAX,NYN, NYM, NYKK, 1 icow8,icow9,icow10,icow11,icow12,icow13,icow14,icow15,icow16, C . NYALF1,NYBET1,NYR, NYA, NYRHO,NSIGY, NNKX, NYKX, IND, 2 icow17,icow18,icow19,icow20,icow21,icow22,icow23,icow24, C . NSOM, NINV, NINCMA,NCOMP, JELEM, LEGAUS,INAT, NCXMAT, 3 icow25,icow26,icow27,icow28,icow29,icow30,icow31, C . LTRAC, MFR, IELE, NHRM, NBNN, NBELEM,ICARA, 4 icow32,icow33,NSTRS1,MFR1 ,NBGMAT,NELMAT,icow38, C . LW2, NDEF, NSTRSS,MFR1, NBGMAT,NELMAT,MSOUPA, 5 icow39,icow40,icow41,icow42,icow43,icow44 C . NUMAT1,LENDO, NBBB, NNVARI,KERR1, MELEME INTEGER icow45,icow46,icow47,icow48,icow49,icow50, . icow51,icow52,icow53,icow54,icow55,icow56 . icow57,icow58 ENDSEGMENT SEGMENT WRKGL REAL*8 TLOICO(NBLOI) ENDSEGMENT * SEGMENT IPWRKGL POINTEUR IPOL(3).WRKGL ENDSEGMENT * * SEGINI IPWRKGL * * QUELQUES INITIALISATIONS A 0 * KERRE=0 INDLEG = 0 NRLEGI = 0 * * RECUPERATION DES LOIS * *+DC IDECAL = 1 * DO 50 IJ = 1,5 IF(IJ.EQ.1)IJOJO = 7+IDECAL IF(IJ.EQ.2)IJOJO = 8+IDECAL IF(IJ.EQ.3)IJOJO = 9+IDECAL IF(IJ.EQ.4)IJOJO = 3 IF(IJ.EQ.5)IJOJO = 4 * * RECHERCHE DES POINTEURS NON NULS DE XMAT * IBOU = nint(XMAT(IJOJO)) IF(IBOU.EQ.0) GO TO 50 * * CODAGE DES TYPES DE LOIS RENTREES * IF(IJ.EQ.1) INDLEG = 1 * IF(IJ.EQ.2) INDLEG = INDLEG + 10 * IF(IJ.EQ.3)THEN IF(INDLEG.LT.10)THEN INDLEG = INDLEG + 20 ELSE MOTERR(5:12) = 'FLXYFLXZ' KERRE = 57 END IF END IF * IF(IJ.EQ.4) INDLEG = INDLEG + 100 * IF(IJ.EQ.5)THEN IF(INDLEG.LT.100)THEN INDLEG = INDLEG + 200 ELSE MOTERR(5:12) = 'CISYCISZ' KERRE = 57 END IF END IF * *RECUPERATION DES EVOLUTIONS RENTREES DANS MATE * MEVOLL=nint(XMAT(IJOJO)) IF(MEVOLL.NE.0) THEN SEGACT MEVOLL JOJO = IEVOLL(/1) * IF(JOJO.NE.1)THEN KERRE=31 WRITE(*,*) ' KERRE=31' SEGDES MEVOLL SEGSUP IPWRKGL RETURN END IF * KEVOLL=IEVOLL(1) SEGACT KEVOLL MLREEL=IPROGX MLREE1=IPROGY SEGDES KEVOLL SEGACT MLREEL,MLREE1 * * TEST SUR LA TAILLE DES LOIS RENTREES * IF(NBPOIX.NE.NBPOIY) KERRE=58 IF (IJ.EQ.1)THEN IF((NBPOIX.NE.4).and.(nbpoix.ne.6))KERRE=58 ELSE IF((NBPOIX.NE.5).and.(nbpoix.ne.7))KERRE=58 ENDIF * * RETRANSCRIPTION DES LOIS DE COMPORTEMENT DANS WRKGL * IF(KERRE.NE.0) THEN SEGDES MLREEL,MLREE1 SEGDES MEVOLL GO TO 777 END IF * NRLEGI = NRLEGI + 1 NBLOI = 2 * NBPOIX SEGINI WRKGL IPOL(NRLEGI) = WRKGL DO 10 I=1,NBPOIX TLOICO((2*I)-1) = PSIG TLOICO(2*I) = PEPS 10 CONTINUE SEGDES MLREEL, MLREE1 END IF 50 CONTINUE * IF(NRLEGI.EQ.0)THEN KERRE = 59 RETURN END IF * SEGDES MEVOLL C 777 CONTINUE C C UTILISATION DES LOIS DE COMPORTEMENT C IF(KERRE.EQ.0) THEN nbgmab=nbgmat nlmatb=nelmat mfr1bi=mfr1 nstrbi=nstrs1 1 IGAU,NBPGAU,NBGMAb,NLMATb,INDLEG,IPWRKGL,WRKGL) C C DESACTIVATION DES SEGMENTS TEMPORAIRES WRKGL ET IPWRKGL C DO 800 I=1,NRLEGI SEGSUP IPOL(I) 800 CONTINUE ENDIF C SEGSUP IPWRKGL C RETURN END
© Cast3M 2003 - Tous droits réservés.
Mentions légales