结构分析程序设计基础论文.docx
《结构分析程序设计基础论文.docx》由会员分享,可在线阅读,更多相关《结构分析程序设计基础论文.docx(31页珍藏版)》请在冰豆网上搜索。
结构分析程序设计基础论文
结构分析程序设计基础
姓名:
学号:
专业:
授课教师:
指导教师:
2016年5月20日
一、结合自身所学专业,是阐述利用有限单元法进行结构分析时所常用离散模型及其特点。
应用有限单元法求解土木工程问题时常用的离散模型有空间梁单元、板壳元、三维实体元及梁格单元。
空间梁单元。
空间梁单元是一种常用的单元,除了桥梁上部结构外,框架系统和动力联动装置都可以采用梁单元模拟。
对于一个采用梁单元模拟的构件,一般它在一个方向上的尺寸最少是另两个方向上的10倍。
梁单元除了承担拉力和压力,还可以承担剪力和弯矩。
三维梁单元每个节点有6个自由度,即沿轴的位移和绕这3个轴的转角。
根据结构受载后截面是否保持平截面,可分为自由扭转和翘曲扭转。
后者考虑了受载后横截面双力矩阵和翘曲扭矩两项内力。
用空间梁单元对结构进行离散分析时,计算结果直接给出截面的内力和变形。
对于混凝土桥梁结构,理论计算和实验均证明,截面翘曲引起的正应力与按纯扭转理论所得应力值相比很小,通常不超过5%~10%。
一般按纯扭转理论进行分析可以满足设计要求。
但对于钢箱梁,则必修考虑用翘曲扭转梁单元进行离散。
当对宽箱梁桥分析时,空间梁单元法有很大的局限性,而且一维梁单元离散结构仅能得到系梁、拱、吊杆内力,而无法得到横梁的内力。
板壳元。
钢筋混凝土桥梁通常做成空间箱形结构,采用板、壳单元进行离散,当板壳单元相当细密时,可以包括桥梁结构的各种受力行为。
板壳元法是分析桥梁上部结构最通用的方法,但在实际应用时,整理数据较为复杂工作量较大。
因此在应用上受到很大限制。
三维实体元。
从整体结构中取出隔离体,按整体分析得到隔离体截面内力或位移条件作为隔离体边界条件,采用三维实体元对子结构进行分析。
实体元可采用四面体、六面体以及等参元。
三维实体元法在空间结构有限元分析中有一定的局限性,受计算机内存和计算速度的影响,实体单元离散整个结构构件难以实现,但是如果从整体结构中取出隔离体进行局部分析时,个隔离体的大小、内力、位移边界条件等因素对分析结果影响较大。
梁格单元。
梁格法时采用有限元技术分析桥梁上部结构的一种有效而又实用的方法。
梁格法的特点是用一个等效梁格代替桥梁上部结构,分析此梁格的受力状态就可得实体桥梁的受力状态。
该方法不仅适用于板式、梁板式及箱梁截面的上部结构,而且对分析弯、斜梁特别有效。
二、如图示平面应力梁模型,每个节点2个自由度(u,v),试写出节点联系数组IT、单元联系数组LMT和对角元地址数组MAXA。
2-1平面应力梁模型
该平面应力梁模型单元信息数组:
标识数组:
节点联系数组:
三、求解线性方程组:
式中的为对称正定矩阵,其值为:
矩阵为
要求写出矩阵分解和回带求解过程。
为了避免开方运算,利用改进的平方根法求解线性方程组。
(1)矩阵分解
其中L为单位下三角矩阵,D为对角矩阵。
此时有:
求解结果如下:
(2)方程组的求解:
则
令
则,
求解结果如下:
四、结构分析程序设计实践题:
上机调试教材中的TRUSS程序,并要求给出具体算例。
根据课本42~46页,空间桁架的通用程序如下:
PROGRAMTRUSS
IMPLICITREAL*8(A-H,O-Z)
IMPLICITINTEGER*4(I-N)
CHARACTERNAME*40
COMMON/AT/A(18000000)
COMMON/IAT/IA(2000000)
A=0;IA=0
WRITE(*,*)'INPUTFILENAME?
'
READ(*,*)NAME
CALLOPENF(NAME)
CALLDATAIN(NP,NE,NF,ND,NDF,NPF,NM,NR,NCF,
&IME,INAE,IIT,ILMT,IMAXA,
&IX,IY,IZ,IRR,IAE,IPF,ICKK)
CALLFLMT(NP,NE,NN,NN1,NR,A(IRR+1),ND,NF,NDF,
&IA(IME+1),IA(IIT+1),IA(ILMT+1))
CALLFMAXA(NN1,NE,IA(ILMT+1),IA(IMAXA+1),NWK,NPF,NDF,
&ICKK,IDIST,IFTOOL,IFF,IPP,ISG,ISM)
CALLCONKB(NP,NE,NM,NWK,IA(IME+1),A(IX+1),
&A(IY+1),A(IZ+1),A(IAE+1),IA(INAE+1),
&IA(ILMT+1),IA(IMAXA+1),A(ICKK+1),NN1)
CALLMKFORCE(NP,NF,NPF,NCF,NN,
&IA(IIT+1),A(IPF+1),A(IPP+1),A(IFTOOL+1))
CALLLDLT(A(ICKK+1),IA(IMAXA+1),NN,1,3,NWK,NN1)
CALLRESOLVE(A(ICKK+1),A(IFTOOL+1),IA(IMAXA+1),NN,NWK,NN1)
CALLDISPLS(NP,NE,NF,NPF,NM,NN,IA(IIT+1),A(IFTOOL+1),
&A(IDIST+1),A(IAE+1),IA(IME+1),IA(INAE+1),A(IX+1),A(IY+1),
&A(IZ+1),A(IPP+1),A(IFF+1),A(ISG+1),A(ISM+1))
CALLDATAOUT(NP,NE,NPF,A(IDIST+1),A(IFF+1),A(ISG+1),A(ISM+1))
CALLCLOSEF
END
C
SUBROUTINEOPENF(NAME)
CHARACTERNAME*40
NUM=0
DOI=1,40
IF(NAME(I:
I).NE.'')NUM=NUM+1
ENDDO
OPEN(1,FILE=NAME(1:
NUM),STATUS='UNKNOWN')
OPEN(2,FILE=NAME(1:
NUM)//'.RES',STATUS='UNKNOWN')
OPEN(3,FILE=NAME(1:
NUM)//'.ERO',STATUS='UNKNOWN')
RETURN
END
C
C
SUBROUTINECLOSEF
CLOSE
(1)
CLOSE
(2)
CLOSE(3)
RETURN
END
C
SUBROUTINEDATAIN(NP,NE,NF,ND,NDF,NPF,NM,NR,NCF,
&IME,INAE,IIT,ILMT,IMAXA,
&IX,IY,IZ,IRR,IAE,IPF,ICKK)
IMPLICITREAL*8(A-H,O-Z)
IMPLICITINTEGER*4(I-N)
COMMON/AT/A(18000000)
COMMON/IAT/IA(2000000)
READ(1,*)NP,NE,NM,NR,NCF
WRITE(2,701)NP,NE,NM,NR,NCF
701FORMAT(//1X,'###OUTPUTOFORIGINALINPUTINFORMATION###'
&//5X,'NumberofjointsJOINTS=',I5
&/5X,'NumberofelementsELEMENTS=',I5
&/5X,'NumberofmaterialpropertygroupsPROPERTYTYPES=',I5
&/5X,'NumberofrestrainedjointsRESTRAINTS=',I5
&/5X,'NumberofconcentrativeforcedjointsNCF=',I5)
C--------------FORMPOINTER----------------------------------
NF=3
ND=2
NDF=ND*NF
NPF=NP*NF
IME=0
INAE=IME+2*NE
IIT=INAE+NE
ILMT=IIT+NF*NP
IMAXA=ILMT+NDF*NE
IX=0
IY=IX+NP
IZ=IY+NP
IRR=IZ+NP
IAE=IRR+2*NR
IPF=IAE+2*NM
ICKK=IPF+4*NCF
READ(1,*)(A(IX+I),A(IY+I),A(IZ+I),I=1,NP)
WRITE(2,714)(I,A(IX+I),A(IY+I),A(IZ+I),I=1,NP)
714FORMAT(//5X,'GENERATEDJOINTCOORDINATESDATA'
&/1X,'JOINT',15X,'X',13X,'Y',13X,'Z'
&/(4X,I5,3X,3(2X,E12.6)))
READ(1,*)(A(IAE+2*(I-1)+1),A(IAE+2*(I-1)+2),I=1,NM)
READ(1,*)(IA(IME+2*(I-1)+1),IA(IME+2*(I-1)+2),IA(INAE+I),I=1,NE)
WRITE(2,606)(I,A(IAE+2*(I-1)+1),A(IAE+2*(I-1)+2),I=1,NM)
WRITE(2,607)(I,IA(IME+2*(I-1)+1),IA(IME+2*(I-1)+2),
&IA(INAE+I),I=1,NE)
606FORMAT(/5X,'ELEMENTMATERAILPROPERTIESDATA'
&/2X,'NO.',10X,'E',10X,'Ax'
&/(2X,I3,2(1X,E11.5)))
607FORMAT(/5X,'TRUSSELEMENTDEFINITIONDATA'
&/2X,'NO.',10X,'JOINT_1',10X,'JOINT_2',10X,'NAE'
&/(2X,I3,3(10X,I5)))
READ(1,*)(A(IRR+2*(I-1)+1),A(IRR+2*(I-1)+2),I=1,NR)
WRITE(2,608)(A(IRR+2*(I-1)+1),A(IRR+2*(I-1)+2),I=1,NR)
608FORMAT(/5X,'JOINTRESTRAINTSDATA'
&/2X,'JOINT',10X,'RESTRAINT',
&/(2X,F7.0,10X,F9.3))
READ(1,*)((A(IPF+4*(I-1)+J),J=1,4),I=1,NCF)
WRITE(2,609)((A(IPF+4*(I-1)+J),J=1,4),I=1,NCF)
609FORMAT(/5X,'CONCENTRATIVEFORCEDJOINTSDATA'
&/2X,'JOINT',10X,'Fx',10X,'Fy',10X,'Fz'
&/(2X,F7.0,3(1X,E12.6)))
RETURN
END
C
SUBROUTINEMKFORCE(NP,NF,NPF,NCF,NN,IT,PF,PP,FTOOL)
IMPLICITREAL*8(A-H,O-Z)
IMPLICITINTEGER*4(I-N)
DIMENSIONIT(NF,NP),PF(4,NCF),PP(NPF),FTOOL(NPF)
PP=0;FTOOL=0
DOI=1,NCF
NOD=P