Numérotation des lignes :

C CISAF     SOURCE    CHAT      05/01/12    22:03:15     5004      SUBROUTINE CISAF(XE,EXX,EYY,DDHOMU,AIR,ASS,AXX,AYY,     1              BSS,BXX,BYY)CC******************* FONCTIONS DE CISAILLEMENT *****************CC          CE SOUS PROGRAMME CALCULE LES CONSTANTES as'(k),ax'(i)C          ay'(i),bs'(k),bx'(i),by'(i) ,ou i=1--->3     k=4---->6CC                        YC                        .     3C                        .     *C                        .5  *   *   4    (4,5,6,noueuds condenses)C                        . +        +C                        .*          *C                      1 + * * +  * *  + 2 . . . . . . .XC                              6C*****************************************************************C      IMPLICIT INTEGER(I-N)      IMPLICIT REAL*8 (A-H,O-Z)      DIMENSION XE(3,*),EXX(*),EYY(*),DDHOMU(8,*),ASS(*),BSS(*)      DIMENSION AXX(*),AYY(*),BXX(*),BYY(*)      DIMENSION VV2(3,3),DFON(6,3),VV3(3,3)      DIMENSION AAX(6),AAY(6),BBX(6),BBY(6)*      CALL ZERO(DFON,6,3)      DFON(1,1)=4.D0      DFON(1,2)=4.D0      DFON(1,3)=4.D0      DFON(2,1)=4.D0      DFON(3,2)=4.D0      DFON(4,3)=4.D0      DFON(5,2)=-8.D0      DFON(6,3)=-4.D0      DFON(5,3)=-4.D0      DFON(6,1)=-8.D0      DPSIX=(XE(2,3)-XE(2,1))/(2.D0*AIR)      DPSIY=-(XE(1,3)-XE(1,1))/(2.D0*AIR)      DETAX=(XE(2,1)-XE(2,2))/(2.D0*AIR)      DETAY=-(XE(1,1)-XE(1,2))/(2.D0*AIR)*      CALL ZERO(VV3,3,3)C     calcul de la matrice jacobienne du second ordre      VV3(1,1)=DPSIX*DPSIX      VV3(1,2)=DETAX*DETAX      VV3(2,1)=DPSIY*DPSIY      VV3(2,2)=DETAY*DETAY      VV3(1,3)=2.D0*DPSIX*DETAX      VV3(2,3)=2.D0*DPSIY*DETAY      VV3(3,2)=DETAX*DETAY      VV3(3,1)=DPSIY*DPSIX      VV3(3,3)=DPSIY*DETAX+DETAY*DPSIX*      RAF=DDHOMU(4,4)      RAC1=DDHOMU(7,7)      RAC2=DDHOMU(8,8)      RAFC1= RAF/RAC1      RAFC2= RAF/RAC2      PXY=DDHOMU(4,5)/DDHOMU(4,4)      RAPU=DDHOMU(6,6)/DDHOMU(4,4)      RAFF=DDHOMU(5,5)/DDHOMU(4,4)      CALL ZERO(AAX,6,1)      CALL ZERO(BBX,6,1)      CALL ZERO(AAY,6,1)      CALL ZERO(BBY,6,1)      DO 30 I=1,6      AAX(I)=VV3(1,1)*DFON(I,1)+VV3(1,2)*DFON(I,2)+VV3(1,3)*DFON(I,3)     $+RAPU*(VV3(2,1)*DFON(I,1)+VV3(2,2)*DFON(I,2)+VV3(2,3)*DFON(I,3)) AAY(I)=(VV3(3,1)*DFON(I,1)+VV3(3,2)*DFON(I,2)+VV3(3,3)*DFON(I,3))$*PXY     $+RAPU*(VV3(3,1)*DFON(I,1)+VV3(3,2)*DFON(I,2)+VV3(3,3)*DFON(I,3)) BBX(I)=(VV3(3,1)*DFON(I,1)+VV3(3,2)*DFON(I,2)+VV3(3,3)*DFON(I,3))$*PXY     $+RAPU*(VV3(3,1)*DFON(I,1)+VV3(3,2)*DFON(I,2)+VV3(3,3)*DFON(I,3)) BBY(I)=(VV3(2,1)*DFON(I,1)+VV3(2,2)*DFON(I,2)+VV3(2,3)*DFON(I,3))$*RAFF     $+RAPU*(VV3(1,1)*DFON(I,1)+VV3(1,2)*DFON(I,2)+VV3(1,3)*DFON(I,3)) AAX(I)=RAFC1*AAX(I) AAY(I)=RAFC1*AAY(I) BBX(I)=RAFC2*BBX(I) BBY(I)=RAFC2*BBY(I) 30 CONTINUE* CALL ZERO(ASS,6,1) CALL ZERO(BSS,6,1) ASS(4)=AAX(4)*EXX(1)+AAY(4)*EYY(1) ASS(5)=AAX(5)*EXX(2)+AAY(5)*EYY(2) ASS(6)=AAX(6)*EXX(3)+AAY(6)*EYY(3) BSS(4)=BBX(4)*EXX(1)+BBY(4)*EYY(1) BSS(5)=BBX(5)*EXX(2)+BBY(5)*EYY(2) BSS(6)=BBX(6)*EXX(3)+BBY(6)*EYY(3) CALL ZERO(AXX,3,1) CALL ZERO(AYY,3,1) CALL ZERO(BYY,3,1) CALL ZERO(BXX,3,1) AXX(1)=AAX(1)+0.5D0*EYY(2)*(AAX(5)*EYY(2)-AAY(5)*EXX(2))$+0.5D0*EYY(3)*(AAX(6)*EYY(3)-AAY(6)*EXX(3))       AXX(2)=AAX(2)+0.5D0*EYY(1)*(AAX(4)*EYY(1)-AAY(4)*EXX(1))     $+0.5D0*EYY(3)*(AAX(6)*EYY(3)-AAY(6)*EXX(3)) AXX(3)=AAX(3)+0.5D0*EYY(1)*(AAX(4)*EYY(1)-AAY(4)*EXX(1))$+0.5D0*EYY(2)*(AAX(5)*EYY(2)-AAY(5)*EXX(2))       AYY(1)=AAY(1)-0.5D0*EXX(2)*(AAX(5)*EYY(2)-AAY(5)*EXX(2))     $-0.5D0*EXX(3)*(AAX(6)*EYY(3)-AAY(6)*EXX(3)) AYY(2)=AAY(2)-0.5D0*EXX(1)*(AAX(4)*EYY(1)-AAY(4)*EXX(1))$-0.5D0*EXX(3)*(AAX(6)*EYY(3)-AAY(6)*EXX(3))       AYY(3)=AAY(3)-0.5D0*EXX(1)*(AAX(4)*EYY(1)-AAY(4)*EXX(1))     $-0.5D0*EXX(2)*(AAX(5)*EYY(2)-AAY(5)*EXX(2)) BXX(1)=BBX(1)+0.5D0*EYY(2)*(BBX(5)*EYY(2)-BBY(5)*EXX(2))$+0.5D0*EYY(3)*(BBX(6)*EYY(3)-BBY(6)*EXX(3))       BXX(2)=BBX(2)+0.5D0*EYY(1)*(BBX(4)*EYY(1)-BBY(4)*EXX(1))     $+0.5D0*EYY(3)*(BBX(6)*EYY(3)-BBY(6)*EXX(3)) BXX(3)=BBX(3)+0.5D0*EYY(1)*(BBX(4)*EYY(1)-BBY(4)*EXX(1))$+0.5D0*EYY(2)*(BBX(5)*EYY(2)-BBY(5)*EXX(2))       BYY(1)=BBY(1)-0.5D0*EXX(2)*(BBX(5)*EYY(2)-BBY(5)*EXX(2))     $-0.5D0*EXX(3)*(BBX(6)*EYY(3)-BBY(6)*EXX(3)) BYY(2)=BBY(2)-0.5D0*EXX(1)*(BBX(4)*EYY(1)-BBY(4)*EXX(1))$-0.5D00*EXX(3)*(BBX(6)*EYY(3)-BBY(6)*EXX(3))       BYY(3)=BBY(3)-0.5D0*EXX(1)*(BBX(4)*EYY(1)-BBY(4)*EXX(1))     \$-0.5D0*EXX(2)*(BBX(5)*EYY(2)-BBY(5)*EXX(2))*       RETURN       END

© Cast3M 2003 - Tous droits réservés.
Mentions légales