如何在具有非常小的域的生物学精确模型中制作良好的网格

计算科学 有限元 康索尔 计算生物学
2021-12-16 05:38:00

我一直在尝试制作组织层的生物学准确的 2D 空间模型,其中发生了不同的生理过程。这主要包括化学反应、扩散和边界上的通量。

我正在 COMSOL Multiphysics 中制作这个模型,这是一个有限元软件包,可以解决不同的物理问题,如反应扩散系统,尽管对于我的问题,这可能并不真正相关。

在我的几何结构中,组织层的细胞之间的区域非常小。这些区域用作可以在单元(结)之间发生扩散的开口。这里的网格质量不是很好,如果我想提高质量(主要是通过引入更多元素等),我的模拟时间会急剧增加。质量较差的网格也会导致收敛时间更长。我添加了一张几何图形来给出一个想法。我尝试了不同的网格,所有的网格都具有不同的元素质量和从 16000 到 50000 的元素数量。

我在 FEM 方面的背景非常有限,我想知道我是否可以通过以下方式解决这个问题:

  1. 不会对生物学产生负面影响(保持组织域大小/问题等在生物学上尽可能准确),
  2. 不会大幅增加模拟时间,
  3. 提供更好的网格质量。所以我真的很想知道最好的方法是什么,因为我已经想到了一些事情。

那么我可以使用质量较差的网格(这不是很糟糕,但也不是很好),这样我就可以保持小区域以获得最佳的生物学准确性并具有相对较短的计算时间(希望我不会遇到收敛误差)。但也许我错过了一些可能性,例如:是否有可能使小域变大,然后为扩散率添加某种因素。换句话说,如果我想让域变大两倍,我是否将扩散率考虑在内?这在化学/物理定律上是否准确:S。

希望我把问题说清楚了,并提前非常感谢您的帮助。

干杯,

组织模型的网格

4个回答

你想得到你的蛋糕,它也一样。这不起作用。

作为一般规则,对于具有不同长度尺度的特征的问题,您需要至少在网格的某些部分中很好的网格。这会产生许多单元,这会导致计算时间长、时间步长和线性迭代次数多。所有这些含义都是不言自明的,但人们可以用证明确实如此的数学陈述来支持它们。您对此无能为力:解决小功能总是很昂贵。

使用一致的三角形网格,很难在如此短的空间内制作适应多个显着不同长度尺度的各向同性网格而不引入无关三角形,其中一些三角形可能具有非常大/小角度。

我对它们不是很熟悉,所以对它持保留态度,但使用砂浆元素方法可能会更好。与其尝试将整个几何体离散化在一个网格上,不如将大块介质和连接点离散化在完全独立的不合格网格上。化学物质在每个域内分别建模,然后通过适当的边界通量进行全局耦合;使用迭代过程来确保所有通量在边界上正确匹配。

这种方法并不能为您解决所有问题;它只是将获得良好离散化几何的困难换成以正确方式跨交界边界耦合 PDE 的困难,这最终可能更简单。它还有一个明显的优势,就是很自然地适合并行性。

在 FEM 中解决小特征总是很昂贵,这是无法回避的事实。您的问题似乎是在计算负担方面提出的。在我自己的案例中,我正在研究解剖结构中的电场问题,因此遇到了与您类似的一组问题。问题通常是网格对于特定问题“足够好”的详细程度:您是否决定了网格收敛的容差?

另一种需要考虑的可能性是减少元素阶数。默认情况下,COMSOL 似乎更喜欢二次(二阶)元素,但如果您不需要在解中求解导数,则线性(一阶)元素将显着减少计算负担。

作为初学者,在尝试更高级的技术(如迫击炮方法)之前,我可能会坚持使用单个 FEM 来解决问题。但是,作为初学者,请记住,有限元分析是技能的集合,而不是单一的能力,随着时间的推移,你会变得更好。

你可以试试:

  • 您可以使用四节点(四边形)元素代替所有 tria 元素,因为它是 2D 域,并且许多 tria 元素会使域过度硬化。
  • 您可以使用网格划分程序而不是 comsol 来手动控制元素的大小和形状。通过这种方式,您可以控制元素和节点的数量,而不是在 comsol 中自动对其进行网格划分。

我在这里有一个关于网格划分的相当详细的答案,您可以参考它来创建更好的网格。

PS:如果您在尝试手动网格划分后对您的反馈发表评论,我可能会推荐一些具体的东西。