9 个版本
0.0.13 | 2024 年 7 月 30 日 |
---|---|
0.0.12 | 2024 年 7 月 13 日 |
0.0.11 | 2024 年 6 月 18 日 |
0.0.8 | 2024 年 2 月 16 日 |
0.0.5 | 2023 年 12 月 12 日 |
#770 在 数学
424 次每月下载
在 cellular_raza 中使用
275KB
5K SLoC
cellular_raza 构建块
此包包含可组合以生成完整模拟的构建块。
lib.rs
:
cellular_raza - 构建块
构建块允许用户快速构建复杂的细胞代理。最简单的方法是使用完全定义的细胞模型。然而,用户也可以通过组合现有模型来构建自己的复杂模型。
要创建具有物理力学和交互的自己的代理,我们需要将它们的构建块作为我们的代理结构体的字段包含在内。
struct MyAgent {
mechanics: NewtonDamped2D,
interaction: BoundLennardJones,
}
此外,我们可以通过使用 CellAgent derive 宏来推导出所需的概念。
#[derive(CellAgent)]
struct MyAgent {
#[Mechanics]
mechanics: NewtonDamped2D,
#[Interaction]
interaction: BoundLennardJones,
}
#
由于技术原因,在指定要从哪个结构体字段推导时,我们还需要再次指定位置、速度和力的类型。省略了 Interaction 特性中的可选 Inf
泛型参数,因此默认为 ()
。在选择具有非平凡交互信息的交互时,它也可以并需要指定。
可选功能
功能守护实现引入了额外的依赖关系。为了简化可用性,我们默认启用常用功能。
- pyo3 Rust 与 Python 解释器的绑定
依赖关系
~11–19MB
~265K SLoC