有限元程序设计讲解版

合集下载

有限单元法程序设计

有限单元法程序设计

有限单元法程序设计123456789101112( 1 )( 2 )( 3 )( 4 )( 5 )( 6 )( 7 )( 8 )( 9 )( 10 )( 11 )( 12 )( 13 )( 14 )( 15 )程序一:平面刚架静力分析程序(PF.FOR )用平面刚架静力分析程序分析所示结构。

图示刚架材料为钢筋混凝土,杆件截面为矩形,柱截面宽0.4m ,高0.4m ;梁截面宽0.4m ,高0.7m 。

材料的弹性模量E=3.55E7。

1. 原始数据的准备与输入20KNm 6 m 6 m 4 m3.5 m3.5 m(4)单元荷载将以上数据以下面的方式输入到程序中:************************************************************* * * * qiuchangting gangjia 2009.6 * * * ************************************************************** 3.55E7 15 12 9 11 2 0.16 2.133E-32 3 0.16 2.133E-33 4 0.16 2.133E-34 5 0.28 11.43E-35 6 0.16 2.133E-36 7 0.16 2.133E-37 8 0.16 2.133E-35 9 0.28 11.43E-39 10 0.16 2.133E-310 11 0.16 2.133E-311 12 0.16 2.133E-33 6 0.28 11.43E-36 10 0.28 11.43E-32 7 0.28 11.43E-37 11 0.28 11.43E-30 00 40 7.50 116 116 7.56 46 012 1112 7.512 412 011 012 013 081 082 083 0121 0122 0123 051 3 20 42 3 20 3.53 3 20 3.513 4 -10 614 4 -10 6程序运行后,输出结果为:************************************************************* * * * qiuchangting gangjia 2009.6 * * * ************************************************************** The Input DataThe General InformationE NM NJ NS NLC3.550E+07 15 12 9 1The Information of Membersmember start end A I1 12 1.600000E-01 2.133000E-032 23 1.600000E-01 2.133000E-033 34 1.600000E-01 2.133000E-034 45 2.800000E-01 1.143000E-025 56 1.600000E-01 2.133000E-036 67 1.600000E-01 2.133000E-037 7 8 1.600000E-01 2.133000E-038 5 9 2.800000E-01 1.143000E-029 9 10 1.600000E-01 2.133000E-0310 10 11 1.600000E-01 2.133000E-0311 11 12 1.600000E-01 2.133000E-0312 3 6 2.800000E-01 1.143000E-0213 6 10 2.800000E-01 1.143000E-0214 2 7 2.800000E-01 1.143000E-0215 7 11 2.800000E-01 1.143000E-02The Joint Coordinatesjoint X Y1 .000000 .0000002 .000000 4.0000003 .000000 7.5000004 .000000 11.0000005 6.000000 11.0000006 6.000000 7.5000007 6.000000 4.0000008 6.000000 .0000009 12.000000 11.00000010 12.000000 7.50000011 12.000000 4.00000012 12.000000 .000000The Information of SupportsIS VS11 .00000012 .00000013 .00000081 .00000082 .00000083 .000000121 .000000122 .000000123 .000000( NA= 306 )( NW= 1038 )Loading Case 1The Loadings at JointsNLJ= 0The Loadings at MembersNLM= 5ILM ITL PV DST1 3 20.0000 4.0000002 3 20.0000 3.5000003 3 20.0000 3.50000013 4 -10.0000 6.00000014 4 -10.0000 6.000000The Results of CalculationThe Joint Displacementsjoint u v phi1 5.517799E-21 3.746750E-21 -1.212291E-202 5.035124E-03 2.638557E-05 -5.743715E-043 7.666356E-03 4.137788E-05 -2.016188E-044 8.569997E-03 4.229713E-05 -1.643039E-055 8.555549E-03 -5.769378E-05 -3.895922E-056 7.633712E-03 -6.086508E-05 -1.701734E-047 5.006871E-03 -4.326034E-05 -8.670744E-058 6.862436E-21 -6.142968E-21 -1.388901E-209 8.548212E-03 -1.060822E-04 -7.533107E-0510 7.621811E-03 -1.019917E-04 -1.262908E-0411 4.992188E-03 -6.763227E-05 -5.169941E-0412 5.619765E-21 -9.603783E-21 -1.221822E-20The Terminal Forcesmember N(st) Q(st) M(st) N(en) Q(en) M(en)1 -37.468 95.178 147.896 37.468 -15.178 72.8162 -24.330 61.984 59.575 24.330 8.016 34.8703 -1.492 46.064 35.772 1.492 23.936 2.9524 23.936 -1.492 -2.952 -23.936 1.492 -5.9995 -5.147 11.780 23.454 5.147 -11.780 17.7776 28.570 46.144 78.946 -28.570 -46.144 82.5587 61.430 68.624 135.607 -61.430 -68.624 138.8908 12.156 -6.638 -17.455 -12.156 6.638 -22.3759 6.638 12.156 22.375 -6.638 -12.156 20.17010 55.760 31.872 64.229 -55.760 -31.872 47.32311 96.038 56.198 102.608 -96.038 -56.198 122.18212 54.080 -22.839 -70.642 -54.080 22.839 -66.38913 19.716 10.878 -30.334 -19.716 49.122 -84.39814 46.806 -13.137 -132.391 -46.806 73.137 -126.43215 24.326 -40.277 -91.733 -24.326 40.277 -149.931( NA= 306 )( NW= 1058 )源程序:C PF.FOR (A program for analysis of plane frame)C Version 4.3 1994C Main program reads the control data & organizes the wholeC calculation by calling subroutines.DIMENSION W(20000)CHARACTER IDFN*20,TITLE(5)*72READ (*,'(A12)')IDFNOPEN (3,FILE=IDFN,STATUS='OLD')READ (3,'(A72)')(TITLE(M),M=1,5)READ (3,*)E,NM,NJ,NS,NLCL1=1L2=L1+NML3=L2+NML4=L3+NML11=L4+NML12=L11+NJL21=L12+NJL22=L21+NSL31=L22+NSL41=L31+6*NMCALL IOMJS (TITLE,E,NM,NJ,NS,NLC,W(L1),W(L2),W(L3),& W(L4),W(L11),W(L12),W(L21),W(L22))CALL LCVCT (NM,W(L1),W(L2),W(L31),NJ,N)CALL LCDIA (NM,N,W(L31),W(L41),W(L41),W(L41),MAXBDW,NA)L51=L41+NL52=L51+36L53=L52+NA*2L54=L53L61=L54+N*2NW=L61+6*NM-1WRITE (*,1)NA,NW1 FORMAT(/40X,'( NA=',I6,' )'& /40X,'( NW=',I6,' )')CALL FORMA (E,NM,NJ,N,NA,W(L1),W(L2),W(L3),W(L4),& W(L11),W(L12),W(L31),W(L51),W(L41),W(L52)) CALL AS (NS,N,NA,W(L21),W(L41),W(L52))CALL LDLT (N,NA,W(L41),W(L52),W(L53))DO 100 LC=1,NLCREAD (3,*)NLJL62=L61+NLJL63=L62+NLJL64=L63+NLJL71=L61L81=L71+6*NMCALL B0 (LC,N,NLJ,W(L54))IF (NLJ.NE.0) CALL IOLJB (N,NLJ,W(L61),W(L62),& W(L63),W(L64),W(L54))READ (3,*)NLML82=L81+NLML83=L82+NLML84=L83+NLMCALL F0 (NLM,NM,W(L71))IF (NLM.NE.0) CALL IOLMFB (NM,NJ,N,NLM,W(L81),& W(L82),W(L83),W(L84),W(L1),W(L2),W(L11),& W(L12),W(L31),W(L71),W(L54))CALL BS (NS,N,W(L21),W(L22),W(L54))CALL SLVEQ (N,NA,MAXBDW,W(L41),W(L52),W(L54))CALL OJD (NJ,N,W(L54))CALL COTF (E,NM,NJ,N,W(L1),W(L2),W(L3),W(L4),& W(L11),W(L12),W(L31),W(L54),W(L71))NW=L84+NLM-1WRITE (*,1)NA,NW100 CONTINUEWRITE (*,'(/)')ENDSUBROUTINE IOMJS (TITLE,E,NM,NJ,NS,NLC,IST,IEN,& AR,RI,X,Y,IS,VS)C Read data of members, joints, supports & print themDIMENSION IST(NM),IEN(NM),AR(NM),RI(NM),& X(NJ),Y(NJ),IS(NS),VS(NS)CHARACTER TITLE(5)*72WRITE (*,'(/)')WRITE (*,1)(TITLE(M),M=1,5)1 FORMAT(1X,A72)WRITE (*,2)E,NM,NJ,NS,NLC2 FORMAT(/13X,'The Input Data'& //10X,'The General Information'& //6X,'E',9X,'NM',5X,'NJ',5X,'NS',5X,'NLC'& /1X,1PE10.3,4I7)READ (3,*)(IST(M),IEN(M),AR(M),RI(M),M=1,NM)WRITE (*,3)3 FORMAT(/10X,'The Information of Members'& //1X,'member',2X,'start',2X,'end',9X,'A',15X,'I')WRITE (*,4)(M,IST(M),IEN(M),AR(M),RI(M),M=1,NM)4 FORMAT(1X,I4,I8,I6,1P2E16.6)READ (3,*)(X(M),Y(M),M=1,NJ)WRITE (*,5)5 FORMAT(/10X,'The Joint Coordinates'& //1X,'joint',11X,'X',17X,'Y')WRITE (*,6)(M,X(M),Y(M),M=1,NJ)6 FORMAT(1X,I4,2F18.6)READ (3,*)(IS(M),VS(M),M=1,NS)WRITE (*,7)7 FORMAT(/10X,'The Information of Supports'& //4X,'IS',9X,'VS')WRITE (*,8)(IS(M),VS(M),M=1,NS)8 FORMAT(1X,I5,F16.6)RETURNENDSUBROUTINE LCVCT (NM,IST,IEN,LV,NJ,N)C Determine location vector of elementDIMENSION IST(NM),IEN(NM),LV(6,NM)DO 100 M=1,NMI=IST(M)*3J=IEN(M)*3LV(1,M)=I-2LV(2,M)=I-1LV(3,M)=ILV(4,M)=J-2LV(5,M)=J-1LV(6,M)=J100 CONTINUEN=NJ*3RETURNENDSUBROUTINE LCDIA (NM,N,LV,MIN,IBDW,LD,MAXBDW,NA) C Determine location of diagonal elements of global stiffnessC matrix ADIMENSION LV(6,NM),MIN(N),IBDW(N),LD(N)DO 100 I=1,NMIN(I)=I100 CONTINUEDO 400 M=1,NMMINLV=LV(1,M)DO 200 I=2,6IF (LV(I,M).LT.MINLV) MINLV=LV(I,M)200 CONTINUEDO 300 I=1,6IF (MINLV.LT.MIN(LV(I,M))) MIN(LV(I,M))=MINLV300 CONTINUE400 CONTINUEMAXBDW=0DO 500 I=1,NIBDW(I)=I-MIN(I)+1IF (IBDW(I).GT.MAXBDW) MAXBDW=IBDW(I)500 CONTINUELD(1)=IBDW(1)DO 600 I=2,NLD(I)=LD(I-1)+IBDW(I)600 CONTINUENA=LD(N)RETURNENDSUBROUTINE RLCS (M,NM,NJ,IST,IEN,X,Y,RL,C,S)C Calculate length, cosine & sine of memberDIMENSION IST(NM),IEN(NM),X(NJ),Y(NJ)I=IST(M)J=IEN(M)X1=X(J)-X(I)Y1=Y(J)-Y(I)RL=SQRT(X1*X1+Y1*Y1)C=X1/RLS=Y1/RLRETURNENDSUBROUTINE KEBAR (M,E,NM,NJ,IST,IEN,AR,RI,& X,Y,C,S,E1,E2,E3,E4)C Calculate element stiffness matrix along local axesDIMENSION IST(NM),IEN(NM),X(NJ),Y(NJ),AR(NM),RI(NM) CALL RLCS (M,NM,NJ,IST,IEN,X,Y,RL,C,S)E1=E*AR(M)/RLE2=12.0*E*RI(M)/(RL*RL*RL)E3=0.5*E2*RLE4=0.6666667*E3*RLRETURNENDSUBROUTINE KE (M,E,NM,NJ,IST,IEN,AR,RI,X,Y,AE)C Calculate element stiffness matrix along global axesDIMENSION IST(NM),IEN(NM),AR(NM),RI(NM),& X(NJ),Y(NJ),AE(6,6)CALL KEBAR (M,E,NM,NJ,IST,IEN,AR,RI,X,Y,C,S,E1,E2,E3,E4) A1=E1*C*C+E2*S*SA2=(E1-E2)*C*SA3=E1*S*S+E2*C*CA4=E3*SA5=E3*CA6=E4AE(1,1)=A1AE(2,1)=A2AE(2,2)=A3AE(3,1)=-A4AE(3,2)=A5AE(3,3)=A6AE(4,1)=-A1AE(4,2)=-A2AE(4,3)=A4AE(4,4)=A1AE(5,1)=-A2AE(5,2)=-A3AE(5,3)=-A5AE(5,4)=A2AE(5,5)=A3AE(6,1)=-A4AE(6,2)=A5AE(6,3)=0.5*A6AE(6,4)=A4AE(6,5)=-A5AE(6,6)=A6RETURNENDSUBROUTINE FORMA (E,NM,NJ,N,NA,IST,IEN,AR,RI,& X,Y,LV,AE,LD,A)C Form global stiffness matrix ADIMENSION IST(NM),IEN(NM),AR(NM),RI(NM),X(NJ),Y(NJ), & LV(6,NM),AE(6,6),LD(N)DOUBLE PRECISION A(NA)DO 300 M=1,NMCALL KE (M,E,NM,NJ,IST,IEN,AR,RI,X,Y,AE)DO 200 I=1,6DO 100 J=1,IIF (LV(I,M).GE.LV(J,M)) THENA(LD(LV(I,M))-LV(I,M)+LV(J,M))& =A(LD(LV(I,M))-LV(I,M)+LV(J,M))+AE(I,J) ELSEA(LD(LV(J,M))-LV(J,M)+LV(I,M))& =A(LD(LV(J,M))-LV(J,M)+LV(I,M))+AE(I,J) END IF100 CONTINUE200 CONTINUE300 CONTINUERETURNENDSUBROUTINE AS (NS,N,NA,IS,LD,A)C Introduce support conditions into global stiffness matrix ADIMENSION IS(NS),LD(N)DOUBLE PRECISION A(NA)DO 100 M=1,NSI=3*(IS(M)/10)-3+MOD(IS(M),10)A(LD(I))=1D22100 CONTINUERETURNENDSUBROUTINE LDLT (N,NA,LD,A,T)C Solve equations (1) - decomposition of matrix ADIMENSION LD(N)DOUBLE PRECISION A(NA),T(N),SUMDO 300 I=2,NLDI=LD(I)I1=I-LDI+LD(I-1)+1DO 200 J=I1,I-1LDJ=LD(J)J1=J-LDJ+LD(J-1)+1IF(I1.GT.J1) J1=I1SUM=0.0D0DO 100 K=J1,J-1SUM=SUM+T(K)*A(LDJ-J+K)100 CONTINUET(J)=A(LDI-I+J)-SUMA(LDI-I+J)=T(J)/A(LDJ)A(LDI)=A(LDI)-T(J)*A(LDI-I+J)200 CONTINUE300 CONTINUERETURNENDSUBROUTINE SLVEQ (N,NA,MAXBDW,LD,A,B) C Solve equations (2) - forward & back substitutionDIMENSION LD(N)DOUBLE PRECISION A(NA),B(N)DO 200 I=2,NLDI=LD(I)I1=I-LDI+LD(I-1)+1DO 100 J=I1,I-1B(I)=B(I)-A(LDI-I+J)*B(J)100 CONTINUE200 CONTINUEDO 300 I=1,NB(I)=B(I)/A(LD(I))300 CONTINUEDO 500 I=N-1,1,-1IMIN=I+MAXBDWIF(IMIN.GT.N) IMIN=NDO 400 J=I+1,IMINLDJ=LD(J)J1=J-LDJ+LD(J-1)+1IF(I.GE.J1) B(I)=B(I)-A(LDJ-J+I)*B(J)400 CONTINUE500 CONTINUERETURNENDSUBROUTINE B0 (LC,N,NLJ,B)C Initialize joint load vector BDOUBLE PRECISION B(N)WRITE (*,1)LC,NLJ1 FORMAT(/15X,'Loading Case',I3& //10X,'The Loadings at Joints'& //17X,'NLJ=',I4)DO 100 I=1,NB(I)=0.0D0100 CONTINUERETURNENDSUBROUTINE IOLJB (N,NLJ,ILJ,PX,PY,PM,B)C Read data of loading at joint & form joint load vector BDIMENSION ILJ(NLJ),PX(NLJ),PY(NLJ),PM(NLJ)DOUBLE PRECISION B(N)READ (3,*)(ILJ(M),PX(M),PY(M),PM(M),M=1,NLJ) WRITE (*,1)1 FORMA T(/2X,'ILJ',11X,'PX',14X,'PY',15X,'PM')WRITE (*,2)(ILJ(M),PX(M),PY(M),PM(M),M=1,NLJ)2 FORMA T(1X,I4,2F16.4,F18.5)DO 100 M=1,NLJI=ILJ(M)*3B(I-2)=PX(M)B(I-1)=PY(M)B(I)=PM(M)100 CONTINUERETURNENDSUBROUTINE F0 (NLM,NM,F)C Initialize terminal forces of membersDIMENSION F(6,NM)WRITE (*,1) NLM1 FORMA T(/10X,'The Loadings at Members'& //17X,'NLM=',I4)DO 200 J=1,NMDO 100 I=1,6F(I,J)=0.0100 CONTINUE200 CONTINUERETURNENDSUBROUTINE IOLMFB (NM,NJ,N,NLM,ILM,ITL,PV,DST,& IST,IEN,X,Y,LV,F,B)C Read data of loading at member & calculate fixed-end forces,C add equivalent joint loads to vector BDIMENSION ILM(NLM),ITL(NLM),PV(NLM),DST(NLM),IST(NM), & IEN(NM),X(NJ),Y(NJ),LV(6,NM),F(6,NM)DOUBLE PRECISION B(N)READ (3,*)(ILM(M),ITL(M),PV(M),DST(M),M=1,NLM) WRITE (*,1)1 FORMAT(/2X,'ILM',2X,'ITL',11X,'PV',12X,'DST') WRITE (*,2)(ILM(M),ITL(M),PV(M),DST(M),M=1,NLM)2 FORMAT(1X,I4,I5,F16.4,F16.6)DO 100 M=1,NLML=ILM(M)CALL RLCS (L,NM,NJ,IST,IEN,X,Y,RL,C,S)D1=DST(M)D2=RL-D1IF (ITL(M).EQ.1.OR.ITL(M).EQ.3) THENP1=PV(M)*CP2=-PV(M)*SEND IFIF (ITL(M).EQ.2.OR.ITL(M).EQ.4) THENP1=PV(M)*SP2=PV(M)*CEND IFIF (ITL(M).EQ.1.OR.ITL(M).EQ.2) THENF1=-P1*D2/RLF4=-P1-F1F2=-P2*D2*D2*(RL+2.0*D1)/(RL*RL*RL)F5=-P2-F2F3=-P2*D1*D2*D2/(RL*RL)F6=P2*D1*D1*D2/(RL*RL)END IFIF (ITL(M).EQ.3.OR.ITL(M).EQ.4) THENG=P2*D1*D1/(12.0*RL*RL)F3=-G*((6.0*RL-8.0*D1)*RL+3.0*D1*D1)F6=G*D1*(4.0*RL-3.0*D1)F5=-6.0*G*D1*(2.0-D1/RL)F2=-P2*D1-F5F4=-P1*D1*D1/(2.0*RL)F1=-P1*D1-F4END IFF(1,L)=F(1,L)+F1F(2,L)=F(2,L)+F2F(3,L)=F(3,L)+F3F(4,L)=F(4,L)+F4F(5,L)=F(5,L)+F5F(6,L)=F(6,L)+F6B(LV(1,L))=B(LV(1,L))-F1*C+F2*SB(LV(2,L))=B(LV(2,L))-F1*S-F2*CB(LV(3,L))=B(LV(3,L))-F3B(LV(5,L))=B(LV(5,L))-F4*S-F5*CB(LV(6,L))=B(LV(6,L))-F6100 CONTINUERETURNENDSUBROUTINE BS (NS,N,IS,VS,B)C Introduce support conditions into joint load vector BDIMENSION IS(NS),VS(NS)DOUBLE PRECISION B(N)DO 100 M=1,NSI=3*(IS(M)/10)-3+MOD(IS(M),10)B(I)=VS(M)*1D22100 CONTINUERETURNENDSUBROUTINE OJD (NJ,N,B)C Print joint displacementsDOUBLE PRECISION B(N)WRITE (*,1)1 FORMAT(/13X,'The Results of Calculation'& //10X,'The Joint Displacements'& //1X,'joint',8X,'u',15X,'v',14X,'phi')WRITE (*,2)(M,B(3*M-2),B(3*M-1),B(3*M),M=1,NJ)2 FORMA T(1X,I4,1P3E16.6)RETURNENDSUBROUTINE COTF (E,NM,NJ,N,IST,IEN,AR,RI,X,Y,LV,B,F)C Calculate & print terminal forces of membersDIMENSION IST(NM),IEN(NM),AR(NM),RI(NM),X(NJ),Y(NJ),& LV(6,NM),F(6,NM)DOUBLE PRECISION B(N),U1,U2,U3,U4,U5,U6WRITE (*,1)1 FORMA T(/10X,'The Terminal Forces'& //1X,'member',4X,'N(st)',6X,'Q(st)',7X,'M(st)',& 6X,'N(en)',6X,'Q(en)',7X,'M(en)')DO 100 M=1,NMCALL KEBAR (M,E,NM,NJ,IST,IEN,AR,RI,X,Y,C,S,E1,E2,E3,E4) U1=B(LV(1,M))*C+B(LV(2,M))*SU2=-B(LV(1,M))*S+B(LV(2,M))*CU3=B(LV(3,M))U5=-B(LV(4,M))*S+B(LV(5,M))*CU6=B(LV(6,M))F(1,M)=F(1,M)+E1*(U1-U4)F(2,M)=F(2,M)+E2*(U2-U5)+E3*(U3+U6)F(3,M)=F(3,M)+E3*(U2-U5)+E4*(U3+0.5*U6)F(4,M)=F(4,M)+E1*(U4-U1)F(5,M)=F(5,M)+E2*(U5-U2)-E3*(U3+U6)F(6,M)=F(6,M)+E3*(U2-U5)+E4*(0.5*U3+U6)WRITE (*,2)M,F(1,M),F(2,M),F(3,M),& F(4,M),F(5,M),F(6,M)2 FORMAT(1X,I4,2(2F11.3,F12.3))100 CONTINUERETURNEND程序二:平面三节点有限元程序如下图所示的悬臂梁,受均布荷载q=1N/mm2 作用。

有限元讲稿 ppt课件

有限元讲稿 ppt课件
ANSYS
通用程序 应用举例
2020/12/27
1
ANSYS通用程序应用举例
❖1.ANSYS软件的功能 ❖2.ANSYS的输入方式 ❖3.应用举例(重点)
2020/12/27
2
1.ANSYS软件的功能
❖ 一个典型的ANSYS分析过程包括以下三个步 骤: 创建有限元模型
施加载荷求解
查看分析结果
2020/12/27
2020/12/27
图1 矩形示意图
7
(ii)建立实体板
在主菜单中选择Preprocessor| Modeling|Create|Areas|Circle| Solid Circle,弹出如图2对话框。
在对话框中输入参数: x=80,y=50,radius=50; 单击Apply; x=0 ,y=20,radius=20; 单击Apply; x=0,y=80,radius=20; 单击Apply; 在绘图区将显示如图3左侧图形!
5?
单击
图4 Add Areas对话框
2020/12/27
图5 布尔加法运算后结果
10
(iv)生成孔洞圆实体
在主菜单中选择 Preprocessor|Modeling| Create|Areas|Circle|SolidCircle, 在弹出的对话框中依次输入: x=80,y=50,Radius=30,单击 Apply; x=0,y=20,Radius=10,单击 Apply; x=0,y=80,Radius=10,单击 Apply; 得到图6所示图形。
(i)确定分析类型
在主菜单中选取Solution| Analysis Type|New Analysis,在 菜单中确定分析类型为Static,单 击OK。

有限元程序设计--第五章 线性三角形单元

有限元程序设计--第五章 线性三角形单元
03:25
16
单元应变和应力矩阵
由于同一单元中的D、B矩阵都是常数矩阵,所以S矩阵也是常 数矩阵。也就是说,三角形三节点单元内的应力分量也是常 量。 当然,相邻单元的E, , A和bi、ci(i,j, m)一般不完全相同, 因而具有不同的应力,这就造成在相邻单元的公共边上存在 着应力突变现象。但是随着网格的细分,这种突变将会迅速 减小。
b2 B2 0 c2
b1 , c1 , b2 , c2 , b3 , c3 与x、y无关,都是常量,因此B矩
阵也是常量。单元中任一点的应变分量是 B矩阵与单元节点位
移的乘积,因而也都是常量。因此,这种单元被称为常应变单
元。
03:25
15
单元应变和应力矩阵
平面应力: x σ ( x, y ) y
03:25
12
形函数的性质
当单元的位移函数满足完备性要求时,称单元是完备的(通
常较容易满足)。当单元的位移函数满足协调性要求时,称 单元是协调的。
当势能泛函中位移函数的导数是2阶时,要求位移函数在单元
的交界面上具有C1或更高的连续性,这时构造单元的插值函 数往往比较困难。在某些情况下,可以放松对协调性的要求 ,只要单元能够通过分片试验 (Patch test),有限元分析的解 答仍然可以收敛于正确的解。这种单元称为非协调单元。
3
平面三角形单元
显然,三角形三个节点的的位移可由下列方程给出,在各节点上 的水平位移方程为: u1=1+2 x1 +3 y1 u2=1+2 x2 +3 y2 u3=1+2 x3 +3 y3
1 1 x1 解出 2 1 x2 1 x 3 3 y1 y2 y3

2 程序设计 有限元课件

2 程序设计 有限元课件
➢ 绕结点平均法:把环绕某一结点的各单元常应 力加以平均,用以表示该结点的应力。在内结 点效果较好,而在边界结点可能很差,一般改 为应由内结点的应力外推计算出来。
(2)网格的细分 ➢ 通过网格的细分,使每个单元的面积缩小,那
么尽管每个单元是应变、常应力单元,仍可较 好地反映结构中的应力变化,使得到的解答收 敛于问题的精确解。
面,一般无须进行整理工作。应力结果则需要 整理。通常认为计算出的应力是三角形单元形 心处的应力。而相邻单元之间的应力存在突变, 甚至正、负符号都不相同。为了由计算结果推 算出结构内某一点的接接实际的应力,必须通 过某种平均计算。通常可采用两单元平均法或 绕结点平均法。
平均法整理单元应力
➢ 两单元平均法:把两个相邻单元中的常应力加 以平均,用来表示公共边界中点处的应力。
有限元结果 197 114 36 -36 -114 -197
弹性力学结果 225 134 44 -44 -134 -225
误差
28 20 8 -8 -20 -28
剪应x力 y计算结 (M果 P) a
考察点y(m)
-1.25 -0.75 -0.25 0.25 0.75 1.25
有限元结果
16.2 31.2 37.2 33.7 20.7 3.6
2N/m y
x
2N/m 2m 2m
➢ 例2:简支梁,梁高3m,跨度18m,厚度1m,承
受均布荷载10N/m2。已知 E21100 N/m2,0.167
按平面应力问题进行计算。
y
x
3m
18m
网格划分
正应 x计 力算(结 MP 果 ) a
考察点y(m) -1.25 -0.75 -0.25 0.25 0.75 1.25

有限元分析程序设计

有限元分析程序设计

结构有限元分析程序设计绪论§0.1 开设“有限元程序设计”课程的意义和目的§0.2 课程特点§0.3 课程安排§0.4 课程要求§0.5 基本方法复习$0.1 意义和目的1.有限元数值分析技术本身要求工程设计研究人员掌握1). 有限元数值分析技术的完善标志着现代计算力学的真正成熟和实用化,已在各种力学中得到了广泛的应用。

