zone attach 命令、函数和类

文摘   教育培训   2024-12-29 08:30   内蒙古  

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函数

attach.create
attach.delete
attach.extra
attach.find
attach.follower
attach.group
attach.group.remove
attach.id
attach.isgroup
attach.leader
attach.leader.face
attach.leader.zone
attach.list
attach.maxid
attach.num
attach.pos
attach.snap
attach.type
attach.typeid
attach.weight.edge
attach.weight.face
[3] attach Python函数
itasca.attach.count
itasca.attach.create
itasca.attach.find
itasca.attach.list
itasca.attach.maxid
[4] attach Python类

class itasca.attach.Attach

attach_delete()
extra(slot: int)
follower()
group([slot: str or int])
group_remove(group_name: str or int[, slot: str or int])
groups()
id()
in_group(group_name: str or int[, slot: str or int])
leader()
leader_face()
leader_zone()
pos()
set_extra(slot: int, value: any)
set_group(group_name: str or int[, slot: str or int])
set_snap(value: bool)
set_weight_edge(weight: float)
set_weight_face(weight: vec3)
snap()
type()
valid()
weight_edge()
weight_face()


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 newmodel large-strain offfish automatic-create offprogram call 'geometry' suppress zone generate from-sketchzone face skinzone 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 newmodel large-strain offmodel configure dynamicmodel dynamic active offprogram call 'Geometry' suppresszone 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

计算岩土力学
2024年5月8日,《计算岩土力学》建立4周年啦!
 最新文章