Combin39单元学习小结

这两天在帮助一位同学解决论文中的问题,其间涉及到组合结构不同材料的构件的连接。原本,她想做的是二者分离的动态过程。要做到这一点,貌似要用ls-dyna,而这我知之甚匮,加上时间非常有限,这个方案被我首先排除。

至于接触分析,在参考了一些资料后,感觉即便用点-点接触来进行模拟,也会造成计算机资源的浪费。而且此分析经过了MTS的实验,显示连接很紧密,甚至直接耦合的话也相去不远。经过慎重考虑和探讨,也放弃了做接触分析的想法。

在陆新征的那篇引用数高达230的文章的启发下,终于确定了分析方案:用Combin39弹簧单元来模拟组合结构之间的相对黏结滑移。

其实,用combin39模拟钢筋-混凝土之间的滑移,已经是比较成熟的选择了,可我以前并不十分清楚这一点~囧……看到网上有不少和我一样的combin新手,在问一些低级问题(正是由于他们,所以我只需要Google就OK了~),我就把最近学到的一些知识总结如下,欢迎讨论或者批评指正。

  1. Combin39是一种包含两个节点的一维的具有非线性性能的单向受力单元,在1-D, 2-D, 或3-D应用中具有纵向的和扭转的能力,单元的每个节点都具有X、Y、Z三个自由度。
  2. 该单元具有大变形的能力,此时需要打开NLGEOM选项时,并且使KEYOPT(4) = 1 或者3。
  3. combin39需要通过一个荷载~位移(F—D)曲线来定义弹簧的受力性质,至于这个曲线,可以通过查询相关文献获得,比如[杨勇. 型钢混凝土粘结滑移基本理论及应用研究. 西安建筑科技大学,2003.]
  4. 无需定义材料属性。
  5. 和Combin40不同的是,Combin39的刚度不是用户手动输入的,而是程序自动根据F-D曲线求的。刚度K=dF/dD;F=切应力(粘结面本构关系)*粘结面积;随着滑移的发展,刚度在不断退化,“确定刚度”,便是F-D曲线之所以重要的症结所在。
  6. 曲线需要经过原点(0,0),初始斜率为正,其他各段的斜率可以为正或为负;但如果KEYOPT(1) = 1,则曲线最后的斜率必须为正。
  7. 如果建立2D、3D的弹簧单元,即希望Combin39除了轴向拉压之外还能有切向刚度,则此时弹簧的两个节点不可重合——程序需根据弹簧轴向确定单元力的方向。
  8. 相对于上一条,更常用的,则是另模型两部分节点重合,然后在重合的节点建立多个(比如三个方向)Combin39单元;换言之,2个节点之间可以同时存在多个没有长度、方向不同的弹簧。
  9. Combin39的方向由Keyopt控制:1D单元自由度由KEYOPT(3)控制,2D和3D则靠KEYOPT(4)。
  10. Combin39的计算结果,可输出弹簧力、弹簧两端节点位移等数据。

至于实例,我找到了一个“无主命令流”——即被转的太多,也不清楚最初来源。由于和今天讨论的话题契合甚佳,故附带贴出。作者可联系我,我一定给出说明或者做上链接(比较地道~)

【注】此方法中使用eintf命令生成弹簧,长河以为实践效果不佳,还是通过循环用e,i,j比较托底

Finish
/clear,all
/com,structural
/config,nres,50000
/config,fsplit,750
/prep7
!定义单元类型
et,1,solid65           !  混凝土
et,2,link8             !  钢筋
et,3,shell41             ! CFRP
et,4,solid45            !  垫块
et,5,combin39         ! 弹簧单元 (沿切向Z向)
et,6,combin39         ! 弹簧单元 (沿法向X向)
et,7,combin39        ! 弹簧单元 (沿法向Y向)

keyopt,1,1,1         ! 不考虑大变形
keyopt,1,5,1         !混凝土的线性解输出控制:给出每个积分点的解
keyopt,1,6,3         !混凝土的线非性解输出控制:给出每个积分点的解
keyopt,1,7,1         ! 开裂后考虑应力松弛
keyopt,3,1,2         ! 作用在拉力状态下的刚度,压力状态下崩溃
keyopt,5,3,3         !沿Z 向平动

