ImageVerifierCode 换一换
格式:DOCX , 页数:23 ,大小:93.08KB ,
资源ID:8762333      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/8762333.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(平面三角形3节点有限元程序.docx)为本站会员(b****6)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

平面三角形3节点有限元程序.docx

1、平面三角形3节点有限元程序平面三角形结点有限元程序1、程序名:FEMT3.FOR,FEMT3.EXE2、程序功能本程序能计算弹性力学的平面应力问题和平面应变问题;能考虑自重和结点集中力两种荷载的作用,在计算自重时y轴取垂直向上为正;能处理非零已知位移,如支座沉降的作用。主要输出的内容包括:结点位移、单元应力、主应力、第一主应力与x轴的夹角以及约束结点的支座反力。程序采用Visual Fortran 5.0编制而成,输入数据全部采用自由格式。3、程序流程及框图 图-1 程序流程图图-2 程序框图其中,各子程序的功能如下:INPUT输入结点坐标、单元信息和材料参数;MR形成结点自由度序号矩阵;FO

2、RMMA形成指标矩阵MA(N)并调用其他功能子程序,相当于主控程序;DIV取出单元的3个结点号码和该单元的材料号并计算单元的bi,ci等;MGK形成整体劲度矩阵并按一维存放在SK(NH)中;LOAD形成整体结点荷载列阵F;OUTPUT输出结点位移或结点荷载;TREAT由于有非零已知位移,对K和F进行处理;DECOMP整体劲度矩阵的分解运算;FOBA前代、回代求出未知结点位移;ERFAC计算约束结点的支座反力;KRS计算单元劲度矩阵中的子块Krs。4、输入数据及变量说明当程序开始运行时,按屏幕提示,键入数据文件的名字。在运行程序之前,必须根据程序中输入要求建立一个存放原始数据的文件,这个文件的名

3、字由少于8个字符或数字组成。数据文件包括如下内容:总控信息,共一条,9个数据NP,NE,NM,NR,NI,NL,NG,ND,NCNP结点总数;NE单元总数;NM材料类型总数;NR约束结点总数;NI问题类型标识,0为平面应力问题,1为平面应变问题;NL受荷载作用的结点的数目;NG考虑自重作用为1,不计自重为0;ND非零已知位移结点的数目;NC要计算支座约束反力的结点数目。材料信息,共NM条,每条依次输入EO,VO,W,tEO弹性模量(kN/m2);VO泊松比;W材料容重(kN/m3);t单元厚度(m)。这些信息都存放在数组AE(4,NM)中。坐标信息,共NP条,每条依次输入IP,X,YIP结点号

4、;X,Y分别为结点的x坐标和y坐标。坐标信息存放在数组X(2,NP)中。单元信息,共NE条,每条依次输入JE,L ,Io,Jo,MoJE单元号;L为该单元的材料类型号。Io,Jo,Mo分别为该单元i,j,m的整体编码。单元信息存放在数组MEO(4,NE)中。约束信息共NR条,每条依次输入一个数 IP IP结点号;Ix,Iy分别为该结点的约束情况,如果方向受约束时填0,如果自由则填1。荷载信息,共NL条,每条依次输入yIP,Fx,FyIP结点号;Fx,Fy分别为该结点的x,y方向的荷载分量(kN)。结点号存放在数组NF(NL)中,结点荷载分量存放在数组FV(2,NL)中。若ND0,输入非零已知位

5、移信息,共ND条,每条依次输入IP,ux,uyIP结点号;ux,uy分别为该结点x,y方向已知位移分量(m),若其中某方向为自由,则其相应分量为0。结点号存放在数NDI(ND)中,已知位移分量存放在数组DV(2,ND)中。支座反力信息,共NC条,每条依次输入IP,M1,M2,M3,M4IP 支座结点号;M1,M2,M3,M4 为与该支座结点相关的单元号,若不足4个,则用0补充。支座结点号存放在数组NCI(NC)中,相关单元号存放在数组NCE(4,NC)中。以上数据须按如上顺序存放在数据文件中。除此之外,程序中还用到其他一些主要变量和数组,说明如下:N结构自由度总数;NH 按一维存贮的整体劲度矩

6、阵的总容量;NX 最大半带宽;SK(10000)维存贮的劲度矩阵;R(1000)开始存放等效结点荷载,求解方程以后,用来存放结点位移;B(6)存放单元应力x,y,xy,1,2,; MA(1000)主元素序号指标矩阵;JR(2,500)结点自由度序号矩阵;ME(3)存放单元结点i,j,m的整体编码;NN(6)单元结点自由度序号;BI(3),CI(3)单元劲度矩阵计算公式中的bi,bj,bm和ci,cj,cm;S三角形单元的面积;H11,H12,H21,H22单元劲度矩阵中子块Krs的4个元素。5、算例一个正方形弹性体,厚度为1m,四边受单位均布法向力作用,由于对称性,取其1/4进行计算,其有限元