比如:,已杨为工程结构分析中最得以收敛的技术手段,现代功用大致有:a). 现代结构论证。

对结构设计从内力,位移等方面进行优劣评定,从而进行结构优化设计。

b)可取代部份实验,局部实验+有限元分析,是现代工程设计研究方法的一大特点。

c)结构的各种功能分析(疲劳断裂,可靠性分析等)都以有限元分析工具作为核心的计算工具。

2). 有限元数值分析本身包括着理论+技术实现(本身功用所绝定的)有限元数值分析本身包括着泛函理论+分片插值函数+程序设计2. 有限元分析的技术实现(近十佘年的事)更依赖于计算机程序设计有限元分析的技术取得的巨大的成就,从某种意义上说,得益于计算机硬件技术的发展和程序设计技术的发展,这两者的依赖性在当代表现得更加突出。

(如可视化技术)3.从学习的角度,不仅要学习理论,而且要从程序设计设计角度对这些理论的技术实现有一个深入的了解,应当致力于掌握这些技术实现能力,从而开发它,发展它。

(理论本身还有待于进一步完美相应的程序设计必须去开发)4.程序设计不仅是实现有限元数值分析的工具和桥梁,而且在以下诸方面也有意义:1). 精通基本概念,深化理论认识;2). 锻炼实际工程分析,实际动手的能力;3). 获得以后工作中必备的工具。

