FLAC3D 的入门介绍 附ANSYS-FLAC3D郑文棠下载

这篇推送主要是简单介绍FLAC3D的独立开发的历史、软件的主要特点、其用户开发使用历史,以及软件架构性的东西。

FLAC3D (FastLagrangian Analysis of Continua in 3 Dimensions) (官方网站:www.itascacg.com) 作为专业的岩土工程三维分析软件,其创始人是Cundall,Cundall大神开始是做PFC2D的,后面开发了FLAC2D,再后来推出了2002年4月推出了3D的第一个非DOS正式版本FLAC3D V2.1,随后在2005年推出V3.0,2006年推出V3.1,2009年推出V4.0, 2012年推出V5.0,2017年推出了最新的V6.0版本。

笔者最初使用的是FLAC3D V3.1的感受是前后处理比较差,让人头疼;刚度差异大时,稳定求解自然周期时间步长很小。但后来却发现它有很多出色的地方,比如:(1)参数化建模十分高效,就像现在的BIM参数化建模一样,改变模型只需要改命令流里面的一个数字就行;(2)支持FISH语言,可方便地实现复杂的功能;(3)支持二次开发,提供C++的.cpp文件和.h头文件接口。(这里只是简单介绍,其余优点包括采用混合离散比缩减积分在物理上更加准确,不需要形成总刚度矩阵因而占用内存小、非线性适应性强,本构方程的二次开发独立于求解的算法而不像常规的多重屈服面采用不同的求解方法,需要对求解器进行一定的优化等等。)这三点赋予了软件很高的自由度,可以说任何岩土问题在FLAC3D里面都能实现,比如我现在的Boss(geofem zsoil的版主)就曾经在FLAC3D里面二次开发了适用于基坑开挖模拟的非饱和土HS模型。

FLAC3D前后处理的短板在很长时间里,是通过用户自己去完善的,可以说FLAC3D是用户参与开发的优秀开放性平台。比如网友dynamax版主和freebird编写的flac3d_to_tecplot历经2004/2006/2007/2009四个小版本,虽然现在不觉得难度很高,但是对于初学者来说,对于解决如何输出数据到文本很有启发意义。河海大学郑海棠博士2006年分享了anaystoflac3d的接口程序(后来又经过网友改编了flac3dtoansys的接口),通过ANSYS进行前处理然后导入FLAC3D中,2012年推出FLAC3D5.0 之后,Kubrix、Gocad等作为其前处理软件,已经能很好地进行前处理了,同时,Hypermesh 用户也可自己定制FLAC3D的网格格式进行前处理,现在自带的Fishlab也已经具有用户友好的后处理功能,用户可通过界面和命令两种方式进行后处理。但我个人更倾向于提取数据,用其他数据分析软件处理。FLAC3D6.0在Kubrix的基础上,拥有了更加优秀的前处理功能,包括交互式建模、BLOCK DXF文件导入以及2D结构单元的DXF文件导入功能,因此,可以说FLAC3D在不断被用户的改进而进步,而且进步很大。

FLAC3D的主要竞争对手包括PLAXIS、MIDAS GTS NX、GEO-SLOPE 和 ZSOIL等,这些软件我过去多多少少都用过。 PLAXIS 最新版貌似也支持简单命令流了,ZSOIL也支持INP文件的文本编辑以及基于ANSI C++的二次开发,但都还没FLAC3D的使用自由度高。使用自由度的排序依次是FLAC3D、ZSOIL、PLAXIS、 MIDAS GTS NX 和GEOSLOPE。可以说FLAC3D很适合作为创新性成果的辅助工具,因为有新的东西和想法你都可以通过编程实现,比如新的本构、自由的加载方式、自由的约束方式、自由的初始应力场或者是自由的单元初始应变情况。

程式语言既是其优点也是缺点,对于习惯于扁平式或者嵌套式界面操作的用户,可能难以接受,但是得益于几个前辈和几本书的功劳,他们通过翻译并配以讲解的方式,使得FLAC在中国的推广比较良好。比如清华大学刘波、韩彦辉的《FLAC原理、实例与应用指南》,河海大学陈育民博士和的《FLAC/FLAC3D基础与工程应用》,其实更推荐的是词汇基础好的使用软件自带的Manual手册和Help帮助文件,FLAC3D的Manual手册对软件的使用和实例介绍的十分详细,建议初学者打印出来,仔细研究,面对庞大的体系,Manual从Getting Started开始到 User Development深入了每一个细节。Help则可作为一个工具箱,随时查询函数和命令,函数和命令只需要掌握架构,而并不需要记忆,至少笔者我是基本记不住细节函数的,只是知道架构,某种功能的函数是和什么相关的。

FLAC3D 的入门介绍 附ANSYS-FLAC3D郑文棠下载的图1

下面大概说一下FLAC3D的大致架构吧,FLAC3D的命令流由解释性命令(关键字+参数)和FISH语言两部分组成。以下的一些命令开头关键字,基本展示了FLAC3D的主要的解释性命令流过程,对于简单模型,应用自带的解释性命令流基本可以解决问题,但是对于复杂问题,则需要配合使用FISH语言,并在FISH语言中应用COMMAND… ENDCOMMAND嵌套解释性命令,来实现复杂的功能。

