FLAC3D 6.0命令转换功能介绍
本文摘要(由AI生成):
文章主要介绍了如何使用命令流转换功能,以及转换过程中可能出现的问题和解决方法。首先,在软件中输入老版本命令流后,点击Edit菜单中的最后一项command conversion即可进行转换。转换过程中,软件会弹出一个对话框,让我们设置是否转换原命令流中的fish函数。转换完成后,如果命令流变色,我们需要逐一分析并解决出现的问题。
如何使用命令流转换功能?
要使用一键转换功能,只需在editor里键入老版本命令流后,点击软件左上角的Edit菜单,在其子菜单中选择最后一项command conversion即可,如下图。

点击command conversion之后,软件将会出现一个对话框,如下图所示,这是让我们设置是否转换原命令流中的fish函数,默认是on,如果选择off,那么原命令中的fish函数将不会被转换,笔者建议保留默认设置,直接点convert进行转换。

2、使用一键转换后,命令流变色了怎么办?
笔者选择了陈育民书中例8.4的部分命令流作为例子进行讲解,此案例囊括了大部分命令流转换报错的情形,原命令流如下:
new
gen zon bri size 3 3 3
model elastic
prop bu 3e7 sh 1e7
ini dens 2000
fix x y z ran z -.0 .1
fix x ran x -.1 .1
fix x ran x 2.9 3.1
fix y ran y -.1 .1
fix y ran y 2.9 3.1
set grav 10
set mechanical ratio 1e-4
solve
ini xd 0 yd 0 zd 0 xv 0 yv 0 zv 0
def E_modify
p_z = zone_head
d_k = 704
d_n = 0.38
d_pa = 101325.0
loop while p_z # null
sigma_3 = -1.0*z_sig1(p_z)
E_new = d_k*d_pa*(sigma_3/d_pa)^d_n
z_prop(p_z,'young') = E_new
p_z = z_next(p_z)
endloop
end
E_modify
plot cont prop young
经过转换后的命令流如下:


以;%%-- The new property name for sh depends on the constitutive model, it could be any of those listed above.为例,这里的意思就是原命令prop bu 3e7 sh 1e7中的sh(即剪切模量shear)的新名称取决于本构模型,不同本构模型的剪切模量名称是不同的,并且已经将可能的名称列在了已转换的命令中:zone property %%bulk,bulk-reference,bulk-maximum%% 3e7 %%flag-shear,shear-minimum,shear-reference,shear,shear-maximum%% 1e7我们只需要根据所指定的本构模型,选择相应的剪切模量名称即可。同理对于The new property name for bu depends on the constitutive model, it could be any of those listed above.我们只需要根据所指定的本构模型,选择相应的体积模量名称即可。对于弹性本构,修改完成后的赋参命令为:zone property bulk 3e7 shear 1e7.
(2)修改计算收敛条件时的变色处理(第16行)
原命令为set mech ratio 1e-4,转换后的命令为model mechanical %%ratio%% 1e-4,并有如下报错:;%%-- Specify the RATIO limit in the SOLVE command.意为在solve命令中指定limit ratio。因此老版本命令的set mech ratio 1e-4以及其后的solve应合并为一句:model solve mechanical unbalanced-maximum 1e-4
======分割线======
(3)fish函数转换中的错误(第37行)
%%!! Original command: E_modify;%%-- Command not recognized.解决此类报错很简单,只需要在函数名称E_modify前加一个@即可。这是因为FLAC3D5.0及以上版本调用函数的格式为@function,而FLAC3D3.0调用函数只需在函数end后键入函数名。另外,FLAC3D6.0设定函数变量值的格式为[变量名=value],而老版本设定函数变量值的格式为set 变量名=value,这时转换会报错,提示你的变量名不是一个命令,以set udmax = 30000为例,报错见下图,此处需要我们自行更改为[udmax=30000]。

%%-- PLOT commands are not translated.此处报错是因为FLAC3D6.0升级了自身的GUI逻辑,显示结果均可由鼠标操作实现,plot命令变得不常用了。本例中原命令为plot cont prop young,即显示模型的杨氏模量云图,命令流操作为:plot item create zone active on contour property log off name 'young' method average

(1)添加新的显示窗口(如果已经有plot,忽略这一步)

(2)添加显示的项目

(3)设置显示内容