有限元程序设计讲解版
有限单元法程序设计
有限单元法程序设计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课件
通用程序 应用举例
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。
有限元程序设计--第五章 线性三角形单元
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)网格的细分 ➢ 通过网格的细分,使每个单元的面积缩小,那
么尽管每个单元是应变、常应力单元,仍可较 好地反映结构中的应力变化,使得到的解答收 敛于问题的精确解。
面,一般无须进行整理工作。应力结果则需要 整理。通常认为计算出的应力是三角形单元形 心处的应力。而相邻单元之间的应力存在突变, 甚至正、负符号都不相同。为了由计算结果推 算出结构内某一点的接接实际的应力,必须通 过某种平均计算。通常可采用两单元平均法或 绕结点平均法。
平均法整理单元应力
➢ 两单元平均法:把两个相邻单元中的常应力加 以平均,用来表示公共边界中点处的应力。
有限元结果 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
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课件
.
.
.
.
.
1.7 有限元法概念-单元类型
前处理
分析计算
后处理
前处理:建模,模型简化,材料定义,单元属性,网格划分和网格检查等,添加边界条件、施加载荷等;
选择计算类型:静力分析,接触分析,瞬态分析,模态分析,谐波分析,谱分析,声学分析,热分析,电磁场分析等;
后处理:提取数据,云图,绘制曲线、计算结果评价,导出数据等;
单元组集
求解未知节点位移
由分到合
利用平衡边界条件把各单元重新 连接起来,形成整体有限元方程
1.4 有限元法概念-计算基本流程
1.5 有限元法概念-有限元模型的构建 (理想化的数学抽象)
真实系统
FEM模型
载荷
节点
单元
约束
节点:空间中的坐标位置,具有一定自由度和存在相互物理作用; 单元:一组节点自由度间相互作用的数值、矩阵描述(称为刚度或系数矩阵),单元 有线、 面或实体以及二维或三维的单元等种类; 有限元模型:由一些单元组成,单元之间通过节点连接,并承受一定载荷和约束。
仿真导航器窗口分级树及其主要节点
4 有限元分析结果评价的常见方法
以线性静力学分析为例,其解算后的结果包括变形位移、应力、应变和反作用力等项目及其相应的数值,而最为常用需要评价的是位移和应力两个指标。 1)变形位移 分析模型在工况条件下,其受到边界约束和施加载荷后引起的最大变形位移,不能超过设计要求的允许值,判断式简化为: δmax < δ0 -------- (1-1) 2)应力 分析模型在工况条件下,其受到边界约束和施加载荷后的最大应力响应值,不能超过材料自身的许用应力值,判断式简化为: σmax <σ0 ------- (1-2)
有限元法基础讲稿-第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 ,把单元刚度矩阵扩展为四阶形式,单元节点力为
有限元2-弹性力学平面问题(23程序设计)
三角形单元:
半带宽d=(相邻结点码的最大差值+1)×2
图中相邻结点码的最大差值是4,故
d=(4+1)×2=10
57
根据带形矩阵的特点,并利用矩阵的对称
性,则在计算机中可只存贮上半带的元素。这种 存贮方式称为半带存贮。
如下面左图总刚,半带存贮时,只从[K]中
P-22/57
图中整体刚度矩阵[K]的非零元素分布在以 主对角线为中心的斜带形区域内(图中用粗线标 明),这种矩阵称作带形矩阵。在半个斜带形区域 中(包括主对角线元素在内),每行具有的元素个 数称为半带宽,用d表示。由图中看出,在半带 中,每行有五个子块,即十个元素,因此半带宽 d=10。半带宽d的一般公式是:
P-14/57
程序的验证(Program Verification)实际上就 是检验程序的正确性。一个程序如果有错误,主 要是两方面的:一方面是语法错误,这部分比较 好解决,一般是在调试阶段(编辑阶段)完成。 但是一个语法完全没问题的程序并不一定是正确 的。因为程序中的许多部分往往是靠逻辑关系来 达到所要实现的目的。目前应用程序的验证主要 靠针对程序每一功能,每一逻辑分支进行各种类 型的考题,包括考题的规模。
P-11/57
2、结构化程序设计
结构化程序设计,又称结构程序设计 (Structured Programming)是 荷兰学者E. W. dijkstra首先提出来的,简称SP。人们对SP有各 种定义和解释:有人说它是: 指导程序员编程的一 般方法;有人说它是: 不使用goto语句的程序设 计;有人说它是: 自顶向下的程序设计。
现分别说明对[KS]、[KS*]和{P}的修改内容。
有限元第9章 有限元法程序设计
第9章有限元法程序设计9.1 引言在用有限元法进行结构分析时,将会遇到大量的数值计算,因而在实用上是一定要借助于计算机和有限元程序,才能完成这些复杂而繁重的数值计算工作。
事实上,有限元程序的设计是有限元研究的一个很重要的部分。
它是理论和方法的载体,是理论用于实际必不可少的桥梁,是有限元学术研究与实际应用水平的代表。
有好的、高深的理论和算法并不等于有好的程序,还必须有实际的程序开发经验的多年积累、丰富的计算机知识、大量的资金和人力的投入,多年的开发修正与改进才能编制出好的程序来。
一些著名的有限元程序开发的发展历史也体现出了这一规律。
设计一个用于结构分析的有限元法程序,要求设计者至少应该掌握下列知识:(1)掌握一种程序开发工具,如VC(Visual C++),CB(C++Buildel),Delphi,VB(Visual Basic)或VF(Visual Fortran)等。
在本书中所有程序均用VC写出。
(2)数值方法,如线性和非线性代数方程的求解,矩阵特征值的求解以及数值积分等。
(3)结构分析的基本理论,特别是用有限元法对结构进行分析的原理、方法和步骤。
由于一般的软件工程师不懂结构分析原理,因此,结构分析程序的开发任务主要应由结构工程师来承担。
掌握结构分析程序设计方法,是以计算机辅助设计为主要标志的现代工程设计方法对结构工程师的要求。
作为结构工程师,应该具有对结构分析程序的使用、阅读、修改和编制的基础知识和技术素质。
有限元程序的总体组成可分为三个部分:前处理部分,有限元分析本体部分以及后处理部分。
有限元分析本体部分是有限元分析程序的核心。
它根据离散模型的数据文件进行有限元分析,有限元分析的原理和采用的数值方法集中于此。
因此,这一部分程序是有限元分析是否准确可靠的关键部分。
有限元分析所使用的离散模型的数据文件主要包括:模型的节点数、节点坐标与节点编码,单元数据与单元编码;材料和载荷信息等。
实际工程问题的离散模型数据文件十分庞大。
《有限元程序设计》课件
有限元程序设计的前景展望
广泛应用
随着计算机技术的不断发展,有 限元程序设计将在更多领域得到 广泛应用,为工程设计和科学研 究提供有力支持。
技术创新
未来有限元程序设计将不断涌现 出新的技术和方法,推动该领域 不断发展壮大。
国际化发展
随着国际化交流的加强,有限元 程序设计将实现国际化发展,推 动国际合作和共同进步。
求解
求解整体方程组得到近似解。
有限元方法的应用领域
01
02
03
04
结构力学
用于分析各种结构的力学行为 ,如桥梁、建筑、机械零件等
。
流体动力学
用于模拟流体在各种介质中的 流动行为,如流体动力学、渗
流等。
热传导
用于分析温度场在各种介质中 的分布和变化。
电磁场
用于分析电磁场在各种介质中 的分布和变化,如电磁场、电
磁波等。
02
有限元程序设计的关键技术
网格生成技术
网格生成技术是有限元分析中 的重要步骤,它涉及到将连续 的物理空间离散化为有限个小 的单元,以便进行数值计算。
网格的生成需要满足一定的规 则和条件,以保证计算的精度
和稳定性。
常见的网格生成方法包括结构 化网格、非结构化网格和自适 应网格等。
网格生成技术需要考虑的问题 包括网格大小、形状、方向和 连接方式等。
02
详细描述
弹性地基板的有限元分析是一 个二维问题,需要考虑复杂的 边界条件和非线性方程的求解 。通过将地基板划分为若干个 四边形单元,可以建立非线性 方程组进行求解。
03
计算过程
04
首先将地基板划分为若干个四边 形单元,然后根据每个单元的物 理性质和边界条件建立非线性方 程组。最后通过迭代方法求解非 线性方程组得到每个节点的位移 和应力。
第三章 平面问题有限单元法3 有限单元法与程序设计 教学课件
第三章 平面问题有限单元法
1. 六结点三角形单元
6) 六结点三角形单元的形函数 同理可得2、3结点形函数:
N1 4 L j Lm
1,2,3, i, j, m
1 Lm 2 Lm 1
验算
N L 2L 1 L 2L
i i j
j
4 L j Lm 4 Lm Li 4 Li L j 1
对于6结点三角形单元,可取12个广义坐标
所以位移模式可取为:
u 1 2 x 3 y 4 x 2 5 xy 6 y 2 v 7 8 x 9 y 10 x 2 11 xy 12 y 2
位移模式为完全二次式,这种单元又称为二次三角形单元
1. 六结点三角形单元
8) 应力矩阵
[ S ] Si
其中:
Sj
Sm
S1 S 2
S3
i, j, m
2 ci 2bi Et ( 4 Li 1) [ Si ] 2 bi 2ci 4 A(1 2 ) ci 1i bi 1
0点应力:
0
第三章 平面问题有限单元法
八、几种常用的平面单元
1. 六结点三角形单元 2. 四结点矩形单元 3. 等参数单元
第三章 平面问题有限单元法
八、几种常用的平面单元
1. 六结点三角形单元
如何提高单元的精度?
提高位移函数的次数,其结果是增加广义坐标的数 目,为求解广义坐标,需增加单元结点数
可把平面上任意三角形ijm变换为LiLj 平面上的等腰直角三角形i1j1m1:
第三章 平面问题有限单元法
1. 六结点三角形单元
4) 面积坐标的微积分计算 a. 导数计算(复合函数求导)
有限元单元法及程序设计
有限单元法及程序设计绪论1.力学分析方法:解析法,数值法有限元法——实际结构形状和所受载荷比较复杂,大多用解析法很困难,因而数值法得到不断发展,随着电子计算机的进步,而发展起来的一种新兴的数值分析方法.2基本步骤:(1)结构离散化:将结构从集合上用线或面划分为有限个单元。
(2)单元分析:导出单元的节点位移和结点力之间的关系(单元刚度矩阵)。
(3)整体分析:将各单元组成的结构整体进行分析,导出征个结构点位移与结点力之间的关系。
3程序设计的步骤:(1)提出问题,拟定解决方案(2)构造数学模型(3)画出程序流程图(4)编写程序(5)编译调试程序(6)试算验证程序4.根据国家标准(GB-1526-89)规定的程序流程图标准化符号及规定:a)图表示程序流程图的起点和终点;b)图表示数据信息的输入和输出;c)图表示数据进行系列运算之前要完成的数据预置;d)图表示判断条件;e)图表示各种处理功能,如数学运算方式等;f)图表示流程的路径和指向。
第一篇杆件结构的有限单元法及程序设计第一章平面杆件单元的有限单元法第一节有限单元法的基本概念1.基本思路:先分后合(先单元分析,再整体分析)2.基本概念:整体号:节点端点号按自然数1,2,3,……(在整体坐标系xOy下)局部号:每一个单元始末用i,j标记(在单元的局部坐标xyz系下,方向与整体坐标系一致)。
⎡k k⎤ii ij 3.F e=k eδe其中:ke=⎥⎢k kji jj⎣⎦单元刚度矩阵,各元素为刚度系数⎡θ⎤iδe=⎥⎢θ⎣j⎦单元杆段位移列阵⎡M⎤iF e=⎥⎢Mj⎣⎦单元杆端力列阵K∆=P(1-7)K=⎡k112131⎢k⎢⎢k⎣k12k22k32k⎤13⎥k23⎥k⎥33k⎥⎦整体刚度矩阵∆=[]θ1θθT23位移列阵P=[]M1M M节点载荷列阵233.有限元位移法分析连续梁需要考虑的问题(1)刚度集成法:①将(1-3)K扩阶,扩大的元素为0,得到单元贡献矩阵单元①:K①=1⎡kii⎢k⎢ji⎢02kijkjj310⎤1⎡0⎥⎢020⎥⎢单元②:K=②2kiikji30⎤⎥kij⎥k⎥123⎣0⎥3⎢0⎦⎣jj ⎦②将单元贡献矩阵想叠加,形成整体刚度矩阵123⎡k k0⎤11ii ij⎢⎥K=K①+K②=k k k k 2⎢⎥1122ji jj+ii ji⎢0k2⎥32k⎣⎦ji jj(2)两端支承条件的引入先不考虑约束条件,得到整体刚度矩阵后,将其主对角线元素k ii改为1,第i行,第j列其余元素改为0,对应的载荷元素也改为0.(3)非结点荷载的处理利用等效结点荷载进行分析:1各结点(包括两端结点)加约束,阻止结点转动,其约束力矩分别为交于该结点的各相关单元的固端力矩之和,顺时针为正.2去掉附加约束(相当在各结点施加外力荷载P3将两部分杆端弯矩叠加起来.e,其大小与约束力矩相同,方向相反)第二节局部坐标系中的单元刚度矩阵1.一般单元设单元○e的弹性模量、截面惯性矩、截面积分别为E、I、A,杆长为l。
有限元法及程序设计教案
随着计算机技术的不断发展,有限元法的应用范围越来越广泛,计算精度和效率也不断提高。同时, 有限元法的理论和方法也在不断完善和发展,出现了许多新的有限元方法和理论,如非线性有限元法 、流体力学有限元法、电磁场有限元法等。
有限元法的应用领域
工程结构分析
流体动力学
有限元法在工程结构分析中应用最为广泛 ,可以用于分析结构的静力、动力和稳定 性等性能,为工程设计和优化提供依据。
刚度矩阵的组装是根据有限元的离散化形式,将各个单元的刚度矩阵 组合起来,形成整体的刚度矩阵。
迭代求解则是采用适当的迭代算法,如共轭梯度法、雅可比法等,对 整体刚度矩阵进行求解,得到节点的位移和应力等结果。
结果输出是将计算结果以适当的形式输出,如文本文件、图形界面等 ,以便用户查看和分析。
04 有限元法的案例分析
有限元法的数据结构主要包括 网格数据和有限元数据。
网格数据包括节点坐标、节点 连接关系、网格类型等,用于 描述模型的几何信息和拓扑结 构。
有限元数据包括单元类型、材 料属性、边界条件和载荷等, 用于描述模型的材料属性和边 界条件。
有限元法的算法实现
01 02 03 04
有限元法的算法实现主要包括刚度矩阵的组装、迭代求解和结果输出 等步骤。
有限元法与边界元法结合
边界元法适用于处理无界区域问题,与有限元法结合可解决更广泛 的工程问题。
有限元法与无网格法结合
无网格法无需网格生成,与有限元法结合可简化计算过程,提高计 算效率。
有限元法在多物理场耦合中的应用
流固耦合问题
01
有限元法广泛应用于流体与固体相互作用的耦合问题,如流体
动力学和结构分析的结合。
特点
有限元法具有广泛的适用性,可以用于求解各种类型的微分方程和积分方程,特别适合处理复杂几何形状和边界 条件的问题;同时,有限元法可以通过选择不同的单元类型和参数,灵活地处理各种物理现象和工程问题。
第三章 平面有限元程序设计
k (B DB J )
3 3 T ij s 1 r 1 i j
r s
H r H st
(2-18)
其中 r 、 s 是积分点的局部坐标值, H r 、 H s 是相应的加权系数,它 们的数值如下:
1 1 0.774596669241483 0.0 2 2 3 3 0.774596669241483 H 1 0.5555555555555556 H 2 0.8888888888888889 H 0 . 5555555555 555556 3
k e B1 B2 B8 D33 B1 B2 B8 316 tdxdy
T 163
k11 k12 k18 k k k 28 21 22 k k k 88 1616 81 82
§2-1
8 结点等参单元的计算公式
一、位移模式、坐标变换式 对于图 2-1 所示的 8 节点等参单元, 其位移模式与坐标变换公式 分别为
u N i ui ,
i 1 8
v N i vi
i 1
8
(2-1)
以及
x N i xi ,
i 1 8
y N i yi
i 1
8
(2-2)
B2 B8 316
(2-6)
N i x Bi 0 N i y
0 N i y N i x 32
( i 1 , 2 , 8)
(2-7) 公式(2-3)所示的形函数 N i 是局部坐标 , 的函数,而 , 与 。因此,为求得(2-7)式中形函 x , y 的关系就是坐标变换式(2-2) 数 N i 对整体坐标 x , y 的偏导数,还须做下列运算。 根据复合函数求导的规则,有
有限元法基础讲稿-第3讲新
有限元法基础讲稿-第3讲新1.12.23.3将第步生成的文件复制到目录下如此目录中已有该文件则覆盖它,问题描述如图所示为一个悬臂梁在力作用下求该梁点的挠度,如图所示输入数据然后输入及,弹性体在载荷作用下体内任意一点的应力状态可由个应力分量。
有限元法基础讲稿-第3讲新2017-08-16 09:26:07 | #1楼ANSYS 基本操作INTRODUCTION TO ANSYS 5.7 - Part 1ANSYS界面与操作无论版本怎样变化,始终以原貌为主,仅作少量的改进,具有较强的继承性,形成了自己固有的风格,具有操作直观易行的特点。
论述以符号“>”表示进入下一级菜单或选择项。
主题:A. ANSYS安装B. ANSYS启动、用户界面及退出C. ANSYS操作方式D. ANSYS典型分析过程A. ANSYS安装INTRODUCTION TO ANSYS 5.7 - Part 1找出你的计算机名及MAC地址。
ANSYS安装光盘放入后会自动运行,然后点击最后一行“Display the license server hostid”,会弹出一个窗口,其中第一行 HOSTNAME是计算机名,第二行FLEXID 为MAC地址!编辑“ansys.dat”文件。
把光盘内的MAGNiTUDE(或有“ansys.dat”文件的目录)目录复制一份到硬盘上,然后用记事本编辑“ansys.dat”文件。
第一行:其中“host”用计算机名代替,“00000000000”用MAC地址(12位)代替。
然后保存。
生成“license.dat”。
运行“keygen.bat”,即可立即生成一个“license.dat”文件。
安装ANSYS10.0。
运行“setup.exe”,全部按默认点击即可。
当出现“Is this a license server machine?”时点“是”。
出现“ANSYS FLEXlm license file”对话框时,寻Browse for the location ofan existing license file”选项,然后指向生成的“license.dat”文件和“ansys.dat”文件。
有限元教材-第十章有限元程序设计
有限元教材-第十章有限元程序设计第十章有限元程序设计有限元方法作为一门系统的技术,仅学会了它的基本理论是远远不够的,只有形成完整的计算程序,问题才最终得到了解决。
完成这样的有限元程序设计是一项工作量很大的工程。
本章就是要结合简单的有限元教学程序FEMED,简要介绍有限元程序设计技术。
FEMED 是专为有限元程序设计教学编制的程序,它不包含复杂的前后处理功能,可进行平面问题及平面桁架的线弹性静力分析,在程序结构上与大型程序类似,具有计算单元的任意扩充功能,在方程的组集和求解上也采用了较为流行的变带宽存储方式。
有限元程序大致可分为两类,第一类是专用程序,主要用于研究或教学,一般这类程序规模较小,前后处理功能较弱。
用于研究的程序能够解一些特殊的问题,满足研究工作的需要。
而教学程序则是为了学生了解有限元的主要结构和设计方法设计的,程序比较简单,FEMED就属于这类程序。
第二类是大型通用程序,是大型结构分析的得力工具,目前国际上流行的大约有2000多种。
常用的有NASTRAN、MARC、ANSYS、ADINA和ABAQUS等。
这类程序一般前后处理功能比较强,有友好的界面,能进行大型计算,但往往无法完成具有特殊要求的计算。
通过本章的学习,使读者初步掌握有限元编程的基本方法,具有开发特殊功能的专用程序或为通用程序开发具有特殊功能的计算模块的能力。
§10.1有限元程序的基本结构有限元程序一般包括三项基本内容:前处理、结构分析和后处理。
早期有限元分析软件的研究重点在于推导新的高效率求解方法和高精度的单元,随着数值分析方法的逐步完善,尤其是计算机内存和运算速度的飞速发展,整个计算系统用于求解运算的时间越来越少,加之求解问题的日益大型化和复杂化,使得数据准备和运算结果的表现问题日益突出。
因此目前几乎所有的商业化有限元程序系统都有功能很强的前后处理模块,这直接关系到分析软件的可推广性。
它是商用有限元软件不可或缺的部分,但它不是有限元的中心部分,在本书中不作详细介绍。
有限元程序设计课件
9)求单元应力
10)求结构反力
18
FEP2 程序框图 — SETMEM 检查内存
FEP2 (主程序) — PROFIL 形成变带宽刚度矩阵地址 — PFORM (3) 形成单刚并组集
PCONTR (主控程序)
— LDLT 总刚的三角分解 — GENVEC 形成节点载荷
— PFOM (3) 构造并组集单元载荷
LI= (IABS(N-L+LG)-1)/IABS(LG)
DO 105 I=1,NDM
105 XL(I)=(X(I,N)-X(I,L))/LI
106 L = L+LG IF((N-L)*LG.LE.0) GO TO 102
IF(L.LE.0.OR.L.GT.NJ) GO TO 108
DO 107 I=1,NDM
LMLG=L-LG
107 X(I,L)=X(I,LMLG)+XL(I)
GO TO 106
108 WRITE(6,3000) L,CD
WRITE(*,3000) L,CD
ERR=.TRUE.
GO TO 102
109 CONTINUE
……
30
3)单元信息(一组)
L, LX, LK,
单元号 单元号增量 材料号
4) 用DATA语句给FI和FO赋初值: “ .DAT”、 “ .OUT” 5) 输入NAMINP的前四个字符作为输入输出文件名
20
COMMON /PSIZE/MAXM,MAXA CHARACTER*8 FI, FO CHARACTER NAMINP(8), NAMOUT(8), HEAD*50 COMMON/HEAD/HEAD1 EQUIVALENCE (FI,NAMINP(1)),(FO,NAMOUT(1)) DATA FI,FO/' .DAT', ' .OUT'/ WRITE(*, '(A\)') ' INPUT FILE NAME (4 LETTERS ONLY) :'
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 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. 载荷类型。(包括结点载荷和自重,其它非结点载荷 需事先换算成等效节点力)