1 : C CISAF SOURCE CHAT 05/01/12 22:03:15 5004 2 : SUBROUTINE CISAF(XE,EXX,EYY,DDHOMU,AIR,ASS,AXX,AYY, 3 : 1 BSS,BXX,BYY) 4 : C 5 : C******************* FONCTIONS DE CISAILLEMENT ***************** 6 : C 7 : C CE SOUS PROGRAMME CALCULE LES CONSTANTES as'(k),ax'(i) 8 : C ay'(i),bs'(k),bx'(i),by'(i) ,ou i=1--->3 k=4---->6 9 : C 10 : C Y 11 : C . 3 12 : C . * 13 : C .5 * * 4 (4,5,6,noueuds condenses) 14 : C . + + 15 : C .* * 16 : C 1 + * * + * * + 2 . . . . . . .X 17 : C 6 18 : C***************************************************************** 19 : C 20 : IMPLICIT INTEGER(I-N) 21 : IMPLICIT REAL*8 (A-H,O-Z) 22 : DIMENSION XE(3,*),EXX(*),EYY(*),DDHOMU(8,*),ASS(*),BSS(*) 23 : DIMENSION AXX(*),AYY(*),BXX(*),BYY(*) 24 : DIMENSION VV2(3,3),DFON(6,3),VV3(3,3) 25 : DIMENSION AAX(6),AAY(6),BBX(6),BBY(6) 26 : * 26 : CALL ZERO(DFON,6,3) 27 : DFON(1,1)=4.D0 28 : DFON(1,2)=4.D0 29 : DFON(1,3)=4.D0 30 : DFON(2,1)=4.D0 31 : DFON(3,2)=4.D0 32 : DFON(4,3)=4.D0 33 : DFON(5,2)=-8.D0 34 : DFON(6,3)=-4.D0 35 : DFON(5,3)=-4.D0 36 : DFON(6,1)=-8.D0 37 : DPSIX=(XE(2,3)-XE(2,1))/(2.D0*AIR) 38 : DPSIY=-(XE(1,3)-XE(1,1))/(2.D0*AIR) 39 : DETAX=(XE(2,1)-XE(2,2))/(2.D0*AIR) 40 : DETAY=-(XE(1,1)-XE(1,2))/(2.D0*AIR) 41 : * 41 : CALL ZERO(VV3,3,3) 42 : C calcul de la matrice jacobienne du second ordre 43 : VV3(1,1)=DPSIX*DPSIX 44 : VV3(1,2)=DETAX*DETAX 45 : VV3(2,1)=DPSIY*DPSIY 46 : VV3(2,2)=DETAY*DETAY 47 : VV3(1,3)=2.D0*DPSIX*DETAX 48 : VV3(2,3)=2.D0*DPSIY*DETAY 49 : VV3(3,2)=DETAX*DETAY 50 : VV3(3,1)=DPSIY*DPSIX 51 : VV3(3,3)=DPSIY*DETAX+DETAY*DPSIX 52 : * 53 : RAF=DDHOMU(4,4) 54 : RAC1=DDHOMU(7,7) 55 : RAC2=DDHOMU(8,8) 56 : RAFC1= RAF/RAC1 57 : RAFC2= RAF/RAC2 58 : PXY=DDHOMU(4,5)/DDHOMU(4,4) 59 : RAPU=DDHOMU(6,6)/DDHOMU(4,4) 60 : RAFF=DDHOMU(5,5)/DDHOMU(4,4) 60 : CALL ZERO(AAX,6,1) 60 : CALL ZERO(BBX,6,1) 60 : CALL ZERO(AAY,6,1) 60 : CALL ZERO(BBY,6,1) 61 : DO 30 I=1,6 62 : AAX(I)=VV3(1,1)*DFON(I,1)+VV3(1,2)*DFON(I,2)+VV3(1,3)*DFON(I,3) 63 : $+RAPU*(VV3(2,1)*DFON(I,1)+VV3(2,2)*DFON(I,2)+VV3(2,3)*DFON(I,3)) 64 : AAY(I)=(VV3(3,1)*DFON(I,1)+VV3(3,2)*DFON(I,2)+VV3(3,3)*DFON(I,3)) 65 : $*PXY 66 : $+RAPU*(VV3(3,1)*DFON(I,1)+VV3(3,2)*DFON(I,2)+VV3(3,3)*DFON(I,3)) 67 : BBX(I)=(VV3(3,1)*DFON(I,1)+VV3(3,2)*DFON(I,2)+VV3(3,3)*DFON(I,3)) 68 : $*PXY 69 : $+RAPU*(VV3(3,1)*DFON(I,1)+VV3(3,2)*DFON(I,2)+VV3(3,3)*DFON(I,3)) 70 : BBY(I)=(VV3(2,1)*DFON(I,1)+VV3(2,2)*DFON(I,2)+VV3(2,3)*DFON(I,3)) 71 : $*RAFF 72 : $+RAPU*(VV3(1,1)*DFON(I,1)+VV3(1,2)*DFON(I,2)+VV3(1,3)*DFON(I,3)) 73 : AAX(I)=RAFC1*AAX(I) 74 : AAY(I)=RAFC1*AAY(I) 75 : BBX(I)=RAFC2*BBX(I) 76 : BBY(I)=RAFC2*BBY(I) 77 : 30 CONTINUE 78 : * 78 : CALL ZERO(ASS,6,1) 78 : CALL ZERO(BSS,6,1) 79 : ASS(4)=AAX(4)*EXX(1)+AAY(4)*EYY(1) 80 : ASS(5)=AAX(5)*EXX(2)+AAY(5)*EYY(2) 81 : ASS(6)=AAX(6)*EXX(3)+AAY(6)*EYY(3) 82 : BSS(4)=BBX(4)*EXX(1)+BBY(4)*EYY(1) 83 : BSS(5)=BBX(5)*EXX(2)+BBY(5)*EYY(2) 84 : BSS(6)=BBX(6)*EXX(3)+BBY(6)*EYY(3) 84 : CALL ZERO(AXX,3,1) 84 : CALL ZERO(AYY,3,1) 84 : CALL ZERO(BYY,3,1) 84 : CALL ZERO(BXX,3,1) 85 : AXX(1)=AAX(1)+0.5D0*EYY(2)*(AAX(5)*EYY(2)-AAY(5)*EXX(2)) 86 : $+0.5D0*EYY(3)*(AAX(6)*EYY(3)-AAY(6)*EXX(3)) 87 : AXX(2)=AAX(2)+0.5D0*EYY(1)*(AAX(4)*EYY(1)-AAY(4)*EXX(1)) 88 : $+0.5D0*EYY(3)*(AAX(6)*EYY(3)-AAY(6)*EXX(3)) 89 : AXX(3)=AAX(3)+0.5D0*EYY(1)*(AAX(4)*EYY(1)-AAY(4)*EXX(1)) 90 : $+0.5D0*EYY(2)*(AAX(5)*EYY(2)-AAY(5)*EXX(2)) 91 : AYY(1)=AAY(1)-0.5D0*EXX(2)*(AAX(5)*EYY(2)-AAY(5)*EXX(2)) 92 : $-0.5D0*EXX(3)*(AAX(6)*EYY(3)-AAY(6)*EXX(3)) 93 : AYY(2)=AAY(2)-0.5D0*EXX(1)*(AAX(4)*EYY(1)-AAY(4)*EXX(1)) 94 : $-0.5D0*EXX(3)*(AAX(6)*EYY(3)-AAY(6)*EXX(3)) 95 : AYY(3)=AAY(3)-0.5D0*EXX(1)*(AAX(4)*EYY(1)-AAY(4)*EXX(1)) 96 : $-0.5D0*EXX(2)*(AAX(5)*EYY(2)-AAY(5)*EXX(2)) 97 : BXX(1)=BBX(1)+0.5D0*EYY(2)*(BBX(5)*EYY(2)-BBY(5)*EXX(2)) 98 : $+0.5D0*EYY(3)*(BBX(6)*EYY(3)-BBY(6)*EXX(3)) 99 : BXX(2)=BBX(2)+0.5D0*EYY(1)*(BBX(4)*EYY(1)-BBY(4)*EXX(1)) 100 : $+0.5D0*EYY(3)*(BBX(6)*EYY(3)-BBY(6)*EXX(3)) 101 : BXX(3)=BBX(3)+0.5D0*EYY(1)*(BBX(4)*EYY(1)-BBY(4)*EXX(1)) 102 : $+0.5D0*EYY(2)*(BBX(5)*EYY(2)-BBY(5)*EXX(2)) 103 : BYY(1)=BBY(1)-0.5D0*EXX(2)*(BBX(5)*EYY(2)-BBY(5)*EXX(2)) 104 : $-0.5D0*EXX(3)*(BBX(6)*EYY(3)-BBY(6)*EXX(3)) 105 : BYY(2)=BBY(2)-0.5D0*EXX(1)*(BBX(4)*EYY(1)-BBY(4)*EXX(1)) 106 : $-0.5D00*EXX(3)*(BBX(6)*EYY(3)-BBY(6)*EXX(3)) 107 : BYY(3)=BBY(3)-0.5D0*EXX(1)*(BBX(4)*EYY(1)-BBY(4)*EXX(1)) 108 : $-0.5D0*EXX(2)*(BBX(5)*EYY(2)-BBY(5)*EXX(2)) 109 : * 110 : RETURN 111 : END 112 :
© Cast3M 2003 - All rights reserved.
Disclaimer