2

如果这不是这个问题的正确位置,我们深表歉意。

我最近开始使用 MIT 的MEEP软件(Linux 上的 Python3)。我对它很陌生,想主要将它用于光伏项目。这里出现的一些常见形状是“倒金字塔”和倾斜(斜)锥结构。在 MEEP 中创建形状似乎通常是使用GeometricObject类完成的,但它们似乎并不直接支持这些结构中的任何一个。有没有办法解决这个问题,或者我唯一真正的选择是通过堆叠小的 Block 对象来模拟这些结构?

正如我自己发布的“答案”中所述,自己定义这些几何对象并编写一个函数来检查它是否在对象内部并返回适当的材料并不难。我将如何将其转换为 MEEP GeometricObject,而不是像我所做的那样将其转换为 material_func?

4

1 回答 1

0

没有回应,所以我想我会发布我的hacky方式。解决方法有两种:第一种就是问题中提到的,只是堆叠MEEP的Block对象。我所做的另一种方法是定义我自己的 Pyramid 类,其工作方式与此处描述的基本相同。然后,我将我的类对象列表和 MEEP 的形状对象转换为一个函数,该函数接受一个向量并返回一个材质,这在 MEEP 的 Simulation 对象中作为 material_func 提供。到目前为止,它似乎有效,因此我将其发布为答案。但是,它大大减慢了亚像素平均(可能还有模拟的其余部分,尽管我没有进行实际分析),所以我对它不太满意。

我不确定哪个“更好”,但第二种方法确实感觉更精确,因为你有金字塔,而不仅仅是一堆块。

于 2020-02-27T20:59:09.543 回答