(作业+老师给元素库)目的:通过讲述有限元程序设计的技术与技巧,便能达到自编自读的能力。

§0.2 课程特点总描述:理论+算法+数据结构(程序设计的意义)理论:有限元算法,构造,步骤,解的等外性,收敛性,稳定性,误差分析算法;指求解过程的技术方法,含两方面的含义;a. 有限元数值分析算法,b, 与数据结构有关的算法(总刚稀疏存贮,提取,节点优化编号等)数据结构:指各向量矩阵存贮管理与实现,辅助管理结构(指针,数据记录等)具体特点:理论性强:能量泛函理论+有限元构造算法+数据结构构造算法内容繁杂:理论方法+技术方法+技术技巧技巧性强:排序,管理结构(指针生成,整型运算等)§0.3 课程安排①. 单元刚度矩阵及元素设计(单元刚阵算法,杆梁平面分析,板弯非协调元等)②. 总刚的形式及程序设计(单刚提前准备,技术复杂)③. l边界条件及程序设计(等效荷载计算,位移边界条件置入,多工况的对称性)④. 总刚线性方程组求解(LDL T分解,分块算法,子结构算法,波前法)⑤.单元应力计算+应力处理与改善。

有限元程序设计第七章 平面问题的有限单元法Q4

有限元程序设计第七章  平面问题的有限单元法Q4

