FENICS 子域 - 限制/延长运算符

计算科学 有限元 芬尼克斯 多重网格
2021-12-03 05:19:34

我正在尝试在 fenics 中实现我自己的多重网格方法。是否有任何“智能/ fenics”方式如何组装子域并获得限制/延长运算符?

谢谢!

1个回答

目前没有记录在案的“FEniCS 方式”可以做到这一点。但是,由于 FEniCS 是所有 UFL 和代码生成魔法背后的非常标准的有限元代码,您可以自己实现诸如传输运算符之类的东西。唯一的困难是它们没有内置机制来处理分层细化网格中的层间映射,当您想要有效地实现几何多重网格时,这肯定会使事情复杂化。这不是对概念的限制,而是对当前实现的限制。FMG,它可以解决其中的一些困难。但是,我不知道这个包是否仍在积极维护,或者实现是否适合生产使用。鉴于 FEniCS 核心正在迅速发展,我不认为需要假设有关内部工作的某些事情的代码有很长的生命周期。但是,如果您决定采用这种方式,您始终可以使用兼容的旧版本 FEniCS。但是,如果您需要的不仅仅是快速破解,那么在功能分支中实现所有内容并说服开发人员在您达到一定的稳定性水平后将您的更改合并到开发分支中可能会更好。