keyopt,5,1,0         ! 卸载路径与加载路径相同
keyopt,5,2,1         !不能承受压力
keyopt,5,4,0         ! 控制三唯轴向单元
keyopt,6,3,1         !沿X 向平动
keyopt,6,4,0         ! 控制三唯轴向单元
keyopt,6,1,0         ! 卸载路径与加载路径相同
keyopt,6,2,1         !不能承受压力
keyopt,7,3,2         !沿Y 向平动
keyopt,7,4,0         ! 控制三唯轴向单元
keyopt,7,1,0         ! 卸载路径与加载路径相同
keyopt,7,2,1         !不能承受压力

!定义实常数
r,1                  ! 混凝土实常数
r,2,28.3e-6          !箍筋d6的截面积
r,3,380.1e-6         !纵筋d22的截面积
r,4,1.11e-5          !cfrp的厚度

r,5, 0,0,2.59e-6,710.54,5.18e-6,142.018  !建切(z)向弹簧单元位移-荷载曲线
rmore,7.770e-6,2131.61,1.036e-5,2842.15,1.439e-5,2842.15
rmore,1.842e-5,2842.15,2.245e-5,2842.15,2.648e-5,2842.15
rmore,3.050e-5,2842.15,3.453e-5,2842.15,3.885e-5,2486.88
rmore,4.317e-5,2131.61,4.748e-5,1776.34,5.18e-5,1421.08
rmore,5.612e-5,1065.81,6.043e-5,710.54,6.475e-5,355.27
rmore.6.9066e-5,0.00,

r,6,0,0,8.74e-7,671.19,1.75e-6,1342.37   !建法(x)向弹簧单元位移-荷载曲线
rmore,2.62e-6,2013.56,3.50e-6,2684.74,4.85e-6,2684.74
rmore,6.21e-6,2684.74,7.57e-6,2684.74,8.93e-6,2684.74
rmore,1.03e-5,2684.74,1.17e-5,2684.74,1.31e-5,2349.15
rmore,1.46e-5,2013.56,1.60e-5,1677.97,1.75e-5,1342.37
rmore,1.89e-5,1006.78,2.04e-5,671.19,2.18e-5,335.59
rmore,2.33e-5,0.00,

!定义材料属性
!混凝土
mp,ex,1,2.99e10         !混凝土弹模
mp,prxy,1,0.2            !混凝土泊松比
tb,conc,1                !定义非线性材料特性
tbdata,,0.5,0.9,2.14e6,-1  !张开系数,闭合,单轴抗拉强度,单轴抗压
tb,miso,1,1,8            !多线性等向强化
tbpt,,0.0001,2.99e6      !应变应力关系
tbpt,,0.0003,3.9683e6
tbpt,,0.0006,7.2930e6
tbpt,,0.0009,9.9743e6
tbpt,,0.0012,12.0120e6
tbpt,,0.0016,13.7280e6
tbpt,,0.0020,14.3e6
tbpt,,0.0033,14.3e6
!箍筋
mp,ex,2,2.1e11   !箍筋弹模
mp,prxy,2,0.25   !箍筋泊松比
tb,bkin,2,1,2,1    !双线性随动强化
tbdata,,200e6     !d6的屈服应力
!纵向钢筋
mp,ex,3,2e11     !纵筋弹模
mp,prxy,3,0.3     !纵筋泊松比
tb,bkin,3,1,2,1    !双线性随动强化
tbdata,,350e6     !d22的屈服应力
!纤维布
mp,ex,4,2.35e11
mp,prxy,4,0      !(0.3?)
tb,bkin,4,1,2,1
tbdata,,3550e6   !抗拉强度
! 垫块
mp,ex,5,2e5
mp,prxy,5,0.3
tb,bkin,5,1,2
tbdata,,335,2000

!建立所有节点(150*260*1500)
n,1
n,7,0.15                       !x方向单元尺寸0.025
fill,1,7
ngen,11,7,1,7,1,,0.026          !y方向单元尺寸0.026
ngen,31,1000,1,77,1,,,-0.05     !z方向单元尺寸0.05
/view,1,1,1,1
nplot
!箍筋
type,2
real,2
mat,2
*do,ii,1065,1068,1
e,ii,ii+1
*enddo
*do,ii,1009,1058,7
e,ii,ii+7
*enddo
*do,ii,1009,1012,1
e,ii,ii+1
*enddo
*do,ii,1013,1062,7
e,ii,ii+7
*enddo
egen,12,4000,1,24,1

