2019-8-30 光滑粒子流体力学开源软件(Dual)sphysics使用中遇到的一些问题1

#写在前面

第一篇博客。本来我没有写博客的习惯的,开始写博客的目的很简单,怕以后忘记。不如趁着刚把一些问题解决之后马上记录下来。当然,如果有人看能帮到遇到同样问题的伙伴那就跟好了。学习过各类用于科学计算的开源软件(Openfoam之类)的小伙伴们都知道,此类软件有多么的麻烦,不仅仅是配置文件,甚至不同版本同样的选项配置起来都会有差别。解决起来很是头疼,guide能大致给你提供解决思路。但是老实说帮助有限,OF倒算好的,问题多架不住用的人多,大部分问题网上都能找到解决方法。这里因为科研方向,主要针对的是Dualsphysics和Sphysics。前者是可以在GPU上运行,后者不行。用一个团队的作品,但是功能上有巨大的差别,这里不提。懂得都懂,不懂得可以看guide。因为用的人少,遇到问题真的自己解决。曾经也试着在官网的forum中求助,大多石沉大海。

再简单介绍一下我自己,某东南沿海高校博士生在读,博1(马上博2了)。目前论文:0(哭,都给我哭。嘛不过我们学校第一年要上一整年的课,而且方向也近2个月才定下来)。计算机能力:极弱,还是短期大概2 3个月强化的结果。那么就开始吧,顺便这个系列能写多久我也不晓得。

另外,如果有小伙伴对相同的问题有更好的解决方法,也请联系我。

1.Sphysics的使用问题

这个软件结构很简单。具体可以参考https://blog.csdn.net/shewei1977/article/details/85480601。
简单的说就是首先编译生成Sphysicsgen2D/3D,运行(该软件用于工况配置和生成下一步主程序Sphysics2D/3D的makfile)然后,通过刚才生成的makefile生成主程序,第一步中生成的各种其他文件作为这个主程序的input文件,然后运行/输出结果。

很显然,上述步骤可以通过一个bat文件一步到位。该文件位于/run_directort/case中。很简单吧,但是,这一切都是你环境变量搭好的前提下。很遗憾,我试了一晚上依然没搭好环境。问了组里的别的师兄,都是说没遇到过(估计是前人解决了,后面的人都没在意)。
以上是用过单行执行bat文件的结果,有可能是缺库。但是百度了相关问题并没有解决。

一个很蠢的解决方案
相信很多和我一样的没什么计算机基础的小伙伴,最起码都知道ivf,vs什么的,也不喜欢用那些黑乎乎的cmd命令行。那么就想办法绕开nmake,用vs来编译。首先我们在vs中新建fortran项目并添加现有项sphysicsgen2D.f,release。得到exe文件,运行。输出配置参数得到一系列文件
其中makefile文件就是我们需要的,右键随便什么文本编辑器打开。
可以发现makefile的作用只是告诉编译器需要哪些源文件,那么我们手动将这些文件找出来,新建一个vs项目并将这些文件包括进去

生成。这样就得到了主程序。还记得在运行sphysicsgen2D中得到的一堆文件吗,将他们打包与新生成的sphysics2D.exe放入同一个文件夹,运行即可

2.Dualsphysics的restart问题

这是通过命令行的方式实现的,我们先看看help文件中是怎么写的

如果按着这么来-partbegin:begin[10] %xxxx%。那么恭喜你,前面算的部分他会重新算一遍。
再看看官方算例中是怎么写的。
set olddiroutdata=%diroutdata%
set dirout=%name%_restart_out
set diroutdata=%dirout%\data

rem “redirout” is created to store results of restart simulation

if exist %dirout% rd /s /q %dirout%
mkdir %dirout%
if not “%ERRORLEVEL%” == “0” goto fail
mkdir %diroutdata%

rem CODES are executed according the selected parameters of execution in this testcase

rem Executes GenCase4 to create initial files for simulation.
%gencase% %name%_Def %dirout%/%name% -save:all
if not “%ERRORLEVEL%” == “0” goto fail

rem Executes DualSPHysics to simulate the last 3 seconds.
%dualsphysicscpu% %dirout%/%name% %dirout% -dirdataout data -svres -partbegin:100 %olddiroutdata%
if not “%ERRORLEVEL%” == “0” goto fail

发现这跟help里的写法不一样啊kora(无能狂怒) 。总之,这才是正确的写法。但是有时候一些配置是无法从case_def通过gencase生成得到的(???不信? 下面我会举例子),也就是说必须手动更改最终的xml,这种情况下当然就不能在restart前重新生成case了。那很简单啊,注释掉就好了,你可以去试试,会报错:找不到part。解决方法是将restart那一行上面的都注释掉,保留3个set,手动新建相关文件夹,并将原来的%name%_out中%name%.xml和%name%.bi4文件拷到新的%name%_restart_out中才可运行。

3.Dualsphysics中两相流LiquidGas代码中Floating的配置

主要是float的初始速度
首先看看xmlguide

如果你这么配,恭喜你,算的都废了。实际float的速度全是0.单项流代码这么配没问题。
这个问题当时快把我逼成暴躁老哥了,去官网论坛,发邮件全都没人回。
直到,我看到了这么一段。


surprise,mother fxxker???????
没错,单项流叫linearvelini和angularvelini。两相流中叫velini和omegaini。。。??????why??????这才是两相流版本的正确配置方法。但是,不能在_def中配,我怀疑是gencase并不认识这个参数(linearvelini和angularvelini倒是认识)。因此只能生成xml之后手动添加。这就是我说的,有些配置不能通过gencase生成。。。。。

