ANSYS 入门教程 (44) - 结构线性静力分析 (b) 下载本文

内容发布更新时间 : 2024/5/3 22:50:24星期一 下面是文章的全部内容请认真阅读。

! EX6.4 耦合自由度 finish $ /clear $ /prep7

! ① 定义单元类型、材料性质、实常数、几何模型、施加约束

et,1,beam3 $ mp,ex,1,2.1e11 $ mp,prxy,1,0.3 $ r,1,0.007848,4.9087e-6,0.1 k,1$k,2,0,4 $ k,3,0,4 $ k,4,3,4 $ k,5,3,4 $ k,6,3,0 $ k,7,3,7 $ k,8,6,7

k,9,6,7 $ k,10,6,7 $ k,11,6,4 $ k,12,9,7 $ l,1,2 $ l,3,4 $ l,6,5 $ l,5,7 $ l,7,8 $ l,11,10

l,9,12 $ dk,1,all $ dk,6,all $ dk,11,all $ dk,12,ux,,,,uy

! ② 生成有限元模型,施加单元荷载

lesize,all,,,8 $ lmesh,all $ lsel,s,,,2 $ esll $ sfbeam,all,1,pres,2000

lsel,s,,,5,7,2 $ esll $ sfbeam,all,1,pres,3000 $ allsel

! ③ A 关键点 2 和 3 位置的节点创建约束方程,UY 和 ROTZ 相等

ksel,s,,,2,3 $ nslk,s $ cp,next,rotz,all $ cp,next,uy,all ! ③ B 关键点 4 和 5 位置的节点创建约束方程,UX 和 UY 相等

ksel,s,,,4,5 $ nslk,s $ cp,next,ux,all $ cp,next,uy,all

! ③ C 关键点 8、9 和 10 位置的节点创建约束方程,UX 和 UY 相等 ksel,s,,,8,10 $ nslk,s $ cp,next,ux,all $ cp,next,uy,all $ allsel $ finish

! ④ 求解及后处理

/solu $ solve $ finish$/post1 $ pldisp,1

etable,mi,smisc,6 $ etable,mj,smisc,12 $ plls,mi,mj,-1

3. BEAM18X 系列单元的端点自由度释放

采用上图结构以 BEAM189 为例,说明端点释放的操作过程。

★ 采用自由度释放时,按刚接点创建几何模型,不需要在同一位置创建多个关键点。 ★ 多杆铰接时应同时释放自由度,否则在不同的耦合自由度集中会出现同一自由度。 ★ 自由度释放与直接创建耦合自由度互补,即释放某个自由度,则在耦合自由度集中无该自由度。

BEAM18X 系列所释放的自由度基于节点坐标系。

在 ENDRELEASE 命令中, 相邻单元的夹角限值为 TOLERANCE(缺省为 20°)。一种特殊的情况是仅仅两个相邻单元在一条线上(夹角限值失效), 此时需使用 TOLERANCE=-1 参数并选择这两个单

元,然后实施自由度释放。

示例:

! EX6.5 BEAM189 自由度释放

finish $ /clear $ /prep7

et,1,beam189 $ mp,ex,1,2.1e11 $ mp,prxy,1,0.3 ! 定义单元类

型、材料性质

sectype,1,beam,csolid $ secdata,0.05 ! 定义梁截面数

k,1 $ k,2,0,4 $ k,3,3 $ k,4,3,4 $ k,5,3,7 $ k,6,6,4 $ k,7,6,7 $ k,8,9,7 ! 创建关键点 k,100,-10,110 ! 创建定位点 l,1,2 $ l,3,4 $ l,4,5 $ l,2,4 $ l,6,7 $ l,5,7 $ l,7,8 ! 创建线 dk,1,all $ dk,3,all $ dk,6,all $ dk,8,ux,,,,uy ! 施加约束(因

固结未约束 UZ)

latt,1,,1,,100,,1 $ lesize,all,,,9 $ lmesh,all ! 对线赋属性、

划分单元

lsel,s,loc,y,4 $ esll $ sfbeam,all,1,pres,2000 ! 施加单元荷载 lsel,s,loc,y,7 $ esll $ sfbeam,all,1,pres,3000 ! 施加单元荷载 lsel,s,,,1,4,3 $ esll $ endrelease,,,ux ! 最左边位置,

释放自由度 UX

lsel,s,,,2,4,2 $ esll $ endrelease,,,rotz ! 中间位置,释

放自由度 ROTZ

lsel,s,,,5,7 $ esll $ endrelease,,,rotz $ allsel ! 最右边位置,

释放自由度 ROTZ

