## 2019-8-30 光滑粒子流体力学开源软件(Dual)sphysics使用中遇到的一些问题1
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相关推荐
- 2019年度最受欢迎中国开源软件公布
点击上方"深度学习技术前沿",选择"星标"公众号 资源干货,第一时间送达 经过 22 天的投票评选,今天 2019 年度最受欢迎中国开源软件产生了. 开源中国( ...
- 「开源中国」公布 2019 年度最受欢迎中国开源软件
经过 22 天的投票评选,今天 2019 年度最受欢迎中国开源软件产生了. 开源中国(OSCHINA)是目前国内为数不多深耕于围绕"开源/自由软件"为开发者分享开源业内事.传播开源 ...
- 祝贺JeecgBoot获评为2019年度最受欢迎中国开源软件
祝贺JeecgBoot,被评为2019年度最受欢迎中国开源软件 https://www.oschina.net/question/2918182_2313492?sort=default&p= ...
- 2019年度最受欢迎中国开源软件评选, 请给JeecgBoot 投票,谢谢支持
2019年度最受欢迎中国开源软件评选, 请给JeecgBoot 投票,谢谢支持. https://www.oschina.net/p/jeecg-boot (点击投票领奖品)
- 2019 年度最受欢迎中国开源软件
经过 22 天的投票评选,今天 2019 年度最受欢迎中国开源软件产生了. 开源中国(OSCHINA)是目前国内为数不多深耕于围绕"开源/自由软件"为开发者分享开源业内事.传播开源 ...
- 最受 IT 公司欢迎的 30 款开源软件
来源: http://www.360doc.com/content/20/0613/14/49290572_918245894.shtml 所谓开源,就是把软件的源代码开放出来,大家都能看到源代码,大 ...
- 最受IT公司欢迎的 30 款开源软件
来源:360doc.com/content/20/0613/14/49290572_918245894.shtml 所谓开源,就是把软件的源代码开放出来,大家都能看到源代码,大家可以一起研究源代码并对 ...
- 2020 最受 IT 公司欢迎的 30 款开源软件
点击上方"码农突围",马上关注 这里是码农充电第一站,回复"666",获取一份专属大礼包 真爱,请设置"星标"或点个"在看&quo ...
- 最受 IT 公司欢迎的 30 款开源软件,你用过几个?
来源: http://www.360doc.com/content/20/0613/14/49290572_918245894.shtml 所谓开源,就是把软件的源代码开放出来,大家都能看到源代码,大 ...
- 最受程序员欢迎的30款开源软件,个个都很能打,值得拥有!
作者:IT程序猿的科技营 链接:toutiao.com/i6837606893884539399 所谓开源,就是把软件的源代码开放出来,大家都能看到源代码,大家可以一起研究源代码并对软件进行功能扩展和 ...
最新文章
- PyTorch 笔记(04)— Tensor 属性方法(获取元素个数numel/neleme、查看形状size()/shape、增减维度squeeze()/unsqueeze()、resize形状)
- 河南省第二届ACM程序设计大赛解题报告(置换群)
- 【Android UI设计与开发】第12期:顶部标题栏(三)ActionBar实现层级导航的返回效果
- 【运筹学】线性规划 人工变量法 ( 人工变量法案例 | 初始单纯形表 | 检验数计算 | 入基变量 | 出基变量 )
- git源码服务器搭建,树莓派3-搭建GIT代码服务器
- python 学习(1)
- EFCore3.1+编写自定义的EF.Functions扩展方法
- Android 查看每个应用的最大可用内存
- 思科交换机开机后显示switch:
- AMOS结构方程模型(SEM)简介【SPSS 049期】
- php resultful接口,来自REST ful PHP服务器的完整日历事件
- windows server 2012 R2 安装 vc2015 报错 0x80240017
- SAS的win10 64位安装过程
- 20行Python代码爬取LOL全英雄皮肤图片
- Thematic框架主题结构图
- 史上最搞笑的程序员段子,你看懂了吗?
- ubuntu apt-get install更新域名解析失败问题的处理方法
- spring-boot-starter-quartz 添加定时任务立即执行一次的问题解决
- 2019-3-13-win10-uwp-使用-ScaleTransform-放大某个元素
- RSA已知密文和公钥
热门文章
- 全国计算机三级网络技术题库南开,计算机三级上机:适用于三级网络技术、数据库等(南开100题)...
- php滚动播报,卫星云图滚动播放(实时更新)
- 汽车半导体器件AECQ认证测试及相关标准和表格文件
- WindowsXP音量控制程序的安装
- 有关BT5破解wifi密码的流程及当中经历问题的总结——从寻找ISO镜像到破解wifi密码
- flash 文件计算机课件,计算机软件及应用Flash.ppt
- 精品软件试用及分享 屏幕录像专家注册版 附下载地址
- 计算机硬件常见的故障及维修方法,计算机硬件常见故障及解决方法
- 首都师范 博弈论 3 4 2反复剔除严格劣策略
- 机器学习项目开发经验