OPENFOAM 是抛物线方程中方向/算子分裂的好主意吗

计算科学 软件 有限体积 图书馆 开放式泡沫
2021-12-18 10:48:03

我想知道我是否应该切换到 OPENFOAM 来完成我的任务。我只使用笛卡尔网格,现在只在二维矩形域中工作。如果w=(w1,w2)并假设我想解决

t(w)=(divw)=f

服从 Dirichlet 边界条件和初始条件。

我想要做的是通过以下方式离散化并解决:

w1(n+1)w1nτxxw1(n+1)=f1+xyw2nw2(n+1)w2nτyyw2(n+1)=f1+yxw1(n+1).

  1. 需要 2 个三对角求解(所以 Ax = b 是微不足道的)
  2. 我已经选择了时间步进以及离散化。
  3. 稍后我可能会修改我的时间步长和离散化。
  4. 现在,我自己用 C 写了一个程序

基本上我想避免执行诸如组织 MAC 网格、在单元中心存储源值、计算等日常任务xyw2n 给定w2n等等。

Q1) OPENFOAM 对我的任务来说是不是有点矫枉过正,而实际上实施我想尝试的方案更令人讨厌?

Q2) 我最好还是做我现在正在做的事情,用 C 编写一个工作代码,这意味着尽管每次我想尝试新的东西,我都必须改变我的程序?

Q3) 是否可以使用直接方法而不是迭代方法来解决我在 OPENFOAM 中的系统?

1个回答

OpenFoam 一定会满足您的需求。尽管您可能会感觉到求解器的一些限制,但它仍然主要解决了所有域。开源平台还具有用户群大和社区支持的优势。你总是可以试一试。