开路电流

OpenCurrent是一个开源的C++库,用于使用NVIDIA的CUDA平台在规则网格上求解偏微分方程(pde)。它将PDE分解为3个基本对象:“网格”、“解算器”和“方程”。“网格”数据结构有效地实现了规则的一维、二维和三维数组,包括双精度和单精度。网格支持计算线性组合、管理主机设备内存传输、在非网格点插入值以及执行阵列范围的缩减等操作。“解算器”使用这些数据结构计算偏微分方程离散化产生的项,例如基于有限差分的平流和扩散格式,以及泊松方程的多重网格解算器。这些计算构件可以组装成求解依赖时间的偏微分方程的完整“方程”对象。其中一个方程解算器是使用二阶Boussinesq模型的不可压缩Navier-Stokes解算器。该方程求解器得到了充分的验证,并已用于研究各种不同情况下的Rayleigh-Benard对流(引文)。基准测试表明,它的性能比运行在8核Xeon上的等效Fortran代码快8倍。OpenCurrent基础设施包括对CPU或GPU的评测、对NetCDF数据文件的读写支持,以及生成简单绘图的能力。它包括一个完整的验证和单元测试框架,允许对数值方法和求解器进行简单和自动的验证。OpenCurrent使用CMake进行跨平台开发,并在基于Windows和Linux的系统上进行了测试。通过编译时选项,OpenCurrent可以配置为支持不处理双精度的旧硬件(GT200之前的版本),但是在较新的硬件上,所有的例程都可以使用双精度和单精度。

此软件的关键字

这里的任何内容都将在支持canvas元素的浏览器上被替换