首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Netlogo:有没有可能有不同的面片大小,以节省建模的计算时间?

Netlogo:有没有可能有不同的面片大小,以节省建模的计算时间?
EN

Stack Overflow用户
提问于 2018-08-22 16:36:32
回答 1查看 50关注 0票数 0

我是Netlogo的新手,我的想法是模拟水和浓缩流。我的模型的比例大约是1/10毫米;乘以7.7厘米到2.6厘米的细胞。这就产生了大约200200个补丁,这消耗了相当大的计算能力。我的问题是,是否有可能在Netlogo中的特定点创建更粗糙的网格?我知道这是可能的,例如在CFD建模,地下水建模,...

谢谢你的帮助!我锁定了一个很好的讨论。

诚挚的问候,

克里斯蒂安

EN

回答 1

Stack Overflow用户

发布于 2018-08-22 17:13:27

不可能有不同大小的补丁。但是,您可以创建将补丁分组到一个命名实体中的补丁集。这将允许您绕过一些计算能力问题,但也可能导致相当笨拙的编码。这是一个随机改变补丁颜色的示例,但将某些区域视为单个单元。

代码语言:javascript
复制
globals [ list-of-regions region1 region2 ]

patches-own
[ regionID
]

to setup
  clear-all
  ask patches
  [ set regionID 0
    set pcolor one-of [ green brown yellow ]
  ]
  set region1 patches with [ pxcor > -10 and pxcor < 0 and pycor > -10 and pycor < -6 ]
  ask region1
  [ set regionID 1
    set pcolor red
  ]
  set region2 patches with [ pxcor > 5 and pxcor < 10 and pycor > 0 and pycor < 3 ]
  ask region2
  [ set regionID 2
    set pcolor blue
  ]
  set list-of-regions (list region1 region2)
  reset-ticks
end

to go
  ask patches with [regionID = 0 ] [ set pcolor one-of [ green brown yellow ] ]
  foreach list-of-regions
  [ #region ->
    let this-colour one-of [ red blue ]
    ask #region
    [ set pcolor this-colour
    ]
  ]
  tick
end

NetLogo在单个级别处理patch-sets非常自然,但是如果您不想单独编写每个patch-set的操作,则需要切换到列表。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/51962839

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档