4 (1, +1)
3 (1, +1)
x x( ,)
y
y(
,
)
1 (x1, y1)
2 (x2, y2) x
1 (1, 1)
节点条件:
xi yi
x(i ,i ) y(i ,i )
2 (1, 1)
x
y
1 1
2 2
3 3
4 4
(1,1) (1, 1) (3,3) (1,1) (2,2 ) (1, 1) (4,4) (1,1)
3 (1, +1) (u3, v3)
N3
at node 1
1 4
(1 )(1
) 1
1
0
N3
at node 2
1 4
(1 )(1 ) 1
1
0
N3
at node 3
1 4
(1 )(1
) 1
1
1
N3
at node 4
1 4
(1 )(1 ) 1
1
0
Delta 性质
4
Ni N1 N2 N3 N4
i 1
1 4
[(1 )(1)
(1
)(1 )
(1
)(1 )
(1 )(1)]
1 4
[2(1 )
2(1 )]
1
2b
2a 1 (1, 1)
(u1, v1)
2 (1, 1) (u2, v2)
单位分解性
20
等参单元
应变矩阵
ε(x(,), y(,)) u(,) N(,)qe B(,)qe
x
Ni
x
Ni
y
x y
求导链式法则

NX8.5有限元分析解读ppt课件

NX8.5有限元分析解读ppt课件
.
.
.
.
.
.
1.7 有限元法概念-单元类型
前处理
分析计算
后处理
前处理:建模,模型简化,材料定义,单元属性,网格划分和网格检查等,添加边界条件、施加载荷等;
选择计算类型:静力分析,接触分析,瞬态分析,模态分析,谐波分析,谱分析,声学分析,热分析,电磁场分析等;
后处理:提取数据,云图,绘制曲线、计算结果评价,导出数据等;
单元组集
求解未知节点位移
由分到合
利用平衡边界条件把各单元重新 连接起来,形成整体有限元方程
1.4 有限元法概念-计算基本流程
1.5 有限元法概念-有限元模型的构建 (理想化的数学抽象)
真实系统
FEM模型
载荷
节点
单元
约束
节点:空间中的坐标位置,具有一定自由度和存在相互物理作用; 单元:一组节点自由度间相互作用的数值、矩阵描述(称为刚度或系数矩阵),单元 有线、 面或实体以及二维或三维的单元等种类; 有限元模型:由一些单元组成,单元之间通过节点连接,并承受一定载荷和约束。
仿真导航器窗口分级树及其主要节点
4 有限元分析结果评价的常见方法
以线性静力学分析为例,其解算后的结果包括变形位移、应力、应变和反作用力等项目及其相应的数值,而最为常用需要评价的是位移和应力两个指标。 1)变形位移 分析模型在工况条件下,其受到边界约束和施加载荷后引起的最大变形位移,不能超过设计要求的允许值,判断式简化为: δmax < δ0 -------- (1-1) 2)应力 分析模型在工况条件下,其受到边界约束和施加载荷后的最大应力响应值,不能超过材料自身的许用应力值,判断式简化为: σmax <σ0 ------- (1-2)