7、网格如图2-3所示,设,不考虑自重。该问题的精确解应力为1,1,0。图 -3 有限元网格 (1)输入文件数据6 4 1 5 0 3 0 0 52000.0 0.0 0.0 1.01 0.0 2.02 0.0 1.03 1.0 1.04 0.0 0.05 1.0 0.06 2.0 0.01 1 3 1 2 2 1 2 4 5 3 1 3 2 5 4 1 5 6 3 1 0 1 2 0 1 4 0 0 5 1 0 6 1 01 -0.5 -0.53 -1.0 -1.06 -0.5 -0.51 1 0 0 02 1 2 3 04 2 0 0 05 2 3 4 06 4 0 0 0(2)输出文件结果

8、NODAL DISPLACEMENTS NODE X-COMP. Y-COMP. 1 0.00000E+00 -0.10000E-02 2 0.00000E+00 -0.50000E-03 3 -0.50000E-03 -0.50000E-03 4 0.00000E+00 0.00000E+00 5 -0.50000E-03 0.00000E+00 6 -0.10000E-02 0.00000E+00 ELEMENT STRESSESELEMENT X-STRESS Y-STRESS XY-STRESS MAX-STRESS MIN-STRESS ANGLE 1 -1.000 -1.000 0

9、.000 -1.000 -1.000 90.000 2 -1.000 -1.000 0.000 -1.000 -1.000 90.000 3 -1.000 -1.000 0.000 -1.000 -1.000 90.000 4 -1.000 -1.000 0.000 -1.000 -1.000 90.000 NODE STRESSESNODE X-STRESS Y-STRESS XY-STRESS MAX-STRESS MIN-STRESS ANGLE 1 -1.000 -1.000 0.000 -1.000 -1.000 90.000 2 -1.000 -1.000 0.000 -1.000

10、 -1.000 90.000 3 -1.000 -1.000 0.000 -1.000 -1.000 90.000 4 -1.000 -1.000 0.000 -1.000 -1.000 90.000 5 -1.000 -1.000 0.000 -1.000 -1.000 90.000 6 -1.000 -1.000 0.000 -1.000 -1.000 90.000 NODAL REACTIONS NODE X-COMP Y-COMP 1 0.000 0.000 2 1.000 0.000 4 0.500 0.500 5 0.000 1.000 6 0.000 0.0006、源程序C FI

11、NITE ELEMENT PROGRAM FOR TWO DIMENSIONALC TRIANGLE ELEMENTC DIMENSION K(800000),COOR(2,3000),AE(4,11),* MEL(5,2000),MA(6000) CHARACTER*32 dat COMMON /CA/ NP,NE,NM,NR,NI,NL,NG,ND,NC WRITE(*,300) 300 FORMAT(/ * :*/+PLEASE INPUT FILE NAME OF DATA) READ(*,*)data OPEN (4,FILE=data,STATUS=OLD) OPEN (7,FIL

12、E=OUT,STATUS=UNKNOWN) READ (4,*) NP,NE,NM,NR,NI,NL,NG,ND,NC C WRITE (*,400) NP,NE,NM,NR,NI,NL,NG,ND,NC C WRITE (7,400) NP,NE,NM,NR,NI,NL,NG,ND,NC CALL INPUT (JR,COOR,MEL,AE) CALL CBAND (MA,JR,MEL) CALL SK0(SK,R,COOR,MEL,MA,JR,AE) CALL LOAD (COOR,MEL,R,JR,AE) IF (ND.GT.0) CALL TREAT (SK,MA,JR,R) CALL

