首页/文章/ 详情

FLAC3D6.0新手向之命令篇(一)

11月前浏览5572
经常有人问我,作为初学者应该选择学习FLAC3D3.0,FLAC3D5.0亦或是FLAC3D6.0,对此,笔者的建议是选择FLAC3D6.0。笔者看中的主要优势有四点:
一是新增的model pane板块与face group 功能极大地方便了对模型不规则曲面的处理——包括但不局限于不规则曲面上的应力施加,结构单元建立、接触面的建立以及后处理;
二是新增了与ABAQUS、ANSYS的网格文件接口,用户可以直接导入ABAQUS或者ANSYS的网格文件,不必再使用各类转换接口;
三是老版本命令流一键转换,降低了老版本用户的学习难度;
四是升级了editor板块,方便书写命令流。
FLAC3D6.0新手向之命令篇分为两部分,(一)介绍FLAC3D6.0的老版本命令流一键转换,(二)介绍升级后的editor板块。

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

1、如何使用命令流转换功能?

要使用一键转换功能,只需在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小技巧
ACTMechanicalAbaqusUMFLAC3D曲面
著作权归作者所有,欢迎分享,未经许可,不得转载
首次发布时间:2023-12-26
最近编辑:11月前
FLAC3D小技巧
硕士 专注FLAC3D中的小技巧分享...
获赞 36粉丝 208文章 40课程 0
点赞
收藏
未登录
还没有评论
课程
培训
服务
行家
VIP会员 学习 福利任务 兑换礼品
下载APP
联系我们
帮助与反馈