有限元法基础讲稿-第1讲新

有限元法基础讲稿-第1讲新

u l
i
E
Eu l
i
材料力学中以拉应力为正,而有限单元法中,以向右的节点力为正,所以下式中 加一负号。 单元左端节点力: 单元右端节点力:
AE u l AE U A u l U A
i j
i
i
有限元法及ansys概述
... 矩阵分析法及有限元分析的一般步骤
有限元法及ansys概述
… 发展与现状
INTRODUCTION TO ANSYS 5.7 - Part 1
• 20世纪70年代以来,有限单元法进一步得到蓬勃发展,其应用范围扩展到所有工程 领域,成为连续介质问题数值解法中最活跃的分支。由变分法有限元扩展到加权残 数法与能量平衡法有限元,由弹性力学平面问题扩展到空间问题、板壳问题,由静 力平衡问题扩展到稳定性问题、动力问题和波动问题,由线性问题扩展到非线性问 题,分析的对象从弹性材料扩展到塑性、粘弹性、粘塑性和复合材料等,由结构分 析扩展到结构优化乃至于设计自动化,从固体力学扩展到流体力学、传热学、电磁 学等领域。它使许多复杂的工程分析问题迎刃而解。
有限元法及ANSYS概述
INTRODUCTION TO ANSYS 5.7 - Part 1
• 在本章中,我们将简要介绍有限单元法和ansys软件的发展与现状, 以及矩阵分析法和有限元法分析的一般步骤。
• 主题:
A. CAE与数值模拟方法 B. 发展与现状 C. 矩阵分析法及有限元分析的一般步骤
有限元法及ansys概述
有限元法及ansys概述
... 矩阵分析法及有限元分析的一般步骤
INTRODUCTION TO ANSYS 5.7 - Part 1
实际,在节点i和j,除了水平位移外,还可产生垂直位移(但在小变形条件下,垂直 节点位移对铰接杆的内力无影响)。引入垂直节点位移vi、vj和垂直节点力Vi、Vj ,把单元刚度矩阵扩展为四阶形式,单元节点力为
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

