MEEP 中的金字塔和斜锥
Pyramids and Oblique Cones in MEEP
如果这不是这个问题的正确位置,我们深表歉意。
我最近开始使用 MIT 的 MEEP software (Python3, on Linux). I am quite new to it and would like to mostly use it for photovoltaics projects. Somewhat common shapes that show up here are "inverted pyramid" and slanted (oblique) cone structures. Creating shapes in MEEP seems to generally be done with the GeometricObject class,但它们似乎并不直接支持这两种结构。有什么办法解决这个问题,或者我唯一真正的选择是通过堆叠小块对象来模拟这些结构吗?
正如我自己的 "answer" 帖子中所述,自己定义这些几何对象并不难,编写一个函数来检查它是否在对象内部,然后 return 适当的 material。我将如何将其转换为 MEEP GeometricObject,而不是像我所做的那样将其转换为 material_func?
没有回应,所以我想我会 post 我的 hacky 方式绕过它。解决方案有两种: 第一种就是问题中提到的,只是堆叠MEEP的Block对象。我做的另一种方法是定义我自己的 class 金字塔,它的工作方式与 here 描述的基本相同。然后,我将我的 class 对象和 MEEP 的形状对象的列表转换为一个函数,该函数接受一个向量和 returns 一个 material,并在 MEEP 中将其作为 material_func 馈送仿真对象。到目前为止,它似乎有效,因此我 post 将其作为答案。然而,它大大减慢了亚像素平均(可能还有模拟的其余部分,尽管我还没有进行实际分析),所以我对此不是很满意。
我不确定哪个是 "better" 但第二种方法确实感觉更精确,因为你有金字塔,而不仅仅是一堆块。
如果这不是这个问题的正确位置,我们深表歉意。
我最近开始使用 MIT 的 MEEP software (Python3, on Linux). I am quite new to it and would like to mostly use it for photovoltaics projects. Somewhat common shapes that show up here are "inverted pyramid" and slanted (oblique) cone structures. Creating shapes in MEEP seems to generally be done with the GeometricObject class,但它们似乎并不直接支持这两种结构。有什么办法解决这个问题,或者我唯一真正的选择是通过堆叠小块对象来模拟这些结构吗?
正如我自己的 "answer" 帖子中所述,自己定义这些几何对象并不难,编写一个函数来检查它是否在对象内部,然后 return 适当的 material。我将如何将其转换为 MEEP GeometricObject,而不是像我所做的那样将其转换为 material_func?
没有回应,所以我想我会 post 我的 hacky 方式绕过它。解决方案有两种: 第一种就是问题中提到的,只是堆叠MEEP的Block对象。我做的另一种方法是定义我自己的 class 金字塔,它的工作方式与 here 描述的基本相同。然后,我将我的 class 对象和 MEEP 的形状对象的列表转换为一个函数,该函数接受一个向量和 returns 一个 material,并在 MEEP 中将其作为 material_func 馈送仿真对象。到目前为止,它似乎有效,因此我 post 将其作为答案。然而,它大大减慢了亚像素平均(可能还有模拟的其余部分,尽管我还没有进行实际分析),所以我对此不是很满意。
我不确定哪个是 "better" 但第二种方法确实感觉更精确,因为你有金字塔,而不仅仅是一堆块。