1 : C DSDX3D SOURCE CHAT 07/10/22 21:15:46 5921 2 : SUBROUTINE DSDX3D(LOOP,B,U,DEPS,D,NBN) 3 : IMPLICIT REAL*8(A-H,O-Z) 4 : IMPLICIT INTEGER (I-N) 5 : * 6 : *---------------------------------------------------------------------- 7 : * 8 : * CALCUL DES DERIVEES DUX/DX DVX/DY ETC.... H. BUNG FEV 83 9 : * (ELEMENTS CUB6 ) 10 : *---------------------------------------------------------------------- 11 : * 12 : * ENTREES : 13 : * B : MATRICE (B) 14 : * U : TABLEAU DES VALEURS NODALES 15 : * LOOP = 2 ON CALCULE LES DEFORMATIONS JUSQU'AU 2E ORDRE 16 : * SUR LA CONFIGURATION (N+1) 17 : * 18 : * SORTIES : 19 : * D : D(1)=DU1/DX1 ; D(2)=DU2/DX1 ; D(3)=DU3/DX1 ; 20 : * : D(4)=DU1/DX2 ; D(5)=DU2/DX2 ; D(6)=DU3/DX2 ; 21 : * : D(7)=DU1/DX3 ; D(8)=DU2/DX3 ; D(9)=DU3/DX3 22 : * DEPS : TENSEUR DE DEFORMATION ASSOCIE A 23 : * DEPS(1)=D(1) ; DEPS(2)=D(5) ; DEPS(3)=D(9) 24 : * DEPS(4)=D(2)+D(4); DEPS(5)=D(6)+D(8); DEPS(6)=D(3)+D(7) 25 : * 26 : * AVEC EVENTUELLEMENT LES TERMES DU 2EME ORDRE 27 : * 28 : * 29 : * IMPLICIT NONE 30 : * 31 : * REAL *8 B(3,*),U(3,8),D(*),DEPS(*) 32 : * REAL *8 B1I,B2I,B3I,U1I,U2I,U3I 33 : * REAL *8 D1,D2,D3,D4,D5,D6,D7,D8,D9 34 : DIMENSION B(3,*),U(3,8),D(*),DEPS(*) 35 : * 36 : * INTEGER NBN,LOOP 37 : * 38 : * INTEGER I 39 : * 40 : **OP_SN 41 : * 42 : * 43 : DO I=1,9 44 : D(I) = 0D0 45 : END DO 46 : * 47 : D1 = 0.D0 48 : D2 = 0.D0 49 : D3 = 0.D0 50 : D4 = 0.D0 51 : D5 = 0.D0 52 : D6 = 0.D0 53 : D7 = 0.D0 54 : D8 = 0.D0 55 : D9 = 0.D0 56 : * 57 : DO I=1,NBN 58 : B1I = B(1,I) 59 : B2I = B(2,I) 60 : B3I = B(3,I) 61 : U1I = U(1,I) 62 : U2I = U(2,I) 63 : U3I = U(3,I) 64 : D1 = D1 + B1I*U1I 65 : D2 = D2 + B1I*U2I 66 : D3 = D3 + B1I*U3I 67 : D4 = D4 + B2I*U1I 68 : D5 = D5 + B2I*U2I 69 : D6 = D6 + B2I*U3I 70 : D7 = D7 + B3I*U1I 71 : D8 = D8 + B3I*U2I 72 : D9 = D9 + B3I*U3I 73 : END DO 74 : D(1) = D1 75 : D(2) = D2 76 : D(3) = D3 77 : D(4) = D4 78 : D(5) = D5 79 : D(6) = D6 80 : D(7) = D7 81 : D(8) = D8 82 : D(9) = D9 83 : * 84 : DEPS(1) = D1 85 : DEPS(2) = D5 86 : DEPS(3) = D9 87 : DEPS(4) = D2 + D4 88 : DEPS(5) = D6 + D8 89 : DEPS(6) = D3 + D7 90 : * 91 : IF(LOOP.EQ.2) THEN 92 : DEPS(1) = DEPS(1) - 0.5*(D1*D1 + D2*D2 + D3*D3) 93 : DEPS(2) = DEPS(2) - 0.5*(D4*D4 + D5*D5 + D6*D6) 94 : DEPS(3) = DEPS(3) - 0.5*(D7*D7 + D8*D8 + D9*D9) 95 : * 96 : DEPS(4) = DEPS(4) - D1*D4 - D2*D5 - D3*D6 97 : DEPS(5) = DEPS(5) - D4*D7 - D5*D8 - D6*D9 98 : DEPS(6) = DEPS(6) - D1*D7 - D2*D8 - D3*D9 99 : ENDIF 100 : * 101 : END 102 : 103 :
© Cast3M 2003 - All rights reserved.
Disclaimer