I D L≦ 0 ? 是
AKZ*(IDH,IDL) AKZ*(IDH,IDL) + AKZ*(IH,IL)
返回
子框图5: 形成结构载荷向量 对于平面问题,根据所 划分的结点总数NJ和每个结 点的位移分量数2,可确定 总载荷列阵{p}的阶数为 NJ2=2 *NJ。 {p}的形成可分两步:首 先把直接作用在结点的载荷 送到{p}中去;其次把单元自 重引起的等效结点载荷累加 到{p}中去。设单元E的容重 为 ,面积为AE,厚度为tE ,则y向等效结点载荷为PE =- AE Te/3,其框图如下:
akj akM M j k 1 J i k 所以(C)式变为(消元公式) akL (k ) aiJ aiJ akM ; l 1; k 1,2, n 1 akl i k d 1; i k 1, k 2,i
m
(G)
akL J 1,2, d L 1; M J i k bi bi bk ; akl (B)式变为(回代公式) xn bn / an1
[AKE]中子块列码J由1到3循环 该子块中的元素列码JJ由1到2循环 单元列码IL 整体列码IZL 半带列码IDL 2*(J-1)+JJ 2*(JM(E,J)-1)+JJ IZL-IDH+1 否
单元码IE由1到NE循环 调用子程序DUGD(IE,3…) [AKE]中子块行码I由1到3循环 该子块中的元素行码II由1到2循环
(k )
m
i n 1, n 21; J 2,3 J m
xi (bi aiJ xH ) / ail J m n i 1; H J i 1
J
(I)
返回
在程序中线性方程组是:
AKZ * P
所以方便框图设计将符号作如下变换:
a Ak ; x ; b p
第四章 三结点平面三角形单元的源程序设计
第一节
第二节


