技術(shù)鄰?>? CAE仿真?>? Ansys ansys apdl張弦梁拉索滑移? 瀏覽:1182 回答:1 版本是2025R1,想要模擬一個張弦梁的拉索滑移的過程,我是對撐桿的下端節(jié)點施加了一個位移,但是計算之后的結(jié)果就是這個撐桿會滑移離開拉索。 想請問一下,是因為我沒有生成接觸對的原因嗎? 并且我的命令流里面有生成接觸對的命令,但是就是無法生成,請大神們教教我,到底錯在哪里,已經(jīng)被折磨了三個月了
/clear
/prep7
/units,si
! 1. 創(chuàng)建所有關(guān)鍵點
k,1,-35.975,25.1458,35.706 ! 上弦關(guān)鍵點1(原21.289→25.1458)
k,2,-35.975,10.0366,35.706 ! 上弦關(guān)鍵點2(原11.824→10.0366)
k,3,-35.975,-5.0726,35.706 ! 上弦關(guān)鍵點3(原-7.057→-5.0726)
k,4,-35.975,-20.1818,35.706 ! 上弦關(guān)鍵點4(原-16.481→-20.1818)
k,5,-35.975,-35.291,35.706 ! 下弦支座關(guān)鍵點(不變)
k,6,-35.975,40.255,35.706 ! 拉索錨固關(guān)鍵點(不變)
k,7,-35.975,25.1458,26.351 ! 撐桿下關(guān)鍵點(原21.171→25.1458)
k,8,-35.975,10.0366,23.124 ! 撐桿下關(guān)鍵點(原11.727→10.0366)
k,9,-35.975,-5.0726,23.124 ! 撐桿下關(guān)鍵點(原-7.122→-5.0726)
k,10,-35.975,-20.1818,26.351 ! 撐桿下關(guān)鍵點(原-16.529→-20.1818)
! 2. 拉索滑移關(guān)鍵點
! 偏移量確保接觸有效但不穿透
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. 創(chuàng)建所有線(拉索連接滑移關(guān)鍵點)
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 ! 質(zhì)量單元
et,5,conta175 ! 接觸單元(滑移節(jié)點)
keyopt,5,1,0 ! 包含UX/UY/UZ平動自由度(默認(rèn),但需顯式確認(rèn))
keyopt,5,5,1 ! 自動接觸閉合(CNOF=ON),解決初始間隙問題
keyopt,5,6,2 !
keyopt,5,12,0 ! 標(biāo)準(zhǔn)模式
keyopt,5,2,1 ! 罰函數(shù)
keyopt,5,4,1 ! 指定接觸法向方向
et,6,targe170 ! 目標(biāo)單元(索體)
keyopt,6,1,0 ! 正確取值:0=直線段目標(biāo)(三維空間中有效)
keyopt,6,2,0 ! 不限制目標(biāo)單元的自由度方向(默認(rèn),三維兼容)
keyopt,6,3,1 ! 保留所有節(jié)點自由度信息(包括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. 網(wǎng)格劃分
! 主梁網(wǎng)格
lsel,s,,,6,10,1 ! 主梁線編號6-10
latt,1,,1,,,,1 ! 為選中線設(shè)置屬性
lesize,all,,,3 ! 設(shè)置網(wǎng)格劃分參數(shù)
lmesh,all ! 劃分網(wǎng)格
allsel ! 全選所有實體
nsel,all ! 選擇所有節(jié)點
esel,all ! 選擇所有單元
! 撐桿網(wǎng)格
lsel,s,,,11,14,1 ! 撐桿線編號11-14
latt,2,,3,,,,3 ! 為選中線設(shè)置屬性
lesize,all,,,5 ! 設(shè)置網(wǎng)格劃分參數(shù)
lmesh,all ! 劃分網(wǎng)格
allsel ! 全選所有實體
nsel,all ! 選擇所有節(jié)點
esel,all ! 選擇所有單元
! 懸索網(wǎng)格
lsel,s,,,1,5,1
latt,2,,2,,,,2 ! 為選中線設(shè)置屬性
lesize,all,,,16 ! 設(shè)置網(wǎng)格劃分參數(shù)
lmesh,all ! 劃分網(wǎng)格
elist ! 確認(rèn)顯示LINK180單元(編號≥1)
allsel ! 全選所有實體
nsel,all ! 選擇所有節(jié)點
esel,all ! 選擇所有單元
! 8.定義實常數(shù)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 → 罰函數(shù)剛度(適中值,平衡穩(wěn)定性與收斂性)
! R5=0.5 → 接觸阻尼(減少迭代震蕩)
! R8:摩擦系數(shù)=0.1(可選,若需考慮滑動摩擦,防止無約束滑動)
! 9.定義接觸對
! 定義目標(biāo)面(拉索線)
lsel,s,,,1,5 ! 選擇拉索線
nsll,s ! 選擇線上所有節(jié)點
cm,targ_nodes,node ! 創(chuàng)建目標(biāo)節(jié)點組件
type,6 ! TARGE170單元
real,10
mat,2
esurf,1
allsel
! 定義接觸面(撐桿下端節(jié)點)
ksel,s,,,7,10 ! 選擇撐桿下端關(guān)鍵點
nslk,s ! 關(guān)聯(lián)節(jié)點
cm,cont_nodes,node
type,5 ! CONTA175單元
real,10
mat,2
eintf,node,line ! 節(jié)點-線接觸自動生成(更可靠)
allsel
! 10. 拉索預(yù)張力
lsel,s,,,1,5 ! 對拉索施加初應(yīng)變
esll,s
inistate,set,dtyp,epel
inistate,defi,,,,,1.9305e-3
allsel
! 11. 質(zhì)量單元
! 關(guān)鍵點1-4的質(zhì)量
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
! 關(guān)鍵點5和6的質(zhì)量
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
! 關(guān)鍵點7-10的質(zhì)量
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 ! 下弦支座關(guān)鍵點
nslk,s
d,all,ux,0 ! 限制X向平動
d,all,uy,0 ! 限制Y向平動
d,all,uz,0 ! 限制Z向平動
! 釋放所有轉(zhuǎn)動自由度(ROTX/ROTY/ROTZ),模擬鉸支座
allsel
ksel,s,,,6 ! 拉索錨固關(guān)鍵點
nslk,s
d,all,ux,0 ! 限制X向平動
d,all,uy,0 ! 限制Y向平動
d,all,uz,0 ! 限制Z向平動(錨固點固定不動)
allsel
ksel,s,,,7,10 ! 選擇關(guān)鍵點7,8,9,10(模擬鉸接)
nslk,s ! 選擇這些關(guān)鍵點上的節(jié)點
d,all,rotx,0 ! 約束繞X軸的轉(zhuǎn)動
d,all,roty,0 ! 約束繞Y軸的轉(zhuǎn)動
d,all,rotz,0 ! 約束繞Z軸的轉(zhuǎn)動
allsel
ksel,s,,,1,4 ! 選擇關(guān)鍵點1,2,3,4(模擬鉸接)
nslk,s ! 選擇這些關(guān)鍵點上的節(jié)點
d,all,rotx,0 ! 約束繞X軸的轉(zhuǎn)動
d,all,roty,0 ! 約束繞Y軸的轉(zhuǎn)動
d,all,rotz,0 ! 約束繞Z軸的轉(zhuǎn)動
allsel
! 13. 添加荷載并求解
nsel,s,node,,32 ! 選擇節(jié)點32
d,all,uy,0.6 ! 在節(jié)點32上施加Y方向的位移0.6米
allsel
finish
/solu
antype,static ! 靜力分析
nlgeom,on ! 開啟幾何非線性(懸索大變形+接觸滑動)
sstif,on ! 自動更新剛度矩陣(接觸狀態(tài)變化時)
nsubst,200,500,100 ! 最小子步100,最大500,初始200(細(xì)化滑動過程)
autots,on ! 自動時間步長(根據(jù)剛度變化調(diào)整子步)
time,3.0 ! 總時間3(對應(yīng)3個荷載步)
! 收斂準(zhǔn)則:力+位移雙控,放寬接觸問題收斂標(biāo)準(zhǔn)
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 ! 最大迭代次數(shù)500
! 分步求解
solve,next ! 第一荷載步(位移0.1米)
solve,next ! 第二荷載步(位移0.2米)
solve,next ! 第三荷載步(位移0.2米)
! 14. 后處理查看滑移結(jié)果
/post1
set,last ! 讀取最后結(jié)果
plnsol,u,sum ! 整體位移云圖(檢查是否有異常跳動)
pldisp,1 ! 顯示變形后的形狀和變形前的輪廓(虛線)
cmsel,s,cont_nodes ! 選擇接觸節(jié)點
! 輸出關(guān)鍵節(jié)點滑動軌跡
cmsel,s,cont_nodes ! 選擇滑移節(jié)點組件
*get,node1,node,,num,min
prnsol,u,comp ! 輸出滑移節(jié)點各方向位移
*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,': 滑移節(jié)點坐標(biāo) (',u1,',',u2,',',u3,')']
*enddo
cmsel,s,targ_nodes ! 選擇目標(biāo)節(jié)點
! 輸出關(guān)鍵節(jié)點滑動軌跡
cmsel,s,targ_nodes ! 選擇滑移節(jié)點組件
*get,node1,node,,num,min
prnsol,u,comp ! 輸出滑移節(jié)點各方向位移
*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,': 滑移節(jié)點坐標(biāo) (',u1,',',u2,',',u3,')']
*enddo
這個是我的命令流,請大神們看看哪里有問題