用于高效/轻松实现二维泊松方程的有限体积法的数据结构

计算科学 有限体积 泊松 数据结构
2021-12-25 11:14:20

我的问题是关于实施。

  • 考虑一个具有规则正方形、以单元为中心的有限体积的正方形域。这适用于多尺度有限体积法(Jenny 和 Lunati)
  • 我需要求解“双网格”的每个单元格上的泊松方程,即通过连接每个单元格的质心构建的网格。(双重网格看起来像原始网格的平移;双重网格的 4 个单元组成一个主网格单元)

  • 我将需要使用它来为主网格的每个单元构建“传输率”。

我的问题是:

  1. 我应该使用什么样的日期结构来帮助我轻松地从主网格转到双网格
  2. 我很困惑我应该存储什么,细胞中心的坐标,或者面孔的位置?
  3. 如何存储可以告诉我哪个 4 个双电池构成给定主电池的数据?

在我看来,当我访问每个双单元并解决局部泊松问题时,我需要为我的传递矩阵做一种“组装”。

2个回答

我不熟悉 Jenny 和 Lunati 的工作,所以这个答案可能是错误的。但是如果我理解正确的话,你想要的几何图形可以使用 PyClaw 在几行中生成;看到这个笔记本此图显示了主网格和双网格:

网格

您还可以使用映射网格,如果需要,会自动生成幻影单元:

映射网格

如果您正在寻找其中任何一个,我可以在此处内联发布所有必要的代码(它在上面链接的笔记本中)。

您是否考虑过实施代数 MSFV?实现复杂度要低很多。详细信息可参见 Lunati,2009 年发表的论文“具有校正功能的多尺度有限体积方法的算子公式”。