ansys apdl张弦梁拉索滑移?

浏览:1062 回答:1

ansys apdl张弦梁拉索滑移?的图1

ansys apdl张弦梁拉索滑移?的图2

版本是2025R1,想要模拟一个张弦梁的拉索滑移的过程,我是对撑杆的下端节点施加了一个位移,但是计算之后的结果就是这个撑杆会滑移离开拉索。

想请问一下,是因为我没有生成接触对的原因吗?

并且我的命令流里面有生成接触对的命令,但是就是无法生成,请大神们教教我,到底错在哪里,已经被折磨了三个月了

邀请回答 我来回答

全部回答

(1)
默认 最新
用户_116159

/clear

/prep7

/units,si

! 1. 创建所有关键点

k,1,-35.975,25.1458,35.706 ! 上弦关键点1(原21.289→25.1458)

k,2,-35.975,10.0366,35.706 ! 上弦关键点2(原11.824→10.0366)

k,3,-35.975,-5.0726,35.706 ! 上弦关键点3(原-7.057→-5.0726)

k,4,-35.975,-20.1818,35.706 ! 上弦关键点4(原-16.481→-20.1818)

k,5,-35.975,-35.291,35.706 ! 下弦支座关键点(不变)

k,6,-35.975,40.255,35.706 ! 拉索锚固关键点(不变)

k,7,-35.975,25.1458,26.351 ! 撑杆下关键点(原21.171→25.1458)

k,8,-35.975,10.0366,23.124 ! 撑杆下关键点(原11.727→10.0366)

k,9,-35.975,-5.0726,23.124 ! 撑杆下关键点(原-7.122→-5.0726)

k,10,-35.975,-20.1818,26.351 ! 撑杆下关键点(原-16.529→-20.1818)

! 2. 拉索滑移关键点

! 偏移量确保接触有效但不穿透

k,11,-35.975,25.1458,26.351 ! 拉索1(原21.171→25.1458)

k,12,-35.975,10.0366,23.124 ! 拉索2(原11.727→10.0366)

k,13,-35.975,-5.0726,23.124 ! 拉索3(原-7.122→-5.0726)

k,14,-35.975,-20.1818,26.351 ! 拉索4(原-16.529→-20.1818)

! 3. 创建所有线(拉索连接滑移关键点)

l,6,11 ! 拉索1

l,11,12 ! 拉索2

l,12,13 ! 拉索3

l,13,14 ! 拉索4

l,14,5 ! 拉索5

l,6,1 ! 主梁1

l,1,2 ! 主梁2

l,2,3 ! 主梁3

l,3,4 ! 主梁4

l,4,5 ! 主梁5

l,1,7 ! 撑杆1

l,2,8 ! 撑杆2

l,3,9 ! 撑杆3

l,4,10 ! 撑杆4

! 4. 定义单元类型

et,1,beam188 ! 主梁单元

keyopt,1,1,1 ! 启用大变形(主梁可能伴随大位移)

et,2,link180 ! 悬索单元(拉索)

keyopt,2,2,0 ! 保留全部自由度(UX/UY/UZ),避免限制滑动方向

et,3,beam188 ! 撑杆单元

keyopt,3,1,1 ! 启用大变形

et,4,mass21 ! 质量单元

et,5,conta175 ! 接触单元(滑移节点)

keyopt,5,1,0 ! 包含UX/UY/UZ平动自由度(默认,但需显式确认)

keyopt,5,5,1 ! 自动接触闭合(CNOF=ON),解决初始间隙问题

keyopt,5,6,2 !

keyopt,5,12,0 ! 标准模式

keyopt,5,2,1 ! 罚函数

keyopt,5,4,1 ! 指定接触法向方向

et,6,targe170 ! 目标单元(索体)

keyopt,6,1,0 ! 正确取值:0=直线段目标(三维空间中有效)

keyopt,6,2,0 ! 不限制目标单元的自由度方向(默认,三维兼容)

keyopt,6,3,1 ! 保留所有节点自由度信息(包括UZ)

keyopt,6,9,0 ! 不抑制任何自由度传递(确保接触单元能识别UZ)

etlist

! 5. 定义材料属性

mp,ex,1,2.06e11 ! 主梁材料

mp,nuxy,1,0.3

mp,dens,1,7850

mp,ex,2,1.95e11 ! 拉索/撑杆材料

