1 引言
有位同学让介绍一下FLAC2D, 显然这么一篇短文很难清楚地描述其复杂的功能,因此这篇文章作为一个开始,仅简要介绍一下FLAC2D的过去,现在和将来,使得那些刚刚接触FLAC的同学在头脑中形成一个“big picture"。FLAC利用显式的有限差分公式求解岩土工程问题,可以对复杂的行为建模,例如由多个阶段组成的问题,大位移和大应变问题,非线性材料行为或不稳定的系统(甚至大面积屈服/破坏或完全坍塌)。在过去,FLAC2D正式的名称就叫FLAC,只是有些人为了与FLAC3D区别,称之为FLAC2D。在下文的描述中,我们只称作FLAC (新版本确实正式改名叫FLAC2D了)。尽管FLAC3D 在学术界非常活跃,但在工程界主要使用FLAC。与FLAC3D相比,FLAC建模容易,计算速度快,得出的结果基本能满足工程设计需求。因此,一些相对"高端"的岩土工程咨询公司还继续使用FLAC解决工程中遇到的问题。
2 FLAC 的过去
FLAC是Itasca系列中最早商业化的一个软件,于1986年正式作为商业软件对外发布。在此之前,只在明尼苏达大学土木工程系内部研究使用,但FLAC的基本思想始于1970年代初,由当时在英国帝国理工学院的Peter Cundall最先提出并且编写了FLAC程序。大约在1990年,FLAC开始传入中国的高校---FLAC 2.25版本,这是一个非常经典的版本,首先在东北大学采矿工程系的研究生中使用,然后迅速传遍全国,影响了一大批从事岩石力学和土力学的研究人员,这个版本在中国至少用了10年。
随着Windows系统的出现,FLAC在4.0版本开始增加了图形用户界面(GIIC),GIIC是用Java语言开发的。FLAC和UDEC使用了非常相似的用户界面GIIC,参看《UDEC: 岩体边坡阶梯状节理模拟---一个操作指导》GIIC一直用到目前的FLAC 8.0和UDEC 6.0. 下图所示的是FLAC的发展简史。
3 FLAC 的现在
3.1 发展状况
随着计算机硬件和软件技术的发展,随着岩石力学和土力学理论研究的发展,FLAC一直在不断地进化,从本构模型,计算方法到用户界面都发生了显著的进步。
目前FLAC的最新版本是8.10.471。
FLAC与UDEC一样,尽管发展了图形用户界面GIIC,但仍然保留着在DOS下运行的功能。对于初学者来说,建议在DOS系统下进行练习,这样能够明白每一条命令的确切含义。一旦掌握了命令的基本含义和操作后再转到GIIC会容易操作些。
FLAC的工具栏基本上是按照工作流程排列的,【Build】工具用于产生模型的基本形状,【Alter】工具用来划分网格以及改进模型内部的一些几何属性,例如增加界面元用来模拟节理或断层,【Materials】工具用来定义材料参数值,【In Situ】工具用来设置边界条件,【Utility】工具用来产生history, 输入table, 使用FISH等,【Structure】用来定义支护参数,假如模型中有支护;【Settings】用来设置模型运行的一些参数,例如重力加速度等,【Plot】工具用来设置图形输出,【Run】工具用来运行数据文件。
3.2 本构模型
本构模型是数值模拟的发动机,因此介绍一下FLAC的本构模型。FLAC内置了主要的经过实践验证的本构模型---弹性模型和塑性模型。这些本构模型能够上满足了大多数岩土工程项目的需求。
弹性模型:
Elastic, Isotropic Model
Elastic, Transversely Isotropic Model
塑性模型:
Drucker-Prager Model
Mohr-Coulomb Model
Ubiquitous-Joint Model
Strain-Hardening/Softening Model
Bilinear Strain-Hardening/Softening Ubiquitous-Joint Model
Double-Yield Model
Modified Cam-Clay Model
Hoek-Brown Model
Modified Hoek-Brown Model
Cap-Yield (Cysoil) Model
Simplified Cysoil (Chsoil) Model
Swell Model
NorSand model
Soft-Soil Model
Soft-Soil-Creep Model
Plastic-Hardening Model with Small-Strain Stiffness
FLAC还有四个附加模块:动力分析,蠕变分析,两相流和热分析。此外,假如只做普通的边坡稳定性分析,直接使用FLAC-Slope就可以完成,操作简单。
4 FLAC 的将来---一切从FLAC2D 7.0开始
UDEC 从7.0版本开始放弃使用了GIIC,估计FLAC 8也是GIIC的最后一个版本。Itasca的计划是把所有软件都统一到新的用户平台上,参看《FLAC3D 7.0 新特性简介(P5)---用户界面改进》。FLAC现在合并到FLAC3D 7.0中,也就是说,当安装FLAC3D 7.0时, 自动安装了FLAC2D 7.0。FLAC2D 7.0目前还处于测试状态,没有正式发布。新版的FLAC2D命令格式与FLAC3D基本相同,用户界面也一样。
文件调用格式:
program call 'PrandtlsWedge'
program call 'check' suppress
模型控制开关:
model new
model large-strain off
model flac-strain-mixing on
fish automatic-create off
;model deterministic off
网格生成:
zone create quad size 6 20 point 1=3.0,0.0 ratio 0.9 0.97
zone create quad size 20 20 point 0=3.0,0.0 point 1=20.0,0.0 ratio 1.08 0.97
zone gridpoint initialize position-y 0.5 multiply
材料参数设置:
zone cmodel assign mohr-coulomb
zone property bulk 2.e8 shear 1.e8 cohesion 1.e5
zone property friction 0. dilation 0. tension 1.e10
组名设置:
zone face group 'Footing' range position-x 0 3 position-y 10
边界条件:
zone face apply velocity-normal 0.0 range position-x 0
zone face apply velocity (0.0,0.0) range union position-x 20 position-y 0
zone gridpoint fix velocity (0,-0.5e-5) range position-x 0 3 position-y 10
zone gridpoint free velocity-x range position-x 3 position-y 10
FISH 调用:
program call 'footing-load'
[setup('Footing')]
; Take some histories
fish history load
fish history solution
fish history disp
model history mechanical ratio-local
模型运行:
model cycle 25000
; Save the model
model save 'pran'
program return
5. 结束语
本文简要介绍了FLAC2D的过去,现在和将来。通过这个简介,能使得初次接触FLAC的同学有一个总体概念,以后会逐步深入了解FLAC2D的工作机理。