13、 DECOMP (SK,MA) CALL FOBA (SK,MA,R) WRITE(*,650) WRITE(7,650) CALL OUTPUT(JR,R) WRITE(*,700) WRITE(7,700) CALL CES (COOR,MEL,JR,R,AE) IF(NC.GT.0) call ERFAC (COOR,MEL,JR,R,AE) 400 FORMAT (/2X,NP=,I3,2X,NE=,I3,2X,NM= *,I3,2X,NR=,I3,2X,NI=I3,2X,NL=,I3,2X, *NG=,I3,2X,ND=,I3,2X,NC=,I3)500 FORMAT(1X,TOTA

14、L DEGREES OF FREEDOM N=, *I4,1X,TOTAL-STORAGE ,NH=,I5,1X, *MAX-SEMI-BANDWIDTH MX=,I3)550 FORMAT(/20X,TOTAL STORAGE IS *GREATER THAN 50000)600 FORMAT(30X,NODAL FORCES/8X,NODE, *11X,X-COMP.,14X,Y-COMP.)650 FORMAT(/30X,NODAL DISPLACEMENTS/8X, *NODE,13X,X-COMP.,12X,Y-COMP.)700 FORMAT(/30X,ELEMENT STRESS

15、ES/5X, *ELEMENT,5X,X-STRESS,3X,Y-STRESS, *2X,XY-STRESS,1X,MAX-STRESS,1X, *MIN-STRESS,6X,ANGLE/) STOP END C * SUBROUTINE KRS (BR,BS,CR,CS) COMMON /CB/ EO,VO,W,T,A,H11,H12,H21,H22 *,ME(3),BI(3),CI(3) ET=EO*T/(1.0-VO*VO)/A/4.0 V=(1.0-VO)/2.0 H11=ET*(BR*BS+V*CR*CS) H12=ET*(VO*BR*CS+V*BS*CR) H21=ET*(VO*C

16、R*BS+V*BR*CS) H22=ET*(CR*CS+V*BR*BS) RETURN END C * SUBROUTINE INPUT (JR,COOR,MEL,AE) DIMENSION JR(2,*),COOR(2,*),AE(4,*),MEL(3,*) COMMON /CA/ NP,NE,NM,NR COMMON /CC/ N,MX,NH DO 70 I=1,NP READ(4,*) IP,X,Y COOR(1,IP)=X COOR(2,IP)=Y 70 CONTINUE DO 11 J=1,NE READ(4,*)NEE,NME,(MEL(I,NEE),I=1,3) MEL(3,NE

17、E)=NME11 CONTINUE DO 10 I=1,NP DO 10 J=1,2 10 JR(J,I)=1 DO 20 I=1,NR READ(4,*) IP,IX,IY JR(1,IP)=IX JR(2,IP)=IY 20 CONTINUE N=0 DO 30 I=1,NP DO 30 J=1,2 IF (JR(J,I) 30,30,25 25 N=N+1 JR(J,I)=N 30 CONTINUE DO 55 J=1,NM READ (4,*)jj,(AE(I,jj),I=1,4)C WRITE(*,910)jj,(AE(I,jj),I=1,4) IF(NI.eq.1)then AE(

18、1,jj)=AE(1,jj)/(1.0-AE(2,jj)*AE(2,jj) AE(2,jj)=AE(2,jj)/(1.0-AE(2,jj) endif55 CONTINUE910 FORMAT (/20X,MATERIAL PROPERTIES/(3X,I5,4(1x,E8.3) RETURN ENDC * SUBROUTINE CBAND (MA,JR,MEL) DIMENSION MA(*),JR(2,*),MEL(3,*),NN(6) COMMON /CA/ NP,NE,NM,NR COMMON /CC/ N,MX,NH DO 65 I=1,N65 MA(I)=0 DO 90 IE=1,

19、NE DO 75 K=1,3 IEK=MEL(K,IE) DO 95 M=1,2 JJ=2*(K-1)+M NN(JJ)=JR(M,IEK)95 CONTINUE75 CONTINUE L=N DO 80 I=1,6 NNI=NN(I) IF(NNI.EQ.0) GO TO 80 IF(NNI.LT.L) L=NNI 80 CONTINUE DO 85 M=1,6 JP=NN(M) IF(JP.EQ.0) GO TO 85 JPL=JP-L+1 IF(JPL.GT.MA(JP) MA(JP)=JPL 85 CONTINUE 90 CONTINUE MX=0 MA(1)=1 DO 10 I=2,

20、N IF(MA(I).GT.MX) MX=MA(I) MA(I)=MA(I)+MA(I-1) 10 CONTINUE NH=MA(N) WRITE (*,500) N,MX,NH WRITE (7,500) N,MX,NH500 FORMAT (/5X,FREEDOM N= *,I5,3X,SEMI-BANDWI. MX=,I5,3X, * STORAGE NH=,I7) RETURN END C* SUBROUTINE SK0(SK,R,COOR,MEL,MA,JR,AE) DIMENSION AE(4,*),COOR(2,*),MEL(3,*),JR(2,*),R(*), *MA(*),S

21、K(*),SKE(6,6),NN(6) COMMON /CA/ NP,NE,NM,NR,NI,NL,NG,ND,NC COMMON /CB/ EO,VO,W,T,A,H11,H12,H21,H22, *ME(3),BI(3),CI(3) COMMON /CC/ N,NH DO 10 I=1,NH 10 SK(I)=0.0 DO 70 IE=1,NE CALL DIV (IE,COOR,MEL,AE) DO 30 I=1,3 DO 30 J=1,3 CALL KRS (BI(I),BI(J),CI(I),CI(J) SKE(2*I-1,2*J-1)=H11 SKE(2*I-1,2*J)=H12

22、SKE(2*I,2*J-1)=H21 SKE(2*I,2*J)=H22 30 CONTINUE DO 40 I=1,3 J2=ME(I) DO 40 J=1,2 J3=2*(I-1)+J NN(J3)=JR(J,J2) 40 CONTINUE DO 60 I=1,6 DO 60 J=1,6 IF(NN(J).EQ.0.OR.NN(I).LT.NN(J) GO TO 60 JJ=NN(I) JK=NN(J) JL=MA(JJ) JM=JJ-JK JN=JL-JM SK(JN)=SK(JN)+SKE(I,J) 60 CONTINUE 70 CONTINUE c WRITE(0,500) (SK(I

23、),I=1,20) 500 FORMAT(/10X,SK=/(6F12.5) RETURN END C * SUBROUTINE LOAD (COOR,MEL,R,JR,AE) DIMENSION AE(4,*),COOR(2,*),MEL(3,*),R(*),JR(2,*), * NF(50),FV(2,50) COMMON /CA/ NP,NE,NM,NR,NI,NL,NG,ND,NC COMMON /CB/ EO,VO,W,T,A,A1(4),ME(3),BB(6) COMMON /CC/ N,NH DO 10 I=1,N 10 R(I)=0.0 IF(NG) 70,70,30 30 D

24、O 60 IE=1,NE CALL DIV (IE,COOR,MEL,AE) DO 50 I=1,3 J2=ME(I) J3=JR(2,J2) IF(J3) 50,50,40 40 R(J3)=R(J3)-T*W*A/3.0 50 CONTINUE 60 CONTINUE 70 IF(NL) 110,110,80 80 READ(4,*) (NF(I),I=1,NL) READ(4,*) (FV(I,J),I=1,2),J=1,NL) C WRITE(*,500) (NF(I),I=1,NL) C WRITE(7,500) (NF(I),I=1,NL)C WRITE(*,600) (FV(I,

25、J),I=1,2),J=1,NL) C WRITE(7,600) (FV(I,J),I=1,2),J=1,NL) DO 100 I=1,NL JJ=NF(I) J=JR(1,JJ) M=JR(2,JJ) IF (J.GT.0) R(J)=R(J)+FV(1,I) IF (M.GT.0) R(M)=R(M)+FV(2,I) 100 CONTINUE 110 RETURN 500 FORMAT(/20X,NODES OF APPLIED LOAD*NF= */(1X,10I8)600 FORMAT(/30X,LUMPED-LOADS*FV= */(5X,5F15.3) END C * SUBROU

26、TINE TREAT (SK,MA,JR,R) DIMENSION SK(*),MA(*),NDI(75),DV(2,75),JR(2,*),R(*) COMMON /CA/ NP,NE,NM,NR,NI,NL,NG,ND,NC COMMON /CC/ N,NH READ(4,*) (NDI(J),J=1,ND) READ(4,*) (DV(I,J),I=1,2),J=1,ND) C WRITE(*,500) (NDI(J),J=1,ND) C WRITE(7,500) (NDI(J),J=1,ND)C WRITE(*,550) (DV(I,J),I=1,2),J=1,ND) C WRITE(

27、7,550) (DV(I,J),I=1,2),J=1,ND) DO 20 I=1,ND DO 20 J=1,2 IF(DV(J,I) 10,20,10 10 JJ=NDI(I) L=JR(J,JJ) JN=MA(L) SK(JN)=1.0E30 R(L)=DV(J,I)*1.0E30 20 CONTINUE 500 FORMAT(/25X,NODE NO.*NDI=/(1X,10I8)550 FORMAT(/25X,DISPLACEMENT-VALUES*DV=/ *(10X,6F10.6) RETURN END C * SUBROUTINE DECOMP (SK,MA) DIMENSION SK(*),MA(*) COMMON /CC/ N,NH DO 50 I=2,N L=I-MA(I)+MA(I-1)+1 K=I-1 L1=L+1 IF (L1.GT.K) GO TO 30 DO 20 J=L1,K IJ=MA(I)-I+J M=J-MA(J)+MA(J-1)+1 IF (L.GT.M) M=L MP=J-1 IF (M.GT.MP) GO TO 20 DO 10 LP=M,MP IP=MA(I)-I+LP JP=MA(J)-J+LP SK(IJ)=SK(IJ)-SK(IP)*SK(JP) 10 CONTINU

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1