程序框图设计
第三节
程序应用举例
返回Βιβλιοθήκη 第一节概述用有限元法计算结构的强度和刚度的 一个显著特点,就是需要应用电子计算机 进行计算,这就需要根据一定的力学模型
和数学模型设计程序框图,并编制计算机
程序。下面以简单的平面元为例说明程序 框图设计和源程序的编制方法。 返回
I由1到NJ2循环 P(I) 0

{p} 置零
NPJ> 0 ? 是 I由1到NPJ循环
J PJ(I,2);P(J) ALO U > 0 ? 是 IE由1到NE循环 调用DUGD(IE,1…) PE P(2 * IE) P(2 * JE) P(2 * ME) ALOU *AE*TE/3
PJ(I,1) 否
0 0 0
akl
0 0
akm
i列
0 aki
0 0 0
0 0 0
(E)
0 0 0
d列
D-L+1列
返回
由(D),(E)两式新旧列码的对应关系为: aij aiJ J j i 1
akk akl ; aki akL

l 1 L i k 1
(F)
i列 j列
0 0 0 0 0 0 0 0 k行 akn 0 [ A ] ( D) i行 K+d-1行 0 0 n行 0
半带宽d
0 0 0 0 a
ij
[A]中的i列
0 0 0 0
子框图6:
支杆码I由1到NZ循环 支杆相应的位移分量IZ AKZ*(IZ,I) IZC(I) 1
列码J由2到IDD循环 AKZ*(IZ,J) IZ >IDD ? 是 J0 IDD 列码J由2到J0循环 AKZ*(IZ-J+1,J) P(IZ) 0 0 0 否
J0
IZ
返回
子框图7: 解结构刚度方程式 前面已经得到位移法基本方程 AKZ * P,现在采用带 消元法求解 。并将解出的 存在 P 中。 1. 高斯消元法公式 设方程组为: a11 a12 a1n x1 b1 an1 ann xn bn
有三个功能:
1. 当计算信息IASK=1时, 求出单元面积AE; 2. 当计算信息IASK=2时,
形成应力矩阵[S];
3. 当计算信息IASK=3时, 形成单元刚度矩阵[SKE];
返回
子框图4: 形成整体刚度矩阵 这部分主要是根据整体刚度矩阵的组集方法,把每个 单元刚度矩阵的子块推到整体刚度矩阵(总刚)的对应行 列中去,形成整体刚度矩阵。然后取其上三角阵[AKz], 按半带存贮方式存贮成[AKz*]。 由于半带宽贮后,元素的行码不变,新的列码等于原来 的列码减行码加1,即公式: 新列码=原列码-行码+1
n Pn / Ak
J
n1
i ( Pi AkiJ J I 1 ) / Akil
在编框图时,把Jm换成J0,d换成IDD,{ }换成{P} 返回
子框图7:
消元轮码K由1到NJ2-1循环
P(NJ2) 否
P(NJ2)/AKz*(NJ2,1)
NJ2>K+IDD-1 ?