!纵向钢筋
type,2
real,3
mat,3

!受拉钢筋(3 d22)
*do,ii,1009,29009,1000
e,ii,ii+1000
*enddo
*do,ii,1011,29011,1000
e,ii,ii+1000
*enddo
*do,ii,1013,29013,1000
e,ii,ii+1000
*enddo

!受压钢筋(3 d22)
*do,ii,1065,29065,1000
e,ii,ii+1000
*enddo
*do,ii,1067,29067,1000
e,ii,ii+1000
*enddo
*do,ii,1069,29069,1000
e,ii,ii+1000
*enddo
!混凝土单元
type,1
real,1
mat,1
block,0,0.15,0,0.26,0,-1.5   ! x\y\z方向的长度
/view,1,1,2,3
lplot
/replot
lsel,s,line,,9,12,1
lesize,all,0.05
lsel,all
lsel,s,line,,5,7,2
lsel,a,line,,2,4,2
lesize,all,0.025
lsel,all
lsel,s,line,,1,3,2
lsel,a,line,,6,8,2
lesize,all,0.026
lsel,all
vmesh,all
/view,1,1,1,1
/eshape,1
eplot
nummrg,node
numcmp,node
eplot

! 垫块
wpoffs,,,-0.125             !工作平面沿z轴反向移动0.125
blc4,,,0.15,-0.020,0.05   !以新工作平面坐标建长方体
vgen,2,2,,,,,-1.3         !沿z轴1.3复制长方体
vgen,2,2,,,,0.28,-0.5     !向y向0.28 z反向0.5的位置复制长方体、
vgen,2,4,,,,,-0.3
VSEL,s,volu,,2,5,1        ! 选4个垫块体
VATT,5,,4,0             ! 给垫块体赋值
LSEL,s,line,,19,55,12     !划分尺寸
LSEL,a,line,,23,59,12
LESIZE,all,0.025,,,,,,,0
LSEL,s,line,,18,54,12
LESIZE,all,0.01,,,,,,,0
MSHAPE,0,3D           !指定单元形状为6面体
MSHKEY,1
VMESH,all

! cfrp单元
wpave,0,0,0          !工作平面移回到原点
wpoffs,,,-0.175      !工作平面移到(0,0,负0.175)
wprota,,90         !绕x轴旋转90
blc4,,,0.15,0.05     !底面建立长0.15宽0.05 0的体(实际是个面)

wpave,0,0,0          !工作平面移回到原点
wprota,,-90         !绕x轴旋反转90
wpoffs,,,-0.175      !工作平面移到(0,0,负0.175)
wprota,,,-90        !绕y轴旋反转90
blc4,,,0.05,0.26     !侧面建立宽0.05长0.260的体(实际是个面)
agen,2,32,,,0.15     !将此面复制到另一面(以坐标原点沿z 轴)
!复制U 型frp( 12次13条,全长加固)
*do,ii,1,12
agen,2,31,33,1,,,ii*(-0.1)
ii=ii+1
*enddo

/replot
asel,s,area,,31,69,1       !选择31至69号面
aplot
cm,frp,area
aatt,4,4,3,0              !赋予属性
lsel,s,line,,70,214,12      !两侧面划分尺寸
lsel,a,line,,66,210,12
lesize,all,0.026,,,,,,,0
lsel,s,line,,67,211,12
lsel,a,line,,71,215,12
lesize,all,0.025,,,,,,,0
lsel,s,line,,63,207,12      !底面划分尺寸
lsel,a,line,,62,206,12
lsel,a,line,,64,208,12
lesize,all,0.025,,,,,,,0
mshape,1,2D             !指定单元形状为2D三角形
mshkey,1
amesh,all

allsel,all
eplot