cplist $ finish $ /solu $ solve $ finish !求解与后处理

/post1 $ pldisp,1 $ etable,mi,smisc,2 $ etable,mj,smisc,15 $ plls,mi,mj

4. BEAM44 单元自由度释放

BEAM44 单元的自由度释放采用 KEYOPT(7) 设置,有多少不同的自由度释放就需要定义多少种单元,因此其自由度释放要比前两种方法繁琐。当采用定位点定义 BEAM44 单元截面方位时,由 IJK 构成

的平面包含单元的 X 轴和 Z 轴,与缺省时的单元坐标系不同。

示例:

! EX6.6 BEAM44 自由度释放 finish $ /clear $ /prep7

et,1,beam44 $ et,2,beam44 $ et,3,beam44 ! 定义单元类型 3 种 keyopt,2,7,100000 ! 释放第 2 种单元的 I 节点的 UX

keyopt,3,8,10 ! 释放第 3 种单元的 J 节点的 ROTY

mp,ex,1,2.1e11 $ mp,prxy,1,0.3 ! 定义材料性质 sectype,1,beam,csolid $ secdata,0.05 ! 定义梁截面数据

k,1 $ k,2,0,4 $ k,3,3,0 $ k,4,3,4 $ k,5,3,7 $ k,6,6,4 $ k,7,6,7 $ k,8,9,7 ! 创建关键点 k,100,-10,110 $ l,1,2 $ l,3,4 $ l,4,5 $ l,2,4 $ l,6,7 $ l,5,7 $ l,7,8 ! 创建定位点和线

dk,1,all $ dk,3,all $ dk,6,all $ dk,8,ux,,,,uy !施加约束 latt,1,,1,,100,,1 $ lesize,all,,,9 $ lmesh,all !划分单元 lsel,s,loc,y,4 $ esll $ sfbeam,all,1,pres,2000 !施加单元荷载

lsel,s,loc,y,7 $ esll $ sfbeam,all,1,pres,3000 $ allsel

emodif,28,type,2 ! 将 28 单元修改为单元类型 2, 即

该单元的I节点释放 UX

emodif,36,type,3 ! 将 36,54,45 单元修改为单元类型

3, 即释放这些单元的 J 节点

emodif,54,type,3 ! 的 ROTY。最右边位置上的 3 个

杆件,释放两个即可。 emodif,45,type,3

finish $ /solu $ solve $ finish $ /post1

pldisp,1 $ etable,mi,smisc,5 $ etable,mj,smisc,11 $ plls,mi,mj

三、 曲梁及线荷载的施加

曲梁结构可采用直线梁单元近似模拟,如采用适当数量的单元也可获得较为满意的结果。可采用 3 节

点 BEAM189 单元更加准确的模拟曲梁,因 3 节点 BEAM189 可适应曲线边界。

1. 斜梁

★ 在梁结构上施加分布荷载,只能施加到单元上。 ★ 只可施加垂直单元轴线或平行单元轴线的分布荷载。

★ 斜向分布荷载可用: ◆ 等效到节点上的集中荷载

◆ 分解后分别施加 ◆ 用惯性荷载施加(模拟自重)

◆ 表面效应单元等方法。

如图所示斜梁及所受均布线荷载,可首先将分布荷载 QH 转化到沿斜梁轴线分布的荷载 QS(图 6B),然后再将 QS 分解为 QSV(图 C)和 QSP(图 D),此时可用 SFBEAM 命令施加,具体过程如命令

流中的详细说明。

QH 为已知的均布荷载集度,θ 为杆件轴线与均布荷载基线的夹角,I 和 J 为节点号。

一个人字结构,承受均布荷载如图:

其计算分析命令流如下。 ! EX6.7 斜梁施加水平均布荷载

finish $ /clear $ /prep7

! 定义两个均布荷载参数、定义单元类型、材料性质、单元实常数、创建模型 qh1=10000 $ qh2=15000 $ et,1,beam3 $ mp,ex,1,2.1e11 $ mp,prxy,1,0.3

r,1,0.01424,0.1922e-3,0.3 $ k,1 $ k,2,5,3 $ k,3,10 $ l,1,2$l,2,3

dk,1,ux,,,,uy $ dk,3,uy $ lesize,all,,,5 $ lmesh,all ! 选择线 L1 及相关单元,等效并分解荷载,施加两方向荷载

lsel,s,,,1 $ esll

csref=(kx(2)-kx(1))/distkp(1,2) $ siref=(ky(2)-ky(1))/distkp(1,2)

qs=qh1*csref $ qsv=qs*csref $ qsp=qs*siref