c++ - 将 PETSc 用于计算矩阵元素的计算量很大的 CFD 问题
问题描述
我正在尝试使用 PETSc 作为多相 CFD 代码的求解器。该代码基于有限体积估计。矩阵系数的计算本身是耗时的,与求解矩阵的时间几乎相同。我有一个高度优化的代码来计算线性方程组的系数。代码可以很容易地并行化,因为每个矩阵元素都是独立于其他元素计算的。我一直在寻找类似的 PETSc 示例,但 PETSc 教程中的所有示例都是通过简单的计算来计算的。为了进一步澄清,代码的主要步骤是
- 计算所有网格块的流体属性。每个网格的计算独立于其他块。
- 更新线性方程组的系数。
- 求解矩阵(使用 PETSc)
我正在使用面向对象的 C++。
矩阵元素的计算在计算上很昂贵的任何资源或示例?
解决方案
推荐阅读
- java - 从列表中提取多个块
- jenkins - Job DSL:如果存在多个这样的节点,我如何向先前生成的 XML 添加配置块?
- docker - 构建 Docker 镜像的 RUN 指令
- reactjs - 如何在不显示默认上下文菜单的情况下关闭材质 UI 上下文菜单?
- vue.js - TypeError:使用 Vuesax 表在 VueJS 中传播不可迭代实例的尝试无效
- java - Android 强行关闭免提电话以拨打电话
- typescript - TYPESCRIPT - 如何在 TypeScript 对象的每个属性中允许更多类型?
- carriage-return - 为什么将文本附加到每行的末尾会替换第一个字符?
- angular - Angular 7 使用 ng2-upload 无法上传文件大小大 50mb
- asp.net - NHibernate Session已经被垃圾回收异常如何处理