我希望开始(非常缓慢地)实施某种形式的计算光子学/电磁学包。我知道诸如 Meep、S4、FDTD++、EMPy 和许多其他专有/免费/闭源工具之类的东西存在,但这更多是希望为自己获得一个可以用作多语言的长期项目,多层次的学习体验。
鉴于此,我有几个问题,按照他们到目前为止让我难过的程度降序排列。非常感谢直接引用可以帮助我深入了解这些问题的库、框架和/或书籍/论文。
- 如何实现几何?如何说明我的多边形或圆形、球体等的位置、方向?
- 如何进行网格划分?并赋予已网格化的几何对象物理特性?例如,如何将我的介电常数添加到我的对象?不可能都是
if-then-else返回 epsilon 的垃圾邮件语句,对吗?如果是,这甚至是如何实现的?if-then-else在我们开始模拟之前,是否所有语句都在最开始处理? - 对于标量有限差分,例如二阶导数,我已经看到它使用稀疏矩阵以及卷积核来应用。一个比另一个有什么好处吗?
- 有没有办法使用稀疏矩阵或卷积核来应用向量导数(特别是 curl),或者循环是解决这个问题的唯一方法吗?
- 欢迎在此特定领域遇到的任何其他资源。