首页/文章/ 详情

FLAC3D 6.0命令转换功能介绍

7月前浏览13123

本文摘要(由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

经过转换后的命令流如下:


现在我们来逐一剖析出现的问题。

======分割线======

(1)赋参数处出现的错误(第4行)
;%%-- 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]。




======分割线======

(4)plot命令报错(第39行)
%%-- 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)设置显示内容


FLAC3D
著作权归作者所有,欢迎分享,未经许可,不得转载
首次发布时间:2021-08-10
最近编辑:7月前
FLAC3D小技巧
硕士 专注FLAC3D中的小技巧分享...
获赞 36粉丝 209文章 40课程 0
点赞
收藏
未登录
1条评论
仿真秀0309124205
签名征集中
2年前
您好!同硕士,想请教一些FLAC3D相关问题!能添加下我qq吗?1412889945.有偿!!!求救
回复
课程
培训
服务
行家
VIP会员 学习 福利任务 兑换礼品
下载APP
联系我们
帮助与反馈