trihm2
C TRIHM2 SOURCE CHAT 05/01/13 03:47:09 5004 # NHARM,VKL12,VKL23,VKL33,POIGAU,ISDJC,LRE,REL,IRET) C======================================================================= C C CALCULE LES TERMES EN P * PI ,PI * (UR,RT) ,(UR,RT) *(UR,RT) C (UT,RR) * (UT,RR) , PI * (UT,RR) DE LA MATRICE C MASSE DANS LE CAS AXISYMETRIQUE OU FOURIER POUR C LA FORMULATION (37) HOMOGENE C======================================================================= C INPUT C IGAU=NUMERO DU POINT DE GAUSS C ITEL=NUMERO DE L ELEMENT DANS NOMTP C MFR =NUMERO DE LA FORMULATION C NBNO=NOMBRE DE NOEUDS C XEL =COORDONNEES DE L ELEMENT C IFOU=IFOUR DE CCOPTIO C NHARM=NUMERO DU MODE DE FOURIER C VKL12=-((COEFPI*COEFPR)/(RHOF*C**2))*SFLU/SCEL C VKL23=(BET11+BET22)*COEFPI/(2.*SCEL) C VKL33=(RHOS*2.+RHOF*(BET11+BET22))/SCEL C POIGAU=MINTE.POIGAU(IGAU) C LRE =NOMBRE DE D.D.L DE LA MATRICE DE RIGIDITE C SHPTOT(6,NBNO,NBGAU)=FONCTIONS DE FORMES ET DERIVEES C ISDJC = INDICATEUR SUR LE SIGNE DU JACOBIEN C ZONE DE TRAVAIL C SHP(5,NBNO)=TABLEAU DE TRAVAIL C OUTPUT C ISDJC = INDICATEUR SUR LE SIGNE DU JACOBIEN C REL=MATRICE DE MASSE C IRET:INDICATEUR = 1 : SUCCES C 0 : ECHEC (ELEMENT MELE INCOMPATIBLE ) C 2 : ECHEC (JACOBIEN NUL ) C 3 :ECHEC (ROUTINE N EST VALABLE QU C EN AXISYMETRIQUE OU FOURIER ) C======================================================================= IMPLICIT INTEGER(I-N) IMPLICIT REAL*8(A-H,O-Z) IF (ITEL.EQ.92) GOTO 10 C C ERREUR : TYPE D' ELEMENT INCOMPATIBLE AVEC LA FORMULATION C IRET = 0 GOTO 666 10 CONTINUE IF (IFOU.EQ.0.OR.IFOU.EQ.1) GOTO 11 C C MESSAGE D ERREUR : ROUTINE N EST VALABLE QU EN FOURIER C OU EN AXISYMETRIQUE C IRET = 3 GOTO 666 11 CONTINUE C C ELEMENTS HOMOGENEISES TRIH EN AXISYMETRIE OU EN FOURIER C NBDL = LRE/NBNO NOMBRE DE D.D.L PAR NOEUD C C C SHP(1,I) : FONCTION DE FORME C SHP(2,I) : DERIVEE % R DE LA FONCTION DE FORME C SHP(3,I) : DERIVEE % Z DE LA FONCTION DE FORME C SHP(1,NP)=SHPTOT(1,NP,IGAU) SHP(2,NP)=SHPTOT(2,NP,IGAU) SHP(3,NP)=SHPTOT(3,NP,IGAU) 101 CONTINUE IF (DJAC.EQ.0.) GOTO 667 IF (DJAC.LT.0.) ISDJC = ISDJC + 1 C C SHP(4,I) : FONCTION DE FORME DE UR (DEPLACEMENTS) C SHP(5,I) : FONCTION DE FORME DE (DUR/DZ) (ROTATIONS) C SHP(4,1)=SHP(1,1)*(1.D0-SHP(1,2)*SHP(1,2)-SHP(1,3)*SHP(1,3)) + # SHP(1,1)*SHP(1,1)*(SHP(1,2)+SHP(1,3)) SHP(4,2)=SHP(1,2)*(1.D0-SHP(1,1)*SHP(1,1)-SHP(1,3)*SHP(1,3)) + # SHP(1,2)*SHP(1,2)*(SHP(1,1)+SHP(1,3)) SHP(4,3)=SHP(1,3)*(1.D0-SHP(1,1)*SHP(1,1)-SHP(1,2)*SHP(1,2)) + # SHP(1,3)*SHP(1,3)*(SHP(1,1)+SHP(1,2)) C C A1=SHP(2,1) , A2=SHP(2,2) , A3 = SHP(2,3) C A1=XEL(2,2)-XEL(2,3) A2=XEL(2,3)-XEL(2,1) A3=XEL(2,1)-XEL(2,2) SHP(5,1)= SHP(1,1)*SHP(1,1)*(A2*SHP(1,3)-A3*SHP(1,2)) + # 0.5D0*SHP(1,1)*SHP(1,2)*SHP(1,3)*(A2-A3) SHP(5,2)= SHP(1,2)*SHP(1,2)*(A3*SHP(1,1)-A1*SHP(1,3)) + # 0.5D0*SHP(1,1)*SHP(1,2)*SHP(1,3)*(A3-A1) SHP(5,3)= SHP(1,3)*SHP(1,3)*(A1*SHP(1,2)-A2*SHP(1,1)) + # 0.5D0*SHP(1,1)*SHP(1,2)*SHP(1,3)*(A1-A2) C C TERMES EN P * PI C DJAC1 = ABS(DJAC)*POIGAU IX1=0 IY1=0 DO 102 IX=2,LRE ,NBDL IX1=IX1 + 1 DO 103 IY=1,IX ,NBDL IY1=IY1 + 1 REL(IY,IX) = REL(IY,IX) + VKL12*DJAC1*SHP(1,IX1)*SHP(1,IY1) REL(IX,IY) = REL(IY,IX) 103 CONTINUE IY1=0 102 CONTINUE DO 104 IX=2+NBDL,LRE ,NBDL IX2=IX - NBDL DO 105 IY=1,IX2 ,NBDL REL(IY+1,IX-1) = REL(IY,IX) REL(IX-1,IY+1) = REL(IY+1,IX-1) 105 CONTINUE 104 CONTINUE C C TERMES EN PI * (UR , RT ) C IX1=0 IY1=0 DO 106 IX=3,LRE ,NBDL IX1=IX1 + 1 DO 107 IY=2,IX ,NBDL IY1=IY1 + 1 REL(IY,IX) = REL(IY,IX) + VKL23*DJAC1*SHP(2,IY1)*SHP(4,IX1) REL(IY,IX+1) = REL(IY,IX+1) + VKL23*DJAC1*SHP(2,IY1)*SHP(5,IX1) REL(IX,IY) = REL(IY,IX) REL(IX+1,IY) = REL(IY,IX+1) 107 CONTINUE IY1=0 106 CONTINUE IX1=1 IY1=0 DO 108 IX=2+NBDL,LRE ,NBDL IX1=IX1 + 1 DO 109 IY=3,IX ,NBDL IY1=IY1 + 1 REL(IY,IX) = REL(IY,IX) + VKL23*DJAC1*SHP(2,IX1)*SHP(4,IY1) REL(IY+1,IX) = REL(IY+1,IX) + VKL23*DJAC1*SHP(2,IX1)*SHP(5,IY1) REL(IX,IY) = REL(IY,IX) REL(IX,IY+1) = REL(IY+1,IX) 109 CONTINUE IY1=0 108 CONTINUE IF ( IFOU.EQ.1) THEN C C TERMES EN PI * (UT , RR ) C NON NULS QU EN FOURIER C DJAC2 = ABS(DJAC)*POIGAU VKL25 = -1.D0* VKL23*NHARM IX1=0 IY1=0 DO 110 IX=5,LRE ,NBDL IX1=IX1 + 1 DO 111 IY=2,IX ,NBDL IY1=IY1 + 1 REL(IY,IX) = REL(IY,IX) + VKL25*DJAC2*SHP(1,IY1)*SHP(4,IX1) REL(IY,IX+1) = REL(IY,IX+1) + VKL25*DJAC2*SHP(1,IY1)*SHP(5,IX1) REL(IX,IY) = REL(IY,IX) REL(IX+1,IY) = REL(IY,IX+1) 111 CONTINUE IY1=0 110 CONTINUE IX1=1 IY1=0 DO 112 IX=2+NBDL,LRE ,NBDL IX1=IX1 + 1 DO 113 IY=5,IX ,NBDL IY1=IY1 + 1 REL(IY,IX) = REL(IY,IX) + VKL25*DJAC2*SHP(1,IX1)*SHP(4,IY1) REL(IY+1,IX) = REL(IY+1,IX) + VKL25*DJAC2*SHP(1,IX1)*SHP(5,IY1) REL(IX,IY) = REL(IY,IX) REL(IX,IY+1) = REL(IY+1,IX) 113 CONTINUE IY1=0 112 CONTINUE ENDIF C C TERMES EN (UR,RT ) * (UR , RT ) C IX1=0 IY1=0 DO 114 IX=3,LRE ,NBDL IX1=IX1 + 1 DO 115 IY=3,IX ,NBDL IY1=IY1 + 1 REL(IY,IX) = REL(IY,IX) + VKL33*DJAC1*SHP(4,IY1)*SHP(4,IX1) REL(IY,IX+1) = REL(IY,IX+1) + VKL33*DJAC1*SHP(4,IY1)*SHP(5,IX1) REL(IY+1,IX) = REL(IY+1,IX) + VKL33*DJAC1*SHP(5,IY1)*SHP(4,IX1) REL(IY+1,IX+1) = REL(IY+1,IX+1)+VKL33*DJAC1*SHP(5,IY1)*SHP(5,IX1) REL(IX,IY) = REL(IY,IX) REL(IX+1,IY) = REL(IY,IX+1) REL(IX,IY+1) = REL(IY+1,IX) REL(IX+1,IY+1) = REL(IY+1,IX+1) 115 CONTINUE IY1=0 114 CONTINUE IF ( IFOU.EQ.1) THEN C C TERMES EN (UT,RR ) * (UT , RR ) C NON NULS QU EN FOURIER C DO 116 IX=3,LRE ,NBDL DO 117 IY=3,LRE ,NBDL IX2=IX + 2 IY2=IY + 2 REL(IX2,IY2) = REL(IX,IY) REL(IX2+1,IY2) = REL(IX+1,IY) REL(IX2,IY2+1) = REL(IX,IY+1) REL(IX2+1,IY2+1) = REL(IX+1,IY+1) 117 CONTINUE 116 CONTINUE ENDIF IRET = 1 GOTO 666 C C MESSAGE D ERREUR : ELEMENT A SURFACE NULLE C 667 CONTINUE IRET = 2 GOTO 666 C 666 CONTINUE RETURN END
© Cast3M 2003 - Tous droits réservés.
Mentions légales