mp,nuxy,2,0.3

mp,dens,2,7850

! 6. 定义截面

sectype,1,beam,hrec

secdata,0.8,1.1,0.035,0.035,0.035,0.035 ! 主梁截面

sectype,2,link ! 悬索截面(保持LINK180)

secdata,8.031e-03

sectype,3,beam,ctube ! 撑杆截面(BEAM188)

secdata,0.05,0.055

! 7. 网格划分

! 主梁网格

lsel,s,,,6,10,1 ! 主梁线编号6-10

latt,1,,1,,,,1 ! 为选中线设置属性

lesize,all,,,3 ! 设置网格划分参数

lmesh,all ! 划分网格

allsel ! 全选所有实体

nsel,all ! 选择所有节点

esel,all ! 选择所有单元

! 撑杆网格

lsel,s,,,11,14,1 ! 撑杆线编号11-14

latt,2,,3,,,,3 ! 为选中线设置属性

lesize,all,,,5 ! 设置网格划分参数

lmesh,all ! 划分网格

allsel ! 全选所有实体

nsel,all ! 选择所有节点

esel,all ! 选择所有单元

! 悬索网格

lsel,s,,,1,5,1

latt,2,,2,,,,2 ! 为选中线设置属性

lesize,all,,,16 ! 设置网格划分参数

lmesh,all ! 划分网格

elist ! 确认显示LINK180单元(编号≥1)

allsel ! 全选所有实体

nsel,all ! 选择所有节点

esel,all ! 选择所有单元

! 8.定义实常数10

real,10

r,10,0.05,0.001,0.01,1e5,0.5,,0.0001,0.1 !

! R1=0.05 → 搜索半径(覆盖可能的几何间隙)

! R2=0.001 → 初始接触容差

! R3=0.01 → 最大自动闭合间隙

! R4=1e5 → 罚函数刚度(适中值,平衡稳定性与收敛性)

! R5=0.5 → 接触阻尼(减少迭代震荡)

! R8:摩擦系数=0.1(可选,若需考虑滑动摩擦,防止无约束滑动)

! 9.定义接触对

! 定义目标面(拉索线)

lsel,s,,,1,5 ! 选择拉索线

nsll,s ! 选择线上所有节点

cm,targ_nodes,node ! 创建目标节点组件

type,6 ! TARGE170单元

real,10

mat,2

esurf,1

allsel

! 定义接触面(撑杆下端节点)

ksel,s,,,7,10 ! 选择撑杆下端关键点

nslk,s ! 关联节点

cm,cont_nodes,node

type,5 ! CONTA175单元

real,10

mat,2

eintf,node,line ! 节点-线接触自动生成(更可靠)

allsel

! 10. 拉索预张力

lsel,s,,,1,5 ! 对拉索施加初应变

esll,s

inistate,set,dtyp,epel

inistate,defi,,,,,1.9305e-3

allsel

! 11. 质量单元

! 关键点1-4的质量

allsel

ksel,s,,,1,4

nslk,s

*get,nodnum,node,0,count

*dim,aa,array,nodnum,4

*get,nd,node,0,num,min

*do,i,1,nodnum,1

aa(i,1)=nd

aa(i,2)=Nx(nd)

aa(i,3)=Ny(nd)

aa(i,4)=Nz(nd)

nd=NDNEXT(nd)

*enddo

*do,i,1,nodnum

r,2,5786,5786,5786,0,0,0

type,4

real,2

e,aa(i)

*enddo

allsel

! 关键点5和6的质量

allsel

ksel,s,,,5,6

nslk,s

*get,nodnum,node,0,count

*dim,bb,array,nodnum,4

*get,nd,node,0,num,min

*do,i,1,nodnum,1

bb(i,1)=nd

bb(i,2)=Nx(nd)

bb(i,3)=Ny(nd)

bb(i,4)=Nz(nd)

nd=NDNEXT(nd)

*enddo

*do,i,1,nodnum

r,3,5106,5106,5106,0,0,0

type,4

real,3

e,bb(i)

*enddo

allsel

! 关键点7-10的质量

allsel

ksel,s,,,7,10

nslk,s

*get,nodnum,node,0,count

*dim,cc,array,nodnum,4

*get,nd,node,0,num,min

*do,i,1,nodnum,1

cc(i,1)=nd

cc(i,2)=Nx(nd)

cc(i,3)=Ny(nd)

