算例计算如图1所示平面刚架各结点的位移和各梁的内力及支座反力.docx

上传人:b****5 文档编号:5632175 上传时间:2022-12-29 格式:DOCX 页数:18 大小:149.89KB
下载 相关 举报
算例计算如图1所示平面刚架各结点的位移和各梁的内力及支座反力.docx_第1页
第1页 / 共18页
算例计算如图1所示平面刚架各结点的位移和各梁的内力及支座反力.docx_第2页
第2页 / 共18页
算例计算如图1所示平面刚架各结点的位移和各梁的内力及支座反力.docx_第3页
第3页 / 共18页
算例计算如图1所示平面刚架各结点的位移和各梁的内力及支座反力.docx_第4页
第4页 / 共18页
算例计算如图1所示平面刚架各结点的位移和各梁的内力及支座反力.docx_第5页
第5页 / 共18页
点击查看更多>>
下载资源
资源描述

算例计算如图1所示平面刚架各结点的位移和各梁的内力及支座反力.docx

《算例计算如图1所示平面刚架各结点的位移和各梁的内力及支座反力.docx》由会员分享,可在线阅读,更多相关《算例计算如图1所示平面刚架各结点的位移和各梁的内力及支座反力.docx(18页珍藏版)》请在冰豆网上搜索。

算例计算如图1所示平面刚架各结点的位移和各梁的内力及支座反力.docx

算例计算如图1所示平面刚架各结点的位移和各梁的内力及支座反力

算例

计算如图-1所示平面刚架各结点的位移和各梁的内力及支座反力。

已知:

图-1受分布力和集中力的平面刚架

分析:

首先建立有限元模型,即定义结点坐标,定义单元的结点号和材料特性,定义约束条件,给定结点力等。

把杆件的连接点和集中力的作用点取为结点,并按1~7编号,其中5号结点就是集中力作用点,如下图所示。

为了确定结点的坐标,我们要建立一个整体坐标系,其原点为结点1,水平向右为x轴正方向,竖直向上为y轴正方向。

这样就能根据框架的尺寸确定7个结点的坐标。

然后将这7个结点两两组合成6个单元,并按①~⑥编号,示于图-2中。

该刚架有3个结点被固定,每个结点有3个自由度,因此共有9个自由度被约束。

另外还有1个集中力,两个单元有分布荷载。

这些信息即构成了有限元模型,可编制一个函数程序PlaneFrameModel来指定。

图-2单元划分图

有限元模型生成函数

functionPlaneFrameModel

%定义平面杆系的有限元模型

%输入参数:

%无

%返回值:

%无

%说明:

%该函数定义平面杆系的有限元模型数据:

%gNode-------节点定义

%gElement----单元定义

%gMaterial---材料定义,包括弹性模量,梁的截面积和梁的抗弯惯性矩

%gBC1--------约束条件

%gNF---------集中力

%gDF---------分布力

globalgNodegElementgMaterialgBC1gNFgDF

%节点坐标

%xy

gNode=[0.0,0.0%节点1

0.0,4.0%节点2

3.0,0.0%节点3

3.0,4.0%节点4

4.5,4.0%节点5

6.0,0.0%节点6

6.0,4.0];%节点7

%单元定义

%节点1节点2材料号

gElement=[1,2,1%单元1

2,4,1%单元2

3,4,1%单元3

4,5,1%单元4

5,7,1%单元5

6,7,1];%单元6

%材料性质

%弹性模量抗弯惯性矩截面积

gMaterial=[2.1e11,2.0e-4,1.0e-2];%材料1

%第一类约束条件

%节点号自由度号约束值

gBC1=[1,1,0.0

1,2,0.0

1,3,0.0

3,1,0.0

3,2,0.0

3,3,0.0

6,1,0.0

6,2,0.0

6,3,0.0];

%集中力

%节点号自由度号集中力值

gNF=[5,2,-80e3];

%分布载荷(线性分布)

%单元号节点1载荷值节点2载荷值自由度号

gDF=[1-30e302

2-15e3-15e32];

return

有了有限元模型数据,下一步的工作就是求解。

其具体流程如下图所示

图-3有限元程序流程图

计算分析主程序

MATLAB源程序代码

functionplane-beam