行码由NJ2到1,步长-1循环 NJ2
IDD>NJ2-I+1 是 NJ2-I+1 ? J0 否
IM
K+IDD-1
IM
行码I由K+1到IM循环 L C I-K+1 J0
IDD
AKz*(K,L)/AKZ*(K,1) 列码J由1到IDD-L+1循环 M J+i-K IH P(I)
列码J由2到J0循环 J+I-1, P(I)- AKZ*(I,J) * P(IH) P(I) P(I) /AKZ*(I,1)
输入其他数据

L * U = I ?
输入问题类型代码L*M 是 输入弹性模量EO,泊松比AMU, 容重ALOU,单元厚度TE 输入结点坐标数组AJZ(NJ,2) 单元结点码数组JM(NE,3) EO AMU EO/(1-AMU * AMU) AMU/(1-AMU)
返回
子框图3
从原始数据中找出单元IE的三个结点码
E. 计算方法:采用位移法。整体刚度矩阵采用刚度继承 法,按半带宽存储,解方程时采用带消去法。
返回
第二节
程序框图设计
一、总框图
根据三角元计算平面问题的全过程,总框图设计如下:
它共包括8个子框图:
子框图1和2是输入原始数据 子框图3~6是中间运算 子框图7和8是解刚度方程求单元应力并输出位移和应力
返回
n d d
..
n
.
. .
..
n
.. .
. 矩阵[AK]
. . . . . . . . . . * . 矩阵[AK] 返回
子框图4:
行码I由1到NJ2循环 列码J由1到NJ2循环 AKZ*(I,J) 0 单元行码IH 半带行码IDH 2*(I-1)+II 2*(JM(E,I)-1)+II
其中i n 1, n 2 1 (B)
j i 1
a
n
ij
x j ) / aii
作如下修改(以保证在消元中只存在上三角元素) 1) 为了使元素aij限制在上三角部分,应规定列码j大于 和等于行码i,即j≧ i; 2) 属于下三角部分的元素aik应换成akj。 则(A)式变为: aki (k ) aij aij akj ; 其中: k 1,2 n 1 akk i k 1, k 2,n (C) aki (k ) bi bi bk ; j i, i 1, n akk 返回
略去轮码(k)行消元公式为: * Ak AkiJ AkiJ kL AkkM ; k 1,2, n 1; im k d 1 Akkl
AkkL pi pi pk ; Akkl 回代公式为:
*
i k 1, k 2,i m ; l 1; L i k 1 J 1,2, d L 1; M J i k i n 1, n 21 J 2,3 J m Jm n i 1
根据“线性代数”公式,其消元公式为 : aik (k ) aij aij akj ; 其中k 1,2 n 1 akk (A) aik (k ) bi bi bk ; i, j k 1, k 2 n akk 返回
回代公式为: bn xn ann
xi (bi
2. 带消去法公式 为省存贮单元,在带形对称矩阵[A]中,只需存贮主对 角线以上的元素。即把[A]的上半部分斜带中的元素存贮在 竖带[A]*中。(注意:其行码不变,新列码=原列码-行 码+1)
半带宽d
0 0 0 0 0 0 0 0 0 k行 akk [ A] i行 0 0 0 0 akj aij 0 0 0 0 0 0 0 0 0 0
总框图

始 1 (主程序) 形成单元刚度 2 3 (子程序) 4 5 6 7 8
输入基本参数 输入基本参数 形成整体刚度 形成载荷向量 引入约束条件 解方程输出位移 求应力输出应力 结 束
返回
二、子框图
按照总框图中8个子框图的次序,把各子框图的 详细框图设计如下: 子框图1,输入基本数据。
此框图由主程序完成,主要是输入5个基本数据,
该程序的适用范围是: A. 问题类型。(L*M=0是平面应力问题, L*M=1是平面应 变问题)
B. 载荷类型。(包括结点载荷和自重,其它非结点载荷 需事先换算成等效节点力)
相关文档
最新文档