CQMaxwell 发表于 2007-8-31 16:11:37

FLAC计算均布荷载下简支梁的精度分析

;------------------------------------------------------------------------
;均布荷载作用下的简支梁
;跨度L=10 m 均布荷载q=8 kN/m
;跨中弯矩理论解M=qL^2/8=8*10^2/8=100 kN.m 剪力V=qL/2=8*10/2=40 kN
;用FLAC 5.0建立模型:将梁等分为10段,11个节点(node),
;将均布荷载折算为集中力(节点力)∵Fy*n=qL ∴Fy=qL/n=8*10/11=7.2727272 kN
;-------------------------------------------------------------------------
;几何模型
struct node 1 0 0
struct node 2 10 0
struct beam begin node 1 end node 2 seg 10 prop 1001
struct prop 1001 e 2e11 area 0.0060 I 2.0e-4
;边界约束
struct node 1 fix x
struct node 1 fix y
struct node 2 fix y
;荷载施加
struct node 1 load 0,-7272.727272,0
struct node 2 load 0,-7272.727272,0
struct node 3 load 0,-7272.727272,0
struct node 4 load 0,-7272.727272,0
struct node 5 load 0,-7272.727272,0
struct node 6 load 0,-7272.727272,0
struct node 7 load 0,-7272.727272,0
struct node 8 load 0,-7272.727272,0
struct node 9 load 0,-7272.727272,0
struct node 10 load 0,-7272.727272,0
struct node 11 load 0,-7272.727272,0
;模型检查
plo hold struc node
copy node.bmp
;求解设置
set srat=10e-10
solve
plo hold struc sdisp
plo hold struc beam shear fill
copy shear.bmp
plo hold struc beam mome fill
copy mome.bmp

[ 本帖最后由 CQMaxwell 于 2007-9-2 17:26 编辑 ]

CQMaxwell 发表于 2007-8-31 16:16:54

从定性上看,弯矩和剪力图是正确的,但是定量上误差比较大,弯矩差到10%,剪力差20%,为什么会这样呢,不知道各位大虾考虑过没有。然而,如果不是均布荷载,而是集中力,那么结果还是比较准确(用户手册中的Structure Eelement有跨中作用一集中力的简支梁实例)。这是由于划分的段数不够吗还是FLAC计算结构单元的算法本身有问题(手册中好像看不出端倪),请不吝赐教!

CQMaxwell 发表于 2007-8-31 17:27:45

FLAC中不提供均布荷载施加在结构上(在没有grid的情况下),因此,我又想了一个办法将均布荷载施加到简支梁上,弯矩误差消除了,而剪力还有误差(10%),请看命令流:
;--------------------------------------------------------------------------------------
;均布荷载作用下的简支梁
;跨度L=10 m 均布荷载q=8 kN/m
;跨中弯矩理论解M=qL^2/8=8*10^2/8=100 kN.m 剪力V=qL/2=8*10/2=40 kN
;用FLAC 5.0建立模型:将梁等分为10段,11个节点(node),
;将均布荷载折算为等效密度
;∵ρ*a*L*g=qL(a为梁横截面面积) ∴ρ=q/(a*g)=8000/(0.0060*9.8)=136054.4218 kg/m^3
;-------------------------------------------------------------------------------------
;几何模型
struct node 1 0 0
struct node 2 10 0
struct beam begin node 1 end node 2 seg 10 prop 1001
struct prop 1001 e 2e11 area 0.0060 I 2.0e-4 density 136054.4218
;边界约束
struct node 1 fix x
struct node 1 fix y
struct node 2 fix y
;模型检查
plo hold struc node
copy node.bmp
;求解设置
set srat=10e-10
set grav=9.8
solve
plo hold struc sdisp
plo hold struc beam shear fill
copy shear.bmp
plo hold struc beam mome fill
copy mome.bmp

CQMaxwell 发表于 2007-8-31 17:34:25

综上,FLAC毕竟是做岩土分析软件,考虑起结构来有些力不从心呀。上面两种方法都可以施加均布荷载,一种是折算为节点集中力,另一种是折算为等效密度。前者的适用范围要广一些,后者只能在梁上加,如果柱子上有均布荷载就不行了。因此,要用FLAC 5.0进行框架和地基的整体分析还得想办法,尤其是考虑框架上有横向荷载(如风荷载、地震荷载)的情况。在此抛砖引玉,望各位不吝赐教。

mathing 发表于 2007-8-31 17:42:12

FLAC中处理均布荷载时,好像不管是结构单元还是土体单元,它都会转换为结点力进行处理。在转换为结点力时,两端的力和中间部分大大小是不同的,如下图所示。结点力的大小与单元长度有关。

[ 本帖最后由 mathing 于 2007-8-31 17:51 编辑 ]

sch 发表于 2007-8-31 23:12:04

回复 #5 mathing 的帖子

有道理!有限元啊!把节点划分足够多不知会怎么样?

CQMaxwell 发表于 2007-9-2 17:19:44