%本程序为采用平面梁单元计算平面刚架的变形和内力

%输入参数:

%输出结果:

节点位移和单元节点力

PlaneFrameModel;%定义有限元模型

SolveModel;%求解有限元模型

DisplayResults;%显示计算结果

return;

functionPlaneFrameModel

%定义平面杆系的有限元模型

%输入参数:

%无

%返回值:

%无

%说明:

%该函数定义平面杆系的有限元模型数据:

%gNode-------节点定义

%gElement----单元定义

%gMaterial---材料定义,包括弹性模量,梁的截面积和梁的抗弯惯性矩

%gBC1--------约束条件

%gNF---------集中力

%gDF---------分布力

globalgNodegElementgMaterialgBC1gNFgDF

%节点坐标

%xy

gNode=[0.0,0.0%节点1

0.0,4.0%节点2

3.0,0.0%节点3

3.0,4.0%节点4

4.5,4.0%节点5

6.0,0.0%节点6

6.0,4.0];%节点7

%单元定义

%节点1节点2材料号

gElement=[1,2,1%单元1

2,4,1%单元2

3,4,1%单元3

4,5,1%单元4

5,7,1%单元5

6,7,1];%单元6

%材料性质

%弹性模量抗弯惯性矩截面积

gMaterial=[2.1e11,2.0e-4,1.0e-2];%材料1

%第一类约束条件

%节点号自由度号约束值

gBC1=[1,1,0.0

1,2,0.0

1,3,0.0

3,1,0.0

3,2,0.0

3,3,0.0

6,1,0.0

6,2,0.0

6,3,0.0];

%集中力

%节点号自由度号集中力值

gNF=[5,2,-80e3];

%分布载荷(线性分布)

%单元号节点1载荷值节点2载荷值自由度号

gDF=[1-30e302

2-15e3-15e32];

return

functionSolveModel

%求解有限元模型

%输入参数:

%无

%返回值:

%无

%说明:

%该函数求解有限元模型,过程如下

%1.计算单元刚度矩阵,集成整体刚度矩阵

%2.计算单元的等效节点力,集成整体节点力向量

%3.处理约束条件,修改整体刚度矩阵和节点力向量

%4.求解方程组,得到整体节点位移向量

globalgNodegElementgMaterialgBC1gNFgDFgKgDelta

%step1.定义整体刚度矩阵和节点力向量

[node_number,dummy]=size(gNode);

gK=sparse(node_number*3,node_number*3);

f=sparse(node_number*3,1);

%step2.计算单元刚度矩阵,并集成到整体刚度矩阵中

[element_number,dummy]=size(gElement);

forie=1:

1:

element_number

k=StiffnessMatrix(ie,1);

AssembleStiffnessMatrix(ie,k);

end

%step3.把集中力直接集成到整体节点力向量中

[nf_number,dummy]=size(gNF);

forinf=1:

1:

nf_number

n=gNF(inf,1);

d=gNF(inf,2);

f((n-1)*3+d)=gNF(inf,3);

end

%step4.计算分布力的等效节点力,并集成到整体节点力向量中

[df_number,dummy]=size(gDF);

foridf=1:

1:

df_number

enf=EquivalentNodeForce(gDF(idf,1),gDF(idf,2),gDF(idf,3),gDF(idf,4));

i=gElement(gDF(idf,1),1);

j=gElement(gDF(idf,1),2);

f((i-1)*3+1:

(i-1)*3+3)=f((i-1)*3+1:

(i-1)*3+3)+enf(1:

3);

f((j-1)*3+1:

(j-1)*3+3)=f((j-1)*3+1:

(j-1)*3+3)+enf(4:

6);

end

%step5.处理约束条件,修改刚度矩阵和节点力向量。

采用乘大数法

[bc_number,dummy]=size(gBC1);

foribc=1:

1:

bc_number

n=gBC1(ibc,1);

d=gBC1(ibc,2);

m=(n-1)*3+d;

f(m)=gBC1(ibc,3)*gK(m,m)*1e15;

gK(m,m)=gK(m,m)*1e15;

end

%step6.求解方程组,得到节点位移向量

gDelta=gK\f;

return

functionDisplayResults

%显示计算结果

%输入参数:

%无

%返回值:

%无

