通过创建用户定义的标量显示网格点的标签(label)

文摘   科技   2024-12-20 16:45   内蒙古  

1. 引言

在FLAC3D和FLAC2D中,可以绘制网格点数据(gridpoint data)(例如位移)和单元组(zone groups)的等值线图。然而,目前没有内置的方法来显示网格点标签(gridpoint labels),例如组标签。Itasca工程师David DeGagne分享了通过创建和绘制用户定义的标量显示网格点标签的方法。


2. 实现过程

实现这个功能的思路很简单,即对每个网格点产生标量值,然后把组名赋值给创建的标量值。

model newzone create brickzone gridpoint group 'top' range pos-z 10fish def plot_gps  loop foreach gp gp.list    uds = data.scalar.create(gp.pos(gp))    data.scalar.group(uds) = gp.group(gp)  end_loopend[plot_gps]

产生的图形如下图所示。

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.0data.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 falseend[labeldata(::data.scalar.list,4.0)]


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