!侧面切向弹簧单元
nsel,r,loc,z,-0.125,-0.175
nsel,a,loc,z,-0.225,-0.275
nsel,a,loc,z,-0.325,-0.375
nsel,a,loc,z,-0.425,-0.475
nsel,a,loc,z,-0.525,-0.575
nsel,a,loc,z,-0.625,-0.675
nsel,a,loc,z,-0.725,-0.775
nsel,a,loc,z,-0.825,-0.875
nsel,a,loc,z,-0.925,-0.975
nsel,a,loc,z,-1.025,-1.075
nsel,a,loc,z,-1.125,-1.175
nsel,a,loc,z,-1.225,-1.275
nsel,a,loc,z,-1.325,-1.375
nsel,u,loc,y,0.265,0.28
nsel,u,loc,y,-0.005,-0.02
nsel,u,loc,x,0.025,0.145
nplot
cm,cemian,node
type,5
real,5

secnum,none,               !设界面编号
tshap,line                   !定义接触目标为2D或3D的简单图形
eintf,0.0001,,low,,,,,         !用二维线单元连接重合的节点从低到高排列
allsel,all
eplot
!侧面法向弹簧单元
cmsel,s,cemian,node
nplot
type,6
real,6

secnum,none,              !设界面编号
tshap,line                  !定义接触目标为2D或3D的简单图形
eintf,0.0001,,low,,,,,        !用二维线单元连接重合的节点从低到高排列
allsel,all
eplot

!耦合侧面重合节点y方向位移
cmsel,s,cemian,node
nplot
cpintf,uy,0.0001

!底面切向弹簧单元
nsel,r,loc,z,-0.125,-0.175
nsel,a,loc,z,-0.225,-0.275
nsel,a,loc,z,-0.325,-0.375
nsel,a,loc,z,-0.425,-0.475
nsel,a,loc,z,-0.525,-0.575
nsel,a,loc,z,-0.625,-0.675
nsel,a,loc,z,-0.725,-0.775
nsel,a,loc,z,-0.825,-0.875
nsel,a,loc,z,-0.925,-0.975
nsel,a,loc,z,-1.025,-1.075
nsel,a,loc,z,-1.125,-1.175
nsel,a,loc,z,-1.225,-1.275
nsel,a,loc,z,-1.325,-1.375
nsel,u,loc,y,0.005,0.28
nsel,u,loc,y,-0.005,-0.02
nplot
cm,dimian,node
type,5
real,5

secnum,none,               !设界面编号
tshap,line                   !定义接触目标为2D或3D的简单图形
eintf,0.0001,,low,,,,,         !用二维线单元连接重合的节点从低到高排列
allsel,all
eplot

!底面法向弹簧单元
cmsel,s,dimian,node
nplot
type,7
real,6

secnum,none,               !设界面编号
tshap,line                   !定义接触目标为2D或3D的简单图形
eintf,0.0001,,low,,,,,         !用二维线单元连接重合的节点从低到高排列
allsel,all
eplot

!耦合底面重合节点x方向位移
cmsel,s,dimian,node
nplot
cpintf,ux,0.0001

!垫块与混凝土的约束设置
VSEL,s,volu,,1
ESLV,S
VSEL,s,volu,,2,5,1
NSLV,S,1
nsel,r,loc,y,0,0.260
nsel,u,loc,z,-0.100
nsel,u,loc,z,-0.60
nsel,u,loc,z,-0.90
nsel,u,loc,z,-1.4
CEINTF,0.25,ux,uy,uz, , , ,0,
eplot
allsel,all
eplot

!求解设置
/solu
antype,0
nsel,s,loc,z,-0.1
nsel,a,loc,z,-1.4
nsel,r,loc,y,-0.02
d,all,uy
d,all,ux
nsel,r,loc,z,-1.4
d,all,uz

*do,ii,0,60
allsel,all
nsel,s,loc,z,-0.6
nsel,a,loc,z,-0.9
nsel,r,loc,y,-0.28
f,all,fy,-(0.500+ii*0.200)
allsel,all
autots,on
time,ii+1
nsubst,200
lnsrch,on
pred,on
neqit,3000
outres,basic,all
ncnv,2
lswrite,ii+1
ii=ii+1
*enddo

allsel,all
EPLOT

/solu
allsel,all
LSSOLVE,1,61,1

为您推荐

发表评论

电子邮件地址不会被公开。 必填项已用*标注

