1. 引言
在FLAC3D和FLAC2D中,可以绘制网格点数据(gridpoint data)(例如位移)和单元组(zone groups)的等值线图。然而,目前没有内置的方法来显示网格点标签(gridpoint labels),例如组标签。Itasca工程师David DeGagne分享了通过创建和绘制用户定义的标量显示网格点标签的方法。
2. 实现过程
实现这个功能的思路很简单,即对每个网格点产生标量值,然后把组名赋值给创建的标量值。
model new
zone create brick
zone gridpoint group 'top' range pos-z 10
fish def plot_gps
loop foreach gp gp.list
uds = data.scalar.create(gp.pos(gp))
data.scalar.group(uds) = gp.group(gp)
end_loop
end
[ ]
产生的图形如下图所示。
3. data.scalar用法
data.scalar.create命令用于在Itasca软件中创建标量,使用此函数创建的标量可用于跟踪模型事件,并且可以与外部数据源的结果进行比较。此外,标量场可以在用户界面中可视化。使用 data.scalar.create 的一个示例可能是:
local sp = data.scalar.create(vector(1.0, 2.0, 3.0))
data.scalar.value(sp) = 10.0
data.scalar.group(sp) = 'MyGroup'
这个代码的意思是在位置 (1.0, 2.0, 3.0)处创建一个值为10.0的标量,分配给组 'MyGroup'。
4. data scalar工具集
data.scalar.create
data.scalar.delete
data.scalar.extra
data.scalar.find
data.scalar.group
data.scalar.group.remove
data.scalar.head
data.scalar.id
data.scalar.isgroup
data.scalar.list
data.scalar.maxid
data.scalar.near
data.scalar.next
data.scalar.num
data.scalar.pos
data.scalar.typeid
data.scalar.value
fish operator labeldata(data,xmin)
local x = data.scalar.pos(data)->x
if x > xmin
data.scalar.group(data) = 'right_side'
return true
endif
data.scalar.group(data) = 'left_side'
return false
end
[labeldata(::data.scalar.list,4.0)]