我是Netlogo的新手,我的想法是模拟水和浓缩流。我的模型的比例大约是1/10毫米;乘以7.7厘米到2.6厘米的细胞。这就产生了大约200200个补丁,这消耗了相当大的计算能力。我的问题是,是否有可能在Netlogo中的特定点创建更粗糙的网格?我知道这是可能的,例如在CFD建模,地下水建模,...
谢谢你的帮助!我锁定了一个很好的讨论。
诚挚的问候,
克里斯蒂安
发布于 2018-08-22 17:13:27
不可能有不同大小的补丁。但是,您可以创建将补丁分组到一个命名实体中的补丁集。这将允许您绕过一些计算能力问题,但也可能导致相当笨拙的编码。这是一个随机改变补丁颜色的示例,但将某些区域视为单个单元。
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
endNetLogo在单个级别处理patch-sets非常自然,但是如果您不想单独编写每个patch-set的操作,则需要切换到列表。
https://stackoverflow.com/questions/51962839
复制相似问题