globalgNodegElementgMaterialgBC1gNFgDFgKgDelta

fprintf('节点位移\n');

fprintf('节点号x方向位移y方向位移转角\n');

[node_number,dummy]=size(gNode);

fori=1:

node_number

fprintf('%6d%16.8e%16.8e%16.8e\n',...

i,gDelta((i-1)*3+1),gDelta((i-1)*3+2),gDelta((i-1)*3+3));

end

fprintf('\n\n节点力\n');

fprintf('轴力剪力弯矩\n');

[element_number,dummy]=size(gElement);

forie=1:

element_number

enf=ElementNodeForce(ie);

fprintf('单元号%6d节点号%6d%16.8e%16.8e%16.8e\n',...

ie,gElement(ie,1),enf

(1),enf

(2),enf(3));

fprintf('节点号%6d%16.8e%16.8e%16.8e\n',...

gElement(ie,2),enf(4),enf(5),enf(6));

end

return

functionk=StiffnessMatrix(ie,icoord)

%计算单元刚度矩阵

%输入参数:

%ie-------单元号

%icoord--坐标系参数,可以是下面两个之一

%1----整体坐标系

%2----局部坐标系

%返回值:

%k----根据icoord的值,相应坐标系下的刚度矩阵

globalgNodegElementgMaterial

k=zeros(6,6);

E=gMaterial(gElement(ie,3),1);

I=gMaterial(gElement(ie,3),2);

A=gMaterial(gElement(ie,3),3);

xi=gNode(gElement(ie,1),1);

yi=gNode(gElement(ie,1),2);

xj=gNode(gElement(ie,2),1);

yj=gNode(gElement(ie,2),2);

L=((xj-xi)^2+(yj-yi)^2)^(1/2);

k=[E*A/L00-E*A/L00

012*E*I/L^36*E*I/L^20-12*E*I/L^36*E*I/L^2

06*E*I/L^24*E*I/L0-6*E*I/L^22*E*I/L

-E*A/L00E*A/L00

0-12*E*I/L^3-6*E*I/L^2012*E*I/L^3-6*E*I/L^2

06*E*I/L^22*E*I/L0-6*E*I/L^24*E*I/L];

ificoord==1

T=TransformMatrix(ie);

k=T*k*transpose(T);

end

return

functionAssembleStiffnessMatrix(ie,k)

%把单元刚度矩阵集成到整体刚度矩阵

%输入参数:

%ie---单元号

%k---单元刚度矩阵

%返回值:

%无

globalgElementgK

fori=1:

1:

2

forj=1:

1:

2

forp=1:

1:

3

forq=1:

1:

3

m=(i-1)*3+p;

n=(j-1)*3+q;

M=(gElement(ie,i)-1)*3+p;

N=(gElement(ie,j)-1)*3+q;

gK(M,N)=gK(M,N)+k(m,n);

end

end

end

end

return

functionenf=EquivalentNodeForce(ie,p1,p2,idof)

%计算线性分布荷载的等效节点力

%输入参数:

%ie-----单元号

%p1-----第一个节点上的分布力集度值

%p2-----第二个节点上的分布力集度值

%idof---分布力的种类,它可以是下面几种

%1---分布轴向力

%2---分布横向力

%3---分布弯矩

%返回值:

%enf-----整体坐标系下等效节点力向量

globalgElementgNode

enf=zeros(6,1);%定义6x1的等效节点力向量

xi=gNode(gElement(ie,1),1);

yi=gNode(gElement(ie,1),2);

xj=gNode(gElement(ie,2),1);

yj=gNode(gElement(ie,2),2);

L=sqrt((xj-xi)^2+(yj-yi)^2);

switchidof

case1%分布轴向力

enf

(1)=(2*p1+p2)*L/6;

enf(4)=(p1+2*p2)*L/6;

case2%分布横向力

enf

(2)=(7*p1+3*p2)*L/20;

enf(3)=(3*p1+2*p2)*L^2/60;

enf(5)=(3*p1+7*p2)*L/20;

enf(6)=-(2*p1+3*p2)*L^2/60;

case3%分布弯矩

enf

(2)=-(p1+p2)/2;

enf(3)=(p1-p2)*L/12;

enf(5)=(p1+p2)/2;

