3DEC模型转换到FLAC3D模型

1 引言

3DEC模型转换到FLAC3D模型比转换到UDEC模型【三维模型输出到二维模型(3DEC to UDEC)】要复杂的多,原因是三维模型对象的属性比二维模型多,涉及到点,线,面,体,组,槽的转换。一个最基本的要求是在3DEC内必须把block划分成zone才能进行转换,在3DEC内直接的转换方式为:File>Grid>Export to FLAC3D...。转换时可以选择ASCII Format,也可以选择Binary Format。二进制文件的尺寸比文本文件的尺寸小,读入速度快,因此,一个经验规则是在调试程序时使用文本文件,可以观察文件内容,在执行程序时使用二进制文件。


2 工作原理

3DEC转换成FLAC3D后,会产生两个同名但不同扩展后缀的文件,一个是网格文件*.f3grid, 一个 *.dat文件,*.dat文件的内容如下所示。

zone import 3.f3gridzone interface create-from-3decfish define interface_group  loop foreach local ip interface.list    local int_name = interface.name(ip)    local pos = string.find(int_name, '_')    local ip_grp = int_name(1, pos - 1)    interface.group(ip) = ip_grp;    loop foreach local el interface.elem.list(ip)      local facenum = interface.elem.host.face(el)      local hostzone = interface.elem.host.zone(el)      local dfngroup = zone.face.group(hostzone,facenum,'dfn')      if dfngroup != 'None'        interface.group(ip,'dfn') = dfngroup      endif    end_loop  end_loopend[interface_group]

转换程序将3DEC的单元导出到*.f3grid中,将节理导出到*.dat中,使用interface_group创建FLAC3D的interface。FLAC3D单元将被分配到与3DEC中的块组相同的组名和槽位(slot)。如果Merge-Join设置为 "true",那么单元也将被分配与slot ID相同的组名。faces将被设置成在slot  "jset "中与节理ID相关的组名。

3DEC模型转换到FLAC3D模型的图1


3 命令选项

上述在File>Grid中生成的FLAC3D文件实际上执行的是命令block to-flac3d,这个命令可以带一些其它关键字用来控制文件的输出。

(1) face-groups [true/on] 输出用户定义的face group名称(不是joint set ids). 默认情况下,不输出face group名称。

(2) filename [s] 设置输出文件的名称。产生两个输出文件,一个网格文件 .f3grid, 一个 .dat文件,调用网格文件。

(3) binary [false/off] 默认情况下输出文件格式是二进制文件,可以输出为ASCII format.

(4) block-id [true/on] 设置等于3DEC块体ID的单元组。如果连接了块体,那么单元组将被设置成联合组的主ID。这些组将被分配到槽位BlockID。默认情况下是off。

(5) zone-groups [true/on] 输出用户定义的单元组名(不是块体组)。默认情况下不输出。


4 FLAC3D文件格式

导出的*.f3grid文件由以下几部分组成:

*GRIDPOINTS

*ZONES

*GROUPS (ZGROUP, FGROUP)

*FACES

* FACE GROUPS

单元型式有:

B8 – brick单元      

W6 – wedge单元      

P5 – pyramid单元

B7 – degenerate brick单元 

T4 – tetrahedral单元

(11条)
默认 最新
反过来,flac3d转到3dec能实现吗
评论 点赞
评论 点赞

查看更多评论 >

点赞 10 评论 11 收藏 1
关注