bbst2
C BBST2 SOURCE OF166741 23/04/25 21:15:06 11608 c c projection de la trace de epsi2 sur la base reduite des elements icq c c entree c trace : tableau contenant la valeur de trace de epsi2 en c chaque point de gauss c nbpgau : nombre de point de gauss c ifour : variable du ccoptio c mele : numero de l'element c poigau : poids d'integration c qsigau : 1ere composante sur l'element de reference c etagau : 2eme composante sur l'element de reference c dzegau : 3eme composante sur l'element de reference c shptot : valeurs des fonctions de forme c c sortie c trac : contient la correction a apporter a chaque composante diagonale de c la deformation c IMPLICIT INTEGER(I-N) IMPLICIT REAL*8(A-H,O-Z) c DIMENSION P(3,3),T(4) PARAMETER (X1s2=0.5D0, & X1s3=0.333333333333333333333333333333333333333333D0) c----------------------------------------------------------- c elements icq4 et ict3 et ict6 et lineaires 3D c----------------------------------------------------------- IF (MELE.EQ.69.OR.MELE.EQ.70.OR.MELE.EQ.71.or. & MELE.EQ.73.or.MELE.EQ.74.or.MELE.EQ.75.or. & MELE.EQ.273) THEN AIRE = 0.D0 TRINTG = 0.D0 DO I=1,NBPGAU DO K =1,4 SHP(K,J)=SHPTOT(K,J,I) ENDDO ENDDO if(mele.ge.73) then else endif r_z = POIGAU(I)*DJAC AIRE = AIRE + r_z ENDDO trintg = TRINTG / AIRE c COEF = X1s2 IF (IFOUR .EQ. 0 ) COEF = X1s3 DO I=1,NBPGAU ENDDO c------------------------------------------- c Element ICQ8 et quadratiques 3D c------------------------------------------- ELSE IF ( MELE.EQ.72.or.MELE.GE.76) THEN c c mele 72 ICQ8 matrice P calculee analytiquement voir routine BBCALC c P(1,1) = 2.D0/3.D0*(XE(1,1)*(XE(2,2)-XE(2,8)) 1 +XE(1,2)*(XE(2,3)-XE(2,1)) 1 +XE(1,3)*(XE(2,4)-XE(2,2))+XE(1,4)*(XE(2,5)-XE(2,3)) 2 +XE(1,5)*(XE(2,6)-XE(2,4))+XE(1,6)*(XE(2,7)-XE(2,5)) 3 +XE(1,7)*(XE(2,8)-XE(2,6))+XE(1,8)*(XE(2,1)-XE(2,7))) 4 +1.D0/6.D0*((XE(1,1)-XE(1,5))*(XE(2,7)-XE(2,3)) 5 +(XE(1,3)-XE(1,7))*(XE(2,1)-XE(2,5))) P(1,2) = 5.D0/9.D0*(-XE(2,2)*(XE(1,1)+XE(1,3)) 1 +XE(1,2)*(XE(2,1)+XE(2,3))+XE(1,6)*(-XE(2,5)-XE(2,7)) 1 +XE(2,6)*(XE(1,5)+XE(1,7))) 2 +4.D0/9.D0*(XE(1,8)*(XE(2,7)+XE(2,2)-XE(2,6)-XE(2,1)) 2 +XE(2,8)*(-XE(1,7)-XE(1,2)+XE(1,6)+XE(1,1)) 2 +XE(1,4)*(XE(2,2)-XE(2,6)+XE(2,5)-XE(2,3)) 2 +XE(2,4)*(-XE(1,2)+XE(1,6)-XE(1,5)+XE(1,3))) 3 +7.D0/45.D0*(XE(1,2)*(XE(2,5)+XE(2,7)) 3 -XE(2,2)*(XE(1,5)+XE(1,7))-XE(1,6)*(XE(2,1)+XE(2,3)) 3 +XE(2,6)*(XE(1,1)+XE(1,3))) 4 +8.D0/15.D0*(XE(1,6)*XE(2,2)-XE(1,2)*XE(2,6)) 5 +7.D0/90.D0*(XE(1,7)*XE(2,1)-XE(1,3)*XE(2,5) 5 +XE(1,5)*XE(2,3)-XE(1,1)*XE(2,7)) 6 +1.D0/30.D0*(-XE(1,7)*XE(2,3)+XE(1,3)*XE(2,7) 6 -XE(1,5)*XE(2,1)+XE(1,1)*XE(2,5)) P(1,3) = 5.D0/9.D0*(-XE(1,8)*(XE(2,7)+XE(2,1)) 1 +XE(2,8)*(XE(1,7)+XE(1,1)) 1 +XE(1,4)*(XE(2,3)+XE(2,5)) 1 -XE(2,4)*(XE(1,3)+XE(1,5))) 2 +4.D0/9.D0*((XE(1,8)-XE(1,4))*(XE(2,2)+XE(2,6)) 2 +(-XE(2,8)+XE(2,4))*(XE(1,2)+XE(1,6)) 2 +XE(1,2)*(XE(2,1)-XE(2,3))+XE(2,2)*(-XE(1,1)+XE(1,3)) 2 +XE(1,6)*(XE(2,7)-XE(2,5))+XE(2,6)*(-XE(1,7)+XE(1,5))) 3 +7.D0/45.D0*(-XE(1,8)*(XE(2,3)+XE(2,5)) 3 +XE(2,8)*(XE(1,3)+XE(1,5)) 3 +XE(1,4)*(XE(2,1)+XE(2,7)) 3 -XE(2,4)*(XE(1,1)+XE(1,7))) 4 +1.D0/30.D0*(-XE(1,7)*XE(2,3)+XE(1,3)*XE(2,7) 4 +XE(1,5)*XE(2,1)-XE(1,1)*XE(2,5)) 5 +7.D0/90.D0*(XE(1,7)*XE(2,5)-XE(1,3)*XE(2,1) 5 -XE(1,5)*XE(2,7)+XE(1,1)*XE(2,3)) 6 +8.D0/15.D0*(XE(1,8)*XE(2,4)-XE(1,4)*XE(2,8)) P(2,1) = P(1,2) P(2,2) = 16.D0/45.D0*(XE(2,6)*(XE(1,5)-XE(1,7)) 1 +XE(1,6)*(XE(2,7)-XE(2,5))+XE(1,2)*(XE(2,3)-XE(2,1)) 1 +XE(2,2)*(XE(1,1)-XE(1,3))) 2 +14.D0/45.D0*(XE(2,4)*(XE(1,3)-XE(1,5)) 2 +XE(1,4)*(XE(2,5)-XE(2,3))+XE(1,8)*(XE(2,1)-XE(2,7)) 2 +XE(2,8)*(XE(1,7)-XE(1,1))) 3 +8.D0/45.D0*(XE(1,4)*(XE(2,2)-XE(2,6)) 3 +XE(1,8)*(XE(2,6)-XE(2,2))+XE(1,2)*(XE(2,8)-XE(2,4)) 3 +XE(1,6)*(XE(2,4)-XE(2,8))) 4 +2.D0/45.D0*(XE(2,2)*(XE(1,5)-XE(1,7)) 4 +XE(1,2)*(XE(2,7)-XE(2,5)) +XE(1,6)*(XE(2,3)-XE(2,1)) 4 +XE(2,6)*(XE(1,1)-XE(1,3))) 5 +4.D0/45.D0*(XE(2,4)*(XE(1,1)-XE(1,7)) 5 +XE(1,4)*(XE(2,7)-XE(2,1)) +XE(1,8)*(XE(2,3)-XE(2,5)) 5 +XE(2,8)*(XE(1,5)-XE(1,3))) 6 +17.D0/90.D0*(XE(1,7)*XE(2,5)+XE(1,3)*XE(2,1) 6 -XE(1,5)*XE(2,7)-XE(1,1)*XE(2,3)) 7 +1.D0/90.D0*(-XE(1,7)*XE(2,1)-XE(1,3)*XE(2,5) 7 +XE(1,5)*XE(2,3)+XE(1,1)*XE(2,7)) P(2,3) = 1.D0/3.D0*(XE(1,5)*(XE(2,6)-XE(2,4)) 1 +XE(1,8)*(XE(2,7)+XE(2,1))+XE(1,7)*(XE(2,6)-XE(2,8)) 1 -XE(1,2)*(XE(2,1)+XE(2,3))+XE(1,1)*(XE(2,2)-XE(2,8)) 1 +XE(1,4)*(XE(2,5)+XE(2,3))-XE(1,6)*(XE(2,7)+XE(2,5)) 1 +XE(1,3)*(XE(2,2)-XE(2,4))) 2 +4.D0/9.D0*(-XE(1,4)*(XE(2,2)+XE(2,6)) 2 -XE(1,8)*(XE(2,6)+XE(2,2))+XE(1,2)*(XE(2,8)+XE(2,4)) 2 +XE(1,6)*(XE(2,4)+XE(2,8))) 3 +1.D0/9.D0*(XE(1,7)*(XE(2,2)-XE(2,4)) 3 +XE(1,8)*(XE(2,3)+XE(2,5)) 3 +XE(1,5)*(XE(2,2)-XE(2,8))+XE(1,3)*(XE(2,6)-XE(2,8)) 3 -XE(1,2)*(XE(2,5)+XE(2,7))+XE(1,1)*(XE(2,6)-XE(2,4)) 3 +XE(1,4)*(XE(2,1)+XE(2,7))-XE(1,6)*(XE(2,1)+XE(2,3))) P(3,1) = P(1,3) P(3,2) = P(2,3) P(3,3) = 14.D0/45.D0*(XE(1,6)*(XE(2,7)-XE(2,5)) 1 +XE(2,6)*(XE(1,5)-XE(1,7))+XE(1,2)*(XE(2,3)-XE(2,1)) 1 +XE(2,2)*(XE(1,1)-XE(1,3))) 2 +16.D0/45.D0*(XE(1,8)*(XE(2,1)-XE(2,7)) 2 +XE(2,8)*(XE(1,7)-XE(1,1))+XE(1,4)*(XE(2,5)-XE(2,3)) 2 +XE(2,4)*(XE(1,3)-XE(1,5))) 3 +8.D0/45.D0*(XE(1,4)*(XE(2,2)-XE(2,6)) 3 +XE(1,8)*(XE(2,6)-XE(2,2))+XE(1,2)*(XE(2,8)-XE(2,4)) 3 +XE(1,6)*(XE(2,4)-XE(2,8))) 4 +2.D0/45.D0*(XE(2,4)*(XE(1,7)-XE(1,1)) 4 +XE(1,8)*(XE(2,5)-XE(2,3))+XE(2,8)*(-XE(1,5)+XE(1,3)) 4 +XE(1,4)*(XE(2,1)-XE(2,7))) 5 +4.D0/45.D0*(XE(2,2)*(XE(1,7)-XE(1,5)) 5 +XE(1,2)*(XE(2,5)-XE(2,7))+XE(1,6)*(XE(2,1)-XE(2,3)) 5 +XE(2,6)*(XE(1,3)-XE(1,1))) 6 +1.D0/90.D0*(-XE(1,5)*XE(2,7)+XE(1,3)*XE(2,1) 6 +XE(1,7)*XE(2,5)-XE(1,1)*XE(2,3)) 7 +17.D0/90.D0*(-XE(1,7)*XE(2,1)-XE(1,3)*XE(2,5) 7 +XE(1,5)*XE(2,3)+XE(1,1)*XE(2,7)) c c calcul des produits <tr eII . 1 > , <tr eII . eta > , <tr eII . xsi > c T(1) = 0.D0 T(2) = 0.D0 T(3) = 0.D0 T(4) = 0.D0 DO I=1,NBPGAU DO K =1,4 SHP(K,J)=SHPTOT(K,J,I) ENDDO ENDDO if(mele.ge.76) then else endif T(1) = T(1) + r_z T(2) = T(2) + r_z*QSIGAU(I) T(3) = T(3) + r_z*ETAGAU(I) if(mele.ge.76) & T(4) = T(4) + r_z*DZEGAU(I) ENDDO c c resolution du systme P.X=T c calcul du terme correctif c if (mele.ge.76) then COEF = X1s3 DO I=1,NBPGAU ENDDO else COEF = X1s2 IF (IFOUR .EQ. 0) COEF = X1s3 DO I=1,NBPGAU ENDDO endif c-------------------- c pas de correction pour les autres elements c-------------------- ELSE DO I=1,NBPGAU ENDDO ENDIF c RETURN END
© Cast3M 2003 - Tous droits réservés.
Mentions légales