corio2
C CORIO2 SOURCE CB215821 24/04/12 21:15:29 11897 &NCARR,IVECT,ISOUS,NBPGAU,IPMINT,IPMIN2,NDDL,MATE,CMATE, &LHOOK,IPMATR,VROT,NUMLIS,IIPDPG) *---------------------------------------------------------------------* * _________________________________________________ * * | | * * | calcul de la matrice de couplage gyroscopique | * * | dans le repère tournant | * * |________________________________________________| * * * * barr,poutre,timo,tuyau * * coq3,dkt,coq4,coq8,dst * *---------------------------------------------------------------------* * * * entrees : * * ________ * * * * ipmail pointeur sur un segment meleme * * lre nombre de ddl dans la matrice de masse * * lw dimension du tableau de travail de l'element * * mele numero de l'element fini * * ivamat pointeur sur un segment mptval pour le materiau * * nmatt nombre de composante de materiau (imat=1) * * ivacar pointeur sur un segment mptval pour les caracteri- * * stiques * * ncarr nombre de caracteristiques geometriques * * ivect flag indiquant si on a entree les axes locaux * * isous numero de la sous-zone * * nbpgau nombre de point d'integration pour la masse * * ipmint pointeur sur un segment minte * * ipmin1 pointeur sur un segment minte (aux noeuds) * * nddl nombre de degre de liberte /noeud * * mate numero du materiau * * cmate nom du materiau * * vrot vecteur vitesse de rotation * * * * sorties : * * ________ * * * * ipmatr pointeur sur la matrice d'amortissement * * de la sous-zone * * * * Didier COMBESCURE mars 2003 * *---------------------------------------------------------------------* IMPLICIT INTEGER(I-N) IMPLICIT REAL*8(A-H,O-Z) -INC PPARAM -INC CCOPTIO -INC CCHAMP -INC CCREEL *- -INC SMRIGID -INC SMCHAML -INC SMELEME -INC SMCOORD -INC SMINTE -INC SMMODEL C SEGMENT WRK1 REAL*8 REL(LRE,LRE),XE(3,NBBB) ENDSEGMENT C SEGMENT WRK2 ENDSEGMENT C SEGMENT WRK3 REAL*8 DDHOOK(LHOOK,LHOOK) ENDSEGMENT C SEGMENT WRK4 REAL*8 BPSS(3,3),XEL(3,NBBB) ENDSEGMENT C SEGMENT WRK6 REAL*8 RHOMAT(6,6) ENDSEGMENT SEGMENT WRK7 REAL*8 ROME(3,3),REWO(LRE,LRE) ENDSEGMENT C SEGMENT MVELCH REAL*8 VALMAT(NV1) ENDSEGMENT C SEGMENT MPTVAL INTEGER IPOS(NS),NSOF(NS) INTEGER IVAL(NCOSOU) CHARACTER*16 TYVAL(NCOSOU) ENDSEGMENT * DIMENSION VROT(*) DIMENSION CRIGI(12),CMASS(12),VROTL(3) CHARACTER*8 CMATE * MELEME=IPMAIL c* SEGACT,IPMAIL NBNN=NUM(/1) NBELEM=NUM(/2) * NV1=NMATT SEGINI,MVELCH * xMATRI=IPMATR c* SEGACT,xMATRI*MOD c* NLIGRP=LRE c* NLIGRD=LRE * NHRM=NIFOUR * MINTE =IPMINT c* SEGACT,MINTE c C_______________________________________________________________________ C C NUMERO DES ETIQUETTES : C ETIQUETTES DE 1 A 98 POUR TRAITEMENT SPECIFIQUE A L ELEMENT C DANS LA ZONE SPECIFIQUE A CHAQUE ELEMENT COMMENCANT PAR : C 5 CONTINUE C ELEMENT 5 ETIQUETTES 1005 2005 3005 4005 ... C 44 CONTINUE C ELEMENT 44 ETIQUETTES 1044 2044 3044 4044 ... C_______________________________________________________________________ C * CABL SEG2 SEG3 TRI3 TRI4 TRI6 TRI7 QUA4 QUA5 QUA8 QUA9 GOTO ( 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99 * RAC2 RAC3 CUB8 CU20 PRI6 PR15 LIA3 LIA4 LIA6 LIA8 MULT & , 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99 * TET4 TE10 PYR5 PY13 COQ3 DKT POUT LISP FAC3 FAC4 FAC6 & , 99, 99, 99, 99, 93, 93, 21, 99, 99, 99, 99 * FAC8 LTR3 LQU4 LCU8 LPR6 LTE4 LPY5 COQ8 TUYA TUFI COQ2 & , 99, 99, 99, 99, 99, 99, 99, 41, 21, 99, 44 * POI1 BARR RACO LSU2 COQ4 LISM COF3 RES2 LSU3 LSU4 LICO & , 99, 21, 99, 99, 51, 99, 99, 99, 99, 99, 99 * COQ6 CVS2 CVS3 CVT3 CVT6 CVQ4 CVQ8 THP5 TH13 THP6 TH15 & , 41, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99 * THC8 TH20 ICT3 ICQ4 ICT6 ICQ8 ICC8 ICT4 ICP6 IC20 IC10 & , 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99 * IC15 TRIP QUAP CUBP TETP PRIP TIMO JOI2 JOI3 JOT3 JOI4 & , 99, 99, 99, 99, 99, 99, 21, 99, 99, 99, 99 * JOI6 JOI8 LISC TRIH DST LIC4 CERC TUYO LSE2 LITU HYT3 & , 99, 99, 99, 99, 93, 99, 99, 99, 99, 99, 99 * HYQ4 HYT4 HYP6 HYC8 TRIS QUAS POIS FOR3 JOP3 JOP6 JOP8 & , 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99 * POL3 POL4 POL5 POL6 POL7 POL8 POL9 PO10 PO11 PO12 PO13 & , 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99 * PO14 BAR3 BAEX LIA2 QUAH CUBH ROT3 SEF2 TRF3 QUF4 CUF8 & , 99, 21, 99, 99, 99, 99, 99, 99, 99, 99, 99 * PRF6 TEF4 PYF5 MSE3 MTR6 MQU9 MC27 MP18 MT10 MP14 SEF3 & , 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99 * TRF7 QUF9 CF27 PF21 TF15 PF19 SEG6 TR21 QU36 C216 P126 & , 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99 * TE56 PY91 TRH6 & , 99, 99, 99),MELE C C_______________________________________________________________________ C C ELEMENTS POUTRES C_______________________________________________________________________ C 21 CONTINUE C C CAS DES POUTRES - TUYAUX C NBBB=NBNN SEGINI WRK1,WRK3 * * cas du materiau section * NBGMAT = 0 NELMAT = 0 IF(CMATE.EQ.'SECTION') THEN MPTVAL=IVAMAT DO IM=1,NMATT IF(IVAL(IM).NE.0)THEN MELVAL=IVAL(IM) NBGMAT=MAX(NBGMAT,IELCHE(/1)) NELMAT=MAX(NELMAT,IELCHE(/2)) END IF END DO ENDIF C C BOUCLE DE CALCUL POUR LES DIFFERENTS ELEMENTS C DO 2027 IB=1,NBELEM C C ON CHERCHE LES COORDONNEES DE L ELEMENT IB C C C CAS DES POUTRES C -------------- C ON STOCKE DES CARACTERISTIQUES GEOMETRIQUES ET MATERIELLES DANS WORK C ON CHERCHE LES CARACTERISTIQUES DE L ELEMENT IB ( GEOMETRIE ET MASSE C MPTVAL=IVACAR DO 2429 IC=1,NCARR IF (IVAL(IC).NE.0) THEN MELVAL=IVAL(IC) IBMN=MIN(IB,VELCHE(/2)) DO 2029 IGAU=1,NBNN IGMN=MIN(IGAU,VELCHE(/1)) 2029 CONTINUE ENDIF 2429 CONTINUE C C CAS OU ON A LU LE MOT VECTEUR C C MPTVAL=IVAMAT C C CAS DES POUTRES ET TUYAU C MELVAL=IVAL(1) IF(CMATE.NE.'SECTION') THEN IBMN=MIN(IB,VELCHE(/2)) C IF(MELE.EQ.46) THEN ELSE ENDIF C C CAS DES TUYAUX - ON CALCULE LES CARACTERISTIQUES DE LA POUTRE C -------------- EQUIVALENTE C ELSE * * cas formulation section * IBMN=MIN(IB,IELCHE(/2)) IPMODL=IELCHE(1,IBMN) MELVAL=IVAL(2) IBMN=MIN(IB,IELCHE(/2)) IPMAT=IELCHE(1,IBMN) IF (IB.LE.NELMAT.OR.NBGMAT.GT.1)THEN ENDIF ENDIF C C ON CALCULE LA MATRICE DE COUPLAGE GYROSCOPIQUE C IF (MELE.EQ.46) THEN ELSEIF (MELE.EQ.84) THEN IF(CMATE.NE.'SECTION') THEN ELSE & DDHOOK,KERRE) ENDIF ELSE ENDIF C IF (KERRE.NE.0) THEN INTERR(1)=ISOUS INTERR(2)=IB GOTO 9027 ENDIF DO IIIA=1,LRE DO IIIB=1,LRE RE(IIIA,IIIB,ib)=REL(IIIA,IIIB) ENDDO ENDDO * 2027 CONTINUE 9027 CONTINUE SEGSUP,WRK1,WRK3 GOTO 510 C_______________________________________________________________________ C C SECTEUR DE CALCUL POUR LES ELEMENTS DST, DKT ET COQ3 C ADAPTE DE LA MATRICE DE MASSE DES ELEMENTS DST C CAR PROBLEME AVEC DKT ET COQ3 C_______________________________________________________________________ C 93 CONTINUE NBNO=NBNN NBBB=NBNN SEGINI WRK1,WRK2,WRK4,WRK6 C C BOUCLE DE CALCUL POUR LES DIFFERENTS ELEMENTS C DO 9300 IB=1,NBELEM C C ON CHERCHE LES COORDONNEES DE L'ELEMENT IB C C MPTVAL=IVACAR C C ACQUISITION DES EPAISSEURS C EP=0.D0 MELVAL=IVAL(1) IF (MELVAL.NE.0) THEN DO IGAU=1,NBPGAU IGMN=MIN(IGAU,VELCHE(/1)) IBMN=MIN(IB ,VELCHE(/2)) EP=EP+VELCHE(IGMN,IBMN) ENDDO EP=EP/NBPGAU ENDIF C EXCEN=0.D0 MELVAL=IVAL(2) IF (MELVAL.NE.0) THEN DO IGAU=1,NBPGAU IGMN=MIN(IGAU,VELCHE(/1)) IBMN=MIN(IB ,VELCHE(/2)) EXCEN=EXCEN+VELCHE(IGMN,IBMN) ENDDO EXCEN=EXCEN/NBPGAU ENDIF C C BOULE SUR LES POINTS DE GAUSS C DO 9310 IGAU=1,NBPGAU C MPTVAL=IVAMAT MELVAL=IVAL(1) IBMN=MIN(IB,VELCHE(/2)) IGMN=MIN(IGAU,VELCHE(/1)) RHO=VELCHE(IGMN,IBMN) C C VROTL(1)= BPSS(1,1)*VROT(1)+BPSS(1,2)*VROT(2) . +BPSS(1,3)*VROT(3) VROTL(2)= BPSS(2,1)*VROT(1)+BPSS(2,2)*VROT(2) . +BPSS(2,3)*VROT(3) VROTL(3)= BPSS(3,1)*VROT(1)+BPSS(3,2)*VROT(2) . +BPSS(3,3)*VROT(3) C RHOMAT( 1, 2)=(-1.D0)*RHO*EP*VROTL(3) RHOMAT( 1, 3)=RHO*EP*VROTL(2) RHOMAT( 2, 1)=(-1.D0)*RHOMAT( 1, 2) RHOMAT( 2, 3)=(-1.D0)*RHO*EP*VROTL(1) RHOMAT( 3, 1)=(-1.D0)*RHOMAT( 1, 3) RHOMAT( 3, 2)=(-1.D0)*RHOMAT( 2, 3) C RHOMAT( 1, 4)=RHO*EP*EXCEN*VROTL(3) RHOMAT( 2, 5)=RHO*EP*EXCEN*VROTL(3) RHOMAT( 3, 4)=(-1.D0)*RHO*EP*EXCEN*VROTL(1) RHOMAT( 3, 5)=(-1.D0)*RHO*EP*EXCEN*VROTL(2) C RHOMAT( 4, 1)=(-1.D0)*RHOMAT( 1, 4) RHOMAT( 5, 2)=(-1.D0)*RHOMAT( 2, 5) RHOMAT( 4, 3)=(-1.D0)*RHOMAT( 3, 4) RHOMAT( 5, 3)=(-1.D0)*RHOMAT( 3, 5) C DJAC=DJAC*POIGAU(IGAU) 9310 CONTINUE C ICOM = 0 IF(ABS(EXCEN).GT.XPETIT.OR. MATE.EQ.4) ICOM=1 C C REMPLISSAGE C DO I1=1,LRE enddo enddo C 9300 CONTINUE SEGSUP WRK1,WRK2,WRK4,WRK6 GOTO 510 C_______________________________________________________________________ C C ELEMENT COQ6 COQ8 C_______________________________________________________________________ C 41 CONTINUE NBBB=NBNN NBNO = NBNN SEGINI WRK1,WRK7 c Debut du remplissage WRK7 ROME(1,1) = 0.D0 ROME(1,2) = (-1.)*VROT(3) ROME(1,3) = VROT(2) ROME(2,1) = VROT(3) ROME(2,2) = 0.D0 ROME(2,3) = (-1.)*VROT(1) ROME(3,1) = (-1.)*VROT(2) ROME(3,2) = VROT(1) ROME(3,3) = 0.D0 MINTE2=IPMIN2 SEGACT,MINTE2 C DO 4041 IB=1,NBELEM MPTVAL=IVAMAT MELVAL=IVAL(1) IBMN=MIN(IB,VELCHE(/2)) VALMAT(1)=VELCHE(1,IBMN) RHO = VALMAT(1) C C CALCUL DE L'EPAISSEUR ET DE L'EXCENTREMENT (MOYENS) C MPTVAL=IVACAR MELVAL=IVAL(1) IBMN=MIN(IB,VELCHE(/2)) C EPAI = 0.D0 IF (IVAL(1).NE.0) THEN MELVAL=IVAL(1) IBMN=MIN(IB ,VELCHE(/2)) DO IGAU=1,NBPGAU IGMN=MIN(IGAU,VELCHE(/1)) EPAI = EPAI + VELCHE(IGMN,IBMN) ENDDO EPAI = EPAI / NBPGAU ENDIF EXENT = 0.D0 IF (IVAL(2).NE.0) THEN MELVAL=IVAL(2) IBMN=MIN(IB ,VELCHE(/2)) DO IGAU=1,NBPGAU IGMN=MIN(IGAU,VELCHE(/1)) EXENT = EXENT + VELCHE(IGMN,IBMN) ENDDO EXENT = EXENT / NBPGAU ENDIF C TH(igau) = EPAI EXC(igau) = EXENT ENDDO C C DO IIIB=1,LRE DO IIIA=1,LRE RE(IIIA,IIIB,ib)=REL(IIIA,IIIB) enddo enddo 4041 CONTINUE SEGSUP,WRK1,WRK7 SEGDES,MINTE2 GOTO 510 C_______________________________________________________________________ C C SECTEUR DE CALCUL POUR LES COQ2 C_______________________________________________________________________ C+DC: d apres la matrice de massse 44 CONTINUE NBNO=NBNN NBBB=NBNN SEGINI WRK1 XDPGE = 0.D0 YDPGE = 0.D0 C C BOUCLE DE CALCUL POUR LES DIFFERENTS ELEMENTS C DO 3044 IB=1,NBELEM C C ON CHERCHE LES COORDONNEES DE L'ELEMENT IB C C MPTVAL=IVACAR MELVAL=IVAL(1) IBMN=MIN(IB,VELCHE(/2)) EP=VELCHE(1,IBMN) C MPTVAL=IVAMAT DO 4044 IM=1,NMATT MELVAL=IVAL(IM) IBMN=MIN(IB,VELCHE(/2)) VALMAT(IM)=VELCHE(1,IBMN) 4044 CONTINUE RHO=VALMAT(1) C C APPEL A LA SUBROUTINE CALCULANT LA MATRICE DE CORIOLIS C IF (NUMLIS.EQ.1) THEN C Cas d'une matrice utilsé en calcul harmonique (symétrique) + XDPGE,YDPGE,VROT) ELSE C Cas de la matrice utilisé en temporel (antisymétrique) + XDPGE,YDPGE,VROT) ENDIF C C GESTION D'ERREUR C IF(IARR.NE.0) THEN INTERR(1)=IB GOTO 9044 ENDIF C C REMPLISSAGE C DO I1=1,LRE enddo enddo C 3044 CONTINUE C 9044 CONTINUE SEGSUP,WRK1 GOTO 510 C_______________________________________________________________________ C C SECTEUR DE CALCUL POUR LES COQ4 C_______________________________________________________________________ C 51 CONTINUE NBNO=NBNN NBBB=NBNN SEGINI WRK1,WRK2,WRK4,WRK6 C C BOUCLE DE CALCUL POUR LES DIFFERENTS ELEMENTS C DO 5149 IB=1,NBELEM c C C ON CHERCHE LES COORDONNEES DE L'ELEMENT IB C C REPERE LOCAL DU COQ4 ON NE DEMANDE PAS DE VERIFIER LA PLANéITé C MPTVAL=IVACAR MELVAL=IVAL(1) IBMN=MIN(IB,VELCHE(/2)) EP=VELCHE(1,IBMN) IF (IVAL(2).NE.0) THEN MELVAL=IVAL(2) IBMN=MIN(IB,VELCHE(/2)) EXCEN =VELCHE(1,IBMN) ELSE EXCEN=0.D0 ENDIF C MPTVAL=IVAMAT MELVAL=IVAL(1) IBMN=MIN(IB,VELCHE(/2)) VALMAT(1)=VELCHE(1,IBMN) RHO=VALMAT(1) C C VROTL(1)= BPSS(1,1)*VROT(1)+BPSS(1,2)*VROT(2) . +BPSS(1,3)*VROT(3) VROTL(2)= BPSS(2,1)*VROT(1)+BPSS(2,2)*VROT(2) . +BPSS(2,3)*VROT(3) VROTL(3)= BPSS(3,1)*VROT(1)+BPSS(3,2)*VROT(2) . +BPSS(3,3)*VROT(3) C RHOMAT( 1, 2)=(-1.D0)*RHO*EP*VROTL(3) RHOMAT( 1, 3)=RHO*EP*VROTL(2) RHOMAT( 2, 1)=(-1.D0)*RHOMAT( 1, 2) RHOMAT( 2, 3)=(-1.D0)*RHO*EP*VROTL(1) RHOMAT( 3, 1)=(-1.D0)*RHOMAT( 1, 3) RHOMAT( 3, 2)=(-1.D0)*RHOMAT( 2, 3) C RHOMAT( 1, 4)=RHO*EP*EXCEN*VROTL(3) RHOMAT( 2, 5)=RHO*EP*EXCEN*VROTL(3) RHOMAT( 3, 4)=(-1.D0)*RHO*EP*EXCEN*VROTL(1) RHOMAT( 3, 5)=(-1.D0)*RHO*EP*EXCEN*VROTL(2) C RHOMAT( 4, 1)=(-1.D0)*RHOMAT( 1, 4) RHOMAT( 5, 2)=(-1.D0)*RHOMAT( 2, 5) RHOMAT( 4, 3)=(-1.D0)*RHOMAT( 3, 4) RHOMAT( 5, 3)=(-1.D0)*RHOMAT( 3, 5) C NBPGAM=NBPGAU-1 DO 5049 IGAU=1,NBPGAM C IERT=1 JACOBIANO=<0 IF (IERT.EQ.1) THEN INTERR(1)=IB GOTO 9051 ENDIF C DJAC=DJAC*POIGAU(IGAU) 5049 CONTINUE C C PASSAGE EN COORDONNéES GLOBALES C C C REMPLISSAGE ET ON BOULEVERSE LA MATRICE DE COUPLAGE C DO I1=1,LRE enddo enddo 5149 CONTINUE C 9051 CONTINUE SEGSUP WRK1,WRK2,WRK4,WRK6 GOTO 510 C_______________________________________________________________________ C 99 CONTINUE MOTERR(1:4)=NOMTP(MELE) MOTERR(5:12)='CORI' * 510 CONTINUE SEGSUP,MVELCH RETURN END
© Cast3M 2003 - Tous droits réservés.
Mentions légales