首页/文章/ 详情

extra变量的应用

1年前浏览560

1. 引言

大多数商业的岩土工程软件只提供用户定义的本构模型的接口,而没有用户定义变量接口的能力,仅Itasca软件拥有这种额外存储数据的功能。几乎每个对象都有extra变量,例如zone, gp, interface, struct等,这允许用户定义的数据与模型对象相关联,例如,如果想存储每个单元的质量和面积,那么可以使用zone.extra把这些信息存储在与每个单元相关的额外变量中。因此在一个程序中,每个具有额外变量能力的模型对象可以分配给多个额外变量,不过最多只能是128个。额外变量可以是任何具有相应FISH类型的类型,即布尔型、整数型、浮点数、字符串、矢量、矩阵等。

无论什么样的对象,extra变量总的表达形式是.extra(pnt,1), 其中第一个变量pnt是对象的指针,第二个变量是相应的额外变量的索引值,值域为1到128。与Pyhton的索引起始值0不同,extra变量的索引值是从1开始,即使在Python的应用中。

    fish define setExtra     bi = block.head     loop while bi # 0            zi = block.(bi)            loop while zi # 0                    block.zone.extra(zi,1) = block.zone.mass(zi)                    block.zone.extra(zi,2) = block.zone.area(zi)             zi = block.zone.next(zi)            endloop            bi = block.next(bi)      endloopend


    2. 主要的extra变量

    如前所述,大多数对象都有extra变量,一些主要的extra变量总结如下:

    block.contact.extra

    block.extra

    block.gp.extra

    block.zone.extra

    data.scalar.extra

    data.vector.extra

    data.tensor.extra

    dfn.extra

    fracture.extra

    geom.edge.extra

    geom.node.extra

    geom.poly.extra

    interface.elem.extra

    struct.link.extra

    struct.node.extra

    zone.extra

    zone.field.extra

    zone.face.extra

    extra变量的一些应用在以下文章中曾经讨论过:

    Update---在FLAC3D中使用Python

    FLAC3D与Python的集成 (4)---zone.Zone类和方法

    FLAC3D与Python的集成 (3)---网格划分Building Blocks

    结构元链接(structural element links)

    离散断裂网络[DFN.]FISH函数分类与解析(UDEC和3DEC)

    FLAC3D与Python的集成 (2)---数据交换至Numpy


    3. set_extra变量

    当使用Python时,使用set_extra变量可以直接把额外变量存储,下面的例子存储了三个变量:z.vol, z.model和gp.pos。

      z = it.block.zone.find(1)z.set_extra(1, z.vol())z.set_extra(2, z.model())print(z.extra(1))print(z.extra(2))gp = it.block.gridpoint.near((2,2,2))gp.set_extra(1, gp.pos())print(gp.extra(1))


      4. 应用例子

      Itasca软件的应力和位移是在直角坐标系中建立的,也就是说,单元的正应力和剪应力是zone.stress.xx,zone.stress.zz,zone.stress.xz之类的形式,节点位移是gp.disp.x,gp.disp.z之类的形式。对于一些圆形的几何形状,如果要获得单元的径向应力和节点的径向位移,需要进行坐标变换。因此需要引入extra变量来存储这两个变量值(extra.prj)。

      网格点径向应力(Vector>Magnitude>Gridpoint)

      网格点径向位移(Vector>Magnitude>Gridpoint)

      来源:计算岩土力学
      断裂岩土FLAC3D3DEC
      著作权归作者所有,欢迎分享,未经许可,不得转载
      首次发布时间:2022-11-26
      最近编辑:1年前
      计算岩土力学
      传播岩土工程教育理念、工程分析...
      获赞 123粉丝 882文章 1756课程 0
      点赞
      收藏
      未登录
      还没有评论

      课程
      培训
      服务
      行家

      VIP会员 学习 福利任务 兑换礼品
      下载APP
      联系我们
      帮助与反馈