将网格密度加大(分为50份),命令流:
;------------------------------------------------------------------------
;均布荷载作用下的简支梁
;跨度L=10 m 均布荷载q=8 kN/m
;跨中弯矩理论解M=qL^2/8=8*10^2/8=100 kN.m 剪力V=qL/2=8*10/2=40 kN
;用FLAC 5.0建立模型:将梁等分为10段,11个节点(node),
;将均布荷载折算为集中力(节点力)∵Fy*n=qL ∴Fy=qL/n=8*10/51=1.5686 kN
;-------------------------------------------------------------------------
;几何模型
struct node 1 0 0
struct node 2 10 0
struct beam begin node 1 end node 2 seg 50 prop 1001
struct prop 1001 e 2e11 area 0.0060 I 2.0e-4
;边界约束
struct node 1 fix x
struct node 1 fix y
struct node 2 fix y
;荷载施加
struct node 1 load 0,-1.5686,0
struct node 2 load 0,-1.5686,0
struct node 3 load 0,-1.5686,0
struct node 4 load 0,-1.5686,0
struct node 5 load 0,-1.5686,0
struct node 6 load 0,-1.5686,0
struct node 7 load 0,-1.5686,0
struct node 8 load 0,-1.5686,0
struct node 9 load 0,-1.5686,0
struct node 10 load 0,-1.5686,0
struct node 11 load 0,-1.5686,0
struct node 12 load 0,-1.5686,0
struct node 13 load 0,-1.5686,0
struct node 14 load 0,-1.5686,0
struct node 15 load 0,-1.5686,0
struct node 16 load 0,-1.5686,0
struct node 17 load 0,-1.5686,0
struct node 18 load 0,-1.5686,0
struct node 19 load 0,-1.5686,0
struct node 20 load 0,-1.5686,0
struct node 21 load 0,-1.5686,0
struct node 22 load 0,-1.5686,0
struct node 23 load 0,-1.5686,0
struct node 24 load 0,-1.5686,0
struct node 25 load 0,-1.5686,0
struct node 26 load 0,-1.5686,0
struct node 27 load 0,-1.5686,0
struct node 28 load 0,-1.5686,0
struct node 29 load 0,-1.5686,0
struct node 30 load 0,-1.5686,0
struct node 31 load 0,-1.5686,0
struct node 32 load 0,-1.5686,0
struct node 33 load 0,-1.5686,0
struct node 34 load 0,-1.5686,0
struct node 35 load 0,-1.5686,0
struct node 36 load 0,-1.5686,0
struct node 37 load 0,-1.5686,0
struct node 38 load 0,-1.5686,0
struct node 39 load 0,-1.5686,0
struct node 40 load 0,-1.5686,0
struct node 41 load 0,-1.5686,0
struct node 42 load 0,-1.5686,0
struct node 43 load 0,-1.5686,0
struct node 44 load 0,-1.5686,0
struct node 45 load 0,-1.5686,0
struct node 46 load 0,-1.5686,0
struct node 47 load 0,-1.5686,0
struct node 48 load 0,-1.5686,0
struct node 49 load 0,-1.5686,0
struct node 50 load 0,-1.5686,0
;模型检查
plo hold struc node
copy node.bmp
;求解设置
set srat=10e-10
solve
plo hold struc sdisp
plo hold struc beam shear fill
copy shear.bmp
plo hold struc beam mome fill
copy mome.bmp

CQMaxwell 发表于 2007-9-2 17:23:25

现在(51个节点)的误差已经减小了,弯矩算出为97.88 kN.m,误差约2%;剪力为38.40 kN.m,误差约5%,误差都已经降到工程可接受的范围。说明在进行均布荷载计算的时候,梁要划分得足够多才行啊。

mathing 发表于 2007-9-2 21:16:59

将均布力等效为节点力时,如果beam单元是均匀的,梁两端的等效节点力应为中间的一半,这样计算出的弯矩是精确的,剪力有一些误差,和你上面的等效密度法计算的结果是一样得。但将梁划分得密一些,剪力误差会很小。
new
struct node 1 0 0
struct node 2 10 0
struct beam beg node 1 end node 2 seg 50 prop 1001
struct prop 1001 e 2e11 area 0.0060 i 2.0e-4

struct node 1 fix x y
struct node 2 fix y

struct node 1 load 0 -0.8e3 0
struct node 2 load 0 -0.8e3 0

def struct_load
loop ns(3,51)
    command
       struct node ns load 0 -1.6e3 0
    endcommand
endloop
end
struct_load

set srat 1e-5
solve

这样得到得弯矩是100kN.m,剪力是39.2kN,结果好一些。

[ 本帖最后由 mathing 于 2007-9-2 21:18 编辑 ]

ahu2009 发表于 2009-10-6 13:10:56

这个例子不错,学习了。。。。

xuelei 发表于 2009-11-20 14:26:20

顶,不错!
页: [1]
查看完整版本: FLAC计算均布荷载下简支梁的精度分析