——CONFIG 指定计算模式

——GEN ZONE 建立单元和节点

——SEL BEAM/PILE/SHELL/LINER/CABLE建立结构单元

——SEL LINK 建立连接

——MODEL 指定本构模型

——PROP 赋予模型相关参数

——FIX/INITIAL 施加边界、边值条件

——SET 设置参数值

——SOLVE 求解

——HISTORY 记录

——HIST WRITE 写入记录至文本

——PLOT 后处理(绘制云图、矢量图或曲线)

FISH语言核心内容的简单介绍:

FISH语言的一大优势就在于可通过循环进行大量相似操作,常被用来做循环的函数主要包括:内置的头指针HEAD、续指针_NEXT以及列表指针_LIST,如网格节点gp_head/gp_next()/gp_list;单元zone_head/z_next()/z_list;连接lk_head/lk_next()/lk_list;结构单元节点nd_head /nd_next()/nd_list;结构单元s_next();接触面单元i_head/in_next()/in_list等。

FISH函数相关联信息的架构,这里主要概括如下:

GRIDPOINT实体单元节点(相关信息:坐标、位移、速度、节点力、孔隙水压力)

ZONE 实体单元(相关信息:坐标、应力、塑性状态、应变、质量、体积)

NODE 结构单元节点(相关信息:坐标、位移、速度、节点力)

SEL结构单元(相关信息:坐标、应力、应变、轴力、弯矩、剪力)

上面的信息架构,清晰地表达了你需要获取的变量和什么函数相关联,如想知道实体单元应力状态,那么就找和zone相关的函数,大多数以z_开头。

最后,不得不提的是筛选过滤器。筛选器的作用是,通过一定的筛选过滤,实现仅对特定的对象进行某些命令操作,FLAC3D中可通过RANGE、GROUP或者FISH语言(如IF、LOOP、LOOP FOREACH、WHILE、CASEOF等)筛选出特定对象,进行相关操作。

到此,FLAC3D的套路基本介绍完毕,祝愿大家能够快速入门,如遇什么问题欢迎留言,共同讨论进步!

下载地址:ANSYS-FLAC3D郑文棠

ANSYSFLAC3D

FLAC3D 的入门介绍 附ANSYS-FLAC3D郑文棠下载的评论0条

    暂无评论

    FLAC3D 的入门介绍 附ANSYS-FLAC3D郑文棠下载的相关视频课程

    FLAC3D 的入门介绍 附ANSYS-FLAC3D郑文棠下载的相关案例教程

    1. 引言 数据标签工具(Data Label Utilities)本身不参与计算,主要用来在图形上显示用户定义的数据,增强图形的可视化功能。这个笔记简要总结了数据标签工具相关的命令和FISH函数。 2. Data Label命令 Data Label命令共有5个,这些命令在FLAC3D/3DEC/UDEC中通用,它们分别是: (1) data label create 这个命令在空间的一个点上创
    1 引言 这个笔记是对大约一年半前《FLAC3D与Python的集成》系列的更新,当时是在FLAC3D 6.0环境下进行的,尽管基本的操作流程和6.0版本相同,但目前的FLAC3D 7.0发生了很大变化,不仅增强了Python的运行环境(Jupyter QtConsole 4.3.1,Python 3.6.1, IPython 6.2.1,matplotlib backend: Qt5Agg),
    基于FLAC3D的地下硐室通道锚网喷支护分析 0 前言 岩土工程中常用的数值计算方法主要有有限元法、有限差分法和离散元法等,今天我们要用到的FLAC3D软件采用的就是有限差分法。有限差分法历史悠久,其最初的使用甚至可以追溯的第一台电子计算机出现之前。有限差分法并不是为了电脑编程而出现的,而是计算机使用者后来发现有限差分法易于编程实现,使得有限差分法在数值计算领域得到不断推广和进一步发展。 越是弥足
    1. 引言 大多数商业的岩土工程软件只提供用户定义的本构模型的接口,而没有用户定义变量接口的能力,仅Itasca软件拥有这种额外存储数据的功能。几乎每个对象都有extra变量,例如zone, gp, interface, struct等,这允许用户定义的数据与模型对象相关联,例如,如果想存储每个单元的质量和面积,那么可以使用zone.extra把这些信息存储在与每个单元相关的额外变量中。因此在一个
    1 引言 3DEC模型转换到FLAC3D模型比转换到UDEC模型【三维模型输出到二维模型(3DEC to UDEC)】要复杂的多,原因是三维模型对象的属性比二维模型多,涉及到点,线,面,体,组,槽的转换。一个最基本的要求是在3DEC内必须把block划分成zone才能进行转换,在3DEC内直接的转换方式为:File>Grid>Export to FLAC3D...。转换时可以选择ASCII For
    影响力
    粉丝
    内容
    获赞
    收藏
      项目客服
      培训客服
      0 5