cc(i,4)=Nz(nd)

nd=NDNEXT(nd)

*enddo

*do,i,1,nodnum

r,4,260,260,260,0,0,0

type,4

real,4

e,cc(i)

*enddo

allsel

! 12. 约束

ksel,s,,,5 ! 下弦支座关键点

nslk,s

d,all,ux,0 ! 限制X向平动

d,all,uy,0 ! 限制Y向平动

d,all,uz,0 ! 限制Z向平动

! 释放所有转动自由度(ROTX/ROTY/ROTZ),模拟铰支座

allsel

ksel,s,,,6 ! 拉索锚固关键点

nslk,s

d,all,ux,0 ! 限制X向平动

d,all,uy,0 ! 限制Y向平动

d,all,uz,0 ! 限制Z向平动(锚固点固定不动)

allsel

ksel,s,,,7,10 ! 选择关键点7,8,9,10(模拟铰接)

nslk,s ! 选择这些关键点上的节点

d,all,rotx,0 ! 约束绕X轴的转动

d,all,roty,0 ! 约束绕Y轴的转动

d,all,rotz,0 ! 约束绕Z轴的转动

allsel

ksel,s,,,1,4 ! 选择关键点1,2,3,4(模拟铰接)

nslk,s ! 选择这些关键点上的节点

d,all,rotx,0 ! 约束绕X轴的转动

d,all,roty,0 ! 约束绕Y轴的转动

d,all,rotz,0 ! 约束绕Z轴的转动

allsel

! 13. 添加荷载并求解

nsel,s,node,,32 ! 选择节点32

d,all,uy,0.6 ! 在节点32上施加Y方向的位移0.6米

allsel

finish

/solu

antype,static ! 静力分析

nlgeom,on ! 开启几何非线性(悬索大变形+接触滑动)

sstif,on ! 自动更新刚度矩阵(接触状态变化时)

nsubst,200,500,100 ! 最小子步100,最大500,初始200(细化滑动过程)

autots,on ! 自动时间步长(根据刚度变化调整子步)

time,3.0 ! 总时间3(对应3个荷载步)

! 收敛准则:力+位移双控,放宽接触问题收敛标准

cnvtol,f,1e-3,0.1,0 ! 力收敛容差1e-3,参考力取10%

cnvtol,u,1e-4,0.1,0 ! 位移收敛容差1e-4,参考位移取10%

cnvtol,m,1e-3,0.1,0 ! 力矩收敛容差(针对梁单元)

neqit,500 ! 最大迭代次数500

! 分步求解

solve,next ! 第一荷载步(位移0.1米)

solve,next ! 第二荷载步(位移0.2米)

solve,next ! 第三荷载步(位移0.2米)

! 14. 后处理查看滑移结果

/post1

set,last ! 读取最后结果

plnsol,u,sum ! 整体位移云图(检查是否有异常跳动)

pldisp,1 ! 显示变形后的形状和变形前的轮廓(虚线)

cmsel,s,cont_nodes ! 选择接触节点

! 输出关键节点滑动轨迹

cmsel,s,cont_nodes ! 选择滑移节点组件

*get,node1,node,,num,min

prnsol,u,comp ! 输出滑移节点各方向位移

*do,i,1,3 ! 输出3个荷载步的滑动位置

set,i

*get,u1,node,node1,u,x

*get,u2,node,node1,u,y

*get,u3,node,node1,u,z

*msg,,['荷载步',i,': 滑移节点坐标 (',u1,',',u2,',',u3,')']

*enddo

cmsel,s,targ_nodes ! 选择目标节点

! 输出关键节点滑动轨迹

cmsel,s,targ_nodes ! 选择滑移节点组件

*get,node1,node,,num,min

prnsol,u,comp ! 输出滑移节点各方向位移

*do,i,1,3 ! 输出3个荷载步的滑动位置

set,i

*get,u1,node,node1,u,x

*get,u2,node,node1,u,y

*get,u3,node,node1,u,z

*msg,,['荷载步',i,': 滑移节点坐标 (',u1,',',u2,',',u3,')']

*enddo

这个是我的命令流,请大神们看看哪里有问题

2025年9月13日
评论 点赞

没解决?试试专家一对一服务

换一批
    App下载
    技术邻APP
    工程师必备
    • 项目客服
    • 培训客服
    • 平台客服

    TOP