一、认识和了解FLAC/FLAC3D
有关这两个软件的介绍,在这里不再赘述,网上有大量而详细的材料。需要提示大家的是,这两者都是基于连续介质及有限差分原理的2D(或3D)程序,一般不用于断裂、崩塌、侵彻等不连续变形问题。这两个软件的区别,字面上,FLAC一般指的是2D程序,FLAC3D当然是三维程序。但是从功能上来说,2D的FLAC更强大,可以进行两相流的模拟,用于非饱和土的研究很适用;同时,2D的FLAC有比较成熟的GUI(图形化处理界面)和更高的执行效率,当然也更简单。所以,在进行学术性研究时,若问题可以简化成二维,则尽量采用2D的FLAC进行研究和分析。当然了,现在高版本的FLAC3D(V4.0及以上)也有了比较好用的GUI界面,但是大部分的命令还是要通过文本才能实现。
认识这两个软件还需要注意的问题,就是它们的适用性。哪些问题可以用,哪些问题无能为力,这个在大家决定学习之前一定要了解清楚。因为这些商业程序都比较复杂,想通过“速成班”快速掌握(注意:不仅仅是上手)基本上不是一件很容易的事情。根据我学习和使用的体会,下列问题请慎重使用FLAC/FLAC3D程序:
(1)小尺寸试样的动力试验模拟问题,如动三轴试验的模拟等;
(2)复杂水头的长时间固结问题,如考虑水头实时变化,需要完全耦合模式来求解的长时间沉降变形计算;
(3)长期动力分析问题,如高铁长期振动、交通荷载长期振动分析等。
这类问题,为何不能适用,这里就不再展开。总之,以上的各类问题本身也是具有相当的分析难度,大家在着手此类研究时,一定要慎重。
二、如何快速地“上手”?
学习比较复杂的数值软件,都有一个“上手难、进展慢”的阶段,所以要合理安排学习进程,既要在短期内就培养自己的学习兴趣,同时也需要在前期学习中能够获得“局部成功”的喜悦。我想,应该多做“小题目”应该是个好办法。比如在开始上手FLAC3D程序时,多用很少单元的模型来“试验”程序的功能,积累学习经验,而不是一开始就动辄上万的单元、各种复杂的边界条件,那样只会困住自己,丧失学习的兴趣。这也就是所谓的“由简到繁,循序渐进”的学习规律,适合所有复杂软件的学习。
大家肯定很关心一个问题:FLAC3D需要多久才能“上手”?这个问题其实不好给出答案,因为“上手”本身就是一个模糊的概念。你要是仅仅做不考虑孔压场的静态填筑问题,如路堤堆载,则可能几天或一个星期就完成了;但是如果要考虑堆载过程中的超孔压产生与土体固结、地基中还存在桩的地基处理、褥垫层中还有几层格栅的情况下,你需要做的将是全面掌握FLAC3D中的静力分析、接触面、结构单元、单相渗流等众多章节,需要的时间则是简单静力问题的数倍。如果你要做这个路堤的动力分析,那么需要花去的时间就更长,估计要几个月才行吧。所以,软件学习是个长期的过程,只有潜心研究,才能取得好的、正确的结果。
三、如何记住那么多的命令和FISH?
FLAC3D是典型的命令型驱动程序,几乎所有的操作都是用软件专有的关键字和语法来实现。初学者在看到这种“写命令”而不是“点鼠标”的程序操作时,往往会感觉起步困难。其实大可不必,使用时间长了你就会发现,“写命令”式的程序自由性更大,给用户施展才能的空间更多。而且,FLAC3D中所谓的命令和关键词都是最简单的英文。比如下面的命令:
Propertybulk3.0e7shear1.0e7
很显然是进行本构模型赋值的操作,分别对体积模量(bulk)和剪切模量(shear)进行赋值。这些常用的命令关键字,要求大家在学习程序过程中逐渐掌握和积累,做到运用自如,其实也就复习大学二年级所需要掌握的一些基本英语词汇,应该并非难事。
而FISH(FLAC/FLAC3D内置编程语言)则又是另外一回事。很多朋友在学习FLAC3D程序时,会被例子中突如其来的FISH编程语句吓到。因为程序本来就是用命令关键字进行驱动操作,又来一个需要编程的FISH,还听说“FISH是FLAC3D的精华”这类的言论,很多人感到不知如何是好。其实我的观点是,FISH是对FLAC3D程序命令功能的补充,当你觉得程序不能满足计算要求的时候,才会用到。对于初学者,可以在学习的初期尽量避免使用FISH。
举个例子:对于动力分析,要监测某个单元的超孔压比的发展情况。一般做法是,通过FISH写出单元超孔压比的表达式,通过设置history历史变量记录超孔压比的时程曲线,然后通过Plot命令输出。而我建议初学者可以这么做:直接用history记录该单元的总应力、有效应力、孔隙水压力,并全部用historywrite命令输出到文本文件,再在Excel程序进行计算,得到单元的孔压比时程。结果肯定是一样的,但是区别是:前者FISH编程需要花较多的时间(可能是几天)来学习、调试,后者用已经成熟的命令,几分钟就可以解决问题。
四、夯实力学基础是做好数模的关键
FLAC/FLAC3D是岩土工程专业分析程序,一个不具有力学背景的人绝对是用不好这个东西的。所以大家在学习FLAC的同时,也要注重岩土工程、岩土力学基础知识的积累,尤其是力学、本构模型理论、接触面理论、土体渗流、土动力学等等的知识。
在软件学习过程中,大家有可能会有这样的感受,就是原先《高土等力学》课堂上讲的那些枯燥的本构理论,在使用数值软件时,又突然重现,而且是非常形象的呈现出来了,这就说明你在学习软件的同时,也在进一步巩固自己的专业知识和工程常识,这些对于后期进行学术研究和走入工作岗位都是非常重要的。
最后说明一点,FLAC也是一个包罗万象的软件,“可以帮你做很多事”,但是大家需要的应该只是帮你解决某个问题而已。因此,在学习过程中,如果确定不涉及的某些方面,比如不涉及到动力、温度等问题,那些章节就可以直接跳过,节约宝贵的研究时间。