enf(6)=-(p1-p2)*L/12;

otherwise

disp(sprintf('分布力的种类错误,单元号:

%d',ie));

end

T=TransformMatrix(ie);%计算单元的转换矩阵

enf=T*enf;%把等效节点力转换到整体坐标下

return

functionT=TransformMatrix(ie)

%计算单元的坐标转换矩阵(局部坐标->整体坐标)

%输入参数

%ie-----节点号

%返回值

%T-------从局部坐标到整体坐标的坐标转换矩阵

globalgElementgNode

xi=gNode(gElement(ie,1),1);

yi=gNode(gElement(ie,1),2);

xj=gNode(gElement(ie,2),1);

yj=gNode(gElement(ie,2),2);

L=sqrt((xj-xi)^2+(yj-yi)^2);

c=(xj-xi)/L;

s=(yj-yi)/L;

T=[c-s0000

sc0000

001000

000c-s0

000sc0

000001];

return

functionenf=ElementNodeForce(ie)

%计算单元的节点力

%输入参数

%ie-----节点号

%返回值

%enf-----单元局部坐标系下的节点力

globalgElementgNodegDeltagDF

i=gElement(ie,1);

j=gElement(ie,2);

de=zeros(6,1);

de(1:

3)=gDelta((i-1)*3+1:

(i-1)*3+3);

de(4:

6)=gDelta((j-1)*3+1:

(j-1)*3+3);

k=StiffnessMatrix(ie,1);

enf=k*de;

[df_number,dummy]=size(gDF);

foridf=1:

1:

df_number

ifie==gDF(idf,1)

enf=enf-EquivalentNodeForce(gDF(idf,1),...

gDF(idf,2),gDF(idf,3),gDF(idf,4));

break;

end

end

T=TransformMatrix(ie);

enf=transpose(T)*enf;

return

程序计算机如果如下

节点位移

节点号x方向位移y方向位移转角

17.19450697e-019-3.10908802e-020-2.78411083e-019

27.88387267e-004-3.10908802e-005-3.44682851e-005

32.66615896e-019-1.29980350e-019-1.62999824e-019

47.70766801e-004-1.29980350e-004-2.52075453e-004

57.63456283e-004-5.67794228e-0042.15592934e-005

61.29964769e-018-7.70240078e-020-4.19430144e-019

77.56145765e-004-7.70240078e-0052.71750964e-004

节点力

轴力剪力弯矩

单元号1节点号11.63227121e+0044.76656742e+0043.56932655e+004

节点号2-1.63227121e+0041.23343258e+004-5.03056852e+003

单元号2节点号21.23343258e+0041.63227121e+0045.03056852e+003

节点号4-1.23343258e+0042.86772879e+004-2.35624322e+004

单元号3节点号36.82396838e+0042.09960018e+0036.84599262e+003

节点号4-6.82396838e+004-2.09960018e+0031.55240811e+003

单元号4节点号41.02347256e+0043.95623959e+0042.20100241e+004

节点号5-1.02347256e+004-3.95623959e+0043.73335698e+004

单元号5节点号51.02347256e+004-4.04376041e+004-3.73335698e+004

节点号7-1.02347256e+0044.04376041e+004-2.33228363e+004

单元号6节点号64.04376041e+0041.02347256e+0041.76160660e+004

节点号7-4.04376041e+004-1.02347256e+0042.33228363e+004

 

ANSYS计算结果对比

*****POST1NODALDEGREEOFFREEDOMLISTING*****

THEFOLLOWINGDEGREEOFFREEDOMRESULTSAREINGLOBALCOORDINATES

NODEUXUYUZROTXROTYROTZ

10.00000.00000.00000.00000.00000.0000

20.78839E-03-0.31091E-040.00000.00000.0000-0.34468E-04

30.00000.00000.00000.00000.00000.0000

40.77077E-03-0.12998E-030.00000.00000.0000-0.25208E-03

50.76346E-03-0.56779E-030.00000.00000.00000.21559E-04

60.00000.00000.00000.00000.00000.0000

70.75615E-03-0.77024E-040.00000.00000.00000.27175E-03

*****POST1NODALTOTALFORCESUMMATION*****

THEFOLLOWINGX

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 人文社科 > 设计艺术

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

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