十杆桁架结构优化设计Word下载.docx
《十杆桁架结构优化设计Word下载.docx》由会员分享,可在线阅读,更多相关《十杆桁架结构优化设计Word下载.docx(28页珍藏版)》请在冰点文库上搜索。
createload:
5,6点加铰接约束,固定x,y方向位移。
CreateboundaryCondition:
2,4点加相应力。
Mesh:
划分网格,一个杆为一个单元。
Elementtape,选truss
Job:
创建一个job,WriteInput,DataCheck,Submit,通过Result来查看应力云图。
2.1.2结果
图2Abaqus各杆应力云图
2.2二、利用材料力学知识求解
2.2.1基本思路
显然题目中的十字桁架结构是两次静不定问题。
对于一次静不定问题,材料力学给出了两类解法:
①去掉约束加力,找位移协调关系解题;
②力则方程求解。
对于多次静不定,特别是上述桁架问题,找出其协调关系基本上是不可能的,而力则方程更适合于解这种结构。
如图3所示,去掉多余约束,建立力则方程:
图3去多余约束
2.2.2解题过程
分别求出外力作用下各杆力和单位力作用下的各杆力,为计算方便,将其结果列入下表1中。
应用莫尔积分定理有:
表1外力作用下各杆力和单位力作用下的各杆力
杆号
L
P1
P2
P3
Fi1
Fi2
1
a
-1
2
3
4
5
6
7
8
9
10
轴力F(N)
应力S(MPa)
1580569
52.67
347433.1
11.58
-1119431
-37.31
47433
1.58
128002.1
4.27
1158850.4
57.94
-962469.9
-48.12
781447.6
39.07
-491344.6
-24.57
2.2.3结果
表2材料力学各杆应力结果
2.3三、编写有限元程序求解
2.3.1程序基本步骤
1计算单元刚度矩阵
单元坐标系下刚度矩阵:
结构坐标下刚度矩阵:
②组装总的刚度矩阵
③边界条件处理(固定约束,直接去掉约束对应的行和列)
④计算位移向量
⑤计算单元应力
2.3.2Vs2012中重要的程序段
'
计算结点位移
PrivateSubButton1_Click(senderAsObject,eAsEventArgs)HandlesButton1.Click
桁架结点位移计算
形成总刚度矩阵
DimTK(12,12)AsDouble'
总体刚度矩阵
TK=Matrix.STIFFSOfAllTK()
DimTKH(11,11)AsDouble'
去除0行0列
ForI=1To12
ForJ=1To12
TKH(I-1,J-1)=TK(I,J)
NextJ
NextI
输入结点载荷P(I)
DimP(12)AsDouble
P=Data.NodeLoadData()
DimPH(11)AsDouble
PH(I-1)=P(I)
边界条件处理
ForI=8To11
ForJ=1To11
TKH(I,J)=0.0
ForJ=8To11
TKH(J,J)=1.0
PH(J)=0.0
DimZ(11)AsDouble'
结点位移
DimTKHT(11,11)AsDouble'
TKHT=Matrix.InversionOfMatrix(TKH)
Z=Matrix.MatrixMultipleVector(TKHT,PH)
输出结点位移
IO.Output(Z)
EndSub
PrivateSubButton2_Click(senderAsObject,eAsEventArgs)HandlesButton2.Click
桁架单元力
计算总体坐标架单元新节点位移XNEW(6,2)
DimXNEW(6,2)AsDouble
DimZNEW(6,2)AsDouble
DimX(6,2)AsDouble
X=Data.PositionData()
DimZ(12)AsDouble'
Z=Matrix.Displacement()
ForI=1To6
ZNEW(I,1)=Z(2*I-2)
ZNEW(I,2)=Z(2*I-1)
XNEW=Matrix.Add(X,ZNEW)
计算变形后杆长
DimDDELTAX(10)AsDouble
DimNEWDDELTAX(10)AsDouble
DimD(10)AsDouble
DimA(10)AsDouble
DimE1AsInteger
A=Data.AreaData
E1=Data.EData
DimN(10)AsDouble'
单元力
ForI=1To10
单元结点编号
DimNX(2,10)AsDouble
NX=Data.NodeData()
NEWDDELTAX(I)=Math.Sqrt((XNEW(NX(1,I),1)-XNEW(NX(2,I),1))^2+(XNEW(NX(1,I),2)-XNEW(NX(2,I),2))^2)
DDELTAX(I)=Matrix.ElementLongger(I)
D(I)=NEWDDELTAX(I)-DDELTAX(I)
计算单元力
N(I)=D(I)*E1*A(I)/DDELTAX(I)
输出单元力N
IO.Output(N)
计算单元应力过程
PrivateSubButton3_Click(senderAsObject,eAsEventArgs)HandlesButton3.Click
DimS(10)AsDouble
DimF(10)AsDouble
F=Matrix.FORCE
S(I)=F(I)/A(I)
输出单元应力S
IO.Output(S)
2.3.3程序输出文件
图5有限元位移结果图6有限元应力结果
图7有限元轴力结果
2.3.4材料力学、有限元程序、Abaqus结果比较
表3材力、有限元、Abaqus计算结果比较
表4材力、有限元、Abaqus计算误差分析
通过误差图显示,最大误差在4%,在误差允许围。
由此可见,有限元程序和Abaqus计算是正确的。
2.4四、装配应力计算
2.4.1处理技巧
Abaqus与Ansys提供了几种由于装配产生的应力的处理方法。
耦合,当迫使某节点处多个自由度取得相同的(未知的)某个值时,常用耦合处理,通常用于铰链、销接、外向节等连接处的处理;
约束方程,提供了更为通用的联系自由度的方法,使得在某一节点处的自由度满足某个方程(而不是取得相同的值);
当然,对于特殊情况,可用加位移约束实现装配应力的处理。
题目给出的十字桁架结构,由于5杆制造时短了一截Δ,建立模型时将3点处建立两个节点(1、2杆对应的是3节点,5杆对应的是4节点,4节点在3节点下方Δ处),则有
,其中
不加力时,可以通过材力力则方程
求得。
2.4.2Abaqus处理技巧
2.4.3不加外力(P1,P2,P3)时材力,Ansys与Abaqus结果
表5不加力材力、有限元、Abaqus计算结果
2.4.4不加外力(P1,P2,P3)时材力,Ansys与Abaqus误差分析
表6不加力材力、有限元、Abaqus计算结果误差分析
通过不加力运算结果对比可知,abaqus与ansys中安装应力的处理是正确的。
2.4.5加外力(P1,P2,P3)时Ansys与Abaqus结果
(1)Ansys结果
(2)Abaqus结果
(3)加外力(P1,P2,P3)时Ansys与Abaqus结果
表7加力材力、有限元、Abaqus计算结果
表8加力材力、有限元、Abaqus计算结果误差分析
通过加力abaqus与ansys运算结果对比可知,计算应力结果是正确的。
2.5五、优化设计
2.5.1设计中变量的概念
1设计变量(DV):
1-10杆面积
i=1,2
10.
2状态变量(SV):
各杆最大应力max_s小于许用应力,2节点位移小于许用位移
3目标函数(OBJ):
结构杆的总重量最小
2.5.2优化步骤运用VS2012编写复合形法进行约束优化。
1复合形法优化原理
求解最优化问题的一种算法。
该法较为适合解决有约束优化问题。
使用该法仅需比较目标函数值即可决定搜索方向,算法较简单,对目标函数的要求不苛刻。
复合形是多个单纯形合并成的超多面体,顶点个数\gen+1(n维空间)。
复合形法与单纯形法极为相似,却也有不同:
1)复合形法不限制顶点个数为n+1,复合形法的顶点个数k取值围为n+1\lek\le2n;
2)复合形法需要检查顶点的可行性,即是否满足约束。
复合形法是由n+1个以上的顶点组合而成的多面体。
他的基本思路是:
在可行域构造一初始复合型,然后通过比较各顶点目标函数值,在可行域中找一目标函数值有所改善的新点,并用其替换目标函数值较差的顶点,构成新的复合形。
不断重复上述过程,复合形不断变形、转移、缩小,逐渐地逼近最优点。
当复合形各顶点目标函数值相差不大或者各顶点相距很近时,则目标函数值最小的顶点即可作为最优点。
复合形点点数目k一般取值(n+1)≤k≤2n,n是设计变量的个数。
为了减小计算变量,复合形法在寻优过程中一般只以在可行域的反射作为基本搜索策略。
复合形法寻优方法主要工作是生成初始复合形和更新复合形。
综合来说复合型法的算法思路清晰,容易掌握;
不需求导数,不需作一维搜索,对函数性态没有特殊要求;
程序结构简单,计算量不大;
对初始点要求低,能较快地找到最优解,算法较为可靠。
求解时需给出变量取值区间及初始复合形;
随着变量维数增多计算效率明显降低;
对约束条件较多的非凸问题,常出现多次想形心收缩,使收敛速度减慢。
2复合形法优化流程图
3vs2012编写复合形法来做约束优化问题执行优化。
2.5.3VS2012优化程序
(1)目标函数(OBJ):
PublicSharedFunctionFitness(ByValA()AsDouble)AsDouble
DimnAsInteger
n=A.GetUpperBound(0)
截面面积A
DimMAsDouble
DimDENSERTYAsDouble
DENSERTY=7.8/1000000
DimM1AsDouble
DimL(n)AsDouble
DimLT(n,1)AsDouble
L=Data.LData
M1=Matrix.VectorMultipleVector(A,L)
M=DENSERTY*M1
ReturnM
EndFunction
(2)主程序,运用复合形法优化
'
全局优化,质量最小
PublicSharedFunctionOPT(ByValllAsDouble)AsDouble()
给定K,a,Eps,N
DimNAsDouble'
点的维度N
DimKAsDouble'
顶点的数目K
N=Optimizisiondata.NData
K=Optimizisiondata.DData
DimX(K,N)AsDouble'
复合形顶点
DimXp(N)AsDouble'
最优解
DimVALAsDouble
DimEps,QAsDouble
Eps=0.000001
DimAAsDouble
A=0.5
DimXR(N)AsDouble
DimFRAsDouble
DimT,T1,T2,T3AsDouble
DimI,JAsDouble
DimF(K)AsDouble'
顶点函数值
DimU(12),S(N)AsDouble
DimU2AsDouble
DimSS1,SS2,SS3,SS4AsDouble
初始复合形顶点
DimB1,B2AsDouble
B1=5000
B2=50000
SS4=1
WhileSS4=1
Randomize()
ForI=1ToK
ForJ=1ToN
X(I,J)=Int((B2-B1)*Rnd())+B1
随机初始化位置
NextJ
NextI
计算顶点函数值()
SS1=1
WhileSS1=1
DimXI(N)AsDouble
ForJ=0ToN
XI(J)=X(I,J)
Next
F(I)=Optimizision.Fitness(XI)
计算好点和坏点
顶点函数值排序
DimM(K)AsDouble
M(I)=F(I)
ForJ=1ToK
ForI=1ToK-1
IfM(I)>
M(I+1)Then
Else
Q=M(I+1)
M(I+1)=M(I)
M(I)=Q
EndIf
DimL,H,SHAsDouble
好点和坏点及次坏点
IfF(I)=M(K)Then
L=I
IfF(I)=M
(1)Then
H=I
IfF(I)=M
(2)Then
SH=I
是否满足终止条件
DimSMAsDouble
SM=0
SM=SM+(F(J)-F(L))^2
DimSM1AsDouble
SM1=(SM/K)^0.5'
终止条件
IfSM1<
=EpsThen
ForI=1ToN
Xp(I)=X(L,I)
VAL=F(L)
IO.Output(Xp)
IO.Output(F)
Ifll=1Then
ReturnXp
ElseIfll=0Then
ReturnF
End
SS2=1
WhileSS2=1
计算Xc
DimS1(N)AsDouble
DimS2(N)AsDouble
DimS3(N)AsDouble
DimXc(N)AsDouble
ForJ=1ToK'
S2(I)=X(J,I)
S1=Matrix.Add(S1,S2)
S3(I)=-X(H,I)
Xc=Matrix.Add(S1,S3)
Xc(I)=Xc(I)/(K-1)
SS3=1
WhileSS3=1
计算XR
XR(I)=Xc(I)+A*(Xc(I)-X(H,I))
FR=Optimizision.Fitness(XR)
边界条件
U=Optimizision.Displacement(XR)
S=Optimizision.FORCE(XR)
U2=(U
(2)^2+U(3)^2)^0.5
IfXR(I)>
B1<
>
XR(I)<
B2Then
T1=T1+1
T1=0
IfS(I)<
160Then
T3=T3+1
T3=0
IfU2<
5Then
T2=1
T2=0
IfT1=10AndT2=1AndT3=10Then
T=1
T=0'
在D记为T=1
IfT=1Then
T=0
IfFR<
F(H)Then
X(H,I)=XR(I)
SS3=0
SS2=0
ElseIfA<
=0.001Then
X(H,I)=X(SH,I)
A=0.5*A
IfA<
EpsThen
SS1=0
EndWhile
EndFunction
2.5.4优化结果
图vs2012优化结果
2.5.5结果说明
因复合形法初始形为随机取得,此结果为1000次中最优解。
原结构总质量为8231.3Kg,优化后总质量为6910.5,节省1320.8,占原质量百分比为16.04%。
优化效果明显。
3设计感想
通过本次课程设计,我熟悉了应用各种方法解决问题的思路。
桁架是工程中一种基本的结构,主要承受轴向载荷,从而更能充分利用材料的强度,适用于较大跨度的承接结构和高耸结构,在实现强度和刚度的条件下能节省材料,减轻自重。
Ansys提供了一种有效的解决桁架问题的有限元方法,利用link1单元能高效而准确的求解;
由能量法推导出的莫尔积分对于解决上述低次(两次)静不定桁架问题还是比较有效的,而更高阶的问题会极大的加大计算量,再者,对于不同的结构,不能实现程序的统一。
Abaqus提供了一种有效的解决桁架问题的有限元方法,2Dtruss单元。
4备注
4.1参考书目
材料力学
Ansys从入门到精通
Abaqus从入门到精通
4.2说明
Abaqus程序,编写的桁架有限元程序和vs2012优化程序见电子版