首页/文章/ 详情

建立更真实的数值模型(2):FLAC3D与曲面地形的集成

1年前浏览2605

1. 引言

在上一个笔记《建立更真实的数值模型:FLAC3D导入地形图 (1)》中,讨论了如何使用SketchUp把Google地图导入到FLAC3D中,尽管沿着这条路径走下去还有许多工作要做,但已经迈出了半里长征的第一步,以后会逐步完善这种方法。今天的笔记顺着上一篇的思路但使用了不同的方法---“沙箱创建地形geometry”来讨论如何把一个自由产生的曲面geometry与FLAC3D集成在一起,从而形成复杂地形的三维计算模型。与上一篇描述的流程一样,首先需要在SketchUp内创建地形,然后把地形导入到FLAC3D中。

2. 使用沙箱创建地形geometry

我们的目的是使用沙箱功能在SkecthUp中创建.stl格式的地表形状。废话不讲,按照下面的步骤顺序操作:

【1】启动SketchUp后,建立一个新的文件,首先检查单位设置,参看《建立更真实的数值模型:FLAC3D导入地形图 (1)》,然后从菜单“视图->工具栏”中选择“沙箱”,关闭窗口。

这时工具栏内会出现“沙箱”的工具集,包括7种工具,这7种工具的含义从左到右依次为:

(1) 根据等高线创建沙盒;

(2) 根据网格创建沙盒;

(3) 曲面起伏;

(4) 曲面平整;

(5) 曲面投射;

(6) 添加细部;

(7) 对调角线

如同任何标准的Windows程序一样,沙箱的这些工具你也可以在菜单中找到,如下图所示。

【2】选择“沙箱”工具栏中的第二项“根据网格创建沙盒”,系统出现如下提示

不知道为啥默认的栅格间距定义为3m, 感觉有点太大了,改为2m, (注意这个栅格值最好与后来FLACD3D的网格值设置为一样)然后输入所需表面的长度和宽度,我都输入了50m (注意这个值也应该与后来FLAC3D Block的尺寸对应), 于是形成了如下图所示的平面。

【3】创建完平面后,从沙箱工具栏中选择第三项“曲面起伏”,

并定义平滑的半径。这个半径表示更改曲面时受影响区域的距离。

由于是演示,随便产生一些曲面,如下图所示。

【4】将曲面输出为.stl文件,保存文件名为su-slope.stl,准备将其导入FLAC3D。

3. FLAC3D导入地形geometry

【1】打开FLAC3D程序,首先使用geometry工具输入su-slope.stl,检查这个曲面的坐标,包括x,y,z的坐标范围,这一点非常重要,否则这个曲面不能与FLAC3D 的block正确地衔接在一起。FLAC3D手册关于这一点有非常详细的描述。不过,如果不动手去试验,很难确切理解它表述的意思。

【2】对照着su-slope.stl的坐标范围,写一个FLAC3D的数据文件:

    ; Created on 6/2/2020 by GeotechWumodel newmodel deterministic onmodel precision 6model random 10000geometry import 'su-slope.stl'  ;importing the surface topography in .stl formatzone create brick size 50 50 10 ...                  point 0 0, 0, -20 ...                  point 1  50, 0, -20 ...                  point 2 0, 50, -20 ...                  point 3 0,0,-10zone group 'Rock'zone generate from-topography geometry-set 'su-slope' segments 10 ratio 1 group 'Sand'

    这样便顺利把.stl曲面文件集成到FLAC3D的模型中。

    下面简要解释一下这段代码的工作机理:

    (1) 首先使用 geometry import 'su-slope.stl'命令把.stl文件导入到FLAC3D中;

    (2) zone create brick命令用来产生底部绿色的块体,然后把这部分块体使用命令zone group 'Rock' 定义为一组;

    (3) zone generate from-topography geometry-set 'su-slope' segments 10 ratio 1 group 'Sand' 划分曲面单元,并且定义组名。


    4. 其它的例子

    下面演示的例子均来自FLAC3D手册。

    【1】这个例子与上述我们的例子相同。假定我们SketchUp中产生一个曲面文件surface1.stl, 使用下面的代码产生FLAC3D模型这部分没有什么难的应该注意的只是如何设置brick尺寸和坐标

      model newgeometry import 'surface1.stl'zone create brick size 50 40 5 ...   point 0 0 0 -4000 ...   point 1 15000 0 -4000 ...   point 2 0 12000 -4000 ...   point 3 0 0 -2000 ...   group 'Layer1'zone generate from-topography ...   geometry-set 'surface1' ...   segments 8 ...   group 'Layer2'

      【2】下面这个例子使用了关键字range position-x 0 5000 position-y 0 5000取曲面的一部分。这个也没有什么难理解的, 只是没有想到什么场景下需要这么作。 

        model newgeometry import 'surface1.stl'zone create brick size 50 40 5 ...   point 0 0 0 -4000 ...   point 1 15000 0 -4000 ...   point 2 0 12000 -4000 ...   point 3 0 0 -2000 ...   group 'Layer1'zone generate from-topography ...   geometry-set 'surface1' ...   segments 8 ...   ratio 0.6 ...   group 'Layer2' ...   range position-x 0 5000 position-y 0 5000

        【3】下面这个例子显示了与geometry set 命令联合建立多个地层。

          model newgeometry import 'surface1.stl'geometry set 'surface2'geometry polygon create by-positions ...   0 0 -2000 ...   15000 0 -3500 ...   15000 12000 -3500 ...   0 12000 -2000zone create brick size 50 40 5 ...   point 0 0 0 -6500 ...   point 1 15000 0 -6500 ...   point 2 0 12000 -6500 ...   point 3 0 0 -5000 ...   group 'Rock'zone generate from-topography geometry-set 'surface2' ...   segments 5 ...   ratio 1.0 ...   group 'Sand'zone generate from-topography geometry-set 'surface1' ...   segments 8 ...   ratio 0.8 ...   group 'Clay'

          5. 结束语

          本文描述了使用SketchUp的沙箱功能建立曲面的几何形状,并且无缝集成于FLAC3D的模型中。显然,这种自由生成的曲面不能代表真实的地形。接下来要作的是从Google地图中提取地形等值线,利用沙箱工具建立地形曲面,然后再集成到FLAC3D模型。

          来源:计算岩土力学
          FLAC3D试验曲面
          著作权归作者所有,欢迎分享,未经许可,不得转载
          首次发布时间:2022-09-27
          最近编辑:1年前
          计算岩土力学
          传播岩土工程教育理念、工程分析...
          获赞 123粉丝 881文章 1732课程 0
          点赞
          收藏

          作者推荐

          未登录
          还没有评论

          课程
          培训
          服务
          行家

          VIP会员 学习 福利任务 兑换礼品
          下载APP
          联系我们
          帮助与反馈