把脚本改写了以下,可以一下把所有模型都跑一遍,放一张图里对比。
环境:OF10
使用:Allrun
注意:case文件夹中gnuplot文件夹不可以删除;如果该文件夹不存在,后处理数据无处可放。(gnuplot文件夹内文件除了.gplt脚本,其他可删除)
版主
把脚本改写了以下,可以一下把所有模型都跑一遍,放一张图里对比。
环境:OF10
使用:Allrun
注意:case文件夹中gnuplot文件夹不可以删除;如果该文件夹不存在,后处理数据无处可放。(gnuplot文件夹内文件除了.gplt脚本,其他可删除)
mingw ,在win下面用 linux 工具链的一个软件,类似于特制版docker。
blueCFD,让 openfoam 直接跑在 win 上。有点像把mingw和OF捆绑包装的解决方案。
这俩都是通过在 win 上实现 linux 的 api 来跑 linux 的程序。和 linux 上的 wine 一样(通过实现 win 上的 api ,跑 win 的程序)。
但是这种解决方案都有不完整的地方,因为他们不是系统,而是模拟其他系统对“系统调用”的“应答”
好像手册说,Docker 能装 linux, Docker 版 linux 才十几或几十M,很诱人,所以来咨询。。。也可能记错,但绝无冒犯老师之意。。。
没什么冒犯的,我也不熟悉,你要是找到我不知道的,还能开阔我的眼界
如可以,理论上,装完 linux 就能再装OF。。。。当然,也可能很麻烦
和 mingw 、blueCFD 的解决方案应该差不多,只是这两个用起来问题多还麻烦。尤其mingw,特别古老的软件,一直没有替代品,直到 win 10 商店的 Windows Subsystem for Linux 出现。这个东西还分两代,第二代才是系统,第一代也是个用 win 实现 linux 的 api 调用,和mingw差不多。docker 能做的话,当然会更方便。
docker 里装 linux 这个。你可以试试一个安卓应用 termux,不用root,就可以在安卓开终端,github上还有基于 termux 的 debian 系统。其实,基系统还是 termux 里的 BSD,实际上和 docker 差不多。
所以,这些算不算安个系统,看怎么定义“系统”了
docker可以理解为一个“沙盒”,是运行在操作系统上的,所以里面不能再放一个操作系统,但是你想要在docker开发OF应该是可以实现的。我没怎么用过docker,
https://www.cfdengine.com/blog/how-to-install-openfoam-anywhere-with-docker/
https://github.com/jakobhaervig/openfoam-dockerfiles
如果翻墙用google,如果没翻墙用bing国际版,应该有不少经验贴
集群通过ssh用,都是cmd lines。。。没法用虚拟机。。。所以才请教 Docker 的可行性
还有, ssh X 用过,有点慢。。。其实 GUI 也意义不大了
我提 ssh X 和 vnc是因为我以为你考虑虚拟机。不过虚拟机吃性能,docker本来就是用来补虚拟机的短板的
如果怕丢失远程数据,最好的方法就是:
给自己的本地 linux 搞个公网IP。这样你用的集群就可以通过这个IP找到你的机器。
然后可以把自己本地的 linux 某分区挂载到集群上的一个位置(比如家目录)
这样相当于数据一直在本地,只是用集群的算力。读写都是自动走网络,在网络硬盘里。
只是公网IP比较难搞。如果自己的机器和集群在同一个校园网下也好搞。
docker 用来快速布置环境并跑起来挺好的。能快速复现别人的镜像。用来开发,应该麻烦的细节挺多的。权限、环境什么的
ssh -X username@IP
也可以开图形界面,就是断了就没了。也可以考虑用 vnc。vnc用起来怎么也就麻烦一下子,docker估计麻烦的更多一些。
一个是锥子喷射,一个是锥子孔喷射。
可能是:
锥子喷射能保证喷着时是锥形分布。
锥子孔空射,是保证出口形状是锥子孔,至于能不能喷射成锥形,得看喷射压力和喷射流量了。
大口径小流量,是会单边喷射的,就像洗澡的花洒没水了。。。。
应该和左下角的 tolerance 相关。
这tolerance都那么小了,还能12点覆盖
估计是把一个几何体修复成一个点了,所以崩了
@dxl 不用放时刻文件夹。文件名中的001 002 003就被当作顺序了
这个tableToPointsFilter可以区分时间保存吗
可以呀。每个时间步存一个txt,只要txt的命名有规则,比如
abc001.txt
abc002.txt
abc003.txt
paraview就能批量读进来。
如果不是这样规范命名,桌和代表时间的数字前面没补零,长度不一样,可以用rename之类的命令批量修改。
另外,你这时在linux里直接读写win的文件啊?我没怎么用过wsl,我记得很早的时候。在win上用wsl互相交换文件。要在linux里挂载win的盘符,从linux的根目录出发去找文件,比如:
/mnt/F
因为两个系统的“文件系统”不一样,一个是ext4,一个是NTFS。权限、命名规则不一样(win不接受一些特殊字符、不区分大小写)
用挂载的方式去读写文件,会有个不同文件系统转换的过程。
直接读写也能操作,但容易出问题。
@Kirknwpu 怎么增大的计算域?整体放大还是拉长?
按说出现回流,加长流域大部分情况下能解决。出口那里本就该有个涡,被出口边界一分为二。加长,就可以躲开那个本就应该存在的涡。
要么是那里本不该有涡,但是因为精度或者还没收敛,不稳定。
试试先用压力出口稳一稳,阻碍一下回流。算到大概稳定,再切换到原本的出口边界条件。
@dxl
开一个终端,用这个命令监视内存
watch -n 1 free -h
看看是不是“内存渐增,崩的时候满了”。用system monitor 看也行。
保存成视频应该有两种方法,一种是直接出视频,一种是连续图片。按说出连续图片的应该不怎么占内存。
不知道怎么存的坐标。按说应该是文本文件。这样的话就可以读取存储坐标的文本文件,然后用table To Points filter 转成坐标系的点。点的形状尺寸也能调。