38条评论

  1. 长河大哥,您好!我想请教一下用接触来模拟型钢与混凝土的粘结滑移关系好呢?还是combin39单元好?用弹簧单元的话他们的F-D曲线一定要试验求得吗?您有没有见那些规范有啊?

    1. 个人以为39单元好一些,因为39单元的自定义设置更丰富一些。F-D曲线尽量要通过试验得来,别人的数据跟你的模型恐怕不能完全符合吧

  2. 附带一个思考:上面的例子我觉得是模拟加强面的滑移,并不是模拟钢筋在混凝土中的滑移啊?不知是否正确,希望长河大哥给我一个模拟钢筋与混凝土滑移的例子?不甚感激……我加起你的QQ了,叫暮雨潇湘……谢谢,谢谢,甚是为盼……

  3. 长河大哥你好,很荣幸拜读了你的文章,但是上面的命令我在ansys13.0运行,出现错误,不知是何故?具体报错原因:*** ERROR *** CP = 18.642 TIME= 22:01:17 Input displacements must be in ascending order for element 4451. *** ERROR *** CP = 18.642 TIME= 22:01:17 Input displacements must be in ascending order for element 4490. *** NOTE *** CP = 18.642 TIME= 22:01:17 Solution not converged – Skipping the remaining commands to the FINISH command. ***** ROUTINE COMPLETED ***** CP = 18.673 *** NOTE *** CP = 18.673 TIME= 22:01:17 A total of 5 warnings and errors written to D:cz20130507wufangfanjia (fenli)D3PLOTfile.err. *** WARNING *** CP = 18.705 TIME= 22:01:17 DMARK is not a recognized BEGIN command, abbreviation, or macro. This command will be ignored. *** WARNING *** CP = 18.783 TIME= 22:01:17 FMARK is not a recognized BEGIN command, abbreviation, or macro. This command will be ignored. *** WARNING *** CP = 18.861 TIME= 22:01:17 SMARK is not a recognized BEGIN command, abbreviation, or macro. This command will be ignored. *** WARNING *** CP = 18.923 TIME= 22:01:17 BMARK is not a recognized BEGIN command, abbreviation, or macro. This command will be ignored. *** WARNING *** CP = 18.939 TIME= 22:01:18 LSREAD is not a recognized BEGIN command, abbreviation, or macro. This command will be ignored.

    1. rmore,2.62e-6,2013.56,3.50-6,2684.74,4.85-6,2684.74这一行错了一点<br/>应该是3.50e-6和4.85e-6,这样就不会报Input displacements must be in ascending order for element 4490.这个错了。这个错就是因为位移输入错误,导致位移不是从小排到大的。

  4. 我只是把一部分节点也就是需要建弹簧的节点坐标系改成跟局部坐标系一样,其他的节点方向没改。您说后处理的时候在局部坐标系下进行,就是在后处理的时候把坐标系改成csys,11啊?那滑移的方向怎么还是垂直的Y方向,而不是我定义的斜的方向呢?本文来源于清溪长河 http://www.dachanghe.com , 原文地址: http://www.dachanghe.com/combin39/

  5. 长河大哥,就像上边我说的那样,我模拟了切向,也就是沿斜面是切向,我把它定义为Y向,并且用CP耦合了这些节点的另外两个方向x和z。可是为什么结果出来后,滑移的的是整体的Y方向而不是我刚才定义的斜面的那个方向呢?您知道我错哪了么?

  6. 长河大哥,我想问就是如果combin39的方向是斜的,那怎样控制弹簧的切向与法向的方向呢?我理解是因为弹簧的方向与形成弹簧的节点方向一致,所以我就用nrotat把这些节点的方向改了,使节点的某一坐标轴方向例如x轴正好是那个斜的方向,然后就可以控制弹簧的方向了。长河大哥,您说我的做法对么?

  7. combin39单元的位移荷载曲线是怎么算的啊?怎么得到?告诉告诉我吧!呜呜呜呜呜呜

      1. 看到你回复太激动了!什么实验?哪有实验?我要做FRP加固混凝土,用弹簧单元模拟它们之间的粘结滑移!我给你发邮件了,你没收到?

  8. 对于0长度的弹簧单元,我如何确定加的是x方向,还是z方向的,看两个方向弹簧单元实常数定义,也没体现处x,还是z