trihr1
C TRIHR1 SOURCE CHAT 05/01/13 03:47:22 5004 # SHPTOT,SHP,NST,ISDJC,XGENE,DJAC,IRET) C======================================================================= C C CALCULE LA MATRICE XGENE (NECESSAIRE POUR LE CALCUL DE LA MATRICE C DE RIGIDITE DANS LE CAS DE LA FORMULATION (37) HOMOGENE ) C ROUTINE FORTRAN PUR 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 LRE =NOMBRE DE COLONNES DE LA MATRICE B C IFOU=IFOUR DE CCOPTIO C NIFOU=NIFOUR DE CCOPTIO C XEL =COORDONNEES DE L ELEMENT C SHPTOT(6,NBNO,NBGAU)=FONCTIONS DE FORMES ET DERIVEES C ISDJC = INDICATEUR SUR LE SIGNE DU JACOBIEN C ZONE DE TRAVAIL C SHP(6,NBNO)=TABLEAU DE TRAVAIL C OUTPUT C ISDJC = INDICATEUR SUR LE SIGNE DU JACOBIEN C NST =NBRE DE COLONNES DE LA MATRICE XGENE C DJAC=JACOBIEN C XGENE(NBNO,NST)=MATRICE (DE FONCTION DE FORME ) C IRET= INDICATEUR = 1 : SUCCES C = 0 : ECHEC (ELEMENT INCOMPATIBLE ) C = 2 : ECHEC (JACOBIEN NUL ) C======================================================================= IMPLICIT INTEGER(I-N) IMPLICIT REAL*8(A-H,O-Z) IF (ITEL.EQ.92.OR.ITEL.EQ.157) GOTO 10 C C ERREUR : TYPE D' ELEMENT INCOMPATIBLE AVEC LA FORMULATION C IRET = 0 GOTO 666 10 CONTINUE 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.LT.0.) ISDJC = ISDJC + 1 IF ( DJAC.EQ.0.) GOTO 667 DJAC = ABS(DJAC) IF (IFOU.EQ.0.OR.IFOU.EQ.1) THEN C C CAS AXISYMETRIQUE OU FOURIER C NST = 3 C NST = 3 XGENE(NP,1)=SHP(1,NP) 103 CONTINUE A1 = XEL(2,2) - XEL(2,3) A2 = XEL(2,3) - XEL(2,1) A3 = XEL(2,1) - XEL(2,2) B1 = XEL(1,3) - XEL(1,2) B2 = XEL(1,1) - XEL(1,3) B3 = XEL(1,2) - XEL(1,1) C C XJAC EST LE JACOBIEN ( 2*SURFACE DU TRIANGLE ) C XJAC = (B3*A2 -B2*A3) IF ( XJAC.EQ.0.) GOTO 667 C C (LI = CI + AI*R + BI*Z ) C B1 = B1/XJAC B2 = B2/XJAC B3 = B3/XJAC C C XGENE(NBNO,2 ) = DERIVEE 2ND PAR RAPPORT A Z DES FONCTIONS C D' INTERPOLATIONS (CUBIQUE) C N1= L1+(L1**2)*L2+(L1**2)*L3-L1*(L2**2)-L1*(L3**2) C INTERPOLATION DES DEPLACEMENTS C XGENE(1,2)=2.D0*(2.D0*B1*(B2+B3)-B2*B2-B3*B3)*XGENE(1,1)+2.D0*B1* #(B1-2.D0*B2)*XGENE(2,1)+2.D0*B1*(B1-2.D0*B3)*XGENE(3,1) XGENE(2,2)=2.D0*(2.D0*B2*(B3+B1)-B3*B3-B1*B1)*XGENE(2,1)+2.D0*B2* #(B2-2.D0*B3)*XGENE(3,1)+2.D0*B2*(B2-2.D0*B1)*XGENE(1,1) XGENE(3,2)=2.D0*(2.D0*B3*(B1+B2)-B1*B1-B2*B2)*XGENE(3,1)+2.D0*B3* #(B3-2.D0*B1)*XGENE(1,1)+2.D0*B3*(B3-2.D0*B2)*XGENE(2,1) C C XGENE(NBNO,3) = DERIVEE 2ND PAR RAPPORT A Z DES FONCTIONS C D' INTERPOLATIONS (CUBIQUE) C N2= A2*(L3*(L1**2)+0.5*L1*L2*L3)-A3*(L2*(L1**2)+0.5*L1*L2*L3) C INTERPOLATION DES ROTATIONS C XGENE(1,3)=(4.D0*B1*(A2*B3-A3*B2)+(A2-A3)*B2*B3)*XGENE(1,1)+ # (2.D0*A2*B1*B1+(A2-A3)*B1*B2)*XGENE(3,1)+ # ((A2-A3)*B1*B3-2.D0*A3*B1*B1)*XGENE(2,1) XGENE(2,3)=(4.D0*B2*(A3*B1-A1*B3)+(A3-A1)*B3*B1)*XGENE(2,1)+ # (2.D0*A3*B2*B2+(A3-A1)*B2*B3)*XGENE(1,1)+ # ((A3-A1)*B2*B1-2.D0*A1*B2*B2)*XGENE(3,1) XGENE(3,3)=(4.D0*B3*(A1*B2-A2*B1)+(A1-A2)*B1*B2)*XGENE(3,1)+ # (2.D0*A1*B3*B3+(A1-A2)*B3*B1)*XGENE(2,1)+ # ((A1-A2)*B3*B2-2.D0*A2*B3*B3)*XGENE(1,1) IRET=1 ELSE C C NST = 1 CAS PLAN C XGENE(I,1) = ( L1 , L2 , L3 ) POUR L ELEMENT TRIH (NBNO =3) C NST = 1 XGENE(NP,1)=SHP(1,NP) 102 CONTINUE IRET=1 ENDIF GOTO 666 667 CONTINUE C C JACOBIEN NUL C IRET = 2 C 666 CONTINUE RETURN END
© Cast3M 2003 - Tous droits réservés.
Mentions légales