美文网首页CFD 计算流体力学相关
开源CFD代码----HiFiLES使用小结(下)

开源CFD代码----HiFiLES使用小结(下)

作者: 咋家 | 来源:发表于2017-05-27 17:07 被阅读165次

第三十五章

执大象,天下往。往而不害,安平太。乐与饵,过客止,道之出口,淡乎其无味,视之不足见,听之不足闻,用之不足既。

前言

上一节介绍了CPU版本的HiFiLES安装和运行,不过直接运行时会出错,这一节来填这个坑.另外,根据个人的使用体验,CPU版本的运行计算速度极慢,在此将会说一下GPU版本的编译方式.

正文

好了,如果你按照上节的教程成功的编译出CPU版本的程序,那么你已经成功了一半,接下来就考验你程序水平了,不过,因为本人技术太菜,只停留在应用的层面上,高级的东西咱也不懂,所以接下来还是咋用的问题.
上回说到测试程序时运行下面的算例会报错:

    ./HiFiLES    input_cylinder_inv

具体的会出现下面的错误:



说是在什么什么里找不到什么什么,那就得到什么什么里去找什么什么才行,经过查找,错误原因是文件路径的问题.接下来你要到程序文件夹src里找到下面的几个文件:


然后一个一个打开,找到下面的类似位置:


把filename后面的位置改成程序文件夹data里面相对应文件的路径,绝对路径.每一个这样的地方都要修改,其实具体的你可以根据程序报错的原因来查找这些错误.有一点需要说明的是,修改完之后一定要重新编译一下才能运行.
之后就能进行计算了,至此也算是完成CPU版本的一些基础工作了,具体的软件中关于物理模型问题之类的设置自己去看软件的说明吧!下面是我的一个算例.但是,前面说过CPU版本的速度是很着急的,下面来说下GPU版本的编译.

GPU版本编译

GPU版本自然得要GPU的支持,要求是用英伟达的N卡,且需要安装一个加速包CUDA,下面先来说下这部分如何处理.

1、安装CUDA

不知道这是什么的,赶紧google一下.这里说下我是怎么的一个流程,安装CUDA首先得要Nvdia的驱动才行,也就是说先得有驱动来使用显卡才行.不过如果你的笔记本是核显加独显,安装完Ubuntu系统是不会自动安装Nvidia的驱动的,具体的可以这么做.在Ubuntu系统里打开系统设置找到软件和更新,里面有个附加驱动选项,你可以在这里选择Nvidia的驱动进行在线更新,这种方式比较简单.当然你也可以直接安装.具体的自己搜一下.


接下来就是安装CUDA包了,根据程序的说明,他使用的是Ubuntu14.04+CUDA6.5的组合,在这里我使用的是Ubuntu16.04+CUDA8.0的组合,具体的差异也不是很懂,反正能用.关于CUDA的安装还是比较麻烦的,这里我不细说了,附上个网址参考下,就提醒一点因为前面安装过显卡驱动了,在安装CUDA时遇到更新驱动时一定选NO.
2、修改配置文件

假设你已成功安装完CUDA包并测试没问题了,接下来就可以编译程序了.老规矩修改配置文件,如下:


在这里只说明三点;

  • 将1处给修改成GPU版本的,其它的还是按照CPU版本那样设置
  • 2处为你的GPU架构是什么类型的,例如,我的显卡是GT755M的,查阅知道是开普勒架构的,根据说明那里应该是30,其它的请自行说明
  • 将3处改为你安装CUDA包的路径即可
3、编译与测试

完成上面的工作之后,就可以编译了,编译的方法和CPU的流程一样,具体的参照上一节的说明,然后就可以测试是否能正常运行了.提醒一点如果测试时出现下面的错误,就是你的显卡架构后面的参数没有选择对,所以还要仔细查看下自己的显卡.

总结

  • ** 在使用GPU版本的时候,会出现下面的问题(就我目前的状况来说,以后还不知道会怎样),当将testcase里的算例拷进去进行计算时,竟然发现算出的结果没有变化,输出是下面那样的**
  • 经过使用发现,GPU的可以计算四边形网格,其它的总是出现各种问题
  • 整个的程序只能算低雷诺数的工况,不知道是我网格的原因还是怎么回事,雷诺数一高就出现发散,不知道以后会怎样.
  • 关于后处理部分,一开始用的是Paraview,后来做视频不太方便,然后就在Linux下装了个Tecplot,具体的可以参考我前面的文章。
    最后,来个最终的计算结果,要是有什么问题的话欢迎随时交流.
关注“咋家”,给不一样的自己

相关文章

  • 开源CFD代码----HiFiLES使用小结(下)

    第三十五章 执大象,天下往。往而不害,安平太。乐与饵,过客止,道之出口,淡乎其无味,视之不足见,听之不足闻,用之不...

  • 开源CFD软件---OpenFOAM简介

    什么是OpenFOAM 概要 OpenFOAM是ESI集团下属的OpenCFD公司开发的一款物理场计算软件。该软件...

  • FFmpeg编译流程及出现问题总结

    FFmpeg是开源代码,我们使用其提供的接口时,可以从网上下载源代码,编译成库供自己使用,以下是编译流程: 1、下...

  • Glib之主事件循环

    最近看开源代码一直碰到使用glib的问题,调查下使用原理。 main loop GLib和GTK+应用的主事件循环...

  • WordCount小结

    一. 代码如下 二.小结 使用MapReduce实现WordCount,代码可分为3个部分 map阶段1.1 ma...

  • 记一个复杂组件(Filter)的从设计到开发

    此文前端框架使用 rax,全篇代码暂未开源(待开源)原文链接地址:Nealyang/PersonalBlog 前言...

  • zurmo安装过程以及我所遇到的坑

    框架zurmo开源(php编写) 工具Xampp 打开,需要配置环境代码(我使用的时window,所以一下的过程都...

  • 开源许可协议比较及应用实例

    简介 使用开源代码可以帮助提高软件开发效率并节省成本,但是如果不当使用开源代码,也可能给个人及公司会带来知识产权方...

  • 什么是BSD协议?

    BSD开源协议是一个给于使用者很大自由的协议。 可以自由的使用,修改源代码,也可以将修改后的代码作为开源或者专有软...

  • 什么是BSD协议

    BSD开源协议是一个给于使用者很大自由的协议。可以自由的使用,修改源代码,也可以将修改后的代码作为开源或者专有软件...

网友评论

    本文标题:开源CFD代码----HiFiLES使用小结(下)

    本文链接:https://www.haomeiwen.com/subject/jyvqfxtx.html