1 : C DBDST2 SOURCE CHAT 05/01/12 22:37:17 5004 2 : SUBROUTINE DBDST2(XEL,DD,XDDL,IGAU,BGENE,CMATE,COSA,SINA 3 : 1 ,XSTRS) 4 : C====================================================================== 5 : C 6 : C AJOUTE DANS LES CONTRAINTES XSTRS LA PARTIE DHO * EPS2 7 : C QUE POUR LES ELEMENTS DST 8 : C ENTREE 9 : C XEL(3,3) =COORDONNEES LOCALES DU DST 10 : C DD(8,8) =MATRICE DE HOOKE 11 : C XDDL(18) =D D L LOCAUX DE LA FORMULATION 12 : C IGAU =NUMERO DU POINT DE GAUSS DE 1 A 3 13 : C XSTRS(8) =CONTRAINTES DHO*(EPS1 ) 14 : C BGENE(8,18) =RELIE LES DEFORMATIONS AUX DDL 15 : C CMATE ='ISOTROPE' OU 'ORTHOTRO' 16 : C COSA =COSINUS ET SINUS DU L'ANGLE ENTRE l'AXE 17 : C SINA 1 DE L'ORTHOTROPIE ET L'AXE X 18 : C SORTIE 19 : C XSTRS(6) =CONTRAINTES DHO*(EPS1 + EPS2 ) 20 : C 21 : C CODE EBERSOLT AOUT 85 + P DOWLATYARI OCT. 91 POUR ELEMENT DST 22 : C======================================================================= 23 : IMPLICIT INTEGER(I-N) 24 : IMPLICIT REAL*8(A-H,O-Z) 25 : DIMENSION XEL(3,*),DD(8,*),XSTRS(*),XDDL(*),BGENE(8,*) 26 : DIMENSION EPS2(3),SHP(6,9),ROT(9) 27 : CHARACTER*8 CMATE 28 : C 29 : C 30 : DATA XZER,UNDEMI,TRDEMI/0.D0,.5D0,1.5D0/ 31 : C 32 : BETAX=XZER 33 : BETAY=XZER 34 : GAMAXZ=XZER 35 : GAMAYZ=XZER 36 : C 36 : CALL DKTSHP(IGAU,XEL,SHP,DJAC) 37 : C 38 : C ON EXTRAIT LES DEGRES W ROT X ROT Y 39 : C 40 : IACC= 0 41 : IADD= 2 42 : DO 100 IA=1,3 43 : DO 110 IB=1,3 44 : ROT(IACC+IB)=XDDL(IADD+IB) 45 : 110 CONTINUE 46 : IF(CMATE.NE.'ISOTROPE')THEN 47 : RRX=ROT(IACC+2)*COSA+ROT(IACC+3)*SINA 48 : RRY=ROT(IACC+2)*(-SINA)+ROT(IACC+3)*COSA 49 : ROT(IACC+2)=RRX 50 : ROT(IACC+3)=RRY 51 : ENDIF 52 : IACC=IACC+3 53 : IADD=IADD+6 54 : 100 CONTINUE 55 : C 56 : C LES ROT SONT DES W -BETAX -BETAY AUX 3 NOEUDS 57 : C LES XDDL SONT LES W RX RY AUX 3 NOEUDS 58 : C 59 : CCC = ROT(2) 60 : ROT(2)=-ROT(3) 61 : ROT(3)= CCC 62 : C 63 : CCC = ROT(5) 64 : ROT(5)=-ROT(6) 65 : ROT(6)= CCC 66 : C 67 : CCC = ROT(8) 68 : ROT(8)=-ROT(9) 69 : ROT(9)= CCC 70 : C 71 : DO 200 IA=1,9 72 : BETAX =SHP(2,IA)*ROT(IA) +BETAX 73 : BETAY =SHP(3,IA)*ROT(IA) +BETAY 74 : 200 CONTINUE 75 : C 76 : DO 210 IA=1,18 77 : GAMAXZ=BGENE(7,IA)*XDDL(IA)+GAMAXZ 78 : GAMAYZ=BGENE(8,IA)*XDDL(IA)+GAMAYZ 79 : 210 CONTINUE 80 : C 81 : C ON AJOUTE L'EFFET DE CISAILLEMENT 82 : C 83 : IF(IGAU.EQ.1)THEN 84 : DX=XEL(1,2)-XEL(1,1) 85 : DY=XEL(2,2)-XEL(2,1) 86 : ELSEIF(IGAU.EQ.2)THEN 87 : DX=XEL(1,3)-XEL(1,1) 88 : DY=XEL(2,3)-XEL(2,1) 89 : ELSE 90 : DX=XEL(1,3)-XEL(1,2) 91 : DY=XEL(2,3)-XEL(2,2) 92 : ENDIF 93 : XLONG= DX*DX + DY*DY 94 : XLON2= SQRT(XLONG) 95 : CC=DX/XLON2 96 : SS=DY/XLON2 97 : BETAX=BETAX-TRDEMI*CC*CC*GAMAXZ-TRDEMI*SS*CC*GAMAYZ 98 : BETAY=BETAY-TRDEMI*SS*CC*GAMAXZ-TRDEMI*SS*SS*GAMAYZ 99 : C 100 : C BETA EST EN REALITE -BETA DONC:W,X=BETAX+GAMAXZ 101 : C 102 : DWDX = BETAX + GAMAXZ 103 : DWDY = BETAY + GAMAYZ 104 : C 105 : EPS2(1)= DWDX*DWDX*UNDEMI 106 : EPS2(2)= DWDY*DWDY*UNDEMI 107 : EPS2(3)= DWDX*DWDY 108 : C 109 : C MULTIPLICATION PAR LA MATRICE DE HOOKE 110 : C 111 : DO 300 IB=1,3 112 : DO 300 IC=1,3 113 : XSTRS(IB)=XSTRS(IB)+ DD(IB,IC)*EPS2(IC) 114 : 300 CONTINUE 115 : C 116 : RETURN 117 : END 118 :
© Cast3M 2003 - All rights reserved.
Disclaimer