bgrcq8
C BGRCQ8 SOURCE CHAT 05/01/12 21:39:42 5004 C |====================================================================| C | ROUTINE MODIFIEE LE 29/01/96 POUR COQUE EPAISSE AVEC EXCENTREMENT | C | == ENTREES | C | NOBG : NUMERO DU POINT DE GAUSS | C | XX(3,NBNN) : TABLEAU DES COORDONNEES DES NOEUDS | C | NBNN : NOMBRE DE NOEUDS | C | TH(NBNN) : TABLEAU DES EPAISSEURS | C | EXC(NBNN) : TABLEAU DES EXCENTREMENTS | C | E : COORDONNEE REDUITE DU POINT DE GAUSS DANS | C | L EPAISSEUR | C | SHPCOQ(6,NBNN,NBPGAU) : FONCTIONS DE FORME ET DERIVESS | C | AUX POINTS DE GAUSS | C | TXR(3,3,NBNN):TABLEAU DE CHGMT DE REPERE ENTRE NOEUD | C | ET REP GLOBAL | C | == SORTIES | C | BGR(9,LRE): MATRICE BGR DE GRADIAN | C | DET : DETERMINANT DU JACOBIEN | C | IRE : INDICATEUR DE SUCCES ( 1 ) , D ECHEC (0 OU-1) | C | CODE SUO X.Z. | C |====================================================================| IMPLICIT INTEGER(I-N) IMPLICIT REAL*8 (A-H,O-Z) PARAMETER(UN=1.D0,UNDEMI=.5D0,XZER=0.D0) DIMENSION XX(3,*),TH(*),EXC(*),BGR(9,*) DIMENSION SHPCOQ(6,NBNN,*),TXR(3,3,*) DIMENSION XJ(3,3),XJI(3,3),BI(9,3),BT(9,3),TT(9) C* C* DETERMINATION DU JACOBIEN ET DE SON DETERMINANT AU POINT (R,S,T) C* C IF(IRR.EQ.-1) RETURN C* C* DETERMINATION DES COSINUS DIRECTEURS DES AXES LOCAUX EN CE POINT C* DO 10 I=1,3 DO 10 J=1,2 K=3*(J-1)+I TT(K) = XJ(J,I) 10 CONTINUE C* C* PRODUITS VECTORIELS ET NORMALISATIONS C* C IF(IRR.EQ.0) RETURN C* C* INVERSION DU JACOBIEN C* XJI(1,1) = DUM*( XJ(2,2)*XJ(3,3) - XJ(2,3)*XJ(3,2)) XJI(2,1) = DUM*(-XJ(2,1)*XJ(3,3) + XJ(2,3)*XJ(3,1)) XJI(3,1) = DUM*( XJ(2,1)*XJ(3,2) - XJ(2,2)*XJ(3,1)) XJI(1,2) = DUM*(-XJ(1,2)*XJ(3,3) + XJ(1,3)*XJ(3,2)) XJI(2,2) = DUM*( XJ(1,1)*XJ(3,3) - XJ(1,3)*XJ(3,1)) XJI(3,2) = DUM*(-XJ(1,1)*XJ(3,2) + XJ(1,2)*XJ(3,1)) XJI(1,3) = DUM*( XJ(1,2)*XJ(2,3) - XJ(1,3)*XJ(2,2)) XJI(2,3) = DUM*(-XJ(1,1)*XJ(2,3) + XJ(1,3)*XJ(2,1)) XJI(3,3) = DUM*( XJ(1,1)*XJ(2,2) - XJ(1,2)*XJ(2,1)) C* C* PRODUIT MATRICIEL TT TRANSPOSE * XJI C* DO 20 I=1,3 DO 20 J=1,3 XJ(I,J)=XZER DO 20 K=1,3 K1=3*(I-1)+K XJ(I,J) = XJ(I,J)+TT(K1)*XJI(K,J) 20 CONTINUE C* C* DETERMINATION DES COEFFICIENTS DES DEPLACEMENTS C* DO 100 I=1,NBNN B1=XJ(1,1)*SHPCOQ(2,I,NOBG) +XJ(1,2)*SHPCOQ(3,I,NOBG) B2=XJ(2,1)*SHPCOQ(2,I,NOBG) +XJ(2,2)*SHPCOQ(3,I,NOBG) DO 30 J=1,9 DO 30 K=1,3 BI(J,K)=XZER 30 CONTINUE BI(1,1) = B1 BI(2,1) = B2 BI(4,2) = B1 BI(5,2) = B2 BI(7,3) = B1 BI(8,3) = B2 C* C*==== C* DO 35 J=1,9 DO 35 K=1,3 KK=6*(I-1)+K BGR(J,KK)=XZER DO 35 L=1,3 K1=3*(L-1)+K 35 BGR(J,KK) = BGR(J,KK)+BI(J,L)*TT(K1) C* C* DETERMINATION DES COEFFICIENTS DES ROTATIONS C* DUM = XJ(3,3)*SHPCOQ(1,I,NOBG) DO 40 J=1,9 DO 40 K=1,3 40 BI(J,K) = BI(J,K) BI(3,1)=DUM BI(6,2)=DUM BI(9,3)=DUM C* C*===== C* DO 45 J=1,9 DO 45 K=1,3 BI(J,K) = BI(J,K)*UNDEMI*TH(I)*E + BI(J,K)*EXC(I) 45 CONTINUE BI(3,1)=DUM*UNDEMI*TH(I) BI(6,2)=DUM*UNDEMI*TH(I) BI(9,3)=DUM*UNDEMI*TH(I) C DO 50 J=1,9 DO 50 K=1,3 BT(J,K) = XZER DO 50 L=1,3 K1=3*(L-1)+K BT(J,K) = BT(J,K) + BI(J,L)*TT(K1) 50 CONTINUE C DO 60 J=1,3 60 XJI(J,J)= XZER XJI(1,2) = TXR(1,1,I)*TXR(2,2,I)-TXR(2,1,I)*TXR(1,2,I) XJI(1,3) = TXR(1,1,I)*TXR(3,2,I)-TXR(1,2,I)*TXR(3,1,I) XJI(2,3) = TXR(2,1,I)*TXR(3,2,I)-TXR(2,2,I)*TXR(3,1,I) DO 70 J=1,3 DO 70 K=J,3 XJI(K,J) =-XJI(J,K) 70 CONTINUE C DO 80 J=1,9 DO 80 K=1,3 KK = 6*I+K-3 BGR(J,KK)= XZER DO 80 L=1,3 BGR(J,KK) = BGR(J,KK)+BT(J,L)*XJI(L,K) 80 CONTINUE 100 CONTINUE RETURN END
© Cast3M 2003 - Tous droits réservés.
Mentions légales