1 引言
在上一个版本【二维有限元分析软件ADONIS新功能评述】的基础之上,Dr. Mikolaz发布了ADONIS V3.50.1(7/16/2022),这个版本主要修正了结构元(structural elements)计算不平衡比(unbal ratio)时出现的问题。下面简要总结了这个软件最新的命令流。
2 命令流
(1) 项目设置
在项目设置中,主要设置单位和重力加速度。所有的数值模拟软件自身都不提供单位换算功能,输入数据的单位由用户定义,但必须符合单位一致性的规则,否则计算结果出错。
newmodel()
set("language","en")
set("unit","stress-pa")
set("gravity",0,9.8)
set("useNMD","on")
为了得到精确的塑性计算结果,可以启用节点混合离散化(Nodal Mixed Discretization, NMD)算法【压缩试验模拟考虑的几个问题(本构模型和NMD算法)】---useNMD,不过这种算法只能用于三节点的三角形T3单元。
(2) 几何形状
模型的几何形状由rect, line, circle, arc 命令来定义:
rect("startPoint",-30,-30,"endPoint",30,30)
line("startPoint",0,0,"endPoint",52,0)
circle("centerPoint",0,0,"radius",5,"numSeg",20)
arc("startPoint",3.88,-20.23,"midPoint",4.6,-19.6,"endPoint",5.2,-18.7,"numSeg",6)
界面元的定义使用crack命令:
crack("startPoint",10,-10,"endPoint",10,0)
(3) 材料模型
材料模型包括:
(1) Isoelastic
(2) Mohr-Coulomb
(3) Hoek-Brown
(4) Modified Hoek-Brown
(5) Cam-Clay
(6) Strain-Softening
(7) P-Hardening
(8) Ubiquitous-joint
(9) Swell
material("create","Ubiquitous-Joint","matid",1,"matname","Jointed Rock","density",2600,"shear",3e+07,"bulk",1e+08,"coh",100000,"fric",40,"jangle",30,"jcoh",5000,"jfric",25)
material("assign","matid",1)
material("assign","matid",1,"region",16,-1)
(4) 网格划分
ADONIS的网格目前只有两种:三节点的三角形和六节点的三角形单元,segment命令用来对特定的单元进行网格细化。
triangle("elemtype","T6(T3)")
discretize("maxedge",0.75)
triangle("maxedge",0.75)
segment("id",24,"numedge",3)
(5) 边界条件
边界设置使用applybc命令:
applybc("xyfix","xlim",-0.1,0.1,"ylim",-0.1,10.1)
applybc("xfix","xlim",-0.1,0.1,"ylim",-100.1,0.1)
(6) 原岩应力
原岩应力可以安装为常量,也可以按照区域设置成线性变化的值。
initial("szz",-30e6)
initial("syy",isyy1,"yvar",dsyy1,"xlim",-60,60,"ylim",-2,0)
(7) 计算过程
可以进行一般的弹塑性计算solve(),也可以进行安全系数计算:
solve("fos")
solve("fos","isFosMCTens","on")
(8) 初始化
岩土工程问题模拟施工步骤时需要首先在原岩应力下求解[solve]取得平衡,然后把单元的位移或速度初始化为0:
initial("xydisp",0)
initial("xyvel",0)
(9) 开挖回填
excavate("region",16.507,-1.40485,"reset","off")
backfill("region",16.507,-1.40485,"reset","off")
(10) 结构元
structure("initial","reset","alldisp")
structure("material","beamid",1,"area",beam_area,"I",beam_I,"ymod",beam_ymod)
structure("drawliner","beamid",1,"iftype","bothSides","ifid1",1,"ifid2",2,"xlim",29.9,30.1,"ylim",-32.1,0.1)
structure("drawcable","cabid",1,"frompoint",0,5,"topoint",0,15,"pretens",0.0,"segnum",10)
(11) 界面属性
imaterial("assign","Coulomb","ifid",1,"matname","Interface1","jkn",1e9,"jks",1e9,"friction",25)
imaterial("assign","Coulomb","ifid",2,"matname","Interface2","jkn",1e9,"jks",1e9,"friction",25)
(12) 结果显示
ADONIS提供了位移、应力、应变、孔隙压力以及结构元的的图形显示。
tab("plot")
plot("contour","ssi")
plot("struc","beam","axialforce")
plot("struc","beam","moment")
(13) 调用子程序
script("call","filename","initial_pp_stresses.ajs")