最后,这个或者这一系列文章主要是写给自己看的。当然有帮到别的小伙伴最好,写的不详细请见谅,我这里一些解决方法也并非最佳方案,比如环境变量的设置我就暂时搞不定,如果有会设置的麻烦请教我。

## 2019-8-30 光滑粒子流体力学开源软件(Dual)sphysics使用中遇到的一些问题1相关推荐

  1. 2019年度最受欢迎中国开源软件公布

    点击上方"深度学习技术前沿",选择"星标"公众号 资源干货,第一时间送达 经过 22 天的投票评选,今天 2019 年度最受欢迎中国开源软件产生了. 开源中国( ...

  2. 「开源中国」公布 2019 年度最受欢迎中国开源软件

    经过 22 天的投票评选,今天 2019 年度最受欢迎中国开源软件产生了. 开源中国(OSCHINA)是目前国内为数不多深耕于围绕"开源/自由软件"为开发者分享开源业内事.传播开源 ...

  3. 祝贺JeecgBoot获评为2019年度最受欢迎中国开源软件

    祝贺JeecgBoot,被评为2019年度最受欢迎中国开源软件 https://www.oschina.net/question/2918182_2313492?sort=default&p= ...

  4. 2019年度最受欢迎中国开源软件评选, 请给JeecgBoot 投票,谢谢支持

    2019年度最受欢迎中国开源软件评选, 请给JeecgBoot 投票,谢谢支持.  https://www.oschina.net/p/jeecg-boot (点击投票领奖品)

  5. 2019 年度最受欢迎中国开源软件

    经过 22 天的投票评选,今天 2019 年度最受欢迎中国开源软件产生了. 开源中国(OSCHINA)是目前国内为数不多深耕于围绕"开源/自由软件"为开发者分享开源业内事.传播开源 ...

  6. 最受 IT 公司欢迎的 30 款开源软件

    来源: http://www.360doc.com/content/20/0613/14/49290572_918245894.shtml 所谓开源,就是把软件的源代码开放出来,大家都能看到源代码,大 ...

  7. 最受IT公司欢迎的 30 款开源软件

    来源:360doc.com/content/20/0613/14/49290572_918245894.shtml 所谓开源,就是把软件的源代码开放出来,大家都能看到源代码,大家可以一起研究源代码并对 ...

  8. 2020 最受 IT 公司欢迎的 30 款开源软件

    点击上方"码农突围",马上关注 这里是码农充电第一站,回复"666",获取一份专属大礼包 真爱,请设置"星标"或点个"在看&quo ...

  9. 最受 IT 公司欢迎的 30 款开源软件,你用过几个?

    来源: http://www.360doc.com/content/20/0613/14/49290572_918245894.shtml 所谓开源,就是把软件的源代码开放出来,大家都能看到源代码,大 ...

  10. 最受程序员欢迎的30款开源软件,个个都很能打,值得拥有!

    作者:IT程序猿的科技营 链接:toutiao.com/i6837606893884539399 所谓开源,就是把软件的源代码开放出来,大家都能看到源代码,大家可以一起研究源代码并对软件进行功能扩展和 ...

最新文章

  1. PyTorch 笔记(04)— Tensor 属性方法(获取元素个数numel/neleme、查看形状size()/shape、增减维度squeeze()/unsqueeze()、resize形状)
  2. 河南省第二届ACM程序设计大赛解题报告(置换群)
  3. 【Android UI设计与开发】第12期:顶部标题栏(三)ActionBar实现层级导航的返回效果
  4. 【运筹学】线性规划 人工变量法 ( 人工变量法案例 | 初始单纯形表 | 检验数计算 | 入基变量 | 出基变量 )
  5. git源码服务器搭建,树莓派3-搭建GIT代码服务器
  6. python 学习(1)
  7. EFCore3.1+编写自定义的EF.Functions扩展方法
  8. Android 查看每个应用的最大可用内存
  9. 思科交换机开机后显示switch:
  10. AMOS结构方程模型(SEM)简介【SPSS 049期】
  11. php resultful接口,来自REST ful PHP服务器的完整日历事件
  12. windows server 2012 R2 安装 vc2015 报错 0x80240017
  13. SAS的win10 64位安装过程
  14. 20行Python代码爬取LOL全英雄皮肤图片
  15. Thematic框架主题结构图
  16. 史上最搞笑的程序员段子,你看懂了吗?
  17. ubuntu apt-get install更新域名解析失败问题的处理方法
  18. spring-boot-starter-quartz 添加定时任务立即执行一次的问题解决
  19. 2019-3-13-win10-uwp-使用-ScaleTransform-放大某个元素
  20. RSA已知密文和公钥

热门文章

  1. 全国计算机三级网络技术题库南开,计算机三级上机:适用于三级网络技术、数据库等(南开100题)...
  2. php滚动播报,卫星云图滚动播放(实时更新)
  3. 汽车半导体器件AECQ认证测试及相关标准和表格文件
  4. WindowsXP音量控制程序的安装
  5. 有关BT5破解wifi密码的流程及当中经历问题的总结——从寻找ISO镜像到破解wifi密码
  6. flash 文件计算机课件,计算机软件及应用Flash.ppt
  7. 精品软件试用及分享 屏幕录像专家注册版 附下载地址
  8. 计算机硬件常见的故障及维修方法,计算机硬件常见故障及解决方法
  9. 首都师范 博弈论 3 4 2反复剔除严格劣策略
  10. 机器学习项目开发经验