地层结构法实例
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
finish
/clear
/prep7
!-----------------------------------------------------------------------------------------------------------------------------
!隧道轮廓
k,1001,,,
k,1002,0,2.217
k,1,0,10.258
k,2,-5.832,6.629
larc,1,2,1001,6.5 !创建圆弧,第一端点,第二端点,圆心所在一侧任一关键点,半径
k,3,-6.5,3.758
larc,2,3,1001,6.5
k,4,-6.429,2.629
larc,3,4,1001,9
k,5,-6.367,2.217
larc,4,5,1001,9
k,6,-6.179,1.134
l,5,6
k,7,-5.617,1.134
l,6,7
k,8,-5.174,0.874
larc,7,8,1001,1.802
larc,8,1001,1002,15.75
lcomb,2,3 !合并线
! LCOMB, NL1, NL2, KEEP--------其中:NL1,NL2---拟合并的两条线号。NL1可为ALL,或元件名。
! KEEP---是否保留输入的线及其公共关键点控制参数。
! KEEP=0则删除NL1和NL2及其公共关键点,如果已经划分网格则不能删除,或者依附于其它图素也不能删除
! KEEP=1则保留线及其公共关键点,但公共关键点不依附于新创建的线。
!该命令可以合并独立线或依附于同面上的线,合并后便于网格划分。
!可合并的线可为直线或曲线,以及直线与曲线,可共线或不共线。
!当为多条时,应为多条首尾相连的线。
!无论在何种坐标系下执行合并,合并后的线不改变合并前的空间位置。
lcomb,4,5
lcomb,7,8
lsymm,x,all !对称,镜像
!LSYMM, Ncomp, NL1, NL2, NINC, KINC, NOELEM, IMOVE
!Ncomp---对称控制选项,可选X(缺省),Y,Z值。
!NL1,NL2,NINC---按增量NINC从NL1到NL2定义关键点的范围(缺省为NL1),NINC缺省为1。NL1也可为ALL或元件名,此时NP2和NINC将被忽略。
!KINC---要创建的关键点编号增量,缺省时由系统自动指定(不会覆盖)。
!NOELEM---是否创建单元和节点控制参数。NOELEM=0(缺省)如果存在单元和节点则生成;NOELEM=1不生成单元和节点。
!IMOVE---线是否被移动或重新创建。IMOVE=0(缺省)原来的线不动,重新创建新线;当IMOVE=1不创建新线,原来的线移动到新位
!置,此时编号不变(即ITIME、KINC和NOELEM均无效),且单元和节点一并移动。
!该命令要求当前坐标系为直角坐标系,线可以在任意象限。同KSYMM相同,可通过设定当前坐标系为工作平面或局部坐标系而改变镜像位置。
nummrg,all !粘接
!nummrg是一个使用率极高的命令,使用起来非常的方便。它通常用来实现“粘接”的效果,即,合并坐标完全一致的两个图素,具体做法就是
!删除编号大的图素,并用编号小的图素占据原来的位置。这样操作以后,会实现在不同图素之间形成共用部分,从而在一定程度上取代Vglue命令。
!但是,对于复杂模型,在进行图素合并命令之前,对操作结果的预期不明朗之时,还是尽量使用vglue为好,因为这样能最大限度地保障有限元模型的连续性。
numcmp,all !压缩编
号
alls
!-------------------------------------------------------------------------------------------------------------------------------------
! 建立地层范围
blc4,-40,-40,80,90
!命令:BLC4, XCORNER, YCORNER, WIDTH, HEIGHT, DEPTH 通过一角点坐标和尺寸创建矩形面
!XCORNER,YCORNER---矩形面或块体第1个角点在工作平面上的X和Y坐标。
!WIDTH---平行于工作平面X轴方向离XCORNER的距离。
!HEIGHT---平行于工作平面Y轴方向离YCORNER的距离
!DEPTH---离工作平面的垂直距离,即平行于Z轴。
!DEPTH=0(缺省)则生成面。如WIDTH或HEIGHT或DEPTH为负值,则为反方向距离。
asbl,all,all !从面中减去线
nummrg,all
numcmp,all
alls
!-----------------------------------------------------------------------------------------------------------------------------
!细分隧道分析模型
wprota,,,90
! 工作平面的旋转
!命令:WPROTA, THXY, THYZ, THZX
!其中THXY, THYZ, THZX为绕工作平面坐标系Z轴、X轴和Y轴的旋转角度。
asbw,all !从面中减去与工作面相交的部分
wpoffs,,,20
!将工作平面沿其自身坐标轴移动
!命令:WPOFFS, XOFF, YOFF, ZOFF
!其中XOFF, YOFF, ZOFF为工作平面坐标系内沿其X轴、Y轴和Z轴的偏移增量。
asbw,all !用工作面切分面
wpoffs,,,-40
asbw,all
wpoffs,,2.139
wprota,,90
asbw,all
wpoffs,,,-4
asbw,all
wpoffs,,,-20
asbw,all
wpoffs,,,46
asbw,all
wpoffs,,,-20.995
wprota,,90
wpoffs,,,-13.821
asel,s,,,24,29,5
asbw,all
wpoffs,,,-0.562
asel,s,,,10,17,7
asel,a,,,13
asbw,all
wpoffs,,,-11.234
asel,s,,,23,30,7
asel,a,,,14
asbw,all
wpoffs,,,-0.562
asel,s,,,35,37,2
asbw,all
wprota,,90
asel,s,,,18,38,20
asel,a,,,27,28,1
asbw,all
lcomb,1,8
lcomb,3,14
lcomb,54,37
lcomb,57,39
wpcsys,-1 !使工作平面的位置与当前坐标系的 X-Y 平面或 R-θ 平面一致,但不改变视图方向。
! WPCSYS,WN,KCN
!WN 是窗口号,该窗口中的视图方向修改为与工作平面垂直。默认值是 1。如果 WN 为负值,则视图方向不变。
!KCN 是坐标系号,默认为当前激活的坐标系。如果 KCN 是直角坐标系,工作平面与其 X-Y 平面一致;如果是圆柱或球坐标系,则与 R-θ 平面一致。
alls
nummrg,all
numcmp,all
!------------------------------------------------------------------------------------------------------------------------------------
!设置实体单元类型
ET,1,PLANE42
KEYOPT,1,1,0 !参见Elements Reference部分的Element Library中的plane42
KEYOPT,1,2,0
KEYOPT,1,3,2 !设置为平面应变模式
KEYOPT,1,5,0
KEYOPT,1,6,0
mp,ex,1,1.5e9 !!地层!!加固地层 mp--定义线性材料属性
mp,prxy,1,0.4
mp,dens,1,2000
tb,dp,1 !激活非线性材料的数据表
tbdata,1,0.15e6,25 !定义tb数据表中的数据
et
,2,beam3
*set,th1,0.25
r,2,th1,th1*th1*th1/12,th1
mp,ex,2,2.555e10 !!初期支护
mp,prxy,2,0.2
mp,dens,2,2500
mp,ex,3,1.5e9 !!上台阶内部土体
mp,prxy,3,0.4
mp,dens,3,2000
tb,dp,3
tbdata,1,0.15e6,25
mp,ex,4,1.5e9 !!下台阶内部土体
mp,prxy,4,0.4
mp,dens,4,2000
tb,dp,4
tbdata,1,0.15e6,25
mp,ex,5,1.5e9 !!仰拱内部土体
mp,prxy,5,0.4
mp,dens,5,2000
tb,dp,5
tbdata,1,0.15e6,25
!----------------------------------------------------------------------------------------------------------------------------------------------
!!!初次划分单元网格
lsel,s,,,1,3,2
lsel,a,,,11,13,2
lsel,a,,,4
lesize,all,,,12 !确定划分指定线的网格数和网格尺寸
alls
!LESIZE, NL1, SIZE, ANGSIZ, NDIV, SPACE, KFORC, LAYER1, LAYER2, KYNDIV
!NL1---Number of the line to be modified. If ALL, modify all selected lines [LSEL]. If NL1 = P, graphical
! picking is enabled and all remaining command fields are ignored (valid only in the GUI). A component name may also be substituted for NL1.
!SIZE---If NDIV is blank, SIZE is the division (element edge) length. The number of divisions is automatically calculated from the line length (rounded upward to
! next integer). If SIZE is zero (or blank), use ANGSIZ or NDIV.
!ANGSIZ---The division arc (in degrees) spanned by the element edge (except for straight lines, which always result in one division). The number of divisions is
! automatically calculated from the line length (rounded upward to next integer).
!NDIV---If positive, NDIV is the number of element divisions per line. If -1 (and KFORC = 1), NDIV is assumed to be zero element divisions per line. TARGE169 with
! a rigid specification ignores NDIV and will always mesh with one element division.
!SPACE---Spacing ratio. If positive, nominal ratio of last division size to first division size (if > 1.0, sizes increase, if < 1.0, sizes decrease). If negative,
! |SPACE| is nominal ratio of center division(s) size to end divisions size. Ratio defaults to 1.0 (uniform spacing). For layer-meshing, a value of 1.0
! normally is used. If SPACE = FREE, ratio is determined by other considerations
!KFORC---KFORC 0-3 are used only with NL1 = ALL. Specifies which selected lines are to be modified.
! 0 — Modify only selected lines having undefined (zero) divisions.
! 1 — Modify all selected lines.
! 2 — Modify only selected lines having fewer divisions (including zero) than specified with this command.
! 3 — Modify only selected lines having more divisions than specified with this command.
! 4 — Modify only nonzero settings for SIZE, ANGSIZ, NDIV, SPACE, LAYER1, and LAYER2. If KFORC = 4, blank or 0 settings remain unchanged.
!LAYER1---Layer-meshing control parameter. Distance which defines the thickness of the inner mesh layer, LAYER1. Elem
ents in this layer are uniformly-sized with
! edge lengths equal to the specified element size for the line (either through SIZE or line-length/NDIV). A positive value for LAYER1 is interpreted as
! an absolute length, while a negative value in interpreted as a multiplier on the specified element size for the line. As a general rule, the resulting
! thickness of the inner mesh layer should be greater than or equal to the specified element size for the line. If LAYER1 = OFF, layer-meshing control
! settings are cleared for the selected lines. The default value is 0.0
!LAYER2---Layer-meshing control parameter. Distance which defines the thickness of the outer mesh layer, LAYER2. Elements in this layer transition in size from
! those in LAYER1 to the global element size. A positive value of LAYER2 is interpreted as an absolute length, while a negative value is interpreted as a
! mesh transition factor. A value of LAYER2 = -2 would indicate that elements should approximately double in size as the mesh progresses normal to LAYER1.
! The default value is 0.0.
!KYNDIV---
! 0, No, and Off means that SmartSizing cannot override specified divisions and spacing ratios. Mapped mesh fails if divisions do not match. This defines
! the specification as "hard".
! 1, Yes, and On means that SmartSizing can override specified divisions and spacing ratios for curvature or proximity. Mapped meshing can override
! divisions to obtain required matching divisions. This defines the specification as" soft".
lsel,s,,,35,37,2
lsel,a,,,48,51,1
lsel,a,,,52
lesize,all,,,8
alls
lsel,s,,,36,70,34
lsel,a,,,7,9,2
lsel,a,,,71,76,5
lsel,a,,,74,80,6
lesize,all,,,11
alls
lsel,s,,,33,65,32
lsel,a,,,6,8,2
lsel,a,,,38,69,31
lsel,a,,,72,83,11
lesize,all,,,1
alls
lsel,s,,,39,41,1
lsel,a,,,25,32,7
lsel,a,,,87,91,4
lsel,a,,,86,90,4
lesize,all,,,2
alls
lsel,s,,,55,56,1
lsel,a,,,53,54,1
lsel,a,,,58,60,2
lsel,a,,,61
lsel,a,,,42,43,1
lsel,a,,,77,88,11
lsel,a,,,27,81,54
lsel,a,,,15,64,49
lsel,a,,,21,24,3
lesize,all,,,6
alls
lsel,s,,,12,19,7
lsel,a,,,17,30,13
lsel,a,,,2,5,3
lsel,a,,,34
lsel,a,,,16,31,15
lsel,a,,,57,59,2
lsel,a,,,44,47,3
lsel,a,,,26,29,3
lsel,a,,,85,92,7
lsel,a,,,89,93,4
lsel,a,,,66,68,1
lsel,a,,,22,75,53
lsel,a,,,78,84,6
lsel,a,,,23,62,39
lsel,a,,,10,18,8
lsel,a,,,45,46,1
lsel,a,,,28,73,45
lsel,a,,,79,82,3
lsel,a,,,14,20,6
lsel,a,,,63
lesize,all,,,6
alls
!----------------------------------------------------------------------------------------------------------------------------------------
!定义单元的材料属性及单元范围,并最终划分单元网格
type,1 !选取单元类型
mat,1 !单元材料属性
amap,24,31,36,1,26 !简化面映射网格划分,amap,area,kp1,kp2,kp3,kp4----其中,area---拟划分的面号,kp1、kp2、kp3、kp4---指定的角
点,3或4个都可以,顺序可任意。
amap,25,29,36,1,27
amap,19,31,26,23,21
amap,21,29,27,24,19
amap,38,21,23,2,54
amap,39,19,24,4,52
alls
type,1
mat,1
asel,s,,,3,9,1
asel,a,,,11,12,1
asel,a,,,14,17,1
asel,a,,,21,22,1
asel,a,,,24,27,1
asel,a,,,29,40,1
asel,a,,,19
amesh,all !AMESH, NA1, NA2, NINC---在几个面上生成面单元,na1,na2,ninc--面编号范围和编号增量,na1可取all、p、元件名或组件名。
alls
type,1
mat,3
amap,1,26,1,25
amap,2,27,1,25
alls
type,1
mat,4
amap,18,26,25,22,23
amap,20,27,25,22,24
alls
type,1
mat,5
amap,23,23,44,3,2
amap,28,44,22,3,6
amap,13,47,22,6,5
amap,10,24,47,5,4
alls
type,2
mat,2
real,2
lsel,s,,,1,3,2
lsel,a,,,35,37,2
lsel,a,,,39,41,2
lsel,a,,,6,9,1
lmesh,all !LMESH, NA1, NA2, NINC---在几个线上生成线单元,na1,na2,ninc--线编号范围和编号增量,na1可取all、p、元件名或组件名
alls
!-------------------------------------------------------------------------------------------------------------------------------------------------------
!添加约束
antype,0 !指定分析类型为静态分析 ANTYPE, Antype, Status, LDSTEP, SUBSTEP, Action----指定分析类型和重新启动的状态
nsel,s,loc,x,-40 !选择所有x坐标为-40的结点创建子集 NSEL, Type, Item, Comp, VMIN, VMAX, VINC, KABS
d,all,ux,0 !对所有所选结点的x放下添加约束,位移值为0
nsel,s,loc,x,40
d,all,ux,0
nsel,s,loc,y,-40
d,all,uy,0
alls
acel,,10 !线性加速度,
!-------------------------------------------------------------------------------------------------------------------------------------------------------
!第一步,初始状态分析
/solu !!1
antype,static !! 声明分析类型:静力分析
esel,s,type,,2 !选定第2类单元创建子集
ekill,all !杀死所有所选单元
alls
!-------------------------------------------------------------------------------------------------------------------------
TIME,1 !时间,“1”为荷载步结束的时间值
!deltim,0.2,0.02,0.4 !设定时间步长 ,0.2是当前荷载步时间步长,0.02,0.4分别为采用自动时间步时代最小时间步长和最大时间步长,此命令可以和NSUBST命令互相替代
NSUBST,100,10000000 !设定子步数和时间步长,100为当前荷载步的子步数,100000000为最大子步数,后面还有两个选项分别是最小子步数和时间步长继承控制参数
NEQIT,100 !定义平衡迭代的最大次数,100为每个子步中平衡迭代的最大次数
autots,on !使用自动时间步 若为off则不适应自动时间步
pred,on !打开时间步长预测器 pred,sskey,--,lskey,其中sskey为子步预测控制参数,off为关闭,on为开,默认为on,lskey为荷载步预测控制参数,默认为off。
lnsrch,on !打开线性搜索
cutcontrol,plslimit,0.5 !
回退控制,plslimit为回退准则控制,0.5为回退准则的数值。
nlgeom,on !打开大位移效果
nropt,full,,on !设定牛顿-拉普森选项
cnvtol,f,,0.01,2 !设定非线性收敛值(收敛准则),此处出现警告。
OUTRES,basic,1 !数据写入
KBC,0 !线性增加荷载
save
solve
!rescontrol,file_summany !控制文件编写多帧重新启动
!---------------------------------------------------------------------------------------------------------------------
!------------------------------------------------------------------------------------------------------------------------
!提取应力
/post1
set,1 !定义数据集
asel,s,,,1,2,1!提取上台阶节点力
esla,s,1 !选择与所选面相关的元素
nsle,s !选择已选单元的相关节点
nsel,r,ext !建立一个新的节点子集,选择的节点为体单元表面上的节点,面单元外轮廓上的节点
nplot !显示节点
*get,n,node,,count !提取节点数量, *status,n命令可获得n的数值列表
*dim,n_num2,array,1,n !定义大小为n=48的一维数组
*do,i,1,n !从小到大排序
*get,n_num2(1,i),node,,num,min !此命令为取当前节点子集中最小的节点号,在此循环中连取48次
nsel,u,,,n_num2(1,i) !从当前子集中去掉一组子集,此命令是为了去掉上一行命令*get命令中第i此获取的最小节点号,以保证*get命令在第i+1次获取节点号时,所要进行选择的
!子集中没有第i次已经被选择的最小节点号,从而选取到第i+1此选择中最小节点号,但却比第i次选择的节点号大的节点号,由此使得数组n_num2中节点从小到大排列
*enddo
*status,n_num2
*dim,n_2fx,array,1,n !定义一维数组大小为n=48 存储x方向节点反力
*dim,n_2fy,array,1,n
*do,i,1,n
nsel,s,,,n_num2(1,i) !从小到大选择节点
fsum !单元节点力或矩的综合
*get,n_2fx(1,i),fsum,,item,fx !获取所有节点x方向的节点反力
*enddo
*status,n_2fx !显示数组n_2fx
*do,i,1,n
nsel,s,,,n_num2(1,i) !从小到大选择节点
fsum !单元节点力的综合
*get,n_2fy(1,i),fsum,,item,fy !获取所有节点y方向的节点反力
*enddo
*status,n_2fy !显示数组n_2fy
parsav,all,001 !将所有参数写入 001.ext文件中
!-----------------------------------------------------------------------------------
!第二步,挖去上台阶土体,释放40%荷载
/solu !!2
antype,,rest,1 !在第一个子步重新启动进行静态分析
esel,s,mat,,3 !选择材料属性3的单元,建立新子集
ekill,all !杀死所选单元
alls
esel,s,type,,2 !选择单元类型2,建立新子集
ekill,all
alls
!应力释放
parres,,001 !读取文件001.ext的数据
alls
asel,s,,,1,2,1 !选择面1和面2
esla,s,1 !选择与所选面相关的元素
nsle,s !选择已选单元的相关节点
nsel,r,ext !建
立一个新的节点子集
*do,i,1,n
f,n_num2(1,i),fx,0.6*n_2fx(1,i) !?????荷载释放率怎么确定???
f,n_num2(1,i),fy,0.6*n_2fy(1,i)
*enddo
alls
!-------------------------------------------------------------------------------------------------------------
TIME,2
!deltim,0.2,0.02,0.4 !设定时间步长
NSUBST,100,10000000 !设定每一步子步数
NEQIT,100
autots,on !使用自动时间步
pred,on !打开时间步长预测器
lnsrch,on !打开线性搜索
cutcontrol,plslimit,0.5
nlgeom,on !打开大位移效果
nropt,full,,on !设定牛顿-拉普森选项
cnvtol,f,,0.01,2 !设定非线性收敛值
OUTRES,basic,1 !数据写入
KBC,0 !线行增加荷载,即斜坡荷载
save
solve
!rescontrol,file_summany
!-----------------------------------------------------------------------------------------------------------------------------------
!------------------------------------------------------------------------------------------------------------------------------------
!第三步,继第二步后对上台阶支护
/solu !!3
antype,,rest,2 !在第二个子步重新启动进行静态分析
esel,s,type,,2 !选择单元类型2建立子集
ekill,all
alls
esel,s,mat,,3 !选择材料属性3的单元,建立子集
ekill,all
alls
lsel,s,,,1,3,2
esll,s !选择与所选线相关的单元
ealive,all !激活所选单元
alls
asel,s,,,1,2,1!应力释放
esla,s,1 !选择与所选面相关的元素
nsle,s !选择已选单元的相关节点
nsel,r,ext !!建立一个新的节点子集,选择的节点为体单元表面上的节点,面单元外轮廓上的节点
fdele,all,all !去掉节点力
alls
!----------------------------------------------------------------------------------------------------------------------
TIME,3
!deltim,0.2,0.02,0.4 !设定时间步长
NSUBST,100,10000000 !设定每一步子步数
NEQIT,100
autots,on !使用自动时间步
pred,on !打开时间步长预测器
lnsrch,on !打开线性搜索
cutcontrol,plslimit,0.5
nlgeom,on !打开大位移效果
nropt,full,,on !设定牛顿-拉普森选项
cnvtol,f,,0.01,2 !设定非线性收敛值
OUTRES,basic,1 !数据写入
KBC,0 !线行增加荷载
save
solve
!rescontrol,file_summany
!提取应力
/post1
set,1
asel,s,,,18,20,2!应力释放
esla,s,1 !选择与所选面相关的元素
nsle,s !选择已选单元的相关节点
nsel,r,ext !建立一个新的节点子集
*get,n,node,,count !提取节点数量
*dim,n_num3,array,1,n !定义一维数组大小为n
*do,i,1,n !从小到大排序
*get,n_num3(1,i),node,,num,min !选取最小的节点
nsel,u,,,n_num3(1,i) !从当前子集中去掉所选节点
*enddo
*dim,n_3fx,array,1,n !定义一维数组大小为n 存储节点反力
*dim,n_3fy,array,1,n
*do,i,1,n
nsel,s,,,n_num3(1,i) !从小到大选择节
点
fsum
*get,n_3fx(1,i),fsum,,item,fx !获取x方向的节点反力
*enddo
*do,i,1,n
nsel,s,,,n_num3(1,i) !从小到大选择节点
fsum
*get,n_3fy(1,i),fsum,,item,fy !获取y方向的节点反力
*enddo
parsav,all,002 !将所有参数写入 002.ext文件中
!------------------------------------------------------------------------------------------------
!第四步,继第三步后再开挖下台阶土体,并释放30%的荷载
/solu !!4
antype,,rest,3 !在第三个子步重新启动进行静态分析
esel,s,type,,2 !选择单元类型2
ekill,all
alls
esel,s,mat,,3 !选择材料3的单元
ekill,all
alls
esel,s,mat,,4 !选择材料4的单元
ekill,all
alls
lsel,s,,,1,3,2
esll,s !选择与所选线相关的单元
ealive,all !激活所选单元
alls
parres,,002 !读取文件002.ext的数据
alls
asel,s,,,18,20,2!应力释放
esla,s,1
nsle,s
nsel,r,ext
*do,i,1,n
f,n_num3(1,i),fx,0.7*n_3fx(1,i)
f,n_num3(1,i),fy,0.7*n_3fy(1,i)
*enddo
!去掉下台阶上边缘的节点力
*do,i,1281,1292
fdele,i,all !去掉节点力
*enddo
*do,i,1395,1405
fdele,i,all !去掉节点力
*enddo
alls
!---------------------------------------------------------------------------------------
TIME,4
!deltim,0.2,0.02,0.4 !设定时间步长
NSUBST,100,10000000 !设定每一步子步数
NEQIT,100
autots,on !使用自动时间步
pred,on !打开时间步长预测器
lnsrch,on !打开线性搜索
cutcontrol,plslimit,0.5
nlgeom,on !打开大位移效果
nropt,full,,on !设定牛顿-拉普森选项
cnvtol,f,,0.01,2 !设定非线性收敛值
OUTRES,basic,1 !数据写入
KBC,0 !线行增加荷载
save
solve
!rescontrol,file_summany
!----------------------------------------------------------------------------------------------------------------------------
!第五步,下台阶支护
/solu !!5
antype,,rest,4 !在第四个子步重新启动进行静态分析
esel,s,type,,2 !选择单元类型2
ekill,all
alls
esel,s,mat,,3 !选择材料3的单元
ekill,all
alls
esel,s,mat,,4 !选择材料4的单元
ekill,all
alls
lsel,s,,,1,3,2
esll,s !选择与所选线相关的单元
ealive,all
alls
lsel,s,,,35,37,2
esll,s !选择与所选线相关的单元
ealive,all
alls
asel,s,,,18,20,2!应力释放
esla,s,1 !选择与所选面相关的元素
nsle,s !选择已选单元的相关节点
nsel,r,ext !建立一个新的节点子集
fdele,all,all !去掉所有节点力
alls
!----------------------------------------------------------------------------------------------------------
!---------------------------------------------------------------------------------------------------------
TIME,5
!deltim,0.2,0.02,0.4 !设定时间步长
NSUBST,100,10000000 !设定每一步子步数
NEQIT,100
autots,on !使用自动时间
步
pred,on !打开时间步长预测器
lnsrch,on !打开线性搜索
cutcontrol,plslimit,0.5
nlgeom,on !打开大位移效果
nropt,full,,on !设定牛顿-拉普森选项
cnvtol,f,,0.01,2 !设定非线性收敛值
OUTRES,basic,1 !数据写入
KBC,0 !线行增加荷载
save
solve
!rescontrol,file_summany
!提取应力
/post1
set,1
asel,s,,,23,28,5!应力释放
asel,a,,,10,13,3
esla,s,1
nsle,s
nsel,r,ext
*get,n,node,,count !提取节点数量
*dim,n_num4,array,1,n !定义一维数组大小为n
*do,i,1,n !从小到大排序
*get,n_num4(1,i),node,,num,min !从小到大提取节点号
nsel,u,,,n_num4(1,i)
*enddo
*dim,n_4fx,array,1,n !定义一维数组大小为n 存储节点力
*dim,n_4fy,array,1,n
*do,i,1,n
nsel,s,,,n_num4(1,i) !从小到大选择节点
fsum
*get,n_4fx(1,i),fsum,,item,fx
*enddo
*do,i,1,n
nsel,s,,,n_num4(1,i)
fsum
*get,n_4fy(1,i),fsum,,item,fy
*enddo
parsav,all,003
!----------------------------------------------------------------------------------------------------------------
!第六步,开挖仰拱土体,并释放20%对荷载
/solu !!6
antype,,rest,5
esel,s,type,,2
ekill,all
alls
esel,s,mat,,3
ekill,all
alls
esel,s,mat,,4
ekill,all
alls
esel,s,mat,,5
ekill,all
alls
lsel,s,,,1,3,2
lsel,a,,,35,37,2
esll,s
ealive,all
alls
parres,,003
alls
asel,s,,,23,28,5!应力释放
asel,a,,,10,13,3
esla,s,1
nsle,s
nsel,r,ext
*do,i,1,n
f,n_num4(1,i),fx,0.8*n_4fx(1,i)
f,n_num4(1,i),fy,0.8*n_4fy(1,i)
*enddo
!去掉仰拱上边缘的节点力
*do,i,1497,1508
fdele,i,all
*enddo
*do,i,1593,1603
fdele,i,all
*enddo
alls
!-----------------------------------------------------------------------------------------
TIME,6
!deltim,0.2,0.02,0.4 !设定时间步长
NSUBST,100,10000000 !设定每一步子步数
NEQIT,100
autots,on !使用自动时间步
pred,on !打开时间步长预测器
lnsrch,on !打开线性搜索
cutcontrol,plslimit,0.5
nlgeom,on !打开大位移效果
nropt,full,,on !设定牛顿-拉普森选项
cnvtol,f,,0.01,2 !设定非线性收敛值
OUTRES,basic,1 !数据写入
KBC,0 !线行增加荷载
save
solve
!rescontrol,file_summany
!------------------------------------------------------------------------------------------------------------------------
!--------------------------------------------------------------------------------------------------------------------------
!第七步,施做仰拱及支护
/solu !!7
antype,,rest,6
esel,s,type,,2
ekill,all
alls
esel,s,mat,,3
ekill,all
alls
esel,s,mat,,4
ekill,all
alls
esel,s,mat,,5
ekill,all
alls
lsel,s,,,1,3,2
lsel,a,,,35,37,2
lsel,a,,,39,41,2
lsel,a,,,6,9,1
esll,s
ealive,all
alls
asel,s,,,23,28,5!应力释放
asel,a,,,10,13,3
esla,s,1
nsle,s
nsel,r,ext
fdele,all,all
alls
!-------------------------------
----------------------------------------------------------------------------------------------------
TIME,7
!deltim,0.2,0.02,0.4 !设定时间步长
NSUBST,100,10000000 !设定每一步子步数
NEQIT,100
autots,on !使用自动时间步
pred,on !打开时间步长预测器
lnsrch,on !打开线性搜索
cutcontrol,plslimit,0.5
nlgeom,on !打开大位移效果
nropt,full,,on !设定牛顿-拉普森选项
cnvtol,f,,0.01,2 !设定非线性收敛值
OUTRES,basic,1 !数据写入
KBC,0 !线行增加荷载
save
solve
!rescontrol,file_summany
/post1
etable,mi,smisc,6
etable,mj,smisc,12
etable,fxi,smisc,1
etable,fxj,smisc,7
etable,fyi,smisc,2
etable,fyj,smisc,8
etable,smaxi,nmisc,1
etable,smaxj,nmisc,3
etable,smini,nmisc,2
etable,sminj,nmisc,4
plls,mi,mj,-0.7
plls,fxi,fxj,-0.2
plls,fyi,fyj
plls,smaxi,smaxj
plls,smini,sminj
!---------------------------------------------------------------------------------------------------------------------------------
/post1
esel,s,type,,2
eplot
PRETAB,GRP1 !打印单元列表前10项
/post1
esel,s,type,,2
eplot