1. 引言
当进行数值模拟时,为了提高计算精度,通常需要对开挖区域周围的网格设置的密一些,在远离开挖边界的地方网格设置的稀疏一些。当大尺寸的单元与小尺寸的单元相互衔接的时候需要用到attach logic;断层的模拟也需要衔接小尺寸单元和大尺寸单元;另一种情形是通过子网格(subgrid)在模型中产生不同形状的区域,例如一个大坝的子网格放置在一个地基子网格上面,需要通过附着面(attached faces)把分离的、不同单元密度子网格的网格面连接在一起。
在 FLAC3D (FLAC2D) 中,zone attach命令用于在网格点和单元之间创建附着(attachments)。这样,一个单元上的网格点(称之跟随网格点,follower gridpoints)就可以刚性连接到其他单元的领导(leader)网格点或面,从而使拓扑上不匹配的模型表现为一个单一的网格。FLAC3D 的attach logic在7.0中已经作了非常大的改进,在9.0中持续增加了一些新的命令和函数。本文简要总结了与zone attach相关的命令、FISH函数和Python函数及其类。
2. zone attach命令和函数
[1] attach命令的关键字有6个:
(1) delete---移除给定range内所有追随者网格点的附着条件。如果不存在range,则移除所有附着条件。
zone attach delete range group 'WallLeft' or 'WallRight' or 'WallBottom'
(2) by-face
zone attach by-face range position-z 2
(3) gridpointid
zone attach gridpointid 4 to-gridpointid 8 snap off
(4) weight
(5) group
(6) list
[2] attach FISH函数
class itasca.attach.Attach
3. 示例
3.1 隧道模型
利用FLAC3D建立了一个三维模型来分析隧道开挖过程,该模型利用了问题的对称性,尺寸为75m(半宽)×70m(深度),开挖横截面的面积约为100平方米,使用 FLAC3D 内置的sketch工具生成,首先生成二维网格,然后将其挤出(extrude)为三维网格。为了减轻边界效应,模型在横向上的延伸长度为100m。隧道顶部深度约为25m。网格在相关区域周围进行了致密化处理(使用zone densify命令)【FLAC3D单元质量检查(zone geometry-test);FLAC3D和3DEC的几何涂色 (Geometry Painting)】,然后使用zone attach by-face命令把各部分衔接在一起,下图显示了模型的几何形状。
model new
model large-strain off
fish automatic-create off
program call 'geometry' suppress
zone generate from-sketch
zone face skin
zone group 'Bedrock' slot 'Material' ...
range group 'TunnelCore' or 'TunnelOut' or 'Bedrock'
zone densify global seg 1,2,1 range position-y 0 75 group 'TunnelCore'
zone densify global seg 1,2,1 range position-y 0 75 group 'TunnelOut'
zone attach by-face
3.2 大坝地基模型
在一个陡峭山谷中建造大坝,大坝高30m米,宽60m,水平坝顶宽20m;上下游坡度为 2:1,假定坝体材料可能破坏,而河床地基材料不会因地震荷载而破坏。"Geometry.dat "使用"Building Blocks"交互生成,从"State Record"中导出。大坝网格使用zone densify命令加密,然后使用zone attach by-face把大坝和地基连接在一起。
model new
model large-strain off
model configure dynamic
model dynamic active off
program call 'Geometry' suppress
zone densify segments 1 2 1 range group 'dam'
zone attach by-face
3.3 基坑开挖模型
这个基坑开挖模型由两层水平砂层组成。顶层厚度为20m,底层延伸至地表以下100m深处,采用平面应变条件和半对称性。使用Building Block工具生成网格,导出模型;对靠近地下连续墙的区域进行致密化处理,以细化墙体挠度;使用zone separate by-face 命令将墙体与网格的其他部分分开;在最后一次单元致密化后使用zone attach by-face命令附着面。
model newmodel large-strain offmodel title "Anchored Excavation"program call 'geometry' suppress zone generate from-building-blocksprogram call 'names' suppress
zone face skin
zone separate by-face clear-attach ...
range group 'WallLeft' or 'WallRight' or 'WallBottom'
zone attach by-face