一般,FLAC3D命令对初学者来说,是个很吓人的东西。那么多命令,又不是鼠标点击,多麻烦。但是命令对复杂多步的计算会带来极大的方便,而且方便二次开发和应用,开放式的平台给你提供了足够大的舞台。无疑,灵活掌握FLAC3D命令对更好的使用FLAC3D有很大的帮助。
从我自己的学习经历来讲,开始对FLAC3D命令是蒙的,没有一个合理的套路去写,反正不会就去找例子或者翻命令手册。但是发现同样的命令几天不用,还是要再去找,很麻烦。后来稍微用心总结了一下,原来还是很有章法的。
FLAC3D命令都是围绕这3个关键词展开的:动作+对象(对象属性)+范围。总的规则就是你要告诉FLAC3D程序,你要让它帮你在指定的地方(范围,默认为模型),根据什么形式(对象+对象属性),做什么事情(动作)。只有把这三者明确的指定给程序,它才能帮你真正完成你想要的东西。这就像你要别人帮你做什么是一样的。所以你在写命令的时候,你自己一定要清楚,你所要针对的范围、进行的动作、动作的对象(对象属性)。你自己都不清楚,计算机肯定是不清楚的。你不告诉它正确的地方、对象(对象属性)或者动作,那程序给你的结果要么不是你想要的,要么它就显示错误。其次,FLAC3D命令往往都是以动作为命令第一个词,对象为第二个词,接下来是对象属性,最后面的一般是指定范围。
按照上面的2个基本规则去写,我想能足够应付大部分命令了。下面我们根据上面的规则阐述几个常见的例子。plot命令对前处理和后处理相当重要,就以plot为例。
plot block group意思是画block,按group属性,对整个模型(命令省略的就是默认为是整个模型)。动作,对象,对象属性,范围都包括。
如果你不想按block的group属性来显示,你想按block的model属性来显示,那就是:
plot block model
你想按model属性来显示block,但是只显示1<=x<=9范围内的,那就是:
plot block model range x 1 9
对一个对象而言,往往它有多种属性,这在命令里也有体现,需要我们自己熟悉对象有哪些属性。如上面block对象,有group属性,model属性,都是在对象后面加入。有些是并行的,不能同时加入,如model和group;有些是可以叠加的,而且不分先后顺序,如我想对1<=x<=9范围按model属性显示block,且要显示zone的ID,gp的ID,那就是:
plot block model id on gpnum on range x 1 9
id是zone的ID号,gpnum表示节点ID号。同样的你还可以加入gppos on,以显示节点坐标,那就是:
plot block model id on gpnum on gppos on range x 1 9
范围在FLAC3D里也是个相当重要的东西。如上面的我按坐标指定范围,如1<=x<=9;也可以按其他方式指定,如range group 1,即:
plot block model id on gpnum on gppos on range group 1
又如,指定范范围为zone的ID为101~345,即:
plot block model id on gpnum on gppos on range id 101 345
除了上述方式外,手册里还介绍了其他方式。灵活运用range,会对你操作FLAC3D的前后处理带来很大的方便。
还可以指定多个范围,构成交集来指定范围。如按坐标指定:1<=x<=9,2<=y<=11,即:
plot block model id on gpnum on gppos on range x 1 9 y 2 11
按坐标,同时也可以按其他方式,如还按组指定范围,如group 1,即:
plot block model id on gpnum on gppos on range x 1 9 group 1
同时按坐标,zone的ID号显示的,如
plot block model id on gpnum on gppos on range x 1 9 id 101 345
多个范围多方式的指定可以同时加入,取交集为指定的范围,不分先后顺序,任意指定。
举例到此,望多多总结!