你的问题,我的理解是这样的,当你用多段线(多个单元)来模拟拉索时,在每个中间节点都是有横向(垂直于单元轴线)位移的,这样的话,比用一个单元模拟索,就多出很多横向自由度,所以运行总是说“y方向位移过大,刚体约束不足”。下面的命令流,我约束了扣索的横向位移,就可以正常运行。
方法一:一个单元模拟索
/prep7
/title,the anslyse of small arch bridge
et,1,82
rectng,-0.1,0.1,-0.1,0.1
!esize,0.1
amesh,all
secwrite,xxx11,sect,,1
SECTYPE,1,BEAM,MESH,
SECOFFSET,CENT,,,
SECREAD,'xxx11','SECT',,MESH
asel,all
ACLEAR,ALL
ADELE,ALL,,,1
etdele,1
et,1,beam188
mp,ex,1,2.1e11
mp,dens,1,7800
mp,prxy,1,0.3
mp,alpx,1,1e-5
et,2,link10
mp,ex,2,2.1e11
mp,dens,2,7800
mp,prxy,2,0.3
mp,alpx,2,1e-5
r,2,0.05,0.0001,
*dim,cs,array,48
*dim,y,array,48
*dim,z,array,48
m=1.9
k=1.257195827
f=8.5
y(1)=0
*do,i,1,46,1
y(i+1)=y(i)+0.5
*enddo
y(48)=y(47)+0.349166446
*do,i,1,48,1
cs(i)=(23.34916645-y(i))*2/23.34916645/2
z(i)=f-f*(cosh(k*cs(i))-1)/(m-1)
*enddo
*do,i,1,47,1
n,i,y(i)-23.34916645,z(i)-8.5
*enddo
n,48,y(48)-23.34916645,z(48)-8.5
*do,i,47,1,-1
n,96-i,23.34916645-y(i),z(i)-8.5
*enddo
type,1
mat,1
real,1
*do,i,1,94
e,i,i+1
*enddo
k,5,-23.349,10
k,6,-23.349,11
k,7,23.349,10
k,8,23.349,11
knode,1,18
knode,2,38
knode,3,58
knode,4,78
LSTR,1,5
lstr,2,6
lstr,3,8
lstr,4,7
lsel,all
latt,2,2,2
lesize,all,,,1
lmesh,all
nummrg,node
/solu
acel,,10
ANTYPE,0
csys,0
d,1,all
d,95,all
nsel,s,loc,y,10
nsel,a,loc,y,11
d,all,all
allsel
solve
save
方法二:多个单元模拟索
/prep7
/title,the anslyse of small arch bridge
et,1,82
rectng,-0.1,0.1,-0.1,0.1
!esize,0.1
amesh,all
secwrite,xxx11,sect,,1
SECTYPE,1,BEAM,MESH,
SECOFFSET,CENT,,,
SECREAD,'xxx11','SECT',,MESH
asel,all
ACLEAR,ALL
ADELE,ALL,,,1
etdele,1
et,1,beam188
mp,ex,1,2.1e11
mp,dens,1,7800
mp,prxy,1,0.3
mp,alpx,1,1e-5
et,2,link10
mp,ex,2,2.1e11
mp,dens,2,7800
mp,prxy,2,0.3
mp,alpx,2,1e-5
r,2,0.05,0.0001,
*dim,cs,array,48
*dim,y,array,48
*dim,z,array,48
m=1.9
k=1.257195827
f=8.5
y(1)=0
*do,i,1,46,1
y(i+1)=y(i)+0.5
*enddo
y(48)=y(47)+0.349166446
*do,i,1,48,1
cs(i)=(23.34916645-y(i))*2/23.34916645/2
z(i)=f-f*(cosh(k*cs(i))-1)/(m-1)
*enddo
*do,i,1,47,1
n,i,y(i)-23.34916645,z(i)-8.5
*enddo
n,48,y(48)-23.34916645,z(48)-8.5
*do,i,47,1,-1
n,96-i,23.34916645-y(i),z(i)-8.5
*enddo
type,1
mat,1
real,1
*do,i,1,94
e,i,i+1
*enddo
k,5,-23.349,10
k,6,-23.349,11
k,7,23.349,10
k,8,23.349,11
knode,1,18
knode,2,38
knode,3,58
knode,4,78
LSTR,1,5
lstr,2,6
lstr,3,8
lstr,4,7
lsel,all
latt,2,2,2
lesize,all,,,10
lmesh,all
nummrg,node
csys,wp
nwplan,wp,98,99,1
nsel,s,node,,98,106,1
nrotat,all
d,all,uy
allsel
nwplan,wp,109,110,1
nsel,s,node,,109,117,1
nrotat,all
d,all,uy
allsel
nwplan,wp,120,121,1
nsel,s,node,,120,128,1
nrotat,all
d,all,uy
allsel
nwplan,wp,131,132,1
nsel,s,node,,131,139,1
nrotat,all
d,all,uy
/solu
acel,,10
ANTYPE,0
csys,0
d,1,all
d,95,all
nsel,s,loc,y,10
nsel,a,loc,y,11
d,all,all
allsel
solve
save
但是两个方法的计算结果,区别很大,一方法的最大位移为0.006215;二方法为0.002947.我觉得是因为方法二对索的横向位移限制过多,相当于增大了索的刚度,使索没有随拱结构一起变形,自然二的最大位移小很多。
另外,感觉你的命令还可以更简练、明确。 |