dbst2
C DBST2 SOURCE PV 07/11/23 21:16:19 5978 & IGAU,XDPGE,YDPGE,UDPGE,NN) C======================================================================= C= D B S T 2 = C= --------- = C= Fonction : = C= ---------- = C= Calcul des contraintes en tenant compte de la partie quadratique = c= des deformations en un point de Gauss d'un element fini massif. = C= = C= Parametres : (E)=Entree (S)=Sortie = C= ------------ = C= SHP (E) Fonctions de forme et leurs derivees actuelles par = C= rapport aux coordonnees reelles x,y,z = C= DD (E) Matrice de Hooke au point de Gauss considere = C= XDDL (E) Valeurs des ddls aux noeuds de l'element etudie = C= XEL (E) Coordonnees des noeuds de l'element fini etudie = C= NBNO (E) Nombre de noeuds de l'element fini massif = C= IFOU (E) Mode de calcul utilise (cf. IFOUR dans CCOPTIO) = C= NSTRS (E) Nombre de composantes de contraintes = C= XSTRS (E/S) Entree : contraintes calculees au point de Gauss = C considere a partir des deformations (linearisees) = C= Sortie : contraintes calculees en integrant les = C= termes lineaire et quadratique des deformations = C= TRACE (S) 1. Trace de la partie quadratique des deformations = C= 2. Valeur du coefficient de compressibilite K = C= 3. Valeur du coefficient de Lame Lambda = C= au point de Gauss considere (IGAU) = C= IGAU (E) Numero du point de Gauss considere = C= XDPGE,YDPGE (E) Coordonnees du noeud support si necessaire = C= UDPGE (E) DDL associes au noeud support si necessaire = C= NN (E) Numero du mode de Fourier si necessaire (=NIFOUR) = C======================================================================= IMPLICIT INTEGER(I-N) IMPLICIT REAL*8(A-H,O-Z) PARAMETER (XZER=0.,UNDEMI=0.5,X2SUR3=0.6666666666666666666666666) DIMENSION SHP(6,*),DD(NSTRS,*),XDDL(*),XEL(3,*), DIMENSION EPS2(10) IFOR=IFOU+4 GOTO (10,20,20,30,40,50,60,60,60,60,60,60,60,60,60, & 70,70,70,80),IFOR GOTO 200 C === C 1 - Elements MASSIFS 2D PLAN GENE C === 10 k=0 XXX=XZER YYY=XZER DUDX=XZER DUDY=XZER DVDX=XZER DVDY=XZER XXX=XXX+SHP(1,i)*XEL(1,i) YYY=YYY+SHP(1,i)*XEL(2,i) k=k+1 DUDX=DUDX+SHP(2,i)*XDDL(k) DUDY=DUDY+SHP(3,i)*XDDL(k) k=k+1 DVDX=DVDX+SHP(2,i)*XDDL(k) DVDY=DVDY+SHP(3,i)*XDDL(k) ENDDO EPS2(1)=UNDEMI*(DUDX*DUDX+DVDX*DVDX) EPS2(2)=UNDEMI*(DUDY*DUDY+DVDY*DVDY) EPS2(3)=UDPGE(1)+UDPGE(2)*(XDPGE-XXX)+UDPGE(3)*(YYY-YDPGE) EPS2(3)=UNDEMI*EPS2(3)*EPS2(3) EPS2(4)=DUDX*DUDY+DVDX*DVDY C A verifier : TRACE(2,IGAU)=... GOTO 100 C === C 2 - Elements MASSIFS 2D PLAN DEFO ou PLAN CONT C === 20 k=0 DUDX=XZER DUDY=XZER DVDX=XZER DVDY=XZER k=k+1 DUDX=DUDX+SHP(2,i)*XDDL(k) DUDY=DUDY+SHP(3,i)*XDDL(k) k=k+1 DVDX=DVDX+SHP(2,i)*XDDL(k) DVDY=DVDY+SHP(3,i)*XDDL(k) ENDDO EPS2(1)=UNDEMI*(DUDX*DUDX+DVDX*DVDX) EPS2(2)=UNDEMI*(DUDY*DUDY+DVDY*DVDY) EPS2(3)=XZER EPS2(4)=DUDX*DUDY+DVDX*DVDY GOTO 100 C === C 3 - Elements MASSIFS 2D AXISymetrique C === 30 k=0 RR=XZER UR=XZER DUDX=XZER DUDY=XZER DVDX=XZER DVDY=XZER RR=RR+SHP(1,i)*XEL(1,i) k=k+1 UR=UR+SHP(1,i)*XDDL(k) DUDX=DUDX+SHP(2,i)*XDDL(k) DUDY=DUDY+SHP(3,i)*XDDL(k) k=k+1 DVDX=DVDX+SHP(2,i)*XDDL(k) DVDY=DVDY+SHP(3,i)*XDDL(k) ENDDO EPS2(1)=UNDEMI*(DUDX*DUDX+DVDX*DVDX) EPS2(2)=UNDEMI*(DUDY*DUDY+DVDY*DVDY) EPS2(3)=UNDEMI*(UR*UR)/(RR*RR) EPS2(4)=DUDX*DUDY+DVDX*DVDY GOTO 100 C === C 4 - Elements MASSIFS 2D FOURIER C === 40 k=0 RR=XZER UR=XZER DUDX=XZER DUDY=XZER UZ=XZER DVDX=XZER DVDY=XZER UT=XZER DWDX=XZER DWDY=XZER RR=RR+SHP(1,i)*XEL(1,i) k=k+1 UR=UR+SHP(1,i)*XDDL(k) DUDX=DUDX+SHP(2,i)*XDDL(k) DUDY=DUDY+SHP(3,i)*XDDL(k) k=k+1 UZ=UZ+SHP(1,i)*XDDL(k) DVDX=DVDX+SHP(2,i)*XDDL(k) DVDY=DVDY+SHP(3,i)*XDDL(k) k=k+1 UT=UT+SHP(1,i)*XDDL(k) DWDX=DWDX+SHP(2,i)*XDDL(k) DWDY=DWDY+SHP(3,i)*XDDL(k) ENDDO HHRT=-NN*UR-UT HHTT=UR+NN*UT HHZT=-NN*UZ EPS2(1)=UNDEMI*(DUDX*DUDX+DVDX*DVDX+DWDX*DWDX) EPS2(2)=UNDEMI*(DUDY*DUDY+DVDY*DVDY+DWDY*DWDY) EPS2(3)=UNDEMI*(HHRT*HHRT+HHTT*HHTT+HHZT*HHZT)/(RR*RR) EPS2(4)=(DUDX*DUDY+DVDX*DVDY+DWDX*DWDY) EPS2(5)=(DUDX*HHRT+DVDX*HHTT+DWDX*HHZT)/RR EPS2(6)=(DUDY*HHRT+DVDY*HHTT+DWDY*HHZT)/RR GOTO 100 C === C 5 - Elements MASSIFS 3D C === 50 k=0 DUDX=XZER DUDY=XZER DUDZ=XZER DVDX=XZER DVDY=XZER DVDZ=XZER DWDX=XZER DWDY=XZER DWDZ=XZER k=k+1 DUDX=DUDX+SHP(2,i)*XDDL(k) DUDY=DUDY+SHP(3,i)*XDDL(k) DUDZ=DUDZ+SHP(4,i)*XDDL(k) k=k+1 DVDX=DVDX+SHP(2,i)*XDDL(k) DVDY=DVDY+SHP(3,i)*XDDL(k) DVDZ=DVDZ+SHP(4,i)*XDDL(k) k=k+1 DWDX=DWDX+SHP(2,i)*XDDL(k) DWDY=DWDY+SHP(3,i)*XDDL(k) DWDZ=DWDZ+SHP(4,i)*XDDL(k) ENDDO EPS2(1)=UNDEMI*(DUDX*DUDX+DVDX*DVDX+DWDX*DWDX) EPS2(2)=UNDEMI*(DUDY*DUDY+DVDY*DVDY+DWDY*DWDY) EPS2(3)=UNDEMI*(DUDZ*DUDZ+DVDZ*DVDZ+DWDZ*DWDZ) EPS2(4)=DUDX*DUDY+DVDX*DVDY+DWDX*DWDY EPS2(5)=DUDX*DUDZ+DVDX*DVDZ+DWDX*DWDZ EPS2(6)=DUDY*DUDZ+DVDY*DVDZ+DWDY*DWDZ GOTO 100 C === C 6 - Elements MASSIFS 1D C === C= 6.1 - Modes 1D PLAN 60 DUDX=XZER DUDX=DUDX+SHP(2,i)*XDDL(i) ENDDO EPS2(1)=UNDEMI*DUDX*DUDX EPS2(2)=XZER EPS2(3)=XZER IF (IFOU.EQ.7.OR.IFOU.EQ.8) THEN EPS2(2)=UNDEMI*(UDPGE(1)*UDPGE(1)) ELSE IF (IFOU.EQ.9.OR.IFOU.EQ.10) THEN EPS2(3)=UNDEMI*(UDPGE(1)*UDPGE(1)) ELSE IF (IFOU.EQ.11) THEN EPS2(2)=UNDEMI*(UDPGE(1)*UDPGE(1)) EPS2(3)=UNDEMI*(UDPGE(2)*UDPGE(2)) ENDIF C A verifier : TRACE(2,IGAU)=... et TRACE(3,IGAU)=... GOTO 100 C= 6.2 - Modes 1D AXIS 70 RR=XZER UR=XZER DUDX=XZER RR=RR+SHP(1,i)*XEL(1,i) UR=UR+SHP(1,i)*XDDL(i) DUDX=DUDX+SHP(2,i)*XDDL(i) ENDDO EPS2(1)=UNDEMI*(DUDX*DUDX) EPS2(2)=XZER EPS2(3)=UNDEMI*(UR*UR)/(RR*RR) IF (IFOU.EQ.14) THEN EPS2(2)=UNDEMI*(UDPGE(1)*UDPGE(1)) ENDIF C A verifier : TRACE(2,IGAU)=... et TRACE(3,IGAU)=... GOTO 100 C= 6.3 - Mode 1D SPHE 80 RR=XZER UR=XZER DUDX=XZER RR=RR+SHP(1,i)*XEL(1,i) UR=UR+SHP(1,i)*XDDL(i) DUDX=DUDX+SHP(2,i)*XDDL(i) ENDDO EPS2(1)=UNDEMI*(DUDX*DUDX) EPS2(2)=UNDEMI*(UR*UR)/(RR*RR) EPS2(3)=EPS2(2) C A verifier : TRACE(2,IGAU)=... et TRACE(3,IGAU)=... GOTO 100 C ==== C Calcul des contraintes XSTRS(*) en ajoutant les contraintes associees C a la partie quadratique des deformations EPS2(*) - multiplication par C la matrice de Hooke DD(*,*) C ==== 100 DO i=1,NSTRS ZSIG=XZER DO j=1,NSTRS ZSIG=ZSIG+DD(i,j)*EPS2(j) ENDDO XSTRS(i)=XSTRS(i)+ZSIG ENDDO 200 CONTINUE RETURN END
© Cast3M 2003 - Tous droits réservés.
Mentions légales