混凝土非线性分析应力应变曲线输出概要.docx
《混凝土非线性分析应力应变曲线输出概要.docx》由会员分享,可在线阅读,更多相关《混凝土非线性分析应力应变曲线输出概要.docx(39页珍藏版)》请在冰豆网上搜索。
混凝土非线性分析应力应变曲线输出概要
各位同学,这里几乎已经是最完整的命令流了,关于这方面工作,初步建议如下:
(1)初步的模拟最好先不要考虑混凝土下降段,不要考虑混凝土的压碎,同时单元尺寸不要过小,以免影响收敛。
(2)反复试算结果表明,混凝土的MISO和KINH模型、DP和MISES准则、剪力传递系数对模拟结果影响均不大,但在一定程度上影响了收敛性的好坏。
(3)当解决了收敛问题之后,最大的难点是下降段,对于一个桥墩(柱)的反复荷载试验,引起承载力下降的原因大体可归结为:
塑性铰区混凝土压碎脱落、纵筋屈曲,对于以剪切破坏为主的试件,还包括剪切滑移的影响。
对于以黏结破坏为主的试件,还包括纵筋-混凝土黏结滑移破坏。
因此,能否正确模拟这些将是模型正确与否的关键。
众所周知,以link8单元模拟钢筋自然无法模拟纵筋屈曲,这样就把一个因素忽略了。
(4)作者们最后采用了扩大的破坏面,坦率的讲,这也是为了模拟混凝土的压碎破坏而采取的没有办法的办法,鉴于作者水平有限,至今也无法对此做出更为合理的解释。
破坏面到底扩大多少,仍无规律可循。
且一旦打开压碎开关,会出现诸如难以收敛、“假压碎”等一系列问题。
所以我们建议大家起初还是先不要考虑压碎为好。
定义应力应变曲线
1,定义变量:
拾取主菜单:
MainMenu>TimeHistpostproc>DefineVariables>在随之弹出的对话框中点击Add键,定义第一个变量序号为2,选取第一个变量stress,确定与之对应的下一级选项(如Y-directionSY等);返回定义变量对话框,再点击add键,定义第二个变量序号为3,选取第二个变量strain-elastic及以及对赢得下一级选项(如Y-dir'nEPELY等,在应力-应变图中,其向量的取向应相同)。
同理再定义变量4,选取变量strain-plastic及与之对应的下一级选项如Y-dir'nEPELY等),在应力-应变图中,应变是弹性应变和塑性应变累加的总应变。
为使其实现相加,还需进行以下操作:
拾取主菜单:
MainMenu>TimeHistpostproc>mathoperation>add,定义计算变量序号为5,同时在相应交互框内输入3和4。
点击确认键,则由变量3,4代表的应变之和就存在变量5中。
2,绘制应力-应变曲线:
拾取主菜单:
MainMenu>TimeHistpostproc>setting>graph.设置x轴向变量为单变量,并将其变量序号定义为5。
点击确定键退出退化框。
拾取应用菜单:
UtilityMenu>plotctrls>styles>Graphs>Modifyaxis.将x,y坐标轴分别命名为Y-strains,Y-stress,拾取主菜单:
MainMenu>TimeHistpostproc>graphvariables.在对话框上"thefirstvariable"对应的交互框中输入2。
点击确定键,则预想的应力-应变曲线就显示在屏幕上。
ok!
试试看!
欢迎大家继续批评指正!
/prep7
et,1,solid65
et,2,link8
et,3,solid45
r,1
r,2,236e-6
r,3,75.4e-6
r,4,151.2e-6
!
混凝土本构关系
mp,ex,1,2.522e10
mp,prxy,1,0.2
mp,dens,1,2500
tb,concr,1,1
tbdata,,0.5,0.95,5e6,-1
tb,miso,1,1,7
tbtemp,0
tbpt,,0.00068,17.15e6
tbpt,,0.00136,28.03e6
tbpt,,0.00204,33.62e6
tbpt,,0.00272,35.96e6
tbpt,,0.0034,36.53e6
tbpt,,0.00408,36.53e6
!
纵筋的本构关系
mp,ex,2,2.0e11
mp,prxy,2,0.28
tb,bkin,2
tbtemp,0
tbdata,,362e6,2e9
!
箍筋的本构关系
mp,EX,3,2.1E11
mp,PRXY,3,.27
tb,bkin,3
tbtemp,0
tbdata,,272.5e6,2.1e9
!
建立模型
local,11,1,0,0,0,0,-90,0!
建立局部坐标系,采用柱坐标,绕y轴顺时针转90度
csys,11
*do,j,1,8
n,j,0.185,j*360/8,-0.6
*enddo
ngen,3,100,1,8,1,0,0,0.3!
复制节点,3次,编号增量,源节点1~8,0,0,0.3
ngen,4,100,201,208,1,0,0,0.15
ngen,7,100,501,508,1,0,0,0.3
type,2!
指定单元属性,建立基础箍筋单元
real,3
mat,3
*do,i,1,6
*do,j,1,7
e,(i-1)*100+j,(i-1)*100+j+1
*enddo
e,(i-1)*100+1,(i-1)*100+8
*enddo
type,2!
建立柱上箍筋单元
real,4
mat,3
*do,i,1,5
*do,j,1,7
e,(i+5)*100+j,(i+5)*100+j+1
*enddo
e,(i+5)*100+1,(i+5)*100+8
*enddo
type,2!
建立纵向钢筋
real,2
mat,2
*do,i,1,11
*do,j,1,8
e,(i-1)*100+j,i*100+j
*enddo
*enddo
allsel,all!
合并节点,压缩节点
nummrg,all
numcmp,all
wpcsys,1,11
cylind,0,0.185,-0.6,0,0,360!
建立圆柱,内外径i-or,高度z1-z2,起终角度
cylind,0,0.185,0,0.45,0,360
cylind,0.185,0.3,-0.6,0,0,360
cylind,0,0.185,0.45,2.25,0,360
cylind,0,0.185,2.25,2.55,0,360
cylind,0.185,0.20,2.25,2.55,0,360
cylind,0,0.185,2.55,2.565,0,360
wprota,,90!
绕y轴逆时针转90度
vsel,s,,,1,7,1!
选择体,选择类型,item,comb,最小编号,最大编号,增量
vsbw,all!
体相减
numcmp,all
wprota,,,90!
绕z轴逆时针转90度
vsel,s,,,1,14,1
vsbw,all
numcmp,all
vsel,s,,,1,28,1
vglue,all
numcmp,all
wprota,,,-90
wprota,,-90
allsel,all
vsel,s,,,1,16,1
vsel,a,,,21,24,1
vatt,1,1,1
vsel,s,,,17,20,1
vsel,a,,,25,28,1
vatt,2,1,3
allsel,all
lsel,s,,,1,8,1!
选择线
lsel,a,,,11,22,1!
补选(a)线
lsel,a,,,25,40,1
lsel,a,,,43,46,1
lesize,all,,,2!
线尺寸为2
lsel,s,,,47,50,1
lsel,a,,,53,56,1
lsel,a,,,58,73,1
lesize,all,,,2
lsel,s,,,98,107,1
lsel,a,,,110,112,2
lesize,all,,,1
lsel,s,,,23,24,1
lsel,a,,,9,10,1
lesize,all,,,2
lsel,s,,,78,82,1
lesize,all,,,3
lsel,s,,,83,87,1
lesize,all,,,6
lsel,s,,,41,42,1
lsel,a,,,88,92,1
lesize,all,,,2
lsel,s,,,93,97,1
lesize,all,,,1
mshkey,1
mshape,0,3d
vsel,s,,,1,28
vmesh,all
allsel,all
nummrg,all
numcmp,all
wprota,,90
csys,0
allsel,all
/solu!
进入加载、求解
csys,11
nsel,s,loc,x,0.3!
选择半径在x=3处的节点,并施加约束
d,all,all
allsel,all
OUTRES,ALL,2!
输出获得的解
csys,0
pred,on!
打开预应力选项
cnvtol,f,,0.05,2!
定义收敛条件,使用缺省的VALUE
autots,1!
打开自动时间步控制
lnsrch,1!
打开线性搜索
ncnv,2!
如果不收敛时结束而不退出
neqit,50!
每一子步中方程的迭代次数限值
save
time,1!
定义第1载荷步
nsubst,10
asel,s,,,29,32,1
sfa,all,,pres,5468699!
在已选择的面上施加压力荷载
allsel,all
acel,,9.8!
重力加速度y=9.8
kbc,1!
阶跃加载方式
lswrite,1
time,10!
定义第2荷载步
cp,1,ux,298,300,303!
将节点298,300,303ux向位移耦合
d,298,ux,0.015!
再借点298处施加ux位移0.015
allsel,all
KBC,0
allsel,all
NSUBST,20,1000000,10
lswrite,2
time,20!
定义第3载荷步
d,298,ux,-0.015
allsel,all
KBC,0
allsel,all
NSUBST,100,1000000,10
lswrite,3
time,30!
定义第4载荷步
d,298,ux,0.015
allsel,all
KBC,0
allsel,all
NSUBST,100,1000000,10
lswrite,4
time,40!
定义第5载荷步
d,298,ux,-0.015
allsel,all
KBC,0
allsel,all
NSUBST,100,1000000,10
lswrite,5
time,50!
定义第6载荷步
d,298,ux,0.015
allsel,all
KBC,0
allsel,all
NSUBST,100,1000000,10
lswrite,6
time,60!
定义第7载荷步
d,298,ux,-0.015
allsel,all
KBC,0
allsel,all
NSUBST,100,1000000,10
lswrite,7
time,70!
定义第8载荷步
d,298,ux,0.015
allsel,all
KBC,0
allsel,all
NSUBST,100,1000000,10
lswrite,8
time,80
d,298,ux,-0.015
allsel,all
KBC,0
allsel,all
NSUBST,100,1000000,10
lswrite,9
time,90
d,298,ux,0.015
allsel,all
KBC,0
allsel,all
NSUBST,100,1000000,10
lswrite,10
time,100
d,298,ux,-0.015
allsel,all
KBC,0
allsel,all
NSUBST,100,1000000,10
lswrite,11
time,110
d,298,ux,0.03
allsel,all
KBC,0
allsel,all
NSUBST,200,1000000,10
lswrite,12
time,120
d,298,ux,-0.03
allsel,all
KBC,0
allsel,all
NSUBST,200,1000000,10
lswrite,13
time,130
d,298,ux,0.03
allsel,all
KBC,0
allsel,all
NSUBST,200,1000000,10
lswrite,14
time,140
d,298,ux,-0.03
allsel,all
KBC,0
allsel,all
NSUBST,200,1000000,10
lswrite,15
time,150
d,298,ux,0.03
allsel,all
KBC,0
allsel,all
NSUBST,200,1000000,10
lswrite,16
time,160
d,298,ux,-0.03
allsel,all
KBC,0
allsel,all
NSUBST,200,1000000,10
lswrite,17
time,170
d,298,ux,0.03
allsel,all
KBC,0
allsel,all
NSUBST,200,1000000,10
lswrite,18
time,180
d,298,ux,-0.03
allsel,all
KBC,0
allsel,all
NSUBST,200,1000000,10
lswrite,19
time,190
d,298,ux,0.03
allsel,all
KBC,0
allsel,all
NSUBST,200,1000000,10
lswrite,20
time,200
d,298,ux,-0.03
allsel,all
KBC,0
allsel,all
NSUBST,200,1000000,10
lswrite,21
time,210
d,298,ux,0.045
allsel,all
KBC,0
allsel,all
NSUBST,300,1000000,10
lswrite,22
lssolve,1,22,1
命令流:
1、单调水平荷载作用下的命令流:
建模:
!
monobrickwall
!
solid65-整体式建模
!
*
Finish
/clear
/units,si
/com,Structural
/config,nres,400000
/prep7
/title,mono-brick-wall
!
*
depth_sup=0.24!
弹性支垫240mm
!
单元属性
!
forbrick,mortarandlevelingcoat
et,1,solid65
!
*
KEYOPT,1,1,0
KEYOPT,1,5,0
KEYOPT,1,6,0
KEYOPT,1,7,1
!
forelasticsupport
et,2,solid45
!
*--------------------------------砌体材料--------------------------------------
!
MU10,M5砌体材料属性
mp,prxy,1,0.15
mp,dens,1,1700
mp,ex,1,0.24e10
!
砌体屈服准则
TB,MKIN,1
TBTEMP,,strain
TBdata,1,0.2E-3,1.0E-3,2.0E-3,3.0E-3,4.8E-3
TBTEMP,,,
!
TBDATA,1,0.48E6,0.82E6,1.32E6,1.5E6,1.32E6
TBDATA,1,0.48E6,1.31E6,2.11E6,2.4E6,2.11E6
!
/XRANGE,0,0.02
!
TBPLOT,MKIN,1
!
砌体破坏准则
!
hntrl=0.13E6
hntrl=0.21E6
tb,concr,1,,4,
tbdata,,0.2,0.9,hntrl,-1!
不考虑压碎
!
*--------------------------------弹性支撑--------------------------------------
!
弹性支撑暂取钢筋材料属性
mp,ex,2,2.0e11
mp,dens,2,7.600
mp,prxy,2,0.30
!
realconstants
r,1
!
*--------------------------------modeling--------------------------------------
!
geometrymodel
block,0,3.12,0,0.24,0,3.12
block,-0.24,3.12,0,0.24,3.12,3.36
Vsel,s,volu,,1,2,1$aslv,s$lsla,s
lesize,all,0.24
Vsel,s,volu,,1$vatt,1,1,1,!
brickwall
Vsel,s,volu,,2$vatt,2,1,2,!
brickwall
vsel,all!
必须再次选择所有单元
VSWEEP,ALL
save
numcmp,all
allsel
!
*
/device,vector,1
/eshape,1
!
*-----------------------------------耦合---------------------------------------
allsel,all
!
elasticsupportnodesset
esel,s,type,,2$nsle,s,all$nsel,r,loc,z,3.12
nsel,u,loc,x,-0.24$cm,slavenode,node
!
othernodeset
esel,s,type,,1$nsle,s,all$cm,masternode,node
/input,ucouple,mac
save
finish
耦合文件ucouple,mac:
!
*-----------------------------------开始---------------------------------------
allsel!
最好保留这句命令
!
*******将从属节点编号依次存入数组****************
cmsel,s,slavenode
*get,count1_node,node,0,count
*del,slave_node
*dim,slave_node,array,count1_node
*get,slave_node
(1),node,0,num,min
*do,i,2,count1_node
slave_node(i)=ndnext(slave_node(i-1))
*enddo
!
*******将主节点编号依次存入数组****************
allsel
cmsel,s,masternode
*get,count2_node,node,0,count
*del,master_node
*dim,master_node,array,count2_node
*get,master_node
(1),node,0,num,min
*do,i,2,count2_node
master_node(i)=ndnext(master_node(i-1))
*enddo
!
********将与从属节点耦合的节点数组初始化****************
*del,cp_node
*dim,cp_node,array,count1_node
*do,i,1,count1_node
cp_node(i)=0
*enddo
!
*********开始选择程序****************
allsel
cmsel,s,masternode
*do,i,1,count1_node
kk=1
k=1
*dowhile,kk
k=nnear(slave_node(i))
nsel,s,cp,,all
kk=nsel(k)+0.001
allsel
cmsel,s,masternode
nsel,u,node,,k
cm,masternode,node
*enddo
cp_node(i)=k
*enddo
!
*******选择完毕****************
!
*******开始耦合****************
allsel,all
/prep7
*do,i,1,count1_node
cp,next,UX,slave_node(i),cp_node(i)
cp,next,UY,slave_node(i),cp_node(i)
cp,next,UZ,slave_node(i),cp_node(i)
*enddo
!
*******耦合完毕****************
求解方法NR法:
brickwallNRsolution
!
displacementload
!
用NR法
!
*---------------------------------solution-------------------------------------
/solu
antype,0
!
-----------constraint----------------
nsel,s,loc,z,0
d,all,all
!
*
esel,s,type,,2$nsle,s,all$nsel,r,loc,x,-0.24
d,all,uy
!
*
!
esel,s,type,,2$nsle,s,all$nsel,r,loc,x,-0.24
!
d,all,uz
lumpm,on
solcontrol,on
pred,on
lnsrch,on
autots,1!
打开自动时间步控制
ncnv,2!
如果不收敛时结束而不退出
compression=0.24E7
!
*------------------------------------loadsteps--------------------------------
!
*------------------------------------1st---------------------------------------
acel,,,9.8
nsel,s,loc,z,3.36$nsel,r,loc,x,0.001,3.119
esln,